ZGlmZiAtLWdpdCBhLy5zZXR0aW5ncy9sYW5ndWFnZS5zZXR0aW5ncy54bWwgYi8uc2V0dGluZ3MvbGFuZ3VhZ2Uuc2V0dGluZ3MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMWM3NWQKLS0tIC9kZXYvbnVsbAorKysgYi8uc2V0dGluZ3MvbGFuZ3VhZ2Uuc2V0dGluZ3MueG1sCkBAIC0wLDAgKzEsNDggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/PgorPHByb2plY3Q+CisgICAgCQorICAgIDxjb25maWd1cmF0aW9uIGlkPSJjZHQubWFuYWdlZGJ1aWxkLmNvbmZpZy5nbnUuZXhlLmRlYnVnLjE0ODM0NDAxNzciIG5hbWU9IkRlYnVnIj4KKyAgICAgICAgCQkKKyAgICAgICAgPGV4dGVuc2lvbiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuTGFuZ3VhZ2VTZXR0aW5nc1Byb3ZpZGVyIj4KKyAgICAgICAgICAgIAkJCQorICAgICAgICAgICAgPHByb3ZpZGVyIGNvcHktb2Y9ImV4dGVuc2lvbiIgaWQ9Im9yZy5lY2xpcHNlLmNkdC51aS5Vc2VyTGFuZ3VhZ2VTZXR0aW5nc1Byb3ZpZGVyIi8+CisgICAgICAgICAgICAJCQkKKyAgICAgICAgICAgIDxwcm92aWRlci1yZWZlcmVuY2UgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlJlZmVyZW5jZWRQcm9qZWN0c0xhbmd1YWdlU2V0dGluZ3NQcm92aWRlciIgcmVmPSJzaGFyZWQtcHJvdmlkZXIiLz4KKyAgICAgICAgICAgIAkJCQorICAgICAgICAgICAgPHByb3ZpZGVyLXJlZmVyZW5jZSBpZD0ib3JnLmVjbGlwc2UuY2R0Lm1hbmFnZWRidWlsZGVyLmNvcmUuTUJTTGFuZ3VhZ2VTZXR0aW5nc1Byb3ZpZGVyIiByZWY9InNoYXJlZC1wcm92aWRlciIvPgorICAgICAgICAgICAgCQkJCisgICAgICAgICAgICA8cHJvdmlkZXIgY2xhc3M9Im9yZy5lY2xpcHNlLmNkdC5tYW5hZ2VkYnVpbGRlci5sYW5ndWFnZS5zZXR0aW5ncy5wcm92aWRlcnMuR0NDQnVpbHRpblNwZWNzRGV0ZWN0b3IiIGNvbnNvbGU9ImZhbHNlIiBlbnYtaGFzaD0iMTQ1MzUxOTM5MzI2NTIwNTgwMSIgaWQ9Im9yZy5lY2xpcHNlLmNkdC5tYW5hZ2VkYnVpbGRlci5jb3JlLkdDQ0J1aWx0aW5TcGVjc0RldGVjdG9yIiBrZWVwLXJlbGF0aXZlLXBhdGhzPSJmYWxzZSIgbmFtZT0iQ0RUIEdDQyBCdWlsdC1pbiBDb21waWxlciBTZXR0aW5ncyIgcGFyYW1ldGVyPSIke0NPTU1BTkR9ICR7RkxBR1N9IC1FIC1QIC12IC1kRCAmcXVvdDske0lOUFVUU30mcXVvdDsiIHByZWZlci1ub24tc2hhcmVkPSJ0cnVlIj4KKyAgICAgICAgICAgICAgICAJCQkJCisgICAgICAgICAgICAgICAgPGxhbmd1YWdlLXNjb3BlIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5nY2MiLz4KKyAgICAgICAgICAgICAgICAJCQkJCisgICAgICAgICAgICAgICAgPGxhbmd1YWdlLXNjb3BlIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5nKysiLz4KKyAgICAgICAgICAgICAgICAJCQkKKyAgICAgICAgICAgIDwvcHJvdmlkZXI+CisgICAgICAgICAgICAJCQorICAgICAgICA8L2V4dGVuc2lvbj4KKyAgICAgICAgCQorICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAJCisgICAgPGNvbmZpZ3VyYXRpb24gaWQ9ImNkdC5tYW5hZ2VkYnVpbGQuY29uZmlnLmdudS5leGUucmVsZWFzZS4yMTE5NjQ0NjY5IiBuYW1lPSJSZWxlYXNlIj4KKyAgICAgICAgCQkKKyAgICAgICAgPGV4dGVuc2lvbiBwb2ludD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuTGFuZ3VhZ2VTZXR0aW5nc1Byb3ZpZGVyIj4KKyAgICAgICAgICAgIAkJCQorICAgICAgICAgICAgPHByb3ZpZGVyIGNvcHktb2Y9ImV4dGVuc2lvbiIgaWQ9Im9yZy5lY2xpcHNlLmNkdC51aS5Vc2VyTGFuZ3VhZ2VTZXR0aW5nc1Byb3ZpZGVyIi8+CisgICAgICAgICAgICAJCQkKKyAgICAgICAgICAgIDxwcm92aWRlci1yZWZlcmVuY2UgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLlJlZmVyZW5jZWRQcm9qZWN0c0xhbmd1YWdlU2V0dGluZ3NQcm92aWRlciIgcmVmPSJzaGFyZWQtcHJvdmlkZXIiLz4KKyAgICAgICAgICAgIAkJCQorICAgICAgICAgICAgPHByb3ZpZGVyLXJlZmVyZW5jZSBpZD0ib3JnLmVjbGlwc2UuY2R0Lm1hbmFnZWRidWlsZGVyLmNvcmUuTUJTTGFuZ3VhZ2VTZXR0aW5nc1Byb3ZpZGVyIiByZWY9InNoYXJlZC1wcm92aWRlciIvPgorICAgICAgICAgICAgCQkJCisgICAgICAgICAgICA8cHJvdmlkZXIgY2xhc3M9Im9yZy5lY2xpcHNlLmNkdC5tYW5hZ2VkYnVpbGRlci5sYW5ndWFnZS5zZXR0aW5ncy5wcm92aWRlcnMuR0NDQnVpbHRpblNwZWNzRGV0ZWN0b3IiIGNvbnNvbGU9ImZhbHNlIiBlbnYtaGFzaD0iMTQ1MzUxOTM5MzI2NTIwNTgwMSIgaWQ9Im9yZy5lY2xpcHNlLmNkdC5tYW5hZ2VkYnVpbGRlci5jb3JlLkdDQ0J1aWx0aW5TcGVjc0RldGVjdG9yIiBrZWVwLXJlbGF0aXZlLXBhdGhzPSJmYWxzZSIgbmFtZT0iQ0RUIEdDQyBCdWlsdC1pbiBDb21waWxlciBTZXR0aW5ncyIgcGFyYW1ldGVyPSIke0NPTU1BTkR9ICR7RkxBR1N9IC1FIC1QIC12IC1kRCAmcXVvdDske0lOUFVUU30mcXVvdDsiIHByZWZlci1ub24tc2hhcmVkPSJ0cnVlIj4KKyAgICAgICAgICAgICAgICAJCQkJCisgICAgICAgICAgICAgICAgPGxhbmd1YWdlLXNjb3BlIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5nY2MiLz4KKyAgICAgICAgICAgICAgICAJCQkJCisgICAgICAgICAgICAgICAgPGxhbmd1YWdlLXNjb3BlIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5nKysiLz4KKyAgICAgICAgICAgICAgICAJCQkKKyAgICAgICAgICAgIDwvcHJvdmlkZXI+CisgICAgICAgICAgICAJCQorICAgICAgICA8L2V4dGVuc2lvbj4KKyAgICAgICAgCQorICAgIDwvY29uZmlndXJhdGlvbj4KKyAgICAKKzwvcHJvamVjdD4KZGlmZiAtLWdpdCBhLzRkaWFjLWZvcnRlLnNwZWMgYi80ZGlhYy1mb3J0ZS5zcGVjCmluZGV4IDMxOGM4MGMuLmVmNGNkNDIgMTAwNjQ0Ci0tLSBhLzRkaWFjLWZvcnRlLnNwZWMKKysrIGIvNGRpYWMtZm9ydGUuc3BlYwpAQCAtNjUsNyArNjUsNyBAQAogJXN5c3RlbWRfcG9zdHVuX3dpdGhfcmVzdGFydCA0ZGlhYy1mb3J0ZS5zZXJ2aWNlCiAKICVmaWxlcwotJWxpY2Vuc2UgZXBsLXYxMC5odG1sCislbGljZW5zZSBlcGwtMjAuaHRtbAogJXtfYmluZGlyfS9mb3J0ZQogJXtfdW5pdGRpcn0vNGRpYWMtZm9ydGUuc2VydmljZQogJXtfc3lzY29uZmRpcn0vc3lzY29uZmlnLzRkaWFjLWZvcnRlCmRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CmluZGV4IGY0NTFhNWYuLjFmZjZmMTQgMTAwNjQ0Ci0tLSBhL0NNYWtlTGlzdHMudHh0CisrKyBiL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAgIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgQUlULCBmb3J0aXNzIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1pY2hhZWwgSG9mbWFubiwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LCBUaG9tYXMgU3RyYXNzZXIsDQorIyBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBBSVQsIGZvcnRpc3MgR21iSA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTWljaGFlbCBIb2ZtYW5uLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksIFRob21hcyBTdHJhc3NlciwNCiAjICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucw0KICMgKiAgICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCkBAIC0zMCw2ICszMSw4IEBACiAjaW5jbHVkZSBmb3J0ZSBjbWFrZS1mdW5jdGlvbnMNCiBJTkNMVURFKCR7Rk9SVEVfQlVJTERTVVBQT1JUX0RJUkVDVE9SWX0vZm9ydGUuY21ha2UpDQogDQorZm9ydGVfYWRkX2RlZmluaXRpb24oIi1ERk9SVEVfQ09NUElMQVRJT04iKSAjQWxsb3cgdG8gdGVsbCBleHRlcm5hbCBtb2R1bGVzL21pZGRsZXdhcmUgdGhhdCBmb3J0ZSBpcyBiZWluZyBjb21waWxlZCwgc28gc3BlY2lhbCBkZWZpbmVzIGNhbiBiZSBhZGRlZA0KKw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICMgRGV0ZXJtaW5lIGhvdyB0byBidWlsZCBGT1JURQ0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KQEAgLTk5LDcgKzEwMiw5IEBACiBtYXJrX2FzX2FkdmFuY2VkKEZPUlRFX1NVUFBPUlRfQk9PVF9GSUxFKQ0KIGlmKEZPUlRFX1NVUFBPUlRfQk9PVF9GSUxFKQ0KICAgZm9ydGVfYWRkX2RlZmluaXRpb24oIi1ERk9SVEVfU1VQUE9SVF9CT09UX0ZJTEUiKQ0KLSAgU0VUKEZPUlRFX0Jvb3RmaWxlTG9jYXRpb24gIiIgQ0FDSEUgU1RSSU5HICJQYXRoIHRvIHRoZSBib290ZmlsZSwgaWYgc2FtZSBkaXJlY3RvcnkgYXMgZm9ydGUgZXhlY3V0YWJsZSBsZWF2ZSBlbXB0eSwgaW5jbHVkZSB0cmFpbGluZyAnLychIikNCisgIFNFVChGT1JURV9Cb290ZmlsZUxvY2F0aW9uICJmb3J0ZS5mYm9vdCIgQ0FDSEUgU1RSSU5HICJQYXRoIHRvIHRoZSBib290ZmlsZSIpDQorICBmb3J0ZV9hZGRfY3VzdG9tX2NvbmZpZ3VyYXRpb24oIiNkZWZpbmUgRk9SVEVfQk9PVF9GSUxFX0xPQ0FUSU9OIFwiJHtGT1JURV9Cb290ZmlsZUxvY2F0aW9ufVwiIikNCisgIGZvcnRlX2FkZF9jdXN0b21fY29uZmlndXJhdGlvbigiZXh0ZXJuIGNoYXIqIGdDb21tYW5kTGluZUJvb3RGaWxlXDsiKQ0KICAgbWFya19hc19hZHZhbmNlZChGT1JURV9Cb290ZmlsZUxvY2F0aW9uKQ0KIGVuZGlmKEZPUlRFX1NVUFBPUlRfQk9PVF9GSUxFKQ0KIA0KQEAgLTI5OCwzICszMDMsNyBAQAogICAgICBBRERfREVQRU5ERU5DSUVTIChmb3J0ZS1zaGFyZWQgZm9ydGVfc3RyaW5nbGlzdF9leHRlcm5hbHMpDQogICBlbmRpZihGT1JURV9CVUlMRF9TSEFSRURfTElCUkFSWSkNCiBlbmRpZihGT1JURV9MSU5LRURfU1RSSU5HRElDVCkNCisNCitpZihGT1JURV9DT01fT1BDX1VBKQ0KKyAgZm9ydGVfb3BjdWFfY29uZmlndXJlKCkNCitlbmRpZigpDQpkaWZmIC0tZ2l0IGEvYWJvdXQuaHRtbCBiL2Fib3V0Lmh0bWwKaW5kZXggMzZiMTM1NC4uMTY0Zjc4MSAxMDA2NDQKLS0tIGEvYWJvdXQuaHRtbAorKysgYi9hYm91dC5odG1sCkBAIC0xLDI1ICsxLDM2IEBACi08IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Ci08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iCisgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIiAvPgogPHRpdGxlPkFib3V0PC90aXRsZT4KIDwvaGVhZD4KIDxib2R5IGxhbmc9IkVOLVVTIj4KLTxoMj5BYm91dCBUaGlzIENvbnRlbnQ8L2gyPgotIAotPHA+PGVtPkF1Z3VzdCAzMSwgMjAxNTwvZW0+PC9wPiAgCi08aDM+TGljZW5zZTwvaDM+CisJPGgyPkFib3V0IFRoaXMgQ29udGVudDwvaDI+CiAKLTxwPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIGFsbCBjb250ZW50IGluIHRoaXMgcGx1Zy1pbiAoJnF1b3Q7Q29udGVudCZxdW90OykuICBVbmxlc3Mgb3RoZXJ3aXNlIAotaW5kaWNhdGVkIGJlbG93LCB0aGUgQ29udGVudCBpcyBwcm92aWRlZCB0byB5b3UgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZQotRWNsaXBzZSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMCAoJnF1b3Q7RVBMJnF1b3Q7KS4gIEEgY29weSBvZiB0aGUgRVBMIGlzIGF2YWlsYWJsZSAKLWF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbDwvYT4uCi1Gb3IgcHVycG9zZXMgb2YgdGhlIEVQTCwgJnF1b3Q7UHJvZ3JhbSZxdW90OyB3aWxsIG1lYW4gdGhlIENvbnRlbnQuPC9wPgorCTxwPk5vdmVtYmVyIDMwLCAyMDE3PC9wPgorCTxoMz5MaWNlbnNlPC9oMz4KIAotPHA+SWYgeW91IGRpZCBub3QgcmVjZWl2ZSB0aGlzIENvbnRlbnQgZGlyZWN0bHkgZnJvbSB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLCB0aGUgQ29udGVudCBpcyAKLWJlaW5nIHJlZGlzdHJpYnV0ZWQgYnkgYW5vdGhlciBwYXJ0eSAoJnF1b3Q7UmVkaXN0cmlidXRvciZxdW90OykgYW5kIGRpZmZlcmVudCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBtYXkKLWFwcGx5IHRvIHlvdXIgdXNlIG9mIGFueSBvYmplY3QgY29kZSBpbiB0aGUgQ29udGVudC4gIENoZWNrIHRoZSBSZWRpc3RyaWJ1dG9yJ3MgbGljZW5zZSB0aGF0IHdhcyAKLXByb3ZpZGVkIHdpdGggdGhlIENvbnRlbnQuICBJZiBubyBzdWNoIGxpY2Vuc2UgZXhpc3RzLCBjb250YWN0IHRoZSBSZWRpc3RyaWJ1dG9yLiAgVW5sZXNzIG90aGVyd2lzZQotaW5kaWNhdGVkIGJlbG93LCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEVQTCBzdGlsbCBhcHBseSB0byBhbnkgc291cmNlIGNvZGUgaW4gdGhlIENvbnRlbnQKLWFuZCBzdWNoIHNvdXJjZSBjb2RlIG1heSBiZSBvYnRhaW5lZCBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnLyI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZzwvYT4uPC9wPgorCTxwPgorCQlUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1ha2VzIGF2YWlsYWJsZSBhbGwgY29udGVudCBpbiB0aGlzIHBsdWctaW4KKwkJKCZxdW90O0NvbnRlbnQmcXVvdDspLiBVbmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZCBiZWxvdywgdGhlIENvbnRlbnQKKwkJaXMgcHJvdmlkZWQgdG8geW91IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgRWNsaXBzZQorCQlQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIuMCAoJnF1b3Q7RVBMJnF1b3Q7KS4gQSBjb3B5IG9mIHRoZSBFUEwgaXMKKwkJYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wPC9hPi4KKwkJRm9yIHB1cnBvc2VzIG9mIHRoZSBFUEwsICZxdW90O1Byb2dyYW0mcXVvdDsgd2lsbCBtZWFuIHRoZSBDb250ZW50LgorCTwvcD4KIAotPC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisJPHA+CisJCUlmIHlvdSBkaWQgbm90IHJlY2VpdmUgdGhpcyBDb250ZW50IGRpcmVjdGx5IGZyb20gdGhlIEVjbGlwc2UKKwkJRm91bmRhdGlvbiwgdGhlIENvbnRlbnQgaXMgYmVpbmcgcmVkaXN0cmlidXRlZCBieSBhbm90aGVyIHBhcnR5CisJCSgmcXVvdDtSZWRpc3RyaWJ1dG9yJnF1b3Q7KSBhbmQgZGlmZmVyZW50IHRlcm1zIGFuZCBjb25kaXRpb25zIG1heQorCQlhcHBseSB0byB5b3VyIHVzZSBvZiBhbnkgb2JqZWN0IGNvZGUgaW4gdGhlIENvbnRlbnQuIENoZWNrIHRoZQorCQlSZWRpc3RyaWJ1dG9yJ3MgbGljZW5zZSB0aGF0IHdhcyBwcm92aWRlZCB3aXRoIHRoZSBDb250ZW50LiBJZiBubyBzdWNoCisJCWxpY2Vuc2UgZXhpc3RzLCBjb250YWN0IHRoZSBSZWRpc3RyaWJ1dG9yLiBVbmxlc3Mgb3RoZXJ3aXNlIGluZGljYXRlZAorCQliZWxvdywgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBFUEwgc3RpbGwgYXBwbHkgdG8gYW55IHNvdXJjZQorCQljb2RlIGluIHRoZSBDb250ZW50IGFuZCBzdWNoIHNvdXJjZSBjb2RlIG1heSBiZSBvYnRhaW5lZCBhdCA8YQorCQkJaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy8iPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmc8L2E+LgorCTwvcD4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2J1aWxkc3VwcG9ydC9HQ292LmNtYWtlIGIvYnVpbGRzdXBwb3J0L0dDb3YuY21ha2UKaW5kZXggNWUxMjVjZi4uNGFhMjU2ZiAxMDA2NDQKLS0tIGEvYnVpbGRzdXBwb3J0L0dDb3YuY21ha2UKKysrIGIvYnVpbGRzdXBwb3J0L0dDb3YuY21ha2UKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE0IEFDSU4gYW5kIGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMsIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDE0IEFDSU4gYW5kIGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucywgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiBJRihOT1QgR0NPVl9QQVRIKQpAQCAtNDIsNyArNDMsNyBAQAogICAgICAgICBBRERfQ1VTVE9NX1RBUkdFVCgke3RhcmdldE5hbWV9CiAgICAgICAgICAgICAgICAgQ09NTUFORCAke0xDT1ZfUEFUSH0gLS1kaXJlY3RvcnkgLiAtLXplcm9jb3VudGVycwogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIENPTU1BTkQgJHt0ZXN0UnVubmVyfSAtLWxvZ19mb3JtYXQ9SFJGIC0tbG9nX2xldmVsPXRlc3Rfc3VpdGUgLS1yZXBvcnRfbGV2ZWw9bm8gJHtBUkdWM30KKyAgICAgICAgICAgICAgICBDT01NQU5EICR7dGVzdFJ1bm5lcn0gLS12ZXJib3NlIC0tbG9nX2Zvcm1hdD1IUkYgLS1sb2dfbGV2ZWw9dGVzdF9zdWl0ZSAtLXJlcG9ydF9sZXZlbD1ubyAke0FSR1YzfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIENPTU1BTkQgJHtMQ09WX1BBVEh9IC0tZGlyZWN0b3J5IC4gLS1jYXB0dXJlIC0tZ2Nvdi10b29sICR7R0NPVl9QQVRIfSAtLW91dHB1dC1maWxlICR7b3V0cHV0TmFtZX0uaW5mbyAtLXJjIGxjb3ZfYnJhbmNoX2NvdmVyYWdlPTEKICAgICAgICAgICAgICAgICBDT01NQU5EICR7TENPVl9QQVRIfSAtLXJlbW92ZSAke291dHB1dE5hbWV9LmluZm8gJyp0ZXN0cyonICcvdXNyLyonICcqYm9vc3QqJyAtLW91dHB1dC1maWxlICR7b3V0cHV0TmFtZX0uaW5mby5jbGVhbmVkIC0tcmMgbGNvdl9icmFuY2hfY292ZXJhZ2U9MQpkaWZmIC0tZ2l0IGEvYnVpbGRzdXBwb3J0L2ZvcnRlLmNtYWtlIGIvYnVpbGRzdXBwb3J0L2ZvcnRlLmNtYWtlCmluZGV4IDg0OTYzODkuLmZhNDhlNmEgMTAwNjQ0Ci0tLSBhL2J1aWxkc3VwcG9ydC9mb3J0ZS5jbWFrZQorKysgYi9idWlsZHN1cHBvcnQvZm9ydGUuY21ha2UKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMCAtMjAxNCBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICAgTWljaGFlbCBIb2ZtYW5uLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hdHRoaWFzIFBsYXNoLCBQYXRyaWNrIFNtZWprYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyMgQ29weXJpZ2h0IChjKSAyMDEwIC0yMDE0IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgICBNaWNoYWVsIEhvZm1hbm4sIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgTWF0dGhpYXMgUGxhc2gsIFBhdHJpY2sgU21lamthbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIA0KIE1BQ1JPKGZvcnRlX2FkZF9zdWJkaXJlY3RvcnkgRElSRUNUT1JZKQ0KQEAgLTI2OCwxOCArMjY5LDc2IEBACiAgIEVOREZPUkVBQ0goQVJHKQ0KIEVOREZVTkNUSU9OKGZvcnRlX2FkZF9wb3N0X2J1aWxkX2NvbW1hbmQpDQogDQotIyMgZm9ydGVfYWRkX3Rlc3QgKHRlc3RfbmFtZSBmaWxlX25hbWUgd2lsbF9mYWlsKQ0KLUZVTkNUSU9OKGZvcnRlX2FkZF90ZXN0IGFyZzEgYXJnMiBhcmczKQ0KLSAgQUREX1RFU1QoTkFNRSAke2FyZzF9IENPTU1BTkQgJDxUQVJHRVRfRklMRTpmb3J0ZT4pDQotICBzZXRfdGVzdHNfcHJvcGVydGllcyAoICR7YXJnMX0gUFJPUEVSVElFUyBUSU1FT1VUICR7YXJnM30pDQorIyMgZm9ydGVfYWRkX3N5c3RlbXRlc3RfaGFyZCAodGVzdF9uYW1lIGJvb3RmaWxlX25hbWUgdGltZW91dCkNCisjIyBGYWlscyBpZiBhbnkgZXJyb3IgaGFzIGJlZW4gbG9nZ2VkDQorRlVOQ1RJT04oZm9ydGVfYWRkX3N5c3RlbXRlc3RfaGFyZCBhcmcxIGFyZzIgYXJnMykNCiAgIEZJTEUoVE9fTkFUSVZFX1BBVEggIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke2FyZzJ9IiBmaWxlX3N0cikNCiAgIFNUUklORyhSRVBMQUNFICJcXCIgIlxcXFwiIGZpbGVfc3RyICR7ZmlsZV9zdHJ9KQ0KLSAgc2V0X3Rlc3RzX3Byb3BlcnRpZXMgKCR7YXJnMX0gUFJPUEVSVElFUyBFTlZJUk9OTUVOVCAiRk9SVEVfQk9PVF9GSUxFPSR7ZmlsZV9zdHJ9O0ZPUlRFX1ZDRF9GSUxFPSR7YXJnMX0udmNkIikNCi0gIFNFVF9URVNUU19QUk9QRVJUSUVTKCR7YXJnMX0gUFJPUEVSVElFUyBGQUlMX1JFR1VMQVJfRVhQUkVTU0lPTiAiRVJST1I6IFQiKQ0KLUVOREZVTkNUSU9OKGZvcnRlX2FkZF90ZXN0KQ0KKyAgQUREX1RFU1QoTkFNRSAke2FyZzF9IENPTU1BTkQgJDxUQVJHRVRfRklMRTpmb3J0ZT4gLWYgJHtmaWxlX3N0cn0pDQorICBzZXRfdGVzdHNfcHJvcGVydGllcyAoJHthcmcxfSBQUk9QRVJUSUVTIFRJTUVPVVQgJHthcmczfSkNCisgIFNFVF9URVNUU19QUk9QRVJUSUVTKCR7YXJnMX0gUFJPUEVSVElFUyBGQUlMX1JFR1VMQVJfRVhQUkVTU0lPTiAiRVJST1I6IFR8PT1FUlJPUiIpICM9PUVSUk9SIGlzIHRoZSBvdXRwdXQgd2hlbiBtZW1vcmUgbGVhayBoYXBwZW5zDQorRU5ERlVOQ1RJT04oZm9ydGVfYWRkX3N5c3RlbXRlc3RfaGFyZCkNCiANCi1GVU5DVElPTihmb3J0ZV9hZGRfY3VzdG9tX2NvbmZpZ3VyYXRpb24pDQotICBGT1JFQUNIKEFSRyAke0FSR1Z9KQ0KLSAgICBTRVRfUFJPUEVSVFkoR0xPQkFMIEFQUEVORF9TVFJJTkcgUFJPUEVSVFkgRk9SVEVfQ1VTVE9NX0NPTkZJR1VSQVRJT05TX0dMT0JBTCAiJHtBUkd9IiBcblxuKQ0KLSAgRU5ERk9SRUFDSChBUkcpDQotRU5ERlVOQ1RJT04oZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyMjIGZvcnRlX2FkZF9zeXN0ZW10ZXN0X3NvZnQgKHRlc3RfbmFtZSBib290ZmlsZV9uYW1lIHRpbWVvdXQpDQorIyMgRmFpbHMgb25seSBieSBURVNUX0NPTkRJVElPTiBGQnMuIFRoaXMgaXMgZm9yIHRoZSBjYXNlIHdoZW4gYSBGQiBoYXMgdG8gYmUgdGVzdGVkIGluIGFsbA0KKyMjIGl0cyBjYXNlcywgYW5kIHNvbWUgb2YgdGhlIGNhc2VzIHByb2R1Y2UgbG9nZ2luZyBlcnJvcg0KK0ZVTkNUSU9OKGZvcnRlX2FkZF9zeXN0ZW10ZXN0X3NvZnQgYXJnMSBhcmcyIGFyZzMpDQorICBGSUxFKFRPX05BVElWRV9QQVRIICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHthcmcyfSIgZmlsZV9zdHIpDQorICBTVFJJTkcoUkVQTEFDRSAiXFwiICJcXFxcIiBmaWxlX3N0ciAke2ZpbGVfc3RyfSkNCisgIEFERF9URVNUKE5BTUUgJHthcmcxfSBDT01NQU5EICQ8VEFSR0VUX0ZJTEU6Zm9ydGU+IC1mICR7ZmlsZV9zdHJ9KQ0KKyAgc2V0X3Rlc3RzX3Byb3BlcnRpZXMgKCR7YXJnMX0gUFJPUEVSVElFUyBUSU1FT1VUICR7YXJnM30pDQorICBTRVRfVEVTVFNfUFJPUEVSVElFUygke2FyZzF9IFBST1BFUlRJRVMgRkFJTF9SRUdVTEFSX0VYUFJFU1NJT04gIlRFU1RfQ09ORElUSU9OX0ZBSUxFRHw9PUVSUk9SIikgIz09RVJST1IgaXMgdGhlIG91dHB1dCB3aGVuIG1lbW9yZSBsZWFrIGhhcHBlbnMNCitFTkRGVU5DVElPTihmb3J0ZV9hZGRfc3lzdGVtdGVzdF9zb2Z0KQ0KKw0KKyMjIGZvcnRlX2FkZF8yZGV2X3N5c3RlbXRlc3RzICh0ZXN0X25hbWUgYm9vdGZpbGVfbmFtZTEgYm9vdGZpbGVfbmFtZTIgZXh0cmFBcmdzMSBleHRyYUFyZ3MyIHRpbWVvdXQpDQorIyMgVHdvIGZvcnRlcyBhcmUgZXhlY3V0ZWQNCisjIyBUaGUgYm9vdGZpbGVzIGFyZSBhZGRlZCB0byB0aGUgYXJncy4gVGhlIGZpcnN0IGZvcnRlIGlzIGV4ZWN1dGVkIGluIHBvcnQgNjE0OTkgYW5kIHRoZSBzZWNvbmQgaW4gNjE1MDANCisjIyBpZiBleHRyYUFyZ3MgYXJlIGVtcHR5DQorDQorRlVOQ1RJT04oZm9ydGVfYWRkXzJkZXZfc3lzdGVtdGVzdHMgdGVzdF9uYW1lIGJvb3RmaWxlX25hbWUxIGJvb3RmaWxlX25hbWUyIGFyZzEgYXJnMiB0aW1lb3V0IGlzSGFyZCkNCisgIEZJTEUoVE9fTkFUSVZFX1BBVEggIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8ke2Jvb3RmaWxlX25hbWUxfSIgZmlsZV9zdHIxKQ0KKyAgU1RSSU5HKFJFUExBQ0UgIlxcIiAiXFxcXCIgZmlsZV9zdHIxICR7ZmlsZV9zdHIxfSkNCisgIA0KKyAgRklMRShUT19OQVRJVkVfUEFUSCAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7Ym9vdGZpbGVfbmFtZTJ9IiBmaWxlX3N0cjIpDQorICBTVFJJTkcoUkVQTEFDRSAiXFwiICJcXFxcIiBmaWxlX3N0cjIgJHtmaWxlX3N0cjJ9KQ0KKyAgDQorICBGSUxFKFRPX05BVElWRV9QQVRIICIke0NNQUtFX1NPVVJDRV9ESVJ9L2J1aWxkc3VwcG9ydC9tdWx0aV90ZXN0XzIuY21ha2UiIHNjcmlwdEZpbGUpDQorICBTVFJJTkcoUkVQTEFDRSAiXFwiICJcXFxcIiBzY3JpcHRGaWxlICR7c2NyaXB0RmlsZX0pDQorICANCisgIGlmIChhcmcxIFNUUkVRVUFMICIiKQ0KKyAgICBzZXQoYXJnMSAiLWMgbG9jYWxob3N0OjYxNDk5IikgDQorICBlbmRpZigpDQorICANCisgIGlmIChhcmcyIFNUUkVRVUFMICIiKQ0KKyAgICBzZXQoYXJnMiAiLWMgbG9jYWxob3N0OjYxNTAwIikgDQorICBlbmRpZigpDQorICANCisgIA0KKyAgQUREX1RFU1QoTkFNRSAke3Rlc3RfbmFtZX0gQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9DQorICAgICAgICAgLURDTUQ9JDxUQVJHRVRfRklMRTpmb3J0ZT4NCisgICAgICAgICAtREJPT1QxPSR7ZmlsZV9zdHIxfQ0KKyAgICAgICAgIC1EQk9PVDI9JHtmaWxlX3N0cjJ9DQorICAgICAgICAgLURBUkcxPSR7YXJnMX0NCisgICAgICAgICAtREFSRzI9JHthcmcyfQ0KKyAgICAgICAgIC1QICR7c2NyaXB0RmlsZX0pDQorICANCisgIHNldF90ZXN0c19wcm9wZXJ0aWVzICgke3Rlc3RfbmFtZX0gUFJPUEVSVElFUyBUSU1FT1VUICR7dGltZW91dH0pDQorDQorICBJRigke2lzSGFyZH0pDQorICAgIFNFVF9URVNUU19QUk9QRVJUSUVTKCR7dGVzdF9uYW1lfSBQUk9QRVJUSUVTIEZBSUxfUkVHVUxBUl9FWFBSRVNTSU9OICJFUlJPUjogVHw9PUVSUk9SIikgIz09RVJST1IgaXMgdGhlIG91dHB1dCB3aGVuIG1lbW9yZSBsZWFrIGhhcHBlbnMNCisgIEVMU0UoJHtpc0hhcmR9KQ0KKyAgICBTRVRfVEVTVFNfUFJPUEVSVElFUygke3Rlc3RfbmFtZX0gUFJPUEVSVElFUyBGQUlMX1JFR1VMQVJfRVhQUkVTU0lPTiAiVEVTVF9DT05ESVRJT05fRkFJTEVEfD09RVJST1IiKSAjPT1FUlJPUiBpcyB0aGUgb3V0cHV0IHdoZW4gbWVtb3JlIGxlYWsgaGFwcGVucw0KKyAgRU5ESUYoJHtpc0hhcmR9KSANCitFTkRGVU5DVElPTihmb3J0ZV9hZGRfMmRldl9zeXN0ZW10ZXN0cykNCisNCitGVU5DVElPTihmb3J0ZV9hZGRfZW52X2ZpbGUgdGVzdCBmaWxlKQ0KKyAgRklMRShUT19OQVRJVkVfUEFUSCAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9LyR7ZmlsZX0iIGZpbGVfc3RyKQ0KKyAgU1RSSU5HKFJFUExBQ0UgIlxcIiAiXFxcXCIgZmlsZV9zdHIgJHtmaWxlX3N0cn0pDQorICBzZXRfdGVzdHNfcHJvcGVydGllcygke3Rlc3R9IFBST1BFUlRJRVMgRU5WSVJPTk1FTlQgIkZPUlRFX0JPT1RfRklMRT0ke2ZpbGVfc3RyfSIpDQorRU5ERlVOQ1RJT04oZm9ydGVfYWRkX2Vudl9maWxlKQ0KKw0KK0ZVTkNUSU9OKGZvcnRlX2FkZF9jdXN0b21fY29uZmlndXJhdGlvbiBhcmcxKQ0KKyAgU0VUX1BST1BFUlRZKEdMT0JBTCBBUFBFTkRfU1RSSU5HIFBST1BFUlRZIEZPUlRFX0NVU1RPTV9DT05GSUdVUkFUSU9OU19HTE9CQUwgIiR7YXJnMX0iIFxuXG4pDQorRU5ERlVOQ1RJT04oZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKQ0KKw0KK0lOQ0xVREUoJHtGT1JURV9CVUlMRFNVUFBPUlRfRElSRUNUT1JZfS9vcGN1YS5jbWFrZSkNCmRpZmYgLS1naXQgYS9idWlsZHN1cHBvcnQvZ2VuZXJhdGVfaW5pdC5jbWFrZSBiL2J1aWxkc3VwcG9ydC9nZW5lcmF0ZV9pbml0LmNtYWtlCmluZGV4IGI0N2M3YjUuLjFiYmVmZDcgMTAwNjQ0Ci0tLSBhL2J1aWxkc3VwcG9ydC9nZW5lcmF0ZV9pbml0LmNtYWtlCisrKyBiL2J1aWxkc3VwcG9ydC9nZW5lcmF0ZV9pbml0LmNtYWtlCkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTEgUHJvZmFjdG9yIEdtYkggYW5kIEFDSU4NCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgICBHZXJoYXJkIEViZW5ob2ZlciBhbmQgSW5nbyBIZWdueSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQorIyBDb3B5cmlnaHQgKGMpIDIwMTEgUHJvZmFjdG9yIEdtYkggYW5kIEFDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgICBHZXJoYXJkIEViZW5ob2ZlciBhbmQgSW5nbyBIZWdueSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIA0KIE1FU1NBR0UoIkdlbmVyYXRlIEluaXRmdW5jdGlvbiIpDQpkaWZmIC0tZ2l0IGEvYnVpbGRzdXBwb3J0L2dlbmVyYXRlX21vZHVsZXNfY21ha2VfZmlsZS5jbWFrZSBiL2J1aWxkc3VwcG9ydC9nZW5lcmF0ZV9tb2R1bGVzX2NtYWtlX2ZpbGUuY21ha2UKaW5kZXggMzAzZWNjMS4uMWIxNzQwZiAxMDA2NDQKLS0tIGEvYnVpbGRzdXBwb3J0L2dlbmVyYXRlX21vZHVsZXNfY21ha2VfZmlsZS5jbWFrZQorKysgYi9idWlsZHN1cHBvcnQvZ2VuZXJhdGVfbW9kdWxlc19jbWFrZV9maWxlLmNtYWtlCkBAIC0xLDEwICsxLDExIEBACiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAjIENvcHlyaWdodCAoYykgMjAxMSwgMjAxNiBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQogIyANCi0jIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogIyANCiAjIENvbnRyaWJ1dG9yczoNCiAjICAgIE1pY2hhZWwgSG9mbWFubiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvYnVpbGRzdXBwb3J0L2dlbmVyYXRlX3N0cmluZ2xpc3QuY21ha2UgYi9idWlsZHN1cHBvcnQvZ2VuZXJhdGVfc3RyaW5nbGlzdC5jbWFrZQppbmRleCBiZTQ1MmVkLi44N2M3NThlIDEwMDY0NAotLS0gYS9idWlsZHN1cHBvcnQvZ2VuZXJhdGVfc3RyaW5nbGlzdC5jbWFrZQorKysgYi9idWlsZHN1cHBvcnQvZ2VuZXJhdGVfc3RyaW5nbGlzdC5jbWFrZQpAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICAgTWljaGFlbCBIb2ZtYW5uLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hdHRoaWFzIFBsYXNjaCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQorIyBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgICBNaWNoYWVsIEhvZm1hbm4sIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBHZXJoYXJkIEViZW5ob2ZlciwgTWF0dGhpYXMgUGxhc2NoIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogDQogTUVTU0FHRShHZW5lcmF0ZSBTdHJpbmdsaXN0KQ0KZGlmZiAtLWdpdCBhL2J1aWxkc3VwcG9ydC9nZW5lcmF0ZV9zdHJpbmdsaXN0X2luY2x1ZGVfZmlsZXMuY21ha2UgYi9idWlsZHN1cHBvcnQvZ2VuZXJhdGVfc3RyaW5nbGlzdF9pbmNsdWRlX2ZpbGVzLmNtYWtlCmluZGV4IGE4Njk3ZTUuLmM1Njg5NzQgMTAwNjQ0Ci0tLSBhL2J1aWxkc3VwcG9ydC9nZW5lcmF0ZV9zdHJpbmdsaXN0X2luY2x1ZGVfZmlsZXMuY21ha2UKKysrIGIvYnVpbGRzdXBwb3J0L2dlbmVyYXRlX3N0cmluZ2xpc3RfaW5jbHVkZV9maWxlcy5jbWFrZQpAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIFByb2ZhY3RvciBHbWJIDQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICAgTWljaGFlbCBIb2ZtYW5uIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCisjIENvcHlyaWdodCAoYykgMjAxMiBQcm9mYWN0b3IgR21iSA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIE1pY2hhZWwgSG9mbWFubiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIA0KICMgSnVzdCB0aGUgRmlsZSBuYW1lDQpkaWZmIC0tZ2l0IGEvYnVpbGRzdXBwb3J0L211bHRpX3Rlc3RfMi5jbWFrZSBiL2J1aWxkc3VwcG9ydC9tdWx0aV90ZXN0XzIuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBkYWIzOAotLS0gL2Rldi9udWxsCisrKyBiL2J1aWxkc3VwcG9ydC9tdWx0aV90ZXN0XzIuY21ha2UKQEAgLTAsMCArMSwxNCBAQAorc3RyaW5nKFJFUExBQ0UgIiAiICI7IiBBUkdTX0xJU1QgJHtBUkcxfSkKK3N0cmluZyhSRVBMQUNFICIgIiAiOyIgQVJHU19MSVNUMiAke0FSRzJ9KQorCitsaXN0KEFQUEVORCBBUkdTX0xJU1QgIi1mOyR7Qk9PVDF9IikKK2xpc3QoQVBQRU5EIEFSR1NfTElTVDIgIi1mOyR7Qk9PVDJ9IikKKworZXhlY3V0ZV9wcm9jZXNzKAorICAgICAgICAgICAgICAgIENPTU1BTkQgJHtDTUR9ICR7QVJHU19MSVNUfQorICAgICAgICAgICAgICAgIENPTU1BTkQgJHtDTUR9ICR7QVJHU19MSVNUMn0KKyAgICAgICAgICAgICAgICBSRVNVTFRfVkFSSUFCTEUgcmVzdWx0KQorCitpZigke3Jlc3VsdH0pCisgIG1lc3NhZ2UoIkVSUk9SOiBURVNUX0NPTkRJVElPTl9GQUlMRUQ6IFRoZSByZXN1bHQgb2YgdGhlIHBpcGUgd2FzICR7cmVzdWx0fSIpCitlbmRpZigke3Jlc3VsdH0pClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYnVpbGRzdXBwb3J0L29wY3VhLmNtYWtlIGIvYnVpbGRzdXBwb3J0L29wY3VhLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4MTM1OWEKLS0tIC9kZXYvbnVsbAorKysgYi9idWlsZHN1cHBvcnQvb3BjdWEuY21ha2UKQEAgLTAsMCArMSw4NiBAQAorIyMjIyMjIyMjIE5vZGVzZXRzIGZ1bmN0aW9ucyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgIAorCisjRG9uJ3QgdXNlIHRoaXMgZnVuY3Rpb24uIFRoaXMgaXMganVzdCBhIHByaXZhdGUgb25lCitGVU5DVElPTihmb3J0ZV9vcGN1YV9hZGRfbm9kZXNldF9nZW5lcmFsIG5hbWVzcGFjZU5hbWUgZGlyZWN0b3J5TmFtZSkKKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfd2l0aF9wYXRoX2hjKCR7ZGlyZWN0b3J5TmFtZX0vdWFfbmFtZXNwYWNlXyR7bmFtZXNwYWNlTmFtZX0pCisgIHNldF9wcm9wZXJ0eShHTE9CQUwgQVBQRU5EIFBST1BFUlRZIEZPUlRFX09QQ1VBX05PREVTRVRTX0xJU1QgJHtuYW1lc3BhY2VOYW1lfSkKK0VOREZVTkNUSU9OKCkKKworI1VzZSB0aGlzIGZ1bmN0aW9uIGZvciBub2Rlc2V0cyB3aGljaCBoYXZlIGEgZmlsZSBjYWxsZWQgdWFfdHlwZXNfTkFNRVNQQUNFX2dlbmVyYXRlZC5jIGZpbGUgKERJIGZvciBleGFtcGxlKS4gZGlyZWN0b3J5TmFtZSBzaG91bGQgcG9pbnQgdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgZmlsZXMgYXJlCitGVU5DVElPTihmb3J0ZV9vcGN1YV9hZGRfbm9kZXNldCBuYW1lc3BhY2VOYW1lIGRpcmVjdG9yeU5hbWUpCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX3dpdGhfcGF0aF9oYygke2RpcmVjdG9yeU5hbWV9L3VhX3R5cGVzXyR7bmFtZXNwYWNlTmFtZX1fZ2VuZXJhdGVkKQorICBmb3J0ZV9vcGN1YV9hZGRfbm9kZXNldF9nZW5lcmFsKCR7bmFtZXNwYWNlTmFtZX0gJHtkaXJlY3RvcnlOYW1lfSkKK0VOREZVTkNUSU9OKCkKKyAgICAgCisjVXNlIHRoaXMgZnVuY3Rpb24gZm9yIG5vZGVzZXRzIHdoaWNoIERPTidUIGhhdmUgYSBmaWxlIGNhbGxlZCB1YV90eXBlc19OQU1FU1BBQ0VfZ2VuZXJhdGVkLmMgZmlsZSAoUExDIGZvciBleGFtcGxlKS4gZGlyZWN0b3J5TmFtZSBzaG91bGQgcG9pbnQgdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgZmlsZXMgYXJlCitGVU5DVElPTihmb3J0ZV9vcGN1YV9hZGRfbm9kZXNldF93aXRob3V0X2dlbmVyYXRlZCBuYW1lc3BhY2VOYW1lIGRpcmVjdG9yeU5hbWUpCisgIGZvcnRlX29wY3VhX2FkZF9ub2Rlc2V0X2dlbmVyYWwoJHtuYW1lc3BhY2VOYW1lfSAke2RpcmVjdG9yeU5hbWV9KQorICBmb3J0ZV9hZGRfaW5jbHVkZV9kaXJlY3Rvcmllcygke2RpcmVjdG9yeU5hbWV9KQorRU5ERlVOQ1RJT04oKQorCitGVU5DVElPTihmb3J0ZV9vcGN1YV9jb25maWd1cmUpCisgIGZvcnRlX29wY3VhX2NvbmZpZ3VyZV9ub2Rlc2V0cygpCisgIGZvcnRlX29wY3VhX2NvbmZpZ3VyZV9leHRlcm5hbF90eXBlcygpCitFTkRGVU5DVElPTigpCisKK0ZVTkNUSU9OKGZvcnRlX29wY3VhX2NvbmZpZ3VyZV9ub2Rlc2V0cykKKyAgU0VUKEZPUlRFX09QQ1VBX05PREVTRVRTX0lOQ0xVREUgIiIpCisgIFNFVChGT1JURV9PUENVQV9OT0RFU0VUU19DT0RFICIiKQorCisgIEdFVF9QUk9QRVJUWShGT1JURV9PUENVQV9OT0RFU0VUUyBHTE9CQUwgUFJPUEVSVFkgRk9SVEVfT1BDVUFfTk9ERVNFVFNfTElTVCkKKyAgSUYoTk9UICIke0ZPUlRFX09QQ1VBX05PREVTRVRTfSIgU1RSRVFVQUwgIiIpCisgICAgTElTVChMRU5HVEggRk9SVEVfT1BDVUFfTk9ERVNFVFMgRk9SVEVfT1BDVUFfTk9ERVNFVFNfTEVOKQorICAgIG1hdGgoRVhQUiBGT1JURV9PUENVQV9OT0RFU0VUU19MRU4gJHtGT1JURV9PUENVQV9OT0RFU0VUU19MRU59LTEpCisgICAgRk9SRUFDSChQT1MgUkFOR0UgJHtGT1JURV9PUENVQV9OT0RFU0VUU19MRU59KQorICAgICAgTElTVChHRVQgRk9SVEVfT1BDVUFfTk9ERVNFVFMgJHtQT1N9IEZPUlRFX09QQ1VBX05PREVTRVQpCisgICAgICBTRVQoRk9SVEVfT1BDVUFfTk9ERVNFVFNfSU5DTFVERSAiJHtGT1JURV9PUENVQV9OT0RFU0VUU19JTkNMVURFfSAjaW5jbHVkZSBcInVhX25hbWVzcGFjZV8ke0ZPUlRFX09QQ1VBX05PREVTRVR9LmhcIlxuIikKKyAgICAgIFNFVChGT1JURV9PUENVQV9OT0RFU0VUU19DT0RFICIke0ZPUlRFX09QQ1VBX05PREVTRVRTX0NPREV9ICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gdWFfbmFtZXNwYWNlXyR7Rk9SVEVfT1BDVUFfTk9ERVNFVH0oJnBhVWFTZXJ2ZXIpKSByZXR1cm4gZmFsc2U7XG4iKQorICAgIEVOREZPUkVBQ0goUE9TKQorICBFTFNFKCkgIAorICAgICBTRVQoRk9SVEVfT1BDVUFfTk9ERVNFVFNfQ09ERSAiKHZvaWQpcGFVYVNlcnZlcjtcbiIpICN0byBzaWxlbmNlIHdhcm5pbmcKKyAgRU5ESUYoKQorICAKKyAgc2V0KEZPUlRFX09QQ1VBX01PRFVMRV9ESVIgInNyYy9tb2R1bGVzL29wY191YSIpCisgIAorICBDT05GSUdVUkVfRklMRSgke0ZPUlRFX09QQ1VBX01PRFVMRV9ESVJ9L29wY3VhX25vZGVzZXRzLmNwcC5pbiAke0NNQUtFX0JJTkFSWV9ESVJ9L21vZHVsZXMvb3BjX3VhL29wY3VhX25vZGVzZXRzX25ldy5jcHApCisgIGZvcnRlX3JlcGxhY2VmaWxlX2lmX2NoYW5nZWQoJHtDTUFLRV9CSU5BUllfRElSfS9tb2R1bGVzL29wY191YS9vcGN1YV9ub2Rlc2V0c19uZXcuY3BwICR7Q01BS0VfQklOQVJZX0RJUn0vbW9kdWxlcy9vcGNfdWEvb3BjdWFfbm9kZXNldHMuY3BwKQorICBmaWxlKFJFTU9WRSAke0NNQUtFX0JJTkFSWV9ESVJ9L21vZHVsZXMvb3BjX3VhL29wY3VhX25vZGVzZXRzX25ldy5jcHApCitFTkRGVU5DVElPTigpCisKK0ZVTkNUSU9OKGZvcnRlX29wY3VhX2NvbmZpZ3VyZV9leHRlcm5hbF90eXBlcykKKyAgU0VUKEZPUlRFX09QQ1VBX0VYVEVSTkFMX1RZUEVTX0lOQ0xVREUgIiIpCisgIFNFVChGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19NQVBfSU5TRVJUICIiKQorCisgICBHRVRfUFJPUEVSVFkoRk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfRklMRVMgR0xPQkFMIFBST1BFUlRZIEZPUlRFX09QQ1VBX0VYVEVSTkFMX1RZUEVTX0ZJTEVTX0xJU1QpCisgIAorICBJRihOT1QgIiR7Rk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfRklMRVN9IiBTVFJFUVVBTCAiIikKKyAgICBHRVRfUFJPUEVSVFkoRk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfTkFNRSBHTE9CQUwgUFJPUEVSVFkgRk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfTkFNRV9MSVNUKQorICAgIEdFVF9QUk9QRVJUWShGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19PUENVQSBHTE9CQUwgUFJPUEVSVFkgRk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfT1BDVUFfTElTVCkKKyAgICBMSVNUKExFTkdUSCBGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19GSUxFUyBGT1JURV9PUENVQV9UWVBFU19MRU4pCisgICAgbWF0aChFWFBSIEZPUlRFX09QQ1VBX1RZUEVTX0xFTiAke0ZPUlRFX09QQ1VBX1RZUEVTX0xFTn0tMSkKKyAgICBGT1JFQUNIKFBPUyBSQU5HRSAke0ZPUlRFX09QQ1VBX1RZUEVTX0xFTn0pCisgICAgICBMSVNUKEdFVCBGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19GSUxFUyAke1BPU30gRk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfRklMRVNfSVRFUkFUT1IpCisgICAgICBMSVNUKEdFVCBGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19OQU1FICR7UE9TfSBGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19OQU1FX0lURVJBVE9SKQorICAgICAgTElTVChHRVQgRk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfT1BDVUEgJHtQT1N9IEZPUlRFX09QQ1VBX0VYVEVSTkFMX1RZUEVTX09QQ1VBX0lURVJBVE9SKQorCisgICAgICBTRVQoRk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfSU5DTFVERSAiJHtGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19JTkNMVURFfSNpbmNsdWRlIFwiJHtGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19GSUxFU19JVEVSQVRPUn0uaFwiXG4iKQorICAgICAgU0VUKEZPUlRFX09QQ1VBX0VYVEVSTkFMX1RZUEVTX01BUF9JTlNFUlQgIiR7Rk9SVEVfT1BDVUFfRVhURVJOQUxfVFlQRVNfTUFQX0lOU0VSVH0gIFVBX1R5cGVDb252ZXJ0X2V4dGVybmFsKCZVQV9UWVBFU1ske0ZPUlRFX09QQ1VBX0VYVEVSTkFMX1RZUEVTX09QQ1VBX0lURVJBVE9SfV0sIGdfblN0cmluZ0lkJHtGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19OQU1FX0lURVJBVE9SfSksXG4iKQorICAgIEVOREZPUkVBQ0goUE9TKQorICBFTFNFKCkgIAorICAgICAjU0VUKEZPUlRFX09QQ1VBX05PREVTRVRTX0NPREUgIih2b2lkKXBhVWFTZXJ2ZXI7XG4iKSAjdG8gc2lsZW5jZSB3YXJuaW5nCisgIEVORElGKCkKKyAgCisgIHNldChGT1JURV9PUENVQV9NT0RVTEVfRElSICJzcmMvbW9kdWxlcy9vcGNfdWEiKQorICAKKyAgQ09ORklHVVJFX0ZJTEUoJHtGT1JURV9PUENVQV9NT0RVTEVfRElSfS9vcGN1YV90eXBlcy5jcHAuaW4gJHtDTUFLRV9CSU5BUllfRElSfS9tb2R1bGVzL29wY191YS9vcGN1YV90eXBlc19uZXcuY3BwKQorICBmb3J0ZV9yZXBsYWNlZmlsZV9pZl9jaGFuZ2VkKCR7Q01BS0VfQklOQVJZX0RJUn0vbW9kdWxlcy9vcGNfdWEvb3BjdWFfdHlwZXNfbmV3LmNwcCAke0NNQUtFX0JJTkFSWV9ESVJ9L21vZHVsZXMvb3BjX3VhL29wY3VhX3R5cGVzLmNwcCkKKyAgZmlsZShSRU1PVkUgJHtDTUFLRV9CSU5BUllfRElSfS9tb2R1bGVzL29wY191YS9vcGN1YV90eXBlc19uZXcuY3BwKQorRU5ERlVOQ1RJT04oKQorCitGVU5DVElPTihmb3J0ZV9vcGN1YV9hZGRfdHlwZSBmaWxlTmFtZSBmb3J0ZU5hbWUgb3BjdWFUeXBlKQorICBzZXRfcHJvcGVydHkoR0xPQkFMIEFQUEVORCBQUk9QRVJUWSBGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19GSUxFU19MSVNUICR7ZmlsZU5hbWV9KQorICBzZXRfcHJvcGVydHkoR0xPQkFMIEFQUEVORCBQUk9QRVJUWSBGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19OQU1FX0xJU1QgJHtmb3J0ZU5hbWV9KQorICBzZXRfcHJvcGVydHkoR0xPQkFMIEFQUEVORCBQUk9QRVJUWSBGT1JURV9PUENVQV9FWFRFUk5BTF9UWVBFU19PUENVQV9MSVNUICR7b3BjdWFUeXBlfSkKK0VOREZVTkNUSU9OKCkKKyAgCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9idWlsZHN1cHBvcnQvd2Fnb19wZmMyMDAvZm9ydGVfd2Fnby5pbiBiL2J1aWxkc3VwcG9ydC93YWdvX3BmYzIwMC9mb3J0ZV93YWdvLmluCmluZGV4IDczNzNiZDAuLjVlMWIwZDcgMTAwNjQ0Ci0tLSBhL2J1aWxkc3VwcG9ydC93YWdvX3BmYzIwMC9mb3J0ZV93YWdvLmluCisrKyBiL2J1aWxkc3VwcG9ydC93YWdvX3BmYzIwMC9mb3J0ZV93YWdvLmluCkBAIC0xLDkgKzEsMTAgQEAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSMgQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogIyAKICMgQ29udHJpYnV0b3JzOgogIyAgICBNaWxhbiBWYXRob29wYW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvYnVpbGRzdXBwb3J0L3dhZ29fcGZjMjAwL2ZvcnRlX3dhZ28ubWFrZSBiL2J1aWxkc3VwcG9ydC93YWdvX3BmYzIwMC9mb3J0ZV93YWdvLm1ha2UKaW5kZXggMzE5OGI5OC4uMjI5ZmFkNiAxMDA2NDQKLS0tIGEvYnVpbGRzdXBwb3J0L3dhZ29fcGZjMjAwL2ZvcnRlX3dhZ28ubWFrZQorKysgYi9idWlsZHN1cHBvcnQvd2Fnb19wZmMyMDAvZm9ydGVfd2Fnby5tYWtlCkBAIC0xLDkgKzEsMTAgQEAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSMgQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogIyAKICMgQ29udHJpYnV0b3JzOgogIyAgICBNaWxhbiBWYXRob29wYW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvZG9jL2NvZGluZ19ydWxlcy9zcmMvZm9ydGVfY29kaW5nX3J1bGVzLnRleCBiL2RvYy9jb2RpbmdfcnVsZXMvc3JjL2ZvcnRlX2NvZGluZ19ydWxlcy50ZXgKaW5kZXggNDJiY2ZjZi4uNTMwZTI3ZiAxMDA2NDQKLS0tIGEvZG9jL2NvZGluZ19ydWxlcy9zcmMvZm9ydGVfY29kaW5nX3J1bGVzLnRleAorKysgYi9kb2MvY29kaW5nX3J1bGVzL3NyYy9mb3J0ZV9jb2RpbmdfcnVsZXMudGV4CkBAIC0xLDEzICsxLDE2IEBACi0lKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSUgKiBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkggDQotJSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0lICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotJSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotJSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotJSAqDQotJSAqIENvbnRyaWJ1dG9yczoNCi0lICogICAgR2VyaGFyZCBFYmVuaG9mZXIsIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KLSUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCislJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJQ0KKyUgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIIA0KKyUNCislIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyUgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyUNCislIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorJSANCislIENvbnRyaWJ1dG9yczoNCislICAgR2VyaGFyZCBFYmVuaG9mZXIsIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwgDQorJSAgICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlLw0KIA0KIFxkb2N1bWVudGNsYXNzW2ZpbmFsLGE0cGFwZXIsMTBwdCwgb25lc2lkZV17YXJ0aWNsZX0NCiBcdXNlcGFja2FnZVtsYXRpbjFde2lucHV0ZW5jfQ0KQEAgLTgwLDEwICs4MywxMSBAQAogXGJlZ2lue2xzdGxpc3Rpbmd9W2ZyYW1lPXRyYmxde30NCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNyA0RElBQyAtIGNvbnNvcnRpdW0uDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogXGVuZHtsc3RsaXN0aW5nfQ0KIEFuIGV4YW1wbGUgZm9yIHRoZSBmaWxlIGhlYWRlciB1c2VkIGluIGFuIGZ1bGwgaGVhZGVyIGZpbGUgaXMgZ2l2ZW4gaW4gQXBwZW5kaXh+XHJlZntzdWJzZWM6RmlsZUhlYWRlcn0gb2YgdGhpcyBkb2N1bWVudC4NCkBAIC0zMTIsMTAgKzMxNiwxMSBAQAogXGJlZ2lue2xzdGxpc3Rpbmd9W2ZyYW1lPXRyYmxde30NCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNyA0RElBQyAtIGNvbnNvcnRpdW0uDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogI2lmbmRlZiBfRklMRU5BTUVfSF8gIA0KICNkZWZpbmUgX0ZJTEVOQU1FX0hfICANCmRpZmYgLS1naXQgYS9kb2MvZXYzUGFyYW1zLm1kIGIvZG9jL2V2M1BhcmFtcy5tZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTdiNjQzZS4uMDAwMDAwMAotLS0gYS9kb2MvZXYzUGFyYW1zLm1kCisrKyAvZGV2L251bGwKQEAgLTEsMjY4ICswLDAgQEAKLSMgUGFyYW1ldGVycyBmb3IgdGhlIGV2M0RldiBpbnRlcmZhY2UKLQotIyMgU3RhbmRhcmQgYWNjZXNzCi0KLSMjIyBUcmFuc3BhcmVudCBhY2Nlc3MKLQotVGhlIHN0YW5kYXJkIGFjY2VzcyByZWZlciB0byB0aGUgYWNjZXNzIHRocm91Z2ggd2VsbCBkZWZpbmVkIElPIGJsb2NrcywgdGhhdCBhbGxvdyB0cmFuc3BhcmVuY3kgaW4gdGhlIGFjY2VzcyBvZiBJL08gaW4gZGlmZmVyZW50IHBsYXRmb3Jtcy4gRWFjaCBibG9jayBzdXBwb3J0cyBkaWZmZXJlbnQgcGFyYW1ldGVycy4gVGhlIGJsb2NrcyB1c2VkIHRvIGNvbnRyb2wgdGhlIEkvTyBhcmUgbmFtZSB0d28gY2FwaXRhbCBsZXR0ZXJzLiAKLQotMS4gVGhlIGZpcnN0IGxldHRlciBpbmRpY2F0ZXMgdGhlIGRpcmVjdGlvbjoNCi0JDQotCSogUTogb3V0cHV0DQotCSogSTogaW5wdXQNCi0JDQotMi4gVGhlIHNlY29uZCBsZXR0ZXIgaW5kaWNhdGVzIHRoZSBzaXplIG9mIGl0Og0KLQ0KLQkqIFg6IGJvb2xlYW4NCi0JKiBXOiBXb3JkICgxNiBiaXRzKQ0KLQkqIEQ6IERvdWJsZSAoMzIgYml0cykNCi0NCi1TbywgZm9yIGV4YW1wbGUgYW4gYm9vbGVhbiBpbnB1dCBpcyByZWFkIHVzaW5nIHRoZSBmdW5jdGlvbmFsIGJsb2NrIElYLiBUaGUgb3V0cHV0IHdvcmQsIGZvciBleGFtcGxlIHRoZSBQV00gdmFsdWUgb2YgYSBtb3RvciBpcyBjb250cm9sbGVkIHdpdGggYSBRVyBibG9jay4gTm90IGFsbCBzaXplcyBhcmUgaW1wbGVtZW50ZWQgaW4gYWxsIHBsYXRmb3Jtcy4KLQotIyMjIFBhcmFtZXRlcnMgZm9yIHRoZSBFVjMKLQotVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBFVjMgd2VyZSBkZXNnaW5lZCBmb3IgZ2VuZXJhbCB1c2UsIGFuZCBleHRlbnNpb24gb2YgdGhlbSBpcyBlYXN5IHRvIGFjaGlldmUuIFRoZSBmb3JtYXQgb2YgdGhlIHBhcmFtZXRlcnMgZm9sbG93IDIgaW1wb3J0YW50IHJ1bGVzOgotCi0xLglUaGUgb25seSBjYXBpdGFsIGxldHRlcnMgYWxsb3dlZCBhcmUgdGhlIEEsQixDLEQgd2hlbiB1c2VkIHRvIGRlZmluZSB0aGUgb3V0cHV0IHBvcnRzIChvdXRBLCBvdXRCLCBvdXRDLCBvdXREKS4NCi0KLTIuCVRoZSBwYXJhbWV0ZXJzIGFyZSBnaXZlbiBpbiB0aHJlZSBwYXJ0cyBzZXBhcmF0ZWQgYnkgcG9pbnRzOgotCQkJDQotCT4gICBwb3J0LnR5cGVPZklPLnNwZWNpZmljDQotDQotCTEucG9ydA0KLQ0KLQlUaGUgZmlyc3QgcGFydCBvZiB0aGUgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgcG9ydCBvZiB0aGUgSW5wdXQgb3IgT3V0cHV0LiBGb3IgdGhlIEVWMywgdGhlIHBvc3NpYmxlIHZhbHVlcyAgYXJlIFtpbjEgfCBpbjIgfCBpbjMgfCBpbjQgfCBvdXRBIHwgb3V0QiB8IG91dEMgfCBvdXREIHwgZW1iXS4gVGhlIGZpcnN0IGVpZ2h0IGFyZSBkaXJlY3RseSByZWxhdGVkIHRvIHRoZSBhY3R1YWwgcG9ydHMgb2YgdGhlIEVWMy4gVGhlICdlbWInIHBvcnQgcmVmZXJzIHRvIGFueXRoaW5nIHRoYXQgY2FuIGJlIG1hbmFnZWQgaW4gdGhlIEVWMyBidXQgbm90IGluIHRoZSBJL08gcG9ydHMsIHVudGlsIG5vdyB0aGUgbGVkcyBhbmQgYnV0dG9ucywgYnV0IGluIHRoZSBmdXR1cmUgdGhlIHNjcmVlbiBhbmQgc3BlYWtlciB3b3VsZCBhbHNvIGJlIHJlZmVyZW5jZSB3aXRoIHRoZSAnZW1iJyBwb3J0Lg0KLQkNCi0JMi4gdHlwZU9mSU8NCi0NCi0JVGhlIHNlY29uZCBwYXJ0LCBzcGVjaWZpZXMgd2hhdCBpcyBhY3R1YWxseSBjb25uZWN0ZWQgdG8gdGhlIHNwZWNpZmllZCBwb3J0LiBUaGUgcG9zc2libGUgdmFsdWVzIGFyZSBbc2Vuc29yIHwgc2Vuc29ydyB8IGJ1dHRvbiB8IGxlZCB8IG1vdG9yXS4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAnc2Vuc29yJyBhbmQgJ3NlbnNvcncnIGlzIHRoYXQgJ3NlbnNvcicgaXMgdXNlZCBmb3IgYm9vbGVhbiBzZW5zb3JzLCBhbmQgJ3NlbnNvcncnIGZvciBzZW5zb3JzIHdoaWNoIHZhbHVlcyBhcmUgd29yZHMgKDE2IGJpdHMpLiBUaGUgJ2xlZCcgYW5kICdidXR0b24nIGFyZSB1c2VkIHRvIGNvbnRyb2wgdGhlIGVtYmVkZGVkIGxlZHMgYW5kIGJ1dHRvbnMgb2YgdGhlIEVWMy4gJ21vdG9yJyBpcyB1c2VkIGZvciBjb25uZWN0ZWQgbW90b3JzIGluIGFueSBvZiB0aGUgb3V0cHV0cy4NCi0NCi0JSXQgbXVzdCBiZSBjbGVhciB0aGF0IG5vdCBhbGwgb2YgdGhlIHR5cGVzIGNhbiBiZSB1c2VkIHdpdGggYW55IHBvcnQuIEZvciBleGFtcGxlIGEgbGVkIGlzIG9ubHkgYW4gb3V0cHV0LCBzbyBpZiB1c2VkIHdpdGggYSBpbnB1dCwgZm9yIGV4YW1wbGUgSVggaXQgd29uJ3QgaW50aWFsaXplLiBBbHNvLCBpZiB1c2VkIHRvIGNvbnRyb2wgYXMgYSB3b3JkIFFXLCBpdCB3b24ndCBpbml0aWFsaXplIGVpdGhlci4NCi0NCi0JMy4gc3BlY2lmaWMNCi0NCi0JQXMgaXRzIG5hbWUgc2F5cywgdGhpcyB0aGlyZCBwYXJhbWV0ZXIgaGFzIG5vIGdlbmVyYWwgZm9ybSwgYW5kIGNhbiBhbHNvIGJlIGZvcm1lZCBvZiBvdGhlciBzZXZlcmFsIHBhcmFtZXRlcnMgKGFzIGluIGNhc2Ugb2YgdGhlIGxlZCkuIERlcGVuZGluZyBvZiB0aGUgc2Vjb25kIHBhcmFtZXRlciwgdGhlIGFsbG93ZWQgdmFsdWVzIGZvciB0aGlzIG9uZSBhcmUgZGlmZmVyZW50LCBhbmQgaXQgd2lsbCBiZSBzZWVuIGluIHRoZSBmb2xsb3cgc2VjdGlvbi4NCi0NCi0jIyMjIFNwZWNpZmljIHBhcmFtZXRlcnMNCi0NCi0xLiBsZWQ6DQotDQotCSogcmlnaHQucmVkCQkob3V0cHV0IG9ubHkpDQotCSogcmlnaHQuZ3JlZW4JKG91dHB1dCBvbmx5KQ0KLQkqIGxlZnQucmVkCQkob3V0cHV0IG9ubHkpDQotCSogbGVmdC5ncmVlbgkob3V0cHV0IG9ubHkpDQotDQotCUVhY2ggc3BlY2lmaWMgaXMgdXNlZCB0byBjb250cm9sIGVhY2ggb25lIG9mIHRoZSBmb3VyIGxlZHMgYXZhaWxhYmxlLiBUaGUgb3JhbmdlIGxlZCBkb2Vzbid0IGV4aXN0LCBidXQgaXMgdGhlIHN1bSBvZiByZWQgKyBncmVlbiwgc28gaW4gb3JkZXIgdG8gdHVybiBvbiBhbiBvcmFuZ2UgbGlnaHQgb2YgdGhlIGxlZnQgZm9yIGV4YW1wbGUsIGJvdGggdGhlIGdyZWVuIGFuZCByZWQgb2YgdGhlIGxlZnQgbXVzdCBiZSB0dXJuZWQgb24uDQotDQotCUxpbWl0YXRpb246ICdsZWQnIG11c3QgYmUgdXNlZCB3aXRoIFFYIGFuZCB3aXRoIHRoZSAnZW1iJyBwb3J0Lg0KLQ0KLQlFeGFtcGxlOiANCi0JDQotCT4gZW1iLmxlZC5yaWdodC5yZWQNCi0NCi0yLiBidXR0b24NCi0NCi0JKiB1cAkJCShpbnB1dCBvbmx5KQ0KLQkqIGRvd24gCQkJKGlucHV0IG9ubHkpDQotCSogbGVmdAkJCShpbnB1dCBvbmx5KQ0KLQkqIHJpZ2h0CQkJKGlucHV0IG9ubHkpDQotCSogZW50ZXIJCQkoaW5wdXQgb25seSkNCi0JKiBiYWNrc3BhY2UJCShpbnB1dCBvbmx5KQ0KLQ0KLQlSZWFkcyB0aGUgYnV0dG9ucyBvZiB0aGUgRVYzLiANCi0NCi0JTGltaXRhdGlvbjogJ2J1dHRvbicgbXVzdCBiZSB1c2VkIHdpdGggSVggYW5kIHdpdGggdGhlICdlbWInIHBvcnQuDQotDQotCUV4YW1wbGU6DQotDQotCT4gZW1iLmJ1dHRvbi5lbnRlcg0KLQ0KLTMuIHNlbnNvcncgDQotDQotCSogWzAtTl0gCShpbnB1dCBvbmx5KQ0KLQkqIG1vZGUgCQkoaW5wdXQgb3Igb3V0cHV0KQ0KLQ0KLQlUaGUgc2Vuc29ydyBpcyB1c2VkIHdpdGggc2Vuc29ycyB0aGF0IHJlYWQgYSB3b3JkIHZhbHVlIGlzbnRlYWQgb2YgYSBib29sZWFuIGFuZCBub3JtYWxseSBhcmUgbW9yZSBjb21wbGV4IHRoYW4gcmVndWxhciB0b3VjaCBzZW5zb3JzIChib29sZWFuKS4gRWFjaCBzZW5zb3Igc3BlY2lmaWVzIGhvdyBpdCByZXRyaWV2ZXMgdGhlIGRhdGEsIGhvdyBtYW55IHZhbHVlcyBhbmQgdGhlIGZvcm1hdCBvZiBpdC4gU3BlY2lmaWNhdGlvbnMgb2YgdGhlIHN1cHBvcnRlZCBzZW5zb3JzIGJ5IHRoZSBldjNkZXYgYXJlIGxpc3RlZCBbaGVyZV0oaHR0cDovL3d3dy5ldjNkZXYub3JnL2RvY3Mvc2Vuc29ycy8pLg0KLQ0KLQlFYWNoIG9uZSBvZiB0aGUgc2Vuc29ycycgdmFsdWVzIGlzIHN0b3JlZCBpbiBhIGRpZmZlcmVudCBmaWxlIGluIHRoZSBFVjMuIFRoZSBzcGVjaWZpYyBbMC1OXSBkZXRlcm1pbmVzIHdoaWNoIGZpbGUgaXQgaXMuIEZvciBleGFtcGxlIHRoZSBHWVJPIHNlbnNvciBjYW4gc2hvdyB0aGUgYW5nbGUgYW5kIHRoZSByb3RhdGlvbiBzcGVlZC4gVGhlIHZhbHVlcyBhcmUgc3RvcmUgaW4gdmFsdWUwIGFuZCB2YWx1ZTEgZmlsZXMsIHNvIHRvIGFjY2VzcyBqdXN0IHRoZSByb3RhdGlvbiBzcGVlZCwgdGhlICcxJyBzcGVjaWZpYyBtdXN0IGJlIHVzZWQuIFRoZSBhY3R1YWwgdmFsdWUgbXVzdCBiZSBjaGVja2VkIGluIHRoZSBsaW5rIGFib3ZlLg0KLQ0KLQlUaGUgJ21vZGUnIHNwZWNpZmljIGlzIHVzZWQgdG8gY2hhbmdlIHRoZSBtb2RlIG9mIHRoZSBzZW5zb3IgYWNjb3JkaW5nIHRvIGl0cyBzcGVjaWZpY2F0aW9uLiBBcyBhbiBpbnB1dCwgbW9kZSB3aWxsIHJldHJpZXZlIHRoZSBtb2RlIGluIHdoaWNoIHRoZSBzZW5zb3IgaXMgd29ya2luZywgYW5kIGFzIG91dHB1dCwgdGhlIG1vZGUgd2lsbCBiZSBjaGFuZ2VkLiBUaGUgbW9kZSBhcmUgIG1pcnJvcmVkIHVzaW5nIGEgMCBpbmRleCBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRpb24gb2YgdGhlIHNlbnNvci4NCi0NCi0JTGltaXRhdGlvbjogc2Vuc29ydyBjYW5ub3QgYmUgdXNlZCB3aXRoIGJvb2xlYW4gYmxvY2tzIChRWCBvciBJWCkuIEl0IG11c3QgYmUgdXNlZCB3aXRoIGFuIGluWzEtNF0gcG9ydCwgYnV0IGlzIG5vdCByZXN0cmljdGVkIHRvIGlucHV0IG9yIG91dHB1dCBibG9ja3MuDQotCQ0KLQlMaW1pdGF0aW9uOiBbMC1OXSBjYW4gYmUgdXNlZCBvbmx5IGFzIGlucHV0LCBhbmQgdGhlIG51bWJlciBzaG91bGRuJ3QgYmUgZ3JlYXRlciB0aGFuIHRoZSBhbGxvd2VkIGJ5IHRoZSBzZW5zb3IgaW4gdGhlIG1vZGUgdGhhdCdzIHdvcmtpbmcgYXQgdGhlIG1vbWVudCBvZiBpbml0aWFsaXphdGlvbi4gDQotCQ0KLQlFeGFtcGxlczogTGV0J3Mgc2VlIGFuIGV4YW1wbGUgb2YgdXNpbmcgdGhlIEdZUk8gc2Vuc29yIHNwZWNpZmllZCBbaGVyZV0oaHR0cDovL3d3dy5ldjNkZXYub3JnL2RvY3Mvc2Vuc29ycy9sZWdvLWV2My1neXJvLXNlbnNvci8pLiBUaGUgR1lSTyB3b3JrcyBpbiBHWVJPLUFORyBieSBkZWZhdWx0LCBzaG93aW5nIG9ubHkgb25lIHZhbHVlLCB0aGVuIHRoZSBvbmx5IHBvc3NpYmxlIHBhcmFtZXRlciBpczoNCi0JDQotCT4gaW4xLnNlbnNvcncuMCAgKElXKQ0KLQkNCi0JSWYgYSAxIGluc3RlYWQgb2YgYSAwIHdlcmUgdXNlZCwgdGhlIGluaXRpYWxpemF0aW9uIHdvdWxkIGhhdmUgZmFpbGVkLiBJZiBmaXJzdCB0aGUgc2Vuc29yJ3MgbW9kZSBpcyBjaGFuZ2VkIHVzaW5nIGEgUVcgd2l0aCBwYXJhbWV0ZXIgDQotCQ0KLQk+IGluMS5zZW5zb3J3Lm1vZGUgKFFXKQ0KLQkNCi0JYW5kIHdyaXRpbmcgYSB2YWx1ZSAzICgwIGluZGV4IG1vZGUsIHNlZSBsaW5rIG9mIHRoZSBzZW5zb3IgYWJvdmUpLCB0aGUgc2Vuc29yJ3MgbW9kZSB3aWxsIGNoYW5nZSB0byBHWVJPLUcmQSB3aWNoIHNob3dzIDIgdmFsdWVzLCBhbmdsZSBhbmQgcm90YXRpb24gc3BlZWQuIEFmdGVyIGNoYW5naW5nIHRoZSBtb2RlLCB0d28gSVcgYmxvY2tzIHdpdGggcGFyYW1ldGVycw0KLQkNCi0JPiBpbjEuc2Vuc29ydy4wIChJVykNCi0JPiBpbjEuc2Vuc29ydy4xIChJVykNCi0JDQotCXdpbGwgcmV0cmlldmUgdGhlIGJvdGggdmFsdWVzLiBSZW1lbWJlciwgdG8gZ2V0IHRoZSByb3RhdGlvbiBzcGVlZCwgdGhlIHNlY29uZCBibG9jayBtdXN0IGJlIGluaXRpYWxpemVkIEFGVEVSIHRoZSBtb2RlIGhhcyBiZWVuIGNoYW5nZWQuIFVzaW5nIHRoZSAnbW9kZScgc3BlY2lmaWMgd2l0aCBhIElXIHdpbGwgcmV0cmlldmUgdGhlIG1vZGUgYXMgMCBpbmRleC4NCi0NCi00LiBzZW5zb3INCi0NCi0JKlswLU5dCShpbnB1dCBvbmx5KQ0KLQ0KLQkgJ3NlbnNvcicgc3BlY2lmaWMgaXMgYSBzaW1wbGVyIHNwZWNpZmljIG9mIHRoZSAnc2Vuc29ydycuIEl0IGRvZXNuJ3QgYWxsb3cgbW9kZSwgYW5kIGV2ZW4gdGhvdWdoIHRoZSB2YWx1ZSBpcyBhbHdheXMgc3RvcmVkIGluICcwJywgdGhlICcwJyBzcGVjaWZpYyBtdXN0IGJlIHVzZWQgZm9yIHR3byBtYWlubHkgcmVhc29uczogMS4gVG8gaGF2ZSBhIHN0YW5kYXJpemVkIHdheSBvZiBzaG93aW5nIHRoZSBwYXJhbWV0ZXJzLCBhbmQgMi4gdG8gYXZvaWQgcHJvYmxlbXMgaW4gdGhlIGZ1dHVyZSB3aGVyZSBhIG5ldyBzZW5zb3IgaXMgc3RvcmVkIGluICcxJyBpbnN0ZWFkIG9mICcwJy4NCi0NCi0JTGltaXRhdGlvbnM6ICdzZW5zb3InIG11c3QgYmUgdXNlZCB3aXRoIFFYIGFuZCB3aXRoIGFuIGluWzEtNF0gcG9ydC4NCi0JDQotCUV4YW1wbGU6DQotCQ0KLQk+IGluMi5zZW5zb3IuMA0KLQ0KLTUuIE1vdG9yDQotDQotCSogZW5hYmxlCQkob3V0cHV0IGJvb2xlYW4gb25seSkNCi0JKiByZXNldAkJCShvdXRwdXQgYm9vbGVhbiBvbmx5KQ0KLQkqIHN0b3AJCQkob3V0cHV0IHdvcmQgb25seSkNCi0JKiBwd20JCQkoaW5wdXQgd29yZCBvciBvdXRwdXQgd29yZCBvbmx5KQ0KLQkqIHBvc2l0aW9uCQkoaW5wdXQgd29yZCBvbmx5KQ0KLQkqIHNwZWVkCQkJKGlucHV0IHdvcmQgb25seSkNCi0JKiByb3QJCQkoaW5wdXQgd29yZCBvbmx5KQ0KLQ0KLQlUaGUgJ2VuYWJsZScgdHVybnMgT04gdGhlIG1vdG9yIHdpdGggVFJVRSB2YWx1ZSBhbmQgdHVybiBPRkYgd2l0aCBhIEZBTFNFIHZhbHVlLiANCi0JDQotCVRoZSAncmVzZXQnIHplcm9lcyB0aGUgcG9zaXRpb24sIHB3bSBhbmQgc3BlZWQgdmFsdWVzLCBhbmQgdHVybiBvZmYgdGhlIG1vdG9yIHdpdGggYSB0cnVlIHZhbHVlLiBBIGZhbHNlIHZhbHVlIGhhcyBubyBlZmZlY3QuIA0KLQkNCi0JVGhlICdzdG9wJyBzcGVjaWZpYyBtdXN0IG5vdCBiZSBjb25mdXNlZCB3aXRoIHN0b3BpbmcgdGhlIG1vdG9yLCBiZWNhdXNlIGl0IHNwZWNpZmllcyB0aGUgd2F5IHRoZSBtb3RvciBiZWhhdmVzIHdoZW4gUFdNIGlzIHplcm8gYWNjb3JkaW5nIHRvIHRoZSB2YWx1ZSB3cml0dGVuOiANCi0NCi0JCSogMDogW2NvYXN0XTogUmVtb3ZlcyBwb3dlciBmcm9tIHRoZSBtb3Rvci4gVGhlIG1vdG9yIHdpbGwgZnJlZWx5IGNvYXN0IHRvIGEgc3RvcC4NCi0JCQ0KLQkJKiAxOiBbYnJha2VdOiBSZW1vdmVzIHBvd2VyIGZyb20gdGhlIG1vdG9yIGFuZCBjcmVhdGVzIGEgcGFzc2l2ZSBlbGVjdHJpY2FsIGxvYWQuIFRoaXMgaXMgdXN1YWxseSBkb25lIGJ5IHNob3J0aW5nIHRoZSBtb3RvciB0ZXJtaW5hbHMgdG9nZXRoZXIuIFRoaXMgbG9hZCB3aWxsIGFic29yYiB0aGUgZW5lcmd5IGZyb20gdGhlIHJvdGF0aW9uIG9mIHRoZSBtb3RvcnMgYW5kIGNhdXNlIHRoZSBtb3RvciB0byBzdG9wIG1vcmUgcXVpY2tseSB0aGFuIGNvYXN0aW5nLg0KLQkNCi0JCSogMzogW2hvbGRdOiBDYXVzZXMgdGhlIG1vdG9yIHRvIGFjdGl2ZWx5IHRyeSB0byBob2xkIHRoZSBjdXJyZW50IHBvc2l0aW9uLiBJZiBhbiBleHRlcm5hbCBmb3JjZSB0cmllcyB0byB0dXJuIHRoZSBtb3RvciwgdGhlIG1vdG9yIHdpbGwg4oCccHVzaCBiYWNr4oCdIHRvIG1haW50YWluIGl0cyBwb3NpdGlvbi4NCi0JDQotCVRoZSAncHdtJyByZWFkcyB0aGUgY3VycmVudCBwd20gb2YgdGhlIG1vdG9yIG9yIHdyaXRlcyB0aGUgZGVzaXJlZCBwd20gZm9yIHRoZSBtb3Rvci4NCi0JDQotCVRoZSAncG9zaXRpb24nIHJlYWRzIHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBtb3Rvci4gSW4gaG93IG1hbnkgc3RlcHMgYSByb3RhdGlvbiBpcyBkaXZpZGVkLCBjYW4gYmUgcmVhZCBmcm9tIHVzaW5nIHRoZSAncm90JyBzcGVjaWZpYy4NCi0JDQotCVRoZSAnc3BlZWQnIHJlYWRzIHRoZSBjdXJyZW50IHNwZWVkIGluIHBvc2l0aW9ucyBieSBzZWNvbmQuDQotCQ0KLQlUaGUgJ3JvdCcgcmVhZHMgdGhlIG1vdG9yIHNwZWNpY2F0aW9uIG9mIGhvdyBtYW55IHN0ZXBzIGFyZSBpbiBvbmUgdHVybiBvZiB0aGUgbW90b3IuIFRoaXMgY2FuIGJlIHJlYWQgZnJvbSB0aGUgc3BlY2lmaWNhdGlvbnMgb2YgdGhlIG1vdG9yIG5vcm1hbGx5IGFuZCBpdCdzIG5vdCBuZWNlc3NhcnkgdG8gYWRkIHRoZSBibG9jayBpbiBhbiBhcHBsaWNhdGlvbiBqdXN0IHRvIHJlYWQgdGhpcyBpbmZvcm1hdGlvbi4NCi0JDQotCUV4YW1wbGVzOg0KLQkNCi0JPiBvdXRCLm1vdG9yLmVuYWJsZSAoUVgpDQotCQ0KLQk+IG91dEIubW90b3IucHdtIChRVyB3cml0ZXMgdGhlIGRlc2lyZWQgcHdtLCBJVyByZWFkcyB0aGUgYWN0dWFsIHB3bSkNCi0JDQotCT4gb3V0Qi5tb3Rvci5wb3NpdGlvbiAoSVcgcmVhZHMgYWN0dWFsIHBvc2l0aW9uKSANCi0JCi0jIyBCbG9ja3MgY2hlYXRzaGVldAotCi0xLiAgICBJWDogQm9vbGVhbiBJbnB1dAotCi0JKiBTZW5zb3IgY29ubmVjdGVkIHRvIGFuIGlucHV0IHBvcnQ6IAotCQk+IGluW1hdLnNlbnNvci5bWV0KLQkKLQkJd2hlcmUgWCBpcyB0aGUgbnVtYmVyIG9mIHRoZSBpbnB1dCBpbiB0aGUgRVYzICgxLTQpIGFuZCBZIGlzIHRoZSB2YWx1ZSBudW1iZXIgd2hlcmUgdG8gcmVhZCBmcm9tIGFjY29yZGluZyB0byB0aGUgc2Vuc29yLiBSZWFkIHRoZSBzcGVjaWZpY2F0aW9uIG9mIHRoZSBzZW5zb3IgdG8gYmUgc3VyZS4gU3RhcnQgdHJ5aW5nIGZyb20gMCBpZiBubyBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuCi0KLQkqIE9uZSBvZiB0aGUgNiBidXR0b25zIG9mIHRoZSBFVjM6IAotCQk+IGVtYi5idXR0b24uW3VwIHwgZG93biB8IGxlZnQgfCByaWdodCB8IGVudGVyIHwgYmFja3NwYWNlXSAKLQkKLQkJT25seSBvbmUgb2YgdGhlIGlucHV0cyBjYW4gYmUgc2VsZWN0ZWQgZm9yIGVhY2ggSVguIEFsbCBwYXJhbWV0ZXJzIG11c3QgYmUgaW4gbG93ZXIgY2FzZS4KLQotMi4gICAgUVg6IEJvb2xlYW4gT3V0cHV0Ci0KLQkqIExlZCBvZiB0aGUgRVYzOgotCQk+IGVtYi5sZWQuW3JpZ2h0IHwgbGVmdF0uW3JlZCB8IGdyZWVuXQotCQotCQlUaGUgb3JhbmdlIGxlZCBkb2VzIG5vdCBleGlzdCwgYnV0IGlzIHRoZSBzdW0gb2YgZ3JlZW4gKyByZWQuCi0JCi0JKiBNb3RvciBPTi9PRkYKLQkJPiBvdXRbWF0ubW90b3IuZW5hYmxlCi0JCi0JCVdoZXJlIFggaXMgdGhlIG91dHB1dCBjYXBpdGFsIGxldHRlciBvZiB0aGUgRVYzIChBLUQsIGluIHVwcGVyY2FzZSkuIEEgdHJ1ZSB2YWx1ZSB0dXJucyB0aGUgbW90b3Igb24sIGFuZCBhIGZhbHNlIHZhbHVlIHR1cm5zIHRoZSBtb3RvciBvZmYuIAotCi0JKiBNb3RvciBSZXNldA0KLQkJPiBvdXRbWF0ubW90b3IucmVzZXQNCi0NCi0JCVdoZXJlIFggaXMgdGhlIG91dHB1dCBjYXBpdGFsIGxldHRlciBvZiB0aGUgRVYzIChBLUQsIGluIHVwcGVyY2FzZSkuIEEgdHJ1ZSB2YWx1ZSByZXNldHMgYWxsIG9mIHRoZSBtb3RvciBwYXJhbWV0ZXIgYXR0cmlidXRlcyB0byB0aGVpciBkZWZhdWx0IHZhbHVlcy4gVGhpcyB3aWxsIGFsc28gaGF2ZSB0aGUgZWZmZWN0IG9mIHN0b3BwaW5nIHRoZSBtb3Rvci4KLQkKLTMuIAkgSVc6IFdvcmQgSW5wdXQgKDE2IGJpdHMpCi0KLQkqIFNlbnNvciB2YWx1ZQotCQk+IGluW1hdLnNlbnNvcncuW1ldCi0KLQkJd2hlcmUgWCBpcyB0aGUgbnVtYmVyIG9mIHRoZSBpbnB1dCBpbiB0aGUgRVYzICgxLTQpIGFuZCBZIGlzIHRoZSB2YWx1ZSBudW1iZXIgd2hlcmUgdG8gcmVhZCBmcm9tIGFjY29yZGluZyB0byB0aGUgc2Vuc29yLiBSZWFkIHRoZSBzcGVjaWZpY2F0aW9uIG9mIHRoZSBzZW5zb3IgdG8gYmUgc3VyZS4gU3RhcnQgdHJ5aW5nIGZyb20gMCBpZiBubyBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuCi0KLQkqIFNlbnNvciBtb2RlDQotCQk+IGluW1hdLnNlbnNvcncubW9kZQ0KLQkJDQotCQl3aGVyZSBYIGlzIHRoZSBudW1iZXIgb2YgdGhlIGlucHV0IGluIHRoZSBFVjMgKDEtNCkuIFRoZSByZWFkIHZhbHVlIGlzIGFuIGluZGV4IG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIGxpc3Qgb2YgbW9kZXMgb2YgdGhlIHNlbnNvci4KLQotCSogQ3VycmVudCBkdXR5IGN5Y2xlIGZyb20gYSBtb3RvciAocHdtKQotCQk+IG91dFtYXS5tb3Rvci5wd20KLQotCQlXaGVyZSBYIGlzIHRoZSBvdXRwdXQgbGV0dGVyIG9mIHRoZSBFVjMgKEEtRCwgaW4gdXBwZXJjYXNlKS4gVGhlIHZhbHVlIGlzIGJldHdlZW4gLTEwMCBhbmQgMTAwLiBJdCBtaWdodCBzZWVtIGNvbmZ1c2luZyByZWFkaW5nIGFuIGlucHV0IGZyb20gYW4gb3V0cHV0IGJ1dCBldmVuIHRob3VnaCB0aGUgc2lnbmFsIGlzIGZyb20gYW4gb3V0cHV0LCBpdCBpcyBhbiBpbnB1dCB0byB0aGUgc3lzdGVtLgotCi0JKiBDdXJyZW50IHNwZWVkIG9mIHRoZSBtb3RvciANCi0JCT4gb3V0W1hdLm1vdG9yLnNwZWVkDQotDQotCQlXaGVyZSBYIGlzIHRoZSBvdXRwdXQgbGV0dGVyIG9mIHRoZSBFVjMgKEEtRCwgaW4gdXBwZXJjYXNlKS4gSXQgcmVhZHMgdGhlIHZlbG9jaXR5IGluIHN0ZXBzIHBlciBzZWNvbmQKLQotCSogTnVtYmVyIG9mIHN0ZXBzIGluIGVhY2ggdHVybg0KLQkJPiBvdXRbWF0ubW90b3Iucm90DQotDQotCQlXaGVyZSBYIGlzIHRoZSBvdXRwdXQgbGV0dGVyIG9mIHRoZSBFVjMgKEEtRCwgaW4gdXBwZXJjYXNlKS4KLQotCSogQ3VycmVudCBwb3NpdGlvbiBvZiB0aGUgbW90b3IKLQkJPiBvdXRbWF0ubW90b3IucG9zaXRpb24NCi0NCi0JCVdoZXJlIFggaXMgdGhlIG91dHB1dCBsZXR0ZXIgb2YgdGhlIEVWMyAoQS1ELCBpbiB1cHBlcmNhc2UpLgotCi00LiAgIFFXOiB3b3JkIG91dHB1dCAoMTYgYml0cykgW0NIRUNLIEZPUk1BVF0NCi0NCi0JKiBTZW5zb3IgbW9kZQotCQk+IGluW1hdLnNlbnNvcncubW9kZQotCQkKLQkJd2hlcmUgWCBpcyB0aGUgbnVtYmVyIG9mIHRoZSBpbnB1dCBpbiB0aGUgRVYzICgxLTQpLiBUaGUgdmFsdWUgdG8gYmUgd3JpdHRlbiBzaG91bGQgYmUgdGhlIGluZGV4IG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIGxpc3Qgb2YgbW9kZXMgb2YgdGhlIHNlbnNvci4KLQotCSogRGVzaXJlZCBkdXR5IGN5Y2xlIGZvciBhIG1vdG9yIChwd20pCi0JCT4gb3V0W1hdLm1vdG9yLnB3bQotCi0JCVdoZXJlIFggaXMgdGhlIG91dHB1dCBsZXR0ZXIgb2YgdGhlIEVWMyAoQS1ELCBpbiB1cHBlcmNhc2UpLiBUaGUgdmFsdWUgcmFuZ2UgaXMgYmV0d2VlbiAtMTAwIGFuZCAxMDAuCi0KLQkqIERlc2lyZWQgYmVoYXZpb3VyIHdoZW4gc3RvcA0KLQkJPiBvdXRbWF0ubW90b3Iuc3RvcA0KLQ0KLQkJV2hlcmUgWCBpcyB0aGUgb3V0cHV0IGxldHRlciBvZiB0aGUgRVYzIChBLUQsIGluIHVwcGVyY2FzZSkuIFRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb3RvciB3aGVuIHN0b3BpbmcuIFBvc3NpYmxlIHZhbHVlcyBhcmUgMCwgMSBhbmQgMjoKLQkJCi0JICAgICogMDogW2NvYXN0XTogUmVtb3ZlcyBwb3dlciBmcm9tIHRoZSBtb3Rvci4gVGhlIG1vdG9yIHdpbGwgZnJlZWx5IGNvYXN0IHRvIGEgc3RvcC4KLQkgICAgKiAxOiBbYnJha2VdOiBSZW1vdmVzIHBvd2VyIGZyb20gdGhlIG1vdG9yIGFuZCBjcmVhdGVzIGEgcGFzc2l2ZSBlbGVjdHJpY2FsIGxvYWQuIFRoaXMgaXMgdXN1YWxseSBkb25lIGJ5IHNob3J0aW5nIHRoZSBtb3RvciB0ZXJtaW5hbHMgdG9nZXRoZXIuIFRoaXMgbG9hZCB3aWxsIGFic29yYiB0aGUgZW5lcmd5IGZyb20gdGhlIHJvdGF0aW9uIG9mIHRoZSBtb3RvcnMgYW5kIGNhdXNlIHRoZSBtb3RvciB0byBzdG9wIG1vcmUgcXVpY2tseSB0aGFuIGNvYXN0aW5nLgotCSAgICAqIDM6IFtob2xkXTogQ2F1c2VzIHRoZSBtb3RvciB0byBhY3RpdmVseSB0cnkgdG8gaG9sZCB0aGUgY3VycmVudCBwb3NpdGlvbi4gSWYgYW4gZXh0ZXJuYWwgZm9yY2UgdHJpZXMgdG8gdHVybiB0aGUgbW90b3IsIHRoZSBtb3RvciB3aWxsIOKAnHB1c2ggYmFja+KAnSB0byBtYWludGFpbiBpdHMgcG9zaXRpb24uCi0gCi01LiAgIElEOiBEb3VibGUgd29yZCBpbnB1dCAoMzIgYml0cykgW1RPIEJFIElNUExFTUVOVEVEXQotCi0JDQotDQotIyMgQ3VzdG9tIGFjY2Vzcw0KLQ0KLVRoZSBjdXN0b20gYWNjZXNzIGFsbG93cyB0aGUgdXNlciB0byBhY2Nlc3MgcGFydCBvZiB0aGUgc3lzdGVtIHRoYXQgYXJlIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgc3RhbmRhcmQgYWNjZXNzLiBDYXJlIG11c3QgYmUgdGFrZW4sIHNpbmNlIGNyaXRpY2FsIHBhcnQgb2YgdGhlIHN5c3RlbSBtaWdodCBiZSBhY2Nlc3NlZC4gRm9yIGVhY2ggYmxvY2ssIHRoZSBzcGVjaWZpY2F0aW9uIG9mIHRoZSBuZXcgaW5wdXRzIGFuZCBvdXRwdXRzIGFyZSBnaXZlbi4NCi0NCi0xLiAgIGZpbGVXcml0ZXI6IEJsb2NrIHRvIHdyaXRlIHRvIGFueSBmaWxlIGluIHRoZSBzeXN0ZW0NCi0JDQotCSogRklMRV9OQU1FIFtpbnB1dF06IGFic29sdXQgcGF0aCBvZiB0aGUgZmlsZS4gDQotCQk+IEV4YW1wbGU6IC9zeXMvY2xhc3MvdGFjaG8tbW90b3IvbW90b3IxL2NvbW1hbmQNCi0JCi0JKiBTMSBbaW5wdXRdOiBTdHJpbmcgdG8gd3JpdGUgdG8gdGhlIGZpbGUNCi0JCT4gRXhhbXBsZTogcnVuLWRpcmVjdA0KLQkKLTIuICBmaWxlUmVhZGVyOiBCbG9jayB0byByZWFkIGZyb20gYW55IGZpbGUgaW4gdGhlIHN5c3RlbSBbVE8gQkUgSU1QTEVNRU5URURdDQotDQotCSogRklMRV9OQU1FIFtpbnB1dF06IGFic29sdXQgcGF0aCBvZiB0aGUgZmlsZS4gDQotCQk+IEV4YW1wbGU6IC9zeXMvY2xhc3MvdGFjaG8tbW90b3IvbW90b3IxL2R1dHlfY3ljbGUNCi0JDQotCSogUzEgW291dHB1dF06IFN0cmluZyByZWFkIGZyb20gdGhlIGZpbGUNCi0JCT4gRXhhbXBsZTogNTgNCi0gCQotCmRpZmYgLS1naXQgYS9lcGwtMi4wLmh0bWwgYi9lcGwtMi4wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUwYjdlMwotLS0gL2Rldi9udWxsCisrKyBiL2VwbC0yLjAuaHRtbApAQCAtMCwwICsxLDY4NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+CisgIDxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CisgICAgPCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgLS0+Cis8c2NyaXB0PihmdW5jdGlvbih3LGQscyxsLGkpe3dbbF09d1tsXXx8W107d1tsXS5wdXNoKHsnZ3RtLnN0YXJ0JzoKK25ldyBEYXRlKCkuZ2V0VGltZSgpLGV2ZW50OidndG0uanMnfSk7dmFyIGY9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXSwKK2o9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQorJ2h0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcz9pZD0nK2krZGw7Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpOworfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdHVE0tNVdMQ1pYQycpOzwvc2NyaXB0PgorPCEtLSBFbmQgR29vZ2xlIFRhZyBNYW5hZ2VyIC0tPiAgICA8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IldheW5lIEJlYXRvbiIvPgorICAgIDxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJlY2xpcHNlLHByb2plY3QscGx1Zy1pbnMscGx1Z2lucyxqYXZhLGlkZSxzd3QscmVmYWN0b3JpbmcsZnJlZSBqYXZhIGlkZSx0b29scyxwbGF0Zm9ybSxvcGVuIHNvdXJjZSxkZXZlbG9wbWVudCBlbnZpcm9ubWVudCxkZXZlbG9wbWVudCxpZGUiLz4KKyAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii9lY2xpcHNlLm9yZy1jb21tb24vdGhlbWVzL3NvbHN0aWNlL3B1YmxpYy9pbWFnZXMvZmF2aWNvbi5pY28iLz4KKyAgICA8dGl0bGU+RWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgfCBUaGUgRWNsaXBzZSBGb3VuZGF0aW9uPC90aXRsZT4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9lY2xpcHNlLm9yZy1jb21tb24vdGhlbWVzL3NvbHN0aWNlL3B1YmxpYy9zdHlsZXNoZWV0cy9xdWlja3NpbHZlci5taW4uY3NzP3YxLjciLz4KKzxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIC0gaG9tZSB0byBhIGdsb2JhbCBjb21tdW5pdHksIHRoZSBFY2xpcHNlIElERSwgSmFrYXJ0YSBFRSBhbmQgb3ZlciAzNTAgb3BlbiBzb3VyY2UgcHJvamVjdHMsIGluY2x1ZGluZyBydW50aW1lcywgdG9vbHMgYW5kIGZyYW1ld29ya3MuIi8+Cis8bWV0YSBwcm9wZXJ0eT0ib2c6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gLSBob21lIHRvIGEgZ2xvYmFsIGNvbW11bml0eSwgdGhlIEVjbGlwc2UgSURFLCBKYWthcnRhIEVFIGFuZCBvdmVyIDM1MCBvcGVuIHNvdXJjZSBwcm9qZWN0cywgaW5jbHVkaW5nIHJ1bnRpbWVzLCB0b29scyBhbmQgZnJhbWV3b3Jrcy4iLz4KKzxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvZWNsaXBzZS5vcmctY29tbW9uL3RoZW1lcy9zb2xzdGljZS9wdWJsaWMvaW1hZ2VzL2xvZ28vZWNsaXBzZS1mb3VuZGF0aW9uLTIwMHgyMDAucG5nIi8+Cis8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHwgVGhlIEVjbGlwc2UgRm91bmRhdGlvbiIvPgorPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOndpZHRoIiBjb250ZW50PSIyMDAiLz4KKzxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpoZWlnaHQiIGNvbnRlbnQ9IjIwMCIvPgorPG1ldGEgaXRlbXByb3A9Im5hbWUiIGNvbnRlbnQ9IkVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHwgVGhlIEVjbGlwc2UgRm91bmRhdGlvbiIvPgorPG1ldGEgaXRlbXByb3A9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIC0gaG9tZSB0byBhIGdsb2JhbCBjb21tdW5pdHksIHRoZSBFY2xpcHNlIElERSwgSmFrYXJ0YSBFRSBhbmQgb3ZlciAzNTAgb3BlbiBzb3VyY2UgcHJvamVjdHMsIGluY2x1ZGluZyBydW50aW1lcywgdG9vbHMgYW5kIGZyYW1ld29ya3MuIi8+Cis8bWV0YSBpdGVtcHJvcD0iaW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2VjbGlwc2Uub3JnLWNvbW1vbi90aGVtZXMvc29sc3RpY2UvcHVibGljL2ltYWdlcy9sb2dvL2VjbGlwc2UtZm91bmRhdGlvbi00MDB4NDAwLnBuZyIvPgorPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJARWNsaXBzZUZkbiIvPgorPG1ldGEgbmFtZT0idHdpdHRlcjpjYXJkIiBjb250ZW50PSJzdW1tYXJ5Ii8+Cis8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB8IFRoZSBFY2xpcHNlIEZvdW5kYXRpb24iLz4KKzxtZXRhIG5hbWU9InR3aXR0ZXI6dXJsIiBjb250ZW50PSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLyIvPgorPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iVGhlIEVjbGlwc2UgRm91bmRhdGlvbiAtIGhvbWUgdG8gYSBnbG9iYWwgY29tbXVuaXR5LCB0aGUgRWNsaXBzZSBJREUsIEpha2FydGEgRUUgYW5kIG92ZXIgMzUwIG9wZW4gc291cmNlIHByb2plY3RzLCBpbmNsdWRpbmcgcnVudGltZXMsIHRvb2xzIGFuZCBmcmFtZXdvcmtzLiIvPgorPG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvZWNsaXBzZS5vcmctY29tbW9uL3RoZW1lcy9zb2xzdGljZS9wdWJsaWMvaW1hZ2VzL2xvZ28vZWNsaXBzZS1mb3VuZGF0aW9uLTQwMHg0MDAucG5nIi8+Cis8bGluayBocmVmPSIvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGlicmUrRnJhbmtsaW46NDAwLDcwMCwzMDAsNjAwLDEwMCIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPgorICAgIDxzY3JpcHQ+IHZhciBlY2xpcHNlX29yZ19jb21tb24gPSB7InNldHRpbmdzIjp7ImNvb2tpZXNfY2xhc3MiOnsibmFtZSI6ImVjbGlwc2Vfc2V0dGluZ3MiLCJlbmFibGVkIjoxfX19PC9zY3JpcHQ+ICA8L2hlYWQ+CisgIDxib2R5IGlkPSJib2R5X3NvbHN0aWNlIj4KKyAgICA8IS0tIEdvb2dsZSBUYWcgTWFuYWdlciAobm9zY3JpcHQpIC0tPgorPG5vc2NyaXB0PjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ucy5odG1sP2lkPUdUTS01V0xDWlhDIgoraGVpZ2h0PSIwIiB3aWR0aD0iMCIgc3R5bGU9ImRpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbiI+PC9pZnJhbWU+PC9ub3NjcmlwdD4KKzwhLS0gRW5kIEdvb2dsZSBUYWcgTWFuYWdlciAobm9zY3JpcHQpIC0tPiAgICA8YSBjbGFzcz0ic3Itb25seSIgaHJlZj0iI2NvbnRlbnQiPlNraXAgdG8gbWFpbiBjb250ZW50PC9hPgorICAgIDxoZWFkZXIgY2xhc3M9ImhlYWRlci13cmFwcGVyIiBpZD0iaGVhZGVyLXdyYXBwZXIiPgorICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggdG9vbGJhci1jb250YWluZXItd3JhcHBlciI+CisgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0IHRvb2xiYXItcm93IHJvdyBoaWRkZW4tcHJpbnQiPgorICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yNCByb3ctdG9vbGJhci1jb2wiPgorICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LWlubGluZSI+CisgICAgICAgICAgICAgIAorICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KKyAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiB0eXBlPSJidXR0b24iIGlkPSJkcm9wZG93bk1lbnUyIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj5XZWxjb21lLCBBbG9pcyBab2l0bCA8c3BhbiBjbGFzcz0iY2FyZXQiPjwvc3Bhbj48L2E+CisgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IHRvb2xiYXItZHJvcGRvd24tbWVudSIgYXJpYS1sYWJlbGxlZGJ5PSJkcm9wZG93bk1lbnUxIj4KKyAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy91c2VyL2F6b2l0bCI+PGkgY2xhc3M9ImZhIGZhLXVzZXIiPjwvaT4gVmlldyBQcm9maWxlPC9hPjwvbGk+CisgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly9hY2NvdW50cy5lY2xpcHNlLm9yZy91c2VyL2VkaXQiIGNsYXNzPSIiIGRhdGEtdGFiLWRlc3RpbmF0aW9uPSJ0YWItcHJvZmlsZSI+PGkgY2xhc3M9ImZhIGZhLWVkaXQiPjwvaT4gRWRpdCBQcm9maWxlPC9hPjwvbGk+CisgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CisgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9InRvb2xiYXItbWFuYWdlLWNvb2tpZXMgZHJvcGRvd24tdG9nZ2xlIj48aSBjbGFzcz0iZmEgZmEtd3JlbmNoIj48L2k+IE1hbmFnZSBDb29raWVzPC9hPjwvbGk+CisgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRpdmlkZXIiPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vYWNjb3VudHMuZWNsaXBzZS5vcmcvdXNlci9sb2dvdXQiPjxpIGNsYXNzPSJmYSBmYS1zaWduLW91dCI+PC9pPiBMb2cgb3V0PC9hPjwvbGk+CisgICAgICAgICAgICAgICAgPC91bD4KKyAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgCisgICAgICAgIDwvZGl2PgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+ICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9InJvdyIgaWQ9ImhlYWRlci1yb3ciPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTUgY29sLW1kLTQiIGlkPSJoZWFkZXItbGVmdCI+CisgICAgICAgIDxkaXYgY2xhc3M9IndyYXBwZXItbG9nby1kZWZhdWx0Ij48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy8iPjxpbWcgY2xhc3M9ImxvZ28tZWNsaXBzZS1kZWZhdWx0IGhpZGRlbi14cyIgYWx0PSJFY2xpcHNlLm9yZyBsb2dvIiB3aWR0aD0iMTYwIiBzcmM9Ii8vd3d3LmVjbGlwc2Uub3JnL2VjbGlwc2Uub3JnLWNvbW1vbi90aGVtZXMvc29sc3RpY2UvcHVibGljL2ltYWdlcy9sb2dvL2VjbGlwc2UtZm91bmRhdGlvbi13aGl0ZS1vcmFuZ2Uuc3ZnIi8+PC9hPjwvZGl2PgorICAgICAgPC9kaXY+ICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTE5IGNvbC1tZC0yMCBtYXJnaW4tdG9wLTEwIiBpZD0ibWFpbi1tZW51LXdyYXBwZXIiPgorICAgICAgPGRpdiBjbGFzcz0iZmxvYXQtcmlnaHQgaGlkZGVuLXhzIiBpZD0iYnRuLWNhbGwtZm9yLWFjdGlvbiI+PGEgaHJlZj0iL2Rvd25sb2Fkcy8iIGNsYXNzPSJidG4gYnRuLWh1Z2UgYnRuLXdhcm5pbmciPjxpIGNsYXNzPSJmYSBmYS1kb3dubG9hZCI+PC9pPiBEb3dubG9hZDwvYT48L2Rpdj4gICAgPGRpdiBjbGFzcz0ibmF2YmFyIHlhbW0gZmxvYXQtc20tcmlnaHQiIGlkPSJtYWluLW1lbnUiPgorICAgIDxkaXYgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSIgaWQ9Im5hdmJhci1tYWluLW1lbnUiPgorICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiI+CisgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9tZW1iZXJzaGlwLyIgdGFyZ2V0PSJfc2VsZiI+TWVtYmVyczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvd29ya2luZ2dyb3Vwcy8iIHRhcmdldD0iX3NlbGYiPldvcmtpbmcgR3JvdXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL3Byb2plY3RzLyIgdGFyZ2V0PSJfc2VsZiI+UHJvamVjdHM8L2E+PC9saT4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIHZpc2libGUteHMiPjxhIGhyZWY9IiMiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSI+Q29tbXVuaXR5IDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT48dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPjxsaT48YSBocmVmPSJodHRwOi8vbWFya2V0cGxhY2UuZWNsaXBzZS5vcmciPk1hcmtldHBsYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9ldmVudHMuZWNsaXBzZS5vcmciPkV2ZW50czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnBsYW5ldGVjbGlwc2Uub3JnLyI+UGxhbmV0IEVjbGlwc2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvY29tbXVuaXR5L2VjbGlwc2VfbmV3c2xldHRlci8iPk5ld3NsZXR0ZXI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9FY2xpcHNlRmRuIj5WaWRlb3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9ibG9ncy5lY2xpcHNlLm9yZyI+QmxvZ3M8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJkcm9wZG93biB2aXNpYmxlLXhzIj48YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPlBhcnRpY2lwYXRlIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT48dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPjxsaT48YSBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy8iPlJlcG9ydCBhIEJ1ZzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9mb3J1bXMvIj5Gb3J1bXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbWFpbC8iPk1haWxpbmcgTGlzdHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93aWtpLmVjbGlwc2Uub3JnLyI+V2lraTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3dpa2kuZWNsaXBzZS5vcmcvSVJDIj5JUkM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvb3JnL3Jlc2VhcmNoLyI+UmVzZWFyY2g8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJkcm9wZG93biB2aXNpYmxlLXhzIj48YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPkVjbGlwc2UgSURFIDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT48dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9kb3dubG9hZHMiPkRvd25sb2FkPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2VjbGlwc2VpZGUiPkxlYXJuIE1vcmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9oZWxwLmVjbGlwc2Uub3JnIj5Eb2N1bWVudGF0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2dldHRpbmdfc3RhcnRlZCI+R2V0dGluZyBTdGFydGVkIC8gU3VwcG9ydDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9jb250cmlidXRlLyI+SG93IHRvIENvbnRyaWJ1dGU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvaWRlLyI+SURFIGFuZCBUb29sczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9mb3J1bXMvaW5kZXgucGhwL2YvODkvIj5OZXdjb21lciBGb3J1bTwvYT48L2xpPjwvdWw+PC9saT4gICAgICAgICAgPCEtLSBNb3JlIC0tPgorICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24gZWNsaXBzZS1tb3JlIGhpZGRlbi14cyI+CisgICAgICAgICAgICA8YSBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIHJvbGU9ImJ1dHRvbiI+TW9yZTxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4KKyAgICAgICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CisgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgICA8IS0tIENvbnRlbnQgY29udGFpbmVyIHRvIGFkZCBwYWRkaW5nIC0tPgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InlhbW0tY29udGVudCI+CisgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgorICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImNvbC1zbS04IGxpc3QtdW5zdHlsZWQiPjxsaT48cD48c3Ryb25nPkNvbW11bml0eTwvc3Ryb25nPjwvcD48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vbWFya2V0cGxhY2UuZWNsaXBzZS5vcmciPk1hcmtldHBsYWNlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly9ldmVudHMuZWNsaXBzZS5vcmciPkV2ZW50czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwOi8vd3d3LnBsYW5ldGVjbGlwc2Uub3JnLyI+UGxhbmV0IEVjbGlwc2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvY29tbXVuaXR5L2VjbGlwc2VfbmV3c2xldHRlci8iPk5ld3NsZXR0ZXI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9FY2xpcHNlRmRuIj5WaWRlb3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9ibG9ncy5lY2xpcHNlLm9yZyI+QmxvZ3M8L2E+PC9saT48L3VsPjx1bCBjbGFzcz0iY29sLXNtLTggbGlzdC11bnN0eWxlZCI+PGxpPjxwPjxzdHJvbmc+UGFydGljaXBhdGU8L3N0cm9uZz48L3A+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLmVjbGlwc2Uub3JnL2J1Z3MvIj5SZXBvcnQgYSBCdWc8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvZm9ydW1zLyI+Rm9ydW1zPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL21haWwvIj5NYWlsaW5nIExpc3RzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd2lraS5lY2xpcHNlLm9yZy8iPldpa2k8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93aWtpLmVjbGlwc2Uub3JnL0lSQyI+SVJDPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9yZXNlYXJjaC8iPlJlc2VhcmNoPC9hPjwvbGk+PC91bD48dWwgY2xhc3M9ImNvbC1zbS04IGxpc3QtdW5zdHlsZWQiPjxsaT48cD48c3Ryb25nPkVjbGlwc2UgSURFPC9zdHJvbmc+PC9wPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2Rvd25sb2FkcyI+RG93bmxvYWQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvZWNsaXBzZWlkZSI+TGVhcm4gTW9yZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL2hlbHAuZWNsaXBzZS5vcmciPkRvY3VtZW50YXRpb248L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvZ2V0dGluZ19zdGFydGVkIj5HZXR0aW5nIFN0YXJ0ZWQgLyBTdXBwb3J0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2NvbnRyaWJ1dGUvIj5Ib3cgdG8gQ29udHJpYnV0ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9pZGUvIj5JREUgYW5kIFRvb2xzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2ZvcnVtcy9pbmRleC5waHAvZi84OS8iPk5ld2NvbWVyIEZvcnVtPC9hPjwvbGk+PC91bD4gICAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJkcm9wZG93biBlY2xpcHNlLW1vcmUgbWFpbi1tZW51LXNlYXJjaCI+CisgICAgICAgIDxhIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSIgcm9sZT0iYnV0dG9uIj48aSBjbGFzcz0iZmEgZmEtc2VhcmNoIj48L2k+IDxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4KKyAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KKyAgICAgICAgICA8bGk+CisgICAgICAgICAgICA8IS0tIENvbnRlbnQgY29udGFpbmVyIHRvIGFkZCBwYWRkaW5nIC0tPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0ieWFtbS1jb250ZW50Ij4KKyAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KKyAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMjQiPgorICAgICAgICAgICAgICAgICAgPHA+U2VhcmNoPC9wPgorICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0iY29sLW1kLTI0Ij4KKyAgICA8ZGl2IGlkPSJjdXN0b20tc2VhcmNoLWZvcm0iIGNsYXNzPSJyZXNldC1ib3gtc2l6aW5nIj4KKyAgICA8c2NyaXB0PgorICAgICAgKGZ1bmN0aW9uKCkgeworICAgICAgICB2YXIgY3ggPSAnMDExODA1Nzc1Nzg1MTcwMzY5NDExOnAzZWMwaWdvMHFxJzsKKyAgICAgICAgdmFyIGdjc2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKKyAgICAgICAgZ2NzZS50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CisgICAgICAgIGdjc2UuYXN5bmMgPSB0cnVlOworICAgICAgICBnY3NlLnNyYyA9IChkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCA9PSAnaHR0cHM6JyA/ICdodHRwczonIDogJ2h0dHA6JykgKworICAgICAgICAnLy9jc2UuZ29vZ2xlLmNvbS9jc2UuanM/Y3g9JyArIGN4OworICAgICAgICB2YXIgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTsKKyAgICAgICAgcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShnY3NlLCBzKTsKKyAgICAgIH0pKCk7CisgICAgPC9zY3JpcHQ+CisgICAgPGdjc2U6c2VhcmNoYm94LW9ubHkgZ25hbWU9Im1haW4iIHJlc3VsdHNVcmw9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2hvbWUvc2VhcmNoLnBocCI+PC9nY3NlOnNlYXJjaGJveC1vbmx5PgorICAgIDwvZGl2PjwvZGl2PjwvZGl2PgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgIDwvbGk+CisgICAgICAgIDwvdWw+CisgICAgICA8L2xpPiAgICAgICAgCisgICAgICA8L3VsPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgorICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmF2YmFyLW1haW4tbWVudSI+CisgICAgICA8c3BhbiBjbGFzcz0ic3Itb25seSI+VG9nZ2xlIG5hdmlnYXRpb248L3NwYW4+CisgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KKyAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgorICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CisgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KKyAgICAgIDwvYnV0dG9uPgorICAgICAgPGRpdiBjbGFzcz0id3JhcHBlci1sb2dvLW1vYmlsZSI+PGEgY2xhc3M9Im5hdmJhci1icmFuZCB2aXNpYmxlLXhzIiBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy8iPjxpbWcgY2xhc3M9ImxvZ28tZWNsaXBzZS1kZWZhdWx0LW1vYmlsZSBpbWctcmVzcG9uc2l2ZSIgYWx0PSJFY2xpcHNlLm9yZyBsb2dvIiB3aWR0aD0iMTYwIiBzcmM9Ii8vd3d3LmVjbGlwc2Uub3JnL2VjbGlwc2Uub3JnLWNvbW1vbi90aGVtZXMvc29sc3RpY2UvcHVibGljL2ltYWdlcy9sb2dvL2VjbGlwc2UtZm91bmRhdGlvbi13aGl0ZS1vcmFuZ2Uuc3ZnIi8+PC9hPjwvZGl2PiAgICA8L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisgIDwvaGVhZGVyPgorICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJkZWZhdWx0LWJyZWFkY3J1bWJzIGhpZGRlbi1wcmludCBicmVhZGNydW1icy1kZWZhdWx0LW1hcmdpbiIgaWQ9ImJyZWFkY3J1bWIiPgorICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgPGgzIGNsYXNzPSJzci1vbmx5Ij5CcmVhZGNydW1iczwvaDM+CisgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CisgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTI0Ij48b2wgY2xhc3M9ImJyZWFkY3J1bWIiPjxsaT48YSBocmVmPSIvIj5Ib21lPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsIj5MZWdhbDwvYT48L2xpPjxsaSBjbGFzcz0iYWN0aXZlIj5FY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMDwvbGk+PC9vbD48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICA8L3NlY3Rpb24+IDwhLS0gLyNicmVhZGNydW1iIC0tPgorICAgICAgPG1haW4+CisgICAgICAgIAorICAgICAgICA8ZGl2IGNsYXNzPSJub3ZhQ29udGVudCBjb250YWluZXIiIGlkPSJub3ZhQ29udGVudCI+CisgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij48ZGl2IGNsYXNzPSJjb2wtbWQtMTgiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICNtaWRjb2x1bW4gaDJ7CisgICAgZm9udC1zaXplOjE4cHg7CisgIH0KKyAgI21pZGNvbHVtbiB1bCwKKyAgI21pZGNvbHVtbiBvbHsKKyAgICBsaXN0LXN0eWxlLXR5cGU6bm9uZTsKKyAgfQorPC9zdHlsZT4KKzxkaXYgaWQ9Im1haW5jb250ZW50Ij4KKyAgPGRpdiBpZD0ibWlkY29sdW1uIj4KKworICAgIDxoMT5FY2xpcHNlIFB1YmxpYyBMaWNlbnNlIC0gdiAyLjA8L2gxPgorICAgIDxwPlRIRSBBQ0NPTVBBTllJTkcgUFJPR1JBTSBJUyBQUk9WSURFRCBVTkRFUiBUSEUgVEVSTVMgT0YgVEhJUyBFQ0xJUFNFCisgICAgICBQVUJMSUMgTElDRU5TRSAo4oCcQUdSRUVNRU5U4oCdKS4gQU5ZIFVTRSwgUkVQUk9EVUNUSU9OIE9SIERJU1RSSUJVVElPTgorICAgICAgT0YgVEhFIFBST0dSQU0gQ09OU1RJVFVURVMgUkVDSVBJRU5UJ1MgQUNDRVBUQU5DRSBPRiBUSElTIEFHUkVFTUVOVC4KKyAgICA8L3A+CisgICAgPGgyIGlkPSJkZWZpbml0aW9ucyI+MS4gREVGSU5JVElPTlM8L2gyPgorICAgIDxwPuKAnENvbnRyaWJ1dGlvbuKAnSBtZWFuczo8L3A+CisgICAgPHVsPgorPGxpPmEpIGluIHRoZSBjYXNlIG9mIHRoZSBpbml0aWFsIENvbnRyaWJ1dG9yLCB0aGUgaW5pdGlhbCBjb250ZW50CisgICAgICAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoaXMgQWdyZWVtZW50LCBhbmQKKyAgICAgIDwvbGk+CisgICAgICA8bGk+CisgICAgICAgIGIpIGluIHRoZSBjYXNlIG9mIGVhY2ggc3Vic2VxdWVudCBDb250cmlidXRvcjoKKyAgICAgICAgPHVsPgorPGxpPmkpIGNoYW5nZXMgdG8gdGhlIFByb2dyYW0sIGFuZDwvbGk+CisgICAgICAgICAgPGxpPmlpKSBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW07PC9saT4KKyAgICAgICAgPC91bD4KKyAgICAgICAgd2hlcmUgc3VjaCBjaGFuZ2VzIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW0gb3JpZ2luYXRlIGZyb20KKyAgICAgICAgYW5kIGFyZSBEaXN0cmlidXRlZCBieSB0aGF0IHBhcnRpY3VsYXIgQ29udHJpYnV0b3IuIEEgQ29udHJpYnV0aW9uCisgICAgICAgIOKAnG9yaWdpbmF0ZXPigJ0gZnJvbSBhIENvbnRyaWJ1dG9yIGlmIGl0IHdhcyBhZGRlZCB0byB0aGUgUHJvZ3JhbSBieSBzdWNoCisgICAgICAgIENvbnRyaWJ1dG9yIGl0c2VsZiBvciBhbnlvbmUgYWN0aW5nIG9uIHN1Y2ggQ29udHJpYnV0b3IncyBiZWhhbGYuCisgICAgICAgIENvbnRyaWJ1dGlvbnMgZG8gbm90IGluY2x1ZGUgY2hhbmdlcyBvciBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW0gdGhhdAorICAgICAgICBhcmUgbm90IE1vZGlmaWVkIFdvcmtzLgorICAgICAgPC9saT4KKyAgICA8L3VsPgorPHA+4oCcQ29udHJpYnV0b3LigJ0gbWVhbnMgYW55IHBlcnNvbiBvciBlbnRpdHkgdGhhdCBEaXN0cmlidXRlcyB0aGUgUHJvZ3JhbS48L3A+CisgICAgPHA+4oCcTGljZW5zZWQgUGF0ZW50c+KAnSBtZWFuIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZSBieSBhIENvbnRyaWJ1dG9yIHdoaWNoCisgICAgICBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZSB1c2Ugb3Igc2FsZSBvZiBpdHMgQ29udHJpYnV0aW9uIGFsb25lCisgICAgICBvciB3aGVuIGNvbWJpbmVkIHdpdGggdGhlIFByb2dyYW0uCisgICAgPC9wPgorICAgIDxwPuKAnFByb2dyYW3igJ0gbWVhbnMgdGhlIENvbnRyaWJ1dGlvbnMgRGlzdHJpYnV0ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoaXMKKyAgICAgIEFncmVlbWVudC4KKyAgICA8L3A+CisgICAgPHA+4oCcUmVjaXBpZW504oCdIG1lYW5zIGFueW9uZSB3aG8gcmVjZWl2ZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBBZ3JlZW1lbnQKKyAgICAgIG9yIGFueSBTZWNvbmRhcnkgTGljZW5zZSAoYXMgYXBwbGljYWJsZSksIGluY2x1ZGluZyBDb250cmlidXRvcnMuCisgICAgPC9wPgorICAgIDxwPuKAnERlcml2YXRpdmUgV29ya3PigJ0gc2hhbGwgbWVhbiBhbnkgd29yaywgd2hldGhlciBpbiBTb3VyY2UgQ29kZSBvciBvdGhlcgorICAgICAgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgUHJvZ3JhbSBhbmQgZm9yIHdoaWNoIHRoZQorICAgICAgZWRpdG9yaWFsIHJldmlzaW9ucywgYW5ub3RhdGlvbnMsIGVsYWJvcmF0aW9ucywgb3Igb3RoZXIgbW9kaWZpY2F0aW9ucworICAgICAgcmVwcmVzZW50LCBhcyBhIHdob2xlLCBhbiBvcmlnaW5hbCB3b3JrIG9mIGF1dGhvcnNoaXAuCisgICAgPC9wPgorICAgIDxwPuKAnE1vZGlmaWVkIFdvcmtz4oCdIHNoYWxsIG1lYW4gYW55IHdvcmsgaW4gU291cmNlIENvZGUgb3Igb3RoZXIgZm9ybSB0aGF0CisgICAgICByZXN1bHRzIGZyb20gYW4gYWRkaXRpb24gdG8sIGRlbGV0aW9uIGZyb20sIG9yIG1vZGlmaWNhdGlvbiBvZiB0aGUKKyAgICAgIGNvbnRlbnRzIG9mIHRoZSBQcm9ncmFtLCBpbmNsdWRpbmcsIGZvciBwdXJwb3NlcyBvZiBjbGFyaXR5IGFueSBuZXcgZmlsZQorICAgICAgaW4gU291cmNlIENvZGUgZm9ybSB0aGF0IGNvbnRhaW5zIGFueSBjb250ZW50cyBvZiB0aGUgUHJvZ3JhbS4gTW9kaWZpZWQKKyAgICAgIFdvcmtzIHNoYWxsIG5vdCBpbmNsdWRlIHdvcmtzIHRoYXQgY29udGFpbiBvbmx5IGRlY2xhcmF0aW9ucywgaW50ZXJmYWNlcywKKyAgICAgIHR5cGVzLCBjbGFzc2VzLCBzdHJ1Y3R1cmVzLCBvciBmaWxlcyBvZiB0aGUgUHJvZ3JhbSBzb2xlbHkgaW4gZWFjaCBjYXNlCisgICAgICBpbiBvcmRlciB0byBsaW5rIHRvLCBiaW5kIGJ5IG5hbWUsIG9yIHN1YmNsYXNzIHRoZSBQcm9ncmFtIG9yIE1vZGlmaWVkCisgICAgICBXb3JrcyB0aGVyZW9mLgorICAgIDwvcD4KKyAgICA8cD7igJxEaXN0cmlidXRl4oCdIG1lYW5zIHRoZSBhY3RzIG9mIGEpIGRpc3RyaWJ1dGluZyBvciBiKSBtYWtpbmcgYXZhaWxhYmxlCisgICAgICBpbiBhbnkgbWFubmVyIHRoYXQgZW5hYmxlcyB0aGUgdHJhbnNmZXIgb2YgYSBjb3B5LgorICAgIDwvcD4KKyAgICA8cD7igJxTb3VyY2UgQ29kZeKAnSBtZWFucyB0aGUgZm9ybSBvZiBhIFByb2dyYW0gcHJlZmVycmVkIGZvciBtYWtpbmcKKyAgICAgIG1vZGlmaWNhdGlvbnMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgc291cmNlIGNvZGUsCisgICAgICBkb2N1bWVudGF0aW9uIHNvdXJjZSwgYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisgICAgPC9wPgorICAgIDxwPuKAnFNlY29uZGFyeSBMaWNlbnNl4oCdIG1lYW5zIGVpdGhlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisgICAgICBWZXJzaW9uIDIuMCwgb3IgYW55IGxhdGVyIHZlcnNpb25zIG9mIHRoYXQgbGljZW5zZSwgaW5jbHVkaW5nIGFueQorICAgICAgZXhjZXB0aW9ucyBvciBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIGFzIGlkZW50aWZpZWQgYnkgdGhlIGluaXRpYWwKKyAgICAgIENvbnRyaWJ1dG9yLgorICAgIDwvcD4KKyAgICA8aDIgaWQ9ImdyYW50LW9mLXJpZ2h0cyI+Mi4gR1JBTlQgT0YgUklHSFRTPC9oMj4KKyAgICA8dWw+Cis8bGk+YSkgU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5CisgICAgICAgIGdyYW50cyBSZWNpcGllbnQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBjb3B5cmlnaHQKKyAgICAgICAgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwgcHVibGljbHkgZGlzcGxheSwKKyAgICAgICAgcHVibGljbHkgcGVyZm9ybSwgRGlzdHJpYnV0ZSBhbmQgc3VibGljZW5zZSB0aGUgQ29udHJpYnV0aW9uIG9mIHN1Y2gKKyAgICAgICAgQ29udHJpYnV0b3IsIGlmIGFueSwgYW5kIHN1Y2ggRGVyaXZhdGl2ZSBXb3Jrcy4KKyAgICAgIDwvbGk+CisgICAgICA8bGk+YikgU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5CisgICAgICAgIGdyYW50cyBSZWNpcGllbnQgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBwYXRlbnQKKyAgICAgICAgbGljZW5zZSB1bmRlciBMaWNlbnNlZCBQYXRlbnRzIHRvIG1ha2UsIHVzZSwgc2VsbCwgb2ZmZXIgdG8gc2VsbCwKKyAgICAgICAgaW1wb3J0IGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIENvbnRyaWJ1dGlvbiBvZiBzdWNoIENvbnRyaWJ1dG9yLAorICAgICAgICBpZiBhbnksIGluIFNvdXJjZSBDb2RlIG9yIG90aGVyIGZvcm0uIFRoaXMgcGF0ZW50IGxpY2Vuc2Ugc2hhbGwKKyAgICAgICAgYXBwbHkgdG8gdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSBDb250cmlidXRpb24gYW5kIHRoZSBQcm9ncmFtIGlmLAorICAgICAgICBhdCB0aGUgdGltZSB0aGUgQ29udHJpYnV0aW9uIGlzIGFkZGVkIGJ5IHRoZSBDb250cmlidXRvciwgc3VjaAorICAgICAgICBhZGRpdGlvbiBvZiB0aGUgQ29udHJpYnV0aW9uIGNhdXNlcyBzdWNoIGNvbWJpbmF0aW9uIHRvIGJlIGNvdmVyZWQKKyAgICAgICAgYnkgdGhlIExpY2Vuc2VkIFBhdGVudHMuIFRoZSBwYXRlbnQgbGljZW5zZSBzaGFsbCBub3QgYXBwbHkgdG8gYW55CisgICAgICAgIG90aGVyIGNvbWJpbmF0aW9ucyB3aGljaCBpbmNsdWRlIHRoZSBDb250cmlidXRpb24uIE5vIGhhcmR3YXJlIHBlcgorICAgICAgICBzZSBpcyBsaWNlbnNlZCBoZXJldW5kZXIuCisgICAgICA8L2xpPgorICAgICAgPGxpPmMpIFJlY2lwaWVudCB1bmRlcnN0YW5kcyB0aGF0IGFsdGhvdWdoIGVhY2ggQ29udHJpYnV0b3IgZ3JhbnRzIHRoZQorICAgICAgICBsaWNlbnNlcyB0byBpdHMgQ29udHJpYnV0aW9ucyBzZXQgZm9ydGggaGVyZWluLCBubyBhc3N1cmFuY2VzIGFyZQorICAgICAgICBwcm92aWRlZCBieSBhbnkgQ29udHJpYnV0b3IgdGhhdCB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBpbmZyaW5nZSB0aGUKKyAgICAgICAgcGF0ZW50IG9yIG90aGVyIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgb2YgYW55IG90aGVyIGVudGl0eS4KKyAgICAgICAgRWFjaCBDb250cmlidXRvciBkaXNjbGFpbXMgYW55IGxpYWJpbGl0eSB0byBSZWNpcGllbnQgZm9yIGNsYWltcworICAgICAgICBicm91Z2h0IGJ5IGFueSBvdGhlciBlbnRpdHkgYmFzZWQgb24gaW5mcmluZ2VtZW50IG9mIGludGVsbGVjdHVhbAorICAgICAgICBwcm9wZXJ0eSByaWdodHMgb3Igb3RoZXJ3aXNlLiBBcyBhIGNvbmRpdGlvbiB0byBleGVyY2lzaW5nIHRoZSByaWdodHMKKyAgICAgICAgYW5kIGxpY2Vuc2VzIGdyYW50ZWQgaGVyZXVuZGVyLCBlYWNoIFJlY2lwaWVudCBoZXJlYnkgYXNzdW1lcyBzb2xlCisgICAgICAgIHJlc3BvbnNpYmlsaXR5IHRvIHNlY3VyZSBhbnkgb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBuZWVkZWQsCisgICAgICAgIGlmIGFueS4gRm9yIGV4YW1wbGUsIGlmIGEgdGhpcmQgcGFydHkgcGF0ZW50IGxpY2Vuc2UgaXMgcmVxdWlyZWQgdG8KKyAgICAgICAgYWxsb3cgUmVjaXBpZW50IHRvIERpc3RyaWJ1dGUgdGhlIFByb2dyYW0sIGl0IGlzIFJlY2lwaWVudCdzCisgICAgICAgIHJlc3BvbnNpYmlsaXR5IHRvIGFjcXVpcmUgdGhhdCBsaWNlbnNlIGJlZm9yZSBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0uCisgICAgICA8L2xpPgorICAgICAgPGxpPmQpIEVhY2ggQ29udHJpYnV0b3IgcmVwcmVzZW50cyB0aGF0IHRvIGl0cyBrbm93bGVkZ2UgaXQgaGFzIHN1ZmZpY2llbnQKKyAgICAgICAgY29weXJpZ2h0IHJpZ2h0cyBpbiBpdHMgQ29udHJpYnV0aW9uLCBpZiBhbnksIHRvIGdyYW50IHRoZSBjb3B5cmlnaHQKKyAgICAgICAgbGljZW5zZSBzZXQgZm9ydGggaW4gdGhpcyBBZ3JlZW1lbnQuCisgICAgICA8L2xpPgorICAgICAgPGxpPmUpIE5vdHdpdGhzdGFuZGluZyB0aGUgdGVybXMgb2YgYW55IFNlY29uZGFyeSBMaWNlbnNlLCBubyBDb250cmlidXRvcgorICAgICAgICBtYWtlcyBhZGRpdGlvbmFsIGdyYW50cyB0byBhbnkgUmVjaXBpZW50IChvdGhlciB0aGFuIHRob3NlIHNldCBmb3J0aAorICAgICAgICBpbiB0aGlzIEFncmVlbWVudCkgYXMgYSByZXN1bHQgb2Ygc3VjaCBSZWNpcGllbnQncyByZWNlaXB0IG9mIHRoZQorICAgICAgICBQcm9ncmFtIHVuZGVyIHRoZSB0ZXJtcyBvZiBhIFNlY29uZGFyeSBMaWNlbnNlIChpZiBwZXJtaXR0ZWQgdW5kZXIKKyAgICAgICAgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMykuCisgICAgICA8L2xpPgorICAgIDwvdWw+Cis8aDIgaWQ9InJlcXVpcmVtZW50cyI+My4gUkVRVUlSRU1FTlRTPC9oMj4KKyAgICA8cD4zLjEgSWYgYSBDb250cmlidXRvciBEaXN0cmlidXRlcyB0aGUgUHJvZ3JhbSBpbiBhbnkgZm9ybSwgdGhlbjo8L3A+CisgICAgPHVsPgorPGxpPmEpIHRoZSBQcm9ncmFtIG11c3QgYWxzbyBiZSBtYWRlIGF2YWlsYWJsZSBhcyBTb3VyY2UgQ29kZSwgaW4KKyAgICAgICAgYWNjb3JkYW5jZSB3aXRoIHNlY3Rpb24gMy4yLCBhbmQgdGhlIENvbnRyaWJ1dG9yIG11c3QgYWNjb21wYW55CisgICAgICAgIHRoZSBQcm9ncmFtIHdpdGggYSBzdGF0ZW1lbnQgdGhhdCB0aGUgU291cmNlIENvZGUgZm9yIHRoZSBQcm9ncmFtCisgICAgICAgIGlzIGF2YWlsYWJsZSB1bmRlciB0aGlzIEFncmVlbWVudCwgYW5kIGluZm9ybXMgUmVjaXBpZW50cyBob3cgdG8KKyAgICAgICAgb2J0YWluIGl0IGluIGEgcmVhc29uYWJsZSBtYW5uZXIgb24gb3IgdGhyb3VnaCBhIG1lZGl1bSBjdXN0b21hcmlseQorICAgICAgICB1c2VkIGZvciBzb2Z0d2FyZSBleGNoYW5nZTsgYW5kCisgICAgICA8L2xpPgorICAgICAgPGxpPgorICAgICAgICBiKSB0aGUgQ29udHJpYnV0b3IgbWF5IERpc3RyaWJ1dGUgdGhlIFByb2dyYW0gdW5kZXIgYSBsaWNlbnNlCisgICAgICAgIGRpZmZlcmVudCB0aGFuIHRoaXMgQWdyZWVtZW50LCBwcm92aWRlZCB0aGF0IHN1Y2ggbGljZW5zZToKKyAgICAgICAgPHVsPgorPGxpPmkpIGVmZmVjdGl2ZWx5IGRpc2NsYWltcyBvbiBiZWhhbGYgb2YgYWxsIG90aGVyIENvbnRyaWJ1dG9ycyBhbGwKKyAgICAgICAgICAgIHdhcnJhbnRpZXMgYW5kIGNvbmRpdGlvbnMsIGV4cHJlc3MgYW5kIGltcGxpZWQsIGluY2x1ZGluZyB3YXJyYW50aWVzCisgICAgICAgICAgICBvciBjb25kaXRpb25zIG9mIHRpdGxlIGFuZCBub24taW5mcmluZ2VtZW50LCBhbmQgaW1wbGllZCB3YXJyYW50aWVzCisgICAgICAgICAgICBvciBjb25kaXRpb25zIG9mIG1lcmNoYW50YWJpbGl0eSBhbmQgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2U7CisgICAgICAgICAgPC9saT4KKyAgICAgICAgICA8bGk+aWkpIGVmZmVjdGl2ZWx5IGV4Y2x1ZGVzIG9uIGJlaGFsZiBvZiBhbGwgb3RoZXIgQ29udHJpYnV0b3JzIGFsbAorICAgICAgICAgICAgbGlhYmlsaXR5IGZvciBkYW1hZ2VzLCBpbmNsdWRpbmcgZGlyZWN0LCBpbmRpcmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbAorICAgICAgICAgICAgYW5kIGNvbnNlcXVlbnRpYWwgZGFtYWdlcywgc3VjaCBhcyBsb3N0IHByb2ZpdHM7CisgICAgICAgICAgPC9saT4KKyAgICAgICAgICA8bGk+aWlpKSBkb2VzIG5vdCBhdHRlbXB0IHRvIGxpbWl0IG9yIGFsdGVyIHRoZSByZWNpcGllbnRzJyByaWdodHMgaW4gdGhlCisgICAgICAgICAgICBTb3VyY2UgQ29kZSB1bmRlciBzZWN0aW9uIDMuMjsgYW5kCisgICAgICAgICAgPC9saT4KKyAgICAgICAgICA8bGk+aXYpIHJlcXVpcmVzIGFueSBzdWJzZXF1ZW50IGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieSBhbnkgcGFydHkKKyAgICAgICAgICAgIHRvIGJlIHVuZGVyIGEgbGljZW5zZSB0aGF0IHNhdGlzZmllcyB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoaXMgc2VjdGlvbiAzLgorICAgICAgICAgIDwvbGk+CisgICAgICAgIDwvdWw+Cis8L2xpPgorICAgIDwvdWw+Cis8cD4zLjIgV2hlbiB0aGUgUHJvZ3JhbSBpcyBEaXN0cmlidXRlZCBhcyBTb3VyY2UgQ29kZTo8L3A+CisgICAgPHVsPgorPGxpPmEpIGl0IG11c3QgYmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIG9yIGlmIHRoZSBQcm9ncmFtIChpKQorICAgICAgICBpcyBjb21iaW5lZCB3aXRoIG90aGVyIG1hdGVyaWFsIGluIGEgc2VwYXJhdGUgZmlsZSBvciBmaWxlcyBtYWRlIGF2YWlsYWJsZQorICAgICAgICB1bmRlciBhIFNlY29uZGFyeSBMaWNlbnNlLCBhbmQgKGlpKSB0aGUgaW5pdGlhbCBDb250cmlidXRvciBhdHRhY2hlZCB0bworICAgICAgICB0aGUgU291cmNlIENvZGUgdGhlIG5vdGljZSBkZXNjcmliZWQgaW4gRXhoaWJpdCBBIG9mIHRoaXMgQWdyZWVtZW50LAorICAgICAgICB0aGVuIHRoZSBQcm9ncmFtIG1heSBiZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2Ygc3VjaAorICAgICAgICBTZWNvbmRhcnkgTGljZW5zZXMsIGFuZAorICAgICAgPC9saT4KKyAgICAgIDxsaT5iKSBhIGNvcHkgb2YgdGhpcyBBZ3JlZW1lbnQgbXVzdCBiZSBpbmNsdWRlZCB3aXRoIGVhY2ggY29weSBvZiB0aGUgUHJvZ3JhbS48L2xpPgorICAgIDwvdWw+Cis8cD4zLjMgQ29udHJpYnV0b3JzIG1heSBub3QgcmVtb3ZlIG9yIGFsdGVyIGFueSBjb3B5cmlnaHQsIHBhdGVudCwgdHJhZGVtYXJrLAorICAgICAgYXR0cmlidXRpb24gbm90aWNlcywgZGlzY2xhaW1lcnMgb2Ygd2FycmFudHksIG9yIGxpbWl0YXRpb25zIG9mIGxpYWJpbGl0eQorICAgICAgKOKAmG5vdGljZXPigJkpIGNvbnRhaW5lZCB3aXRoaW4gdGhlIFByb2dyYW0gZnJvbSBhbnkgY29weSBvZiB0aGUgUHJvZ3JhbSB3aGljaAorICAgICAgdGhleSBEaXN0cmlidXRlLCBwcm92aWRlZCB0aGF0IENvbnRyaWJ1dG9ycyBtYXkgYWRkIHRoZWlyIG93biBhcHByb3ByaWF0ZQorICAgICAgbm90aWNlcy4KKyAgICA8L3A+CisgICAgPGgyIGlkPSJjb21tZXJjaWFsLWRpc3RyaWJ1dGlvbiI+NC4gQ09NTUVSQ0lBTCBESVNUUklCVVRJT048L2gyPgorICAgIDxwPkNvbW1lcmNpYWwgZGlzdHJpYnV0b3JzIG9mIHNvZnR3YXJlIG1heSBhY2NlcHQgY2VydGFpbiByZXNwb25zaWJpbGl0aWVzCisgICAgICB3aXRoIHJlc3BlY3QgdG8gZW5kIHVzZXJzLCBidXNpbmVzcyBwYXJ0bmVycyBhbmQgdGhlIGxpa2UuIFdoaWxlIHRoaXMKKyAgICAgIGxpY2Vuc2UgaXMgaW50ZW5kZWQgdG8gZmFjaWxpdGF0ZSB0aGUgY29tbWVyY2lhbCB1c2Ugb2YgdGhlIFByb2dyYW0sIHRoZQorICAgICAgQ29udHJpYnV0b3Igd2hvIGluY2x1ZGVzIHRoZSBQcm9ncmFtIGluIGEgY29tbWVyY2lhbCBwcm9kdWN0IG9mZmVyaW5nIHNob3VsZAorICAgICAgZG8gc28gaW4gYSBtYW5uZXIgd2hpY2ggZG9lcyBub3QgY3JlYXRlIHBvdGVudGlhbCBsaWFiaWxpdHkgZm9yIG90aGVyCisgICAgICBDb250cmlidXRvcnMuIFRoZXJlZm9yZSwgaWYgYSBDb250cmlidXRvciBpbmNsdWRlcyB0aGUgUHJvZ3JhbSBpbiBhCisgICAgICBjb21tZXJjaWFsIHByb2R1Y3Qgb2ZmZXJpbmcsIHN1Y2ggQ29udHJpYnV0b3IgKOKAnENvbW1lcmNpYWwgQ29udHJpYnV0b3LigJ0pCisgICAgICBoZXJlYnkgYWdyZWVzIHRvIGRlZmVuZCBhbmQgaW5kZW1uaWZ5IGV2ZXJ5IG90aGVyIENvbnRyaWJ1dG9yCisgICAgICAo4oCcSW5kZW1uaWZpZWQgQ29udHJpYnV0b3LigJ0pIGFnYWluc3QgYW55IGxvc3NlcywgZGFtYWdlcyBhbmQgY29zdHMKKyAgICAgIChjb2xsZWN0aXZlbHkg4oCcTG9zc2Vz4oCdKSBhcmlzaW5nIGZyb20gY2xhaW1zLCBsYXdzdWl0cyBhbmQgb3RoZXIgbGVnYWwgYWN0aW9ucworICAgICAgYnJvdWdodCBieSBhIHRoaXJkIHBhcnR5IGFnYWluc3QgdGhlIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIHRvIHRoZSBleHRlbnQKKyAgICAgIGNhdXNlZCBieSB0aGUgYWN0cyBvciBvbWlzc2lvbnMgb2Ygc3VjaCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIGluIGNvbm5lY3Rpb24KKyAgICAgIHdpdGggaXRzIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZy4KKyAgICAgIFRoZSBvYmxpZ2F0aW9ucyBpbiB0aGlzIHNlY3Rpb24gZG8gbm90IGFwcGx5IHRvIGFueSBjbGFpbXMgb3IgTG9zc2VzIHJlbGF0aW5nCisgICAgICB0byBhbnkgYWN0dWFsIG9yIGFsbGVnZWQgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGluZnJpbmdlbWVudC4gSW4gb3JkZXIgdG8KKyAgICAgIHF1YWxpZnksIGFuIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIG11c3Q6IGEpIHByb21wdGx5IG5vdGlmeSB0aGUKKyAgICAgIENvbW1lcmNpYWwgQ29udHJpYnV0b3IgaW4gd3JpdGluZyBvZiBzdWNoIGNsYWltLCBhbmQgYikgYWxsb3cgdGhlIENvbW1lcmNpYWwKKyAgICAgIENvbnRyaWJ1dG9yIHRvIGNvbnRyb2wsIGFuZCBjb29wZXJhdGUgd2l0aCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciBpbiwKKyAgICAgIHRoZSBkZWZlbnNlIGFuZCBhbnkgcmVsYXRlZCBzZXR0bGVtZW50IG5lZ290aWF0aW9ucy4gVGhlIEluZGVtbmlmaWVkCisgICAgICBDb250cmlidXRvciBtYXkgcGFydGljaXBhdGUgaW4gYW55IHN1Y2ggY2xhaW0gYXQgaXRzIG93biBleHBlbnNlLgorICAgIDwvcD4KKyAgICA8cD5Gb3IgZXhhbXBsZSwgYSBDb250cmlidXRvciBtaWdodCBpbmNsdWRlIHRoZSBQcm9ncmFtCisgICAgICBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZywgUHJvZHVjdCBYLiBUaGF0IENvbnRyaWJ1dG9yIGlzIHRoZW4gYQorICAgICAgQ29tbWVyY2lhbCBDb250cmlidXRvci4gSWYgdGhhdCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIHRoZW4gbWFrZXMgcGVyZm9ybWFuY2UKKyAgICAgIGNsYWltcywgb3Igb2ZmZXJzIHdhcnJhbnRpZXMgcmVsYXRlZCB0byBQcm9kdWN0IFgsIHRob3NlIHBlcmZvcm1hbmNlIGNsYWltcworICAgICAgYW5kIHdhcnJhbnRpZXMgYXJlIHN1Y2ggQ29tbWVyY2lhbCBDb250cmlidXRvcidzIHJlc3BvbnNpYmlsaXR5IGFsb25lLgorICAgICAgVW5kZXIgdGhpcyBzZWN0aW9uLCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciB3b3VsZCBoYXZlIHRvIGRlZmVuZCBjbGFpbXMKKyAgICAgIGFnYWluc3QgdGhlIG90aGVyIENvbnRyaWJ1dG9ycyByZWxhdGVkIHRvIHRob3NlIHBlcmZvcm1hbmNlIGNsYWltcyBhbmQKKyAgICAgIHdhcnJhbnRpZXMsIGFuZCBpZiBhIGNvdXJ0IHJlcXVpcmVzIGFueSBvdGhlciBDb250cmlidXRvciB0byBwYXkgYW55IGRhbWFnZXMKKyAgICAgIGFzIGEgcmVzdWx0LCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciBtdXN0IHBheSB0aG9zZSBkYW1hZ2VzLgorICAgIDwvcD4KKyAgICA8aDIgaWQ9IndhcnJhbnR5Ij41LiBOTyBXQVJSQU5UWTwvaDI+CisgICAgPHA+RVhDRVBUIEFTIEVYUFJFU1NMWSBTRVQgRk9SVEggSU4gVEhJUyBBR1JFRU1FTlQsIEFORCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRAorICAgICAgQlkgQVBQTElDQUJMRSBMQVcsIFRIRSBQUk9HUkFNIElTIFBST1ZJREVEIE9OIEFOIOKAnEFTIElT4oCdIEJBU0lTLCBXSVRIT1VUCisgICAgICBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLAorICAgICAgV0lUSE9VVCBMSU1JVEFUSU9OLCBBTlkgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULAorICAgICAgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBpcworICAgICAgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZAorICAgICAgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIGFuZCBhc3N1bWVzIGFsbCByaXNrcyBhc3NvY2lhdGVkIHdpdGggaXRzCisgICAgICBleGVyY2lzZSBvZiByaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gdGhlCisgICAgICByaXNrcyBhbmQgY29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMsIGNvbXBsaWFuY2Ugd2l0aCBhcHBsaWNhYmxlIGxhd3MsIGRhbWFnZQorICAgICAgdG8gb3IgbG9zcyBvZiBkYXRhLCBwcm9ncmFtcyBvciBlcXVpcG1lbnQsIGFuZCB1bmF2YWlsYWJpbGl0eSBvcgorICAgICAgaW50ZXJydXB0aW9uIG9mIG9wZXJhdGlvbnMuCisgICAgPC9wPgorICAgIDxoMiBpZD0iZGlzY2xhaW1lciI+Ni4gRElTQ0xBSU1FUiBPRiBMSUFCSUxJVFk8L2gyPgorICAgIDxwPkVYQ0VQVCBBUyBFWFBSRVNTTFkgU0VUIEZPUlRIIElOIFRISVMgQUdSRUVNRU5ULCBBTkQgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQKKyAgICAgIEJZIEFQUExJQ0FCTEUgTEFXLCBORUlUSEVSIFJFQ0lQSUVOVCBOT1IgQU5ZIENPTlRSSUJVVE9SUyBTSEFMTCBIQVZFIEFOWQorICAgICAgTElBQklMSVRZIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICAgICAgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIExPU1QgUFJPRklUUyksCisgICAgICBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICAgICAgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICAgICAgT1VUIE9GIFRIRSBVU0UgT1IgRElTVFJJQlVUSU9OIE9GIFRIRSBQUk9HUkFNIE9SIFRIRSBFWEVSQ0lTRSBPRiBBTlkgUklHSFRTCisgICAgICBHUkFOVEVEIEhFUkVVTkRFUiwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisgICAgPC9wPgorICAgIDxoMiBpZD0iZ2VuZXJhbCI+Ny4gR0VORVJBTDwvaDI+CisgICAgPHA+SWYgYW55IHByb3Zpc2lvbiBvZiB0aGlzIEFncmVlbWVudCBpcyBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIKKyAgICAgIGFwcGxpY2FibGUgbGF3LCBpdCBzaGFsbCBub3QgYWZmZWN0IHRoZSB2YWxpZGl0eSBvciBlbmZvcmNlYWJpbGl0eSBvZiB0aGUKKyAgICAgIHJlbWFpbmRlciBvZiB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGFuZCB3aXRob3V0IGZ1cnRoZXIgYWN0aW9uIGJ5IHRoZQorICAgICAgcGFydGllcyBoZXJldG8sIHN1Y2ggcHJvdmlzaW9uIHNoYWxsIGJlIHJlZm9ybWVkIHRvIHRoZSBtaW5pbXVtIGV4dGVudAorICAgICAgbmVjZXNzYXJ5IHRvIG1ha2Ugc3VjaCBwcm92aXNpb24gdmFsaWQgYW5kIGVuZm9yY2VhYmxlLgorICAgIDwvcD4KKyAgICA8cD5JZiBSZWNpcGllbnQgaW5zdGl0dXRlcyBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkgKGluY2x1ZGluZyBhCisgICAgICBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IHRoZSBQcm9ncmFtIGl0c2VsZgorICAgICAgKGV4Y2x1ZGluZyBjb21iaW5hdGlvbnMgb2YgdGhlIFByb2dyYW0gd2l0aCBvdGhlciBzb2Z0d2FyZSBvciBoYXJkd2FyZSkKKyAgICAgIGluZnJpbmdlcyBzdWNoIFJlY2lwaWVudCdzIHBhdGVudChzKSwgdGhlbiBzdWNoIFJlY2lwaWVudCdzIHJpZ2h0cyBncmFudGVkCisgICAgICB1bmRlciBTZWN0aW9uIDIoYikgc2hhbGwgdGVybWluYXRlIGFzIG9mIHRoZSBkYXRlIHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4KKyAgICA8L3A+CisgICAgPHA+QWxsIFJlY2lwaWVudCdzIHJpZ2h0cyB1bmRlciB0aGlzIEFncmVlbWVudCBzaGFsbCB0ZXJtaW5hdGUgaWYgaXQgZmFpbHMgdG8KKyAgICAgIGNvbXBseSB3aXRoIGFueSBvZiB0aGUgbWF0ZXJpYWwgdGVybXMgb3IgY29uZGl0aW9ucyBvZiB0aGlzIEFncmVlbWVudCBhbmQKKyAgICAgIGRvZXMgbm90IGN1cmUgc3VjaCBmYWlsdXJlIGluIGEgcmVhc29uYWJsZSBwZXJpb2Qgb2YgdGltZSBhZnRlciBiZWNvbWluZworICAgICAgYXdhcmUgb2Ygc3VjaCBub25jb21wbGlhbmNlLiBJZiBhbGwgUmVjaXBpZW50J3MgcmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50CisgICAgICB0ZXJtaW5hdGUsIFJlY2lwaWVudCBhZ3JlZXMgdG8gY2Vhc2UgdXNlIGFuZCBkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0KKyAgICAgIGFzIHNvb24gYXMgcmVhc29uYWJseSBwcmFjdGljYWJsZS4gSG93ZXZlciwgUmVjaXBpZW50J3Mgb2JsaWdhdGlvbnMgdW5kZXIKKyAgICAgIHRoaXMgQWdyZWVtZW50IGFuZCBhbnkgbGljZW5zZXMgZ3JhbnRlZCBieSBSZWNpcGllbnQgcmVsYXRpbmcgdG8gdGhlCisgICAgICBQcm9ncmFtIHNoYWxsIGNvbnRpbnVlIGFuZCBzdXJ2aXZlLgorICAgIDwvcD4KKyAgICA8cD5FdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhpcyBBZ3JlZW1lbnQsCisgICAgICBidXQgaW4gb3JkZXIgdG8gYXZvaWQgaW5jb25zaXN0ZW5jeSB0aGUgQWdyZWVtZW50IGlzIGNvcHlyaWdodGVkIGFuZCBtYXkKKyAgICAgIG9ubHkgYmUgbW9kaWZpZWQgaW4gdGhlIGZvbGxvd2luZyBtYW5uZXIuIFRoZSBBZ3JlZW1lbnQgU3Rld2FyZCByZXNlcnZlcworICAgICAgdGhlIHJpZ2h0IHRvIHB1Ymxpc2ggbmV3IHZlcnNpb25zIChpbmNsdWRpbmcgcmV2aXNpb25zKSBvZiB0aGlzIEFncmVlbWVudAorICAgICAgZnJvbSB0aW1lIHRvIHRpbWUuIE5vIG9uZSBvdGhlciB0aGFuIHRoZSBBZ3JlZW1lbnQgU3Rld2FyZCBoYXMgdGhlIHJpZ2h0CisgICAgICB0byBtb2RpZnkgdGhpcyBBZ3JlZW1lbnQuIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgdGhlIGluaXRpYWwgQWdyZWVtZW50CisgICAgICBTdGV3YXJkLiBUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1heSBhc3NpZ24gdGhlIHJlc3BvbnNpYmlsaXR5IHRvIHNlcnZlIGFzCisgICAgICB0aGUgQWdyZWVtZW50IFN0ZXdhcmQgdG8gYSBzdWl0YWJsZSBzZXBhcmF0ZSBlbnRpdHkuIEVhY2ggbmV3IHZlcnNpb24gb2YKKyAgICAgIHRoZSBBZ3JlZW1lbnQgd2lsbCBiZSBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiBUaGUgUHJvZ3JhbQorICAgICAgKGluY2x1ZGluZyBDb250cmlidXRpb25zKSBtYXkgYWx3YXlzIGJlIERpc3RyaWJ1dGVkIHN1YmplY3QgdG8gdGhlIHZlcnNpb24KKyAgICAgIG9mIHRoZSBBZ3JlZW1lbnQgdW5kZXIgd2hpY2ggaXQgd2FzIHJlY2VpdmVkLiBJbiBhZGRpdGlvbiwgYWZ0ZXIgYSBuZXcKKyAgICAgIHZlcnNpb24gb2YgdGhlIEFncmVlbWVudCBpcyBwdWJsaXNoZWQsIENvbnRyaWJ1dG9yIG1heSBlbGVjdCB0byBEaXN0cmlidXRlCisgICAgICB0aGUgUHJvZ3JhbSAoaW5jbHVkaW5nIGl0cyBDb250cmlidXRpb25zKSB1bmRlciB0aGUgbmV3IHZlcnNpb24uCisgICAgPC9wPgorICAgIDxwPkV4Y2VwdCBhcyBleHByZXNzbHkgc3RhdGVkIGluIFNlY3Rpb25zIDIoYSkgYW5kIDIoYikgYWJvdmUsIFJlY2lwaWVudAorICAgICAgcmVjZWl2ZXMgbm8gcmlnaHRzIG9yIGxpY2Vuc2VzIHRvIHRoZSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgb2YgYW55CisgICAgICBDb250cmlidXRvciB1bmRlciB0aGlzIEFncmVlbWVudCwgd2hldGhlciBleHByZXNzbHksIGJ5IGltcGxpY2F0aW9uLAorICAgICAgZXN0b3BwZWwgb3Igb3RoZXJ3aXNlLiBBbGwgcmlnaHRzIGluIHRoZSBQcm9ncmFtIG5vdCBleHByZXNzbHkgZ3JhbnRlZAorICAgICAgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgYXJlIHJlc2VydmVkLiBOb3RoaW5nIGluIHRoaXMgQWdyZWVtZW50IGlzIGludGVuZGVkCisgICAgICB0byBiZSBlbmZvcmNlYWJsZSBieSBhbnkgZW50aXR5IHRoYXQgaXMgbm90IGEgQ29udHJpYnV0b3Igb3IgUmVjaXBpZW50LgorICAgICAgTm8gdGhpcmQtcGFydHkgYmVuZWZpY2lhcnkgcmlnaHRzIGFyZSBjcmVhdGVkIHVuZGVyIHRoaXMgQWdyZWVtZW50LgorICAgIDwvcD4KKyAgICA8aDIgaWQ9ImV4aGliaXQtYSI+RXhoaWJpdCBBIOKAkyBGb3JtIG9mIFNlY29uZGFyeSBMaWNlbnNlcyBOb3RpY2U8L2gyPgorICAgIDxwPuKAnFRoaXMgU291cmNlIENvZGUgbWF5IGFsc28gYmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIGZvbGxvd2luZyAKKyAgICAJU2Vjb25kYXJ5IExpY2Vuc2VzIHdoZW4gdGhlIGNvbmRpdGlvbnMgZm9yIHN1Y2ggYXZhaWxhYmlsaXR5IHNldCBmb3J0aCAKKyAgICAJaW4gdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UsIHYuIDIuMCBhcmUgc2F0aXNmaWVkOiB7bmFtZSBsaWNlbnNlKHMpLAorICAgIAl2ZXJzaW9uKHMpLCBhbmQgZXhjZXB0aW9ucyBvciBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIGhlcmV9LuKAnQorICAgIDwvcD4KKyAgICA8YmxvY2txdW90ZT4KKyAgICAgIDxwPlNpbXBseSBpbmNsdWRpbmcgYSBjb3B5IG9mIHRoaXMgQWdyZWVtZW50LCBpbmNsdWRpbmcgdGhpcyBFeGhpYml0IEEKKyAgICAgICAgaXMgbm90IHN1ZmZpY2llbnQgdG8gbGljZW5zZSB0aGUgU291cmNlIENvZGUgdW5kZXIgU2Vjb25kYXJ5IExpY2Vuc2VzLgorICAgICAgPC9wPgorICAgICAgPHA+SWYgaXQgaXMgbm90IHBvc3NpYmxlIG9yIGRlc2lyYWJsZSB0byBwdXQgdGhlIG5vdGljZSBpbiBhIHBhcnRpY3VsYXIgZmlsZSwKKyAgICAgICAgdGhlbiBZb3UgbWF5IGluY2x1ZGUgdGhlIG5vdGljZSBpbiBhIGxvY2F0aW9uIChzdWNoIGFzIGEgTElDRU5TRSBmaWxlIGluIGEKKyAgICAgICAgcmVsZXZhbnQgZGlyZWN0b3J5KSB3aGVyZSBhIHJlY2lwaWVudCB3b3VsZCBiZSBsaWtlbHkgdG8gbG9vayBmb3IKKyAgICAgICAgc3VjaCBhIG5vdGljZS4KKyAgICAgIDwvcD4KKyAgICAgIDxwPllvdSBtYXkgYWRkIGFkZGl0aW9uYWwgYWNjdXJhdGUgbm90aWNlcyBvZiBjb3B5cmlnaHQgb3duZXJzaGlwLjwvcD4KKyAgICA8L2Jsb2NrcXVvdGU+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0icmlnaHRjb2x1bW4iPgorICAgICAgPGRpdiBjbGFzcz0ic2lkZWl0ZW0iPgorICAgICAgICA8aDY+RWNsaXBzZSBQcm9qZWN0cyB0aGF0IFVzZSBFUEwgMi4wPC9oNj4KKyAgICAgICAgICA8dWw+CisgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWNkIj5FY2xpcHNlIENsb3VkIERldmVsb3BtZW50PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWNkLmNoZS5jaGU0eiI+RWNsaXBzZSBDaGU0ejwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VjZC5jb2Rld2luZCI+RWNsaXBzZSBDb2Rld2luZDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VjZC5nbHNwIj5FY2xpcHNlIEdMU1A8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lY2Quc3Byb3R0eSI+RWNsaXBzZSBTcHJvdHR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWNkLnRoZWlhIj5FY2xpcHNlIFRoZWlhPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWNsaXBzZSI+RWNsaXBzZSBQcm9qZWN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWNsaXBzZS5lcXVpbm94Ij5FY2xpcHNlIEVxdWlub3g8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lY2xpcHNlLmpkdCI+RWNsaXBzZSBKYXZhIGRldmVsb3BtZW50IHRvb2xzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWNsaXBzZS5wZGUiPkVjbGlwc2UgUGx1Zy1pbiBEZXZlbG9wbWVudCBFbnZpcm9ubWVudDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VjbGlwc2UucGxhdGZvcm0iPkVjbGlwc2UgUGxhdGZvcm08L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lZTRqIj5FY2xpcHNlIEVudGVycHJpc2UgZm9yIEphdmE8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lZTRqLmNhIj5FY2xpcHNlIEpha2FydGEgQW5ub3RhdGlvbnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lZTRqLmN1Ij5FY2xpcHNlIEpha2FydGEgQ29uY3VycmVuY3k8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lZTRqLmVjbGlwc2VsaW5rIj5FY2xpcHNlTGluazwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouZWpiIj5FY2xpcHNlIEpha2FydGEgRW50ZXJwcmlzZSBCZWFuczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouZWwiPkVjbGlwc2UgSmFrYXJ0YSBFeHByZXNzaW9uIExhbmd1YWdlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5lcyI+RWNsaXBzZSBKYWthcnRhIFNlY3VyaXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5mYWNlcyI+RWNsaXBzZSBKYWthcnRhIFNlcnZlciBGYWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouZ2xhc3NmaXNoIj5FY2xpcHNlIEdsYXNzRmlzaDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouZ3JpenpseSI+RWNsaXBzZSBHcml6emx5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5pbnRlcmNlcHRvcnMiPkVjbGlwc2UgSmFrYXJ0YSBJbnRlcmNlcHRvcnM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lZTRqLmphY2MiPkVjbGlwc2UgSmFrYXJ0YSBBdXRob3JpemF0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5qYWYiPkVjbGlwc2UgSmFrYXJ0YSBBY3RpdmF0aW9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5qYWthcnRhZWUtcGxhdGZvcm0iPkVjbGlwc2UgSmFrYXJ0YSBFRSBQbGF0Zm9ybTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouamFrYXJ0YWVlLXN0YWJsZSI+RWNsaXBzZSBKYWthcnRhIFN0YWJsZSBBUElzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5qYWthcnRhZWUtdGNrIj5FY2xpcHNlIEpha2FydGEgRUUgVENLPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5qYXNwaWMiPkVjbGlwc2UgSmFrYXJ0YSBBdXRoZW50aWNhdGlvbjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouamF4cnMiPkVjbGlwc2UgSmFrYXJ0YSBSRVNUZnVsIFdlYiBTZXJ2aWNlczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouamNhIj5FY2xpcHNlIEpha2FydGEgQ29ubmVjdG9yczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouamVyc2V5Ij5FY2xpcHNlIEplcnNleTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouam1zIj5FY2xpcHNlIEpha2FydGEgTWVzc2FnaW5nPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5qcGEiPkVjbGlwc2UgSmFrYXJ0YSBQZXJzaXN0ZW5jZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouanNvbmIiPkVjbGlwc2UgSmFrYXJ0YSBKU09OIEJpbmRpbmc8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lZTRqLmpzb25wIj5FY2xpcHNlIEpha2FydGEgSlNPTiBQcm9jZXNzaW5nPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5qc3AiPkVjbGlwc2UgSmFrYXJ0YSBTZXJ2ZXIgUGFnZXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9lZTRqLmpzdGwiPkVjbGlwc2UgSmFrYXJ0YSBTdGFuZGFyZCBUYWcgTGlicmFyeTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouanRhIj5FY2xpcHNlIEpha2FydGEgVHJhbnNhY3Rpb25zPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5tYWlsIj5FY2xpcHNlIEpha2FydGEgTWFpbDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGoubW9qYXJyYSI+RWNsaXBzZSBNb2phcnJhPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5ub3NxbCI+RWNsaXBzZSBKYWthcnRhIE5vU1FMPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5vcGVubXEiPkVjbGlwc2UgT3Blbk1RPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5vcmIiPkVjbGlwc2UgT1JCPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai5zZXJ2bGV0Ij5FY2xpcHNlIEpha2FydGEgU2VydmxldDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGouc290ZXJpYSI+RWNsaXBzZSBTb3RlcmlhPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvZWU0ai50eXJ1cyI+RWNsaXBzZSBUeXJ1czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2VlNGoud2Vic29ja2V0Ij5FY2xpcHNlIEpha2FydGEgV2ViU29ja2V0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvaW90Ij5FY2xpcHNlIElvVDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2lvdC5jeWNsb25lZGRzIj5FY2xpcHNlIEN5Y2xvbmUgRERTPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvaW90LmRpdHRvIj5FY2xpcHNlIERpdHRvPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvaW90LmZvZzA1Ij5FY2xpcHNlIGZvZzA1PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvaW90LmhpcCI+RWNsaXBzZSBwcm9qZWN0X2hpcCBbYXJjaGl2ZWRdPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvaW90Lmhvbm8iPkVjbGlwc2UgSG9ubzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2lvdC5pb2ZvZyI+RWNsaXBzZSBpb0ZvZzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2lvdC5rZXlwbGUiPkVjbGlwc2UgS2V5cGxlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvaW90Lmtpc28iPkVjbGlwc2UgS2lzbzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2lvdC5rdWtzYSI+RWNsaXBzZSBLdWtzYTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2lvdC5taXRhIj5FY2xpcHNlIE1pdGE8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9pb3Quc21hcnRob21lIj5FY2xpcHNlIFNtYXJ0SG9tZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL2lvdC50YWh1Ij5FY2xpcHNlIFRhaHU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9pb3QudGhpbmd3ZWIiPkVjbGlwc2UgVGhpbmd3ZWI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9pb3Qud2FrYWFtYSI+RWNsaXBzZSBXYWthYW1hPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvbG9jYXRpb250ZWNoIj5Mb2NhdGlvblRlY2g8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9tb2RlbGluZyI+RWNsaXBzZSBNb2RlbGluZyBQcm9qZWN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvbW9kZWxpbmcuYWdpbGV1bWwiPkVjbGlwc2UgQWdpbGUgVU1MPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvbW9kZWxpbmcuYXZzeXMiPkVjbGlwc2UgQXZzeXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9tb2RlbGluZy5jYXByYSI+RWNsaXBzZSBDYXByYTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL21vZGVsaW5nLmVtZi5lbWYiPkVjbGlwc2UgRU1GPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvbW9kZWxpbmcuZXBzaWxvbiI+RWNsaXBzZSBFcHNpbG9uPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvbW9kZWxpbmcuaGF3ayI+RWNsaXBzZSBIYXdrPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvbW9kZWxpbmcubWR0LmV0cmljZSI+RWNsaXBzZSBlVHJpY2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9tb2RlbGluZy5tZHQub2NsIj5FY2xpcHNlIE9DTDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL21vZGVsaW5nLm1kdC5wYXB5cnVzIj5FY2xpcHNlIFBhcHlydXM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9tb2RlbGluZy5tZHQudW1sMiI+RWNsaXBzZSBVTUwyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvbW9kZWxpbmcubWR0LnhzZCI+RWNsaXBzZSBYU0Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9tb2RlbGluZy5tbXQucXZ0LW9tbCI+RWNsaXBzZSBRVlQtT01MPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvbW9kZWxpbmcubW10LnF2dGQiPkVjbGlwc2UgUVZUZDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL21vZGVsaW5nLnZpYXRyYSI+RWNsaXBzZSBWSUFUUkE8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9teWx5bi5kb2NzIj5FY2xpcHNlIE15bHluIERvY3M8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9wb2xhcnN5cy5iNjEyIj5Qb2xhclN5cyBCNjEyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvcG9sYXJzeXMuZXNmIj5FY2xpcHNlIFNhZmV0eSBGcmFtZXdvcms8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9wb2xhcnN5cy5saWJpbXMiPlBvbGFyU3lzIExpYklNUzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3BvbGFyc3lzLm9wZW5jZXJ0Ij5Qb2xhclN5cyBPcGVuQ2VydDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3BvbGFyc3lzLnRpbWU0c3lzIj5Qb2xhclN5cyBUaW1lNFN5czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3J0Ij5FY2xpcHNlIFJ1bnRpbWUgUHJvamVjdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3J0LnZlcnR4Ij5FY2xpcHNlIFZlcnQueDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3NjaWVuY2UiPkVjbGlwc2UgU2NpZW5jZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3NjaWVuY2Uuc3RhdGV0Ij5FY2xpcHNlIFN0YXRFVDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3NjaWVuY2Uuc3d0Y2hhcnQiPkVjbGlwc2UgU1dUQ2hhcnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9zb2EiPkVjbGlwc2UgU2VydmljZSBPcmllbnRlZCBBcmNoaXRlY3R1cmU8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy9zb2Eud2luZXJ5Ij5FY2xpcHNlIFdpbmVyeTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kiPkVjbGlwc2UgVGVjaG5vbG9neTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kuYXBwNG1jIj5FY2xpcHNlIEFQUDRNQzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kuYmFzeXgiPkVjbGlwc2UgQmFzeXg8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5LmJyaWRnZWlvdCI+RWNsaXBzZSBCcmlkZ2UuSW9UPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdGVjaG5vbG9neS5jb2duaWNyeXB0Ij5FY2xpcHNlIENvZ25pQ3J5cHQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5LmRsdGsiPkVjbGlwc2UgRHluYW1pYyBMYW5ndWFnZXMgVG9vbGtpdDwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kuZWdpdCI+RWNsaXBzZSBHaXQgVGVhbSBQcm92aWRlcjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kuZ29sbyI+RWNsaXBzZSBHb2xvPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdGVjaG5vbG9neS5oYW5kbHkiPkVjbGlwc2UgSGFuZGx5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdGVjaG5vbG9neS5qZW1vIj5FY2xpcHNlIEplbW88L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5LmxzcDRqIj5FY2xpcHNlIExTUDRKPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdGVjaG5vbG9neS5tZG1ibCI+RWNsaXBzZSBNRE18Qkw8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5Lm9tciI+RWNsaXBzZSBPTVI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5Lm9wZW5qOSI+RWNsaXBzZSBPcGVuSjk8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5Lm9wZW5rLXVzZXJtb2R1bGVzIj5FY2xpcHNlIG9wZW5LIFVzZXIgTW9kdWxlczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kucGFja2FnZXIiPkVjbGlwc2UgUGFja2FnZXI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5LnBhY2thZ2luZy5tcGMiPkVjbGlwc2UgTWFya2V0cGxhY2UgQ2xpZW50IFByb2plY3Q8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5LnBhc3NhZ2UiPkVjbGlwc2UgUGFzc2FnZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kucmVkZGVlciI+RWNsaXBzZSBSZWREZWVyPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdGVjaG5vbG9neS5yZXBhaXJuYXRvciI+RWNsaXBzZSBSZXBhaXJuYXRvcjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kuc2NhdmEiPkVjbGlwc2UgU0NBVkE8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5LnNldCI+RWNsaXBzZSBTaWduYWxsaW5nIEVuZ2luZWVyaW5nIFRvb2xib3g8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90ZWNobm9sb2d5LnNpbW9wZW5wYXNzIj5FY2xpcHNlIHNpbUBvcGVuUEFTUzwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kuc3VtbyI+RWNsaXBzZSBTdW1vPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdGVjaG5vbG9neS5zdzM2MC5hbnRlbm5hIj5FY2xpcHNlIFNXMzYwYW50ZW5uYTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3RlY2hub2xvZ3kuc3lzdGVtZm9jdXMiPkVjbGlwc2UgU3lzdGVtRk9DVVM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90b29scyI+RWNsaXBzZSBUb29scyBQcm9qZWN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdG9vbHMuY2R0Ij5FY2xpcHNlIEMvQysrIERldmVsb3BtZW50IFRvb2xzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdG9vbHMuY29ycm9zaW9uIj5FY2xpcHNlIENvcnJvc2lvbjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3Rvb2xzLmRhcnRib2FyZCI+RWNsaXBzZSBEYXJ0Ym9hcmQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90b29scy5saW51eHRvb2xzIj5FY2xpcHNlIExpbnV4IFRvb2xzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdG9vbHMubHNwaHViIj5FY2xpcHNlIExTUEh1YjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3Rvb2xzLnBkdCI+RWNsaXBzZSBQSFAgRGV2ZWxvcG1lbnQgVG9vbHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90b29scy5wdHAiPkVjbGlwc2UgUGFyYWxsZWwgVG9vbHMgUGxhdGZvcm08L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90b29scy5wdHAucGhvdHJhbiI+RWNsaXBzZSBQaG90cmFuPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvdG9vbHMuc2hlbGx3YXgiPkVjbGlwc2UgU2hlbGx3YXg8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWN0cy5lY2xpcHNlLm9yZy9wcm9qZWN0cy90b29scy53aWxkd2ViZGV2ZWxvcGVyIj5FY2xpcHNlIFdpbGQgV2ViIERldmVsb3BlcjwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3Byb2plY3RzLmVjbGlwc2Uub3JnL3Byb2plY3RzL3dlYnRvb2xzIj5FY2xpcHNlIFdlYiBUb29scyBQbGF0Zm9ybSBQcm9qZWN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHMuZWNsaXBzZS5vcmcvcHJvamVjdHMvd2VidG9vbHMuZ2xhc3NmaXNoLXRvb2xzIj5FY2xpcHNlIEdsYXNzRmlzaCBUb29sczwvYT48L2xpPiAgICAgICAgICA8L3VsPgorICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9kaXY+PGRpdiBjbGFzcz0iY29sLW1kLTYiPiAgPCEtLSBuYXYgLS0+CisgIDxhc2lkZSBjbGFzcz0ibWFpbi1zaWRlYmFyLWRlZmF1bHQtbWFyZ2luIiBpZD0ibWFpbi1zaWRlYmFyIj4KKyAgICAgICAgPHVsIGlkPSJsZWZ0bmF2IiBjbGFzcz0idWwtbGVmdC1uYXYgZmEtdWwgaGlkZGVuLXByaW50Ij4KKyAgICAgIAorICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InNlcGFyYXRvciI+CisgICAgICAgICAgICAgIDxhIGNsYXNzPSJzZXBhcmF0b3IiIGhyZWY9Ii9vcmcvIj4KKyAgICAgICAgICAgICAgICBBYm91dCBVcyAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXJpZ2h0IGZhLWZ3Ij48L2k+CisgICAgICAgICAgICAgIDxhIGhyZWY9Ii9vcmcvZm91bmRhdGlvbi9yZXBvcnRzL2FubnVhbF9yZXBvcnQucGhwIiB0YXJnZXQ9Il9zZWxmIj4KKyAgICAgICAgICAgICAgICBBbm51YWwgUmVwb3J0ICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICAgIAorICAgICAgICAgICAgICAKKyAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2FyZXQtcmlnaHQgZmEtZnciPjwvaT4KKyAgICAgICAgICAgICAgPGEgaHJlZj0iL29yZy9mb3VuZGF0aW9uLyIgdGFyZ2V0PSJfc2VsZiI+CisgICAgICAgICAgICAgICAgRm91bmRhdGlvbiAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXJpZ2h0IGZhLWZ3Ij48L2k+CisgICAgICAgICAgICAgIDxhIGhyZWY9Ii9vcmcvZG9jdW1lbnRzLyIgdGFyZ2V0PSJfc2VsZiI+CisgICAgICAgICAgICAgICAgR292ZXJuYW5jZSAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXJpZ2h0IGZhLWZ3Ij48L2k+CisgICAgICAgICAgICAgIDxhIGhyZWY9Ii9sZWdhbC8iIHRhcmdldD0iX3NlbGYiPgorICAgICAgICAgICAgICAgIExlZ2FsIFJlc291cmNlcyAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXJpZ2h0IGZhLWZ3Ij48L2k+CisgICAgICAgICAgICAgIDxhIGhyZWY9Ii9vcmcvZm91bmRhdGlvbi9jb250YWN0LnBocCIgdGFyZ2V0PSJfc2VsZiI+CisgICAgICAgICAgICAgICAgQ29udGFjdCBVcyAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic2VwYXJhdG9yIj4KKyAgICAgICAgICAgICAgPGEgY2xhc3M9InNlcGFyYXRvciIgaHJlZj0iL2xlZ2FsL0VDQS5waHAiPgorICAgICAgICAgICAgICAgIEVDQSAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXJpZ2h0IGZhLWZ3Ij48L2k+CisgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYWNjb3VudHMuZWNsaXBzZS5vcmcvdXNlci9lY2EiIHRhcmdldD0iX3NlbGYiPgorICAgICAgICAgICAgICAgIFNpZ24gICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgCisgICAgICAgICAgICAgIAorICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICA8bGk+CisgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jYXJldC1yaWdodCBmYS1mdyI+PC9pPgorICAgICAgICAgICAgICA8YSBocmVmPSIvY29udHJpYnV0ZS9jbGEiIHRhcmdldD0iX3NlbGYiPgorICAgICAgICAgICAgICAgIFZhbGlkYXRpb24gVG9vbCAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic2VwYXJhdG9yIj4KKyAgICAgICAgICAgICAgPGEgY2xhc3M9InNlcGFyYXRvciIgaHJlZj0iL2xlZ2FsL2VwbC0yLjAiPgorICAgICAgICAgICAgICAgIEVQTC0yLjAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgCisgICAgICAgICAgICAgIAorICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICA8bGk+CisgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jYXJldC1yaWdodCBmYS1mdyI+PC9pPgorICAgICAgICAgICAgICA8YSBocmVmPSIvb3JnL2RvY3VtZW50cy9lcGwtMi4wL0VQTC0yLjAuaHRtbCIgdGFyZ2V0PSJfc2VsZiI+CisgICAgICAgICAgICAgICAgUGxhaW4gSFRNTCAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXJpZ2h0IGZhLWZ3Ij48L2k+CisgICAgICAgICAgICAgIDxhIGhyZWY9Ii9vcmcvZG9jdW1lbnRzL2VwbC0yLjAvRVBMLTIuMC50eHQiIHRhcmdldD0iX3NlbGYiPgorICAgICAgICAgICAgICAgIFBsYWluIFRleHQgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgCisgICAgICAgICAgICAgIAorICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICA8bGk+CisgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jYXJldC1yaWdodCBmYS1mdyI+PC9pPgorICAgICAgICAgICAgICA8YSBocmVmPSIvb3JnL2RvY3VtZW50cy9lcGwtMi4wL0VQTC0yLjAucGRmIiB0YXJnZXQ9Il9zZWxmIj4KKyAgICAgICAgICAgICAgICBQREYgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgCisgICAgICAgICAgICAgIAorICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICA8bGk+CisgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jYXJldC1yaWdodCBmYS1mdyI+PC9pPgorICAgICAgICAgICAgICA8YSBocmVmPSIvbGVnYWwvZXBsLTIuMC9mYXEucGhwIiB0YXJnZXQ9Il9zZWxmIj4KKyAgICAgICAgICAgICAgICBGQVEgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgCisgICAgICAgICAgICAgIAorICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InNlcGFyYXRvciI+CisgICAgICAgICAgICAgIDxhIGNsYXNzPSJzZXBhcmF0b3IiIGhyZWY9Ii9vcmcvZG9jdW1lbnRzL2VwbC12MTAucGhwIj4KKyAgICAgICAgICAgICAgICBFUEwtMS4wICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICAgIAorICAgICAgICAgICAgICAKKyAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2FyZXQtcmlnaHQgZmEtZnciPjwvaT4KKyAgICAgICAgICAgICAgPGEgaHJlZj0iL29yZy9kb2N1bWVudHMvZXBsLXYxMC5odG1sIiB0YXJnZXQ9Il9zZWxmIj4KKyAgICAgICAgICAgICAgICBQbGFpbiBIVE1MICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICAgIAorICAgICAgICAgICAgICAKKyAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2FyZXQtcmlnaHQgZmEtZnciPjwvaT4KKyAgICAgICAgICAgICAgPGEgaHJlZj0iL29yZy9kb2N1bWVudHMvZXBsLTEuMC9FUEwtMS4wLnR4dCIgdGFyZ2V0PSJfc2VsZiI+CisgICAgICAgICAgICAgICAgUGxhaW4gVGV4dCAgICAgICAgICAgICAgPC9hPgorICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAKKyAgICAgICAgICAgICAgCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LXJpZ2h0IGZhLWZ3Ij48L2k+CisgICAgICAgICAgICAgIDxhIGhyZWY9Ii9sZWdhbC9lcGxmYXEucGhwIiB0YXJnZXQ9Il9zZWxmIj4KKyAgICAgICAgICAgICAgICBGQVEgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgCisgICAgICAgICAgICAgIAorICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InNlcGFyYXRvciI+CisgICAgICAgICAgICAgIDxhIGNsYXNzPSJzZXBhcmF0b3IiIGhyZWY9Ii9sZWdhbC9saWNlbnNlcy5waHAiPgorICAgICAgICAgICAgICAgIExpY2Vuc2VzICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICAgIAorICAgICAgICAgICAgICAKKyAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2FyZXQtcmlnaHQgZmEtZnciPjwvaT4KKyAgICAgICAgICAgICAgPGEgaHJlZj0iL2xlZ2FsL2xpY2Vuc2VzLnBocCNhcHByb3ZlZCIgdGFyZ2V0PSJfc2VsZiI+CisgICAgICAgICAgICAgICAgQXBwcm92ZWQgM3JkIFBhcnR5ICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICAgIAorICAgICAgICAgICAgICAKKyAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2FyZXQtcmlnaHQgZmEtZnciPjwvaT4KKyAgICAgICAgICAgICAgPGEgaHJlZj0iL2xlZ2FsL2xpY2Vuc2VzLnBocCNub25hcHByb3ZlZCIgdGFyZ2V0PSJfc2VsZiI+CisgICAgICAgICAgICAgICAgTm9uIEFwcHJvdmVkICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICA8L2xpPgorICAgICAgICAgIAorICAgICAgICAgICAgICAKKyAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2FyZXQtcmlnaHQgZmEtZnciPjwvaT4KKyAgICAgICAgICAgICAgPGEgaHJlZj0iL2xlZ2FsL25vbmNvZGVsaWNlbnNlcy5waHAiIHRhcmdldD0iX3NlbGYiPgorICAgICAgICAgICAgICAgIERvY3MgJmFtcDsgZXhhbXBsZXMgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgCisgICAgICAgICAgICAgICAgICA8L3VsPgorICAgICAgPC9hc2lkZT4KKzwvZGl2PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgIDwvbWFpbj48cCBpZD0iYmFjay10by10b3AiPgorICA8YSBjbGFzcz0idmlzaWJsZS14cyIgaHJlZj0iI3RvcCI+QmFjayB0byB0aGUgdG9wPC9hPgorPC9wPgorICAgICAgPCEtLSBTaWduIFVwIHRvIG91ciBOZXdzbGV0dGVyIC0tPgorICAgIDxkaXYgY2xhc3M9ImZlYXR1cmVkLWZvb3RlciBmZWF0dXJlZC1mb290ZXItbmV3c2xldHRlciIgc3R5bGU9ImJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2VjbGlwc2Uub3JnL2hvbWUvaW1hZ2VzLzIwMTktMDYtYmcuanBnKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjOyI+CisgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgorICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0yNCI+CisgICAgICAgICAgICA8aDI+PHN0cm9uZz5SZWdpc3RlciBmb3IgRWNsaXBzZUNvbiBFdXJvcGUgMjAxOSB0b2RheSEgPC9zdHJvbmc+PC9oMj4KKyAgICAgICAgICAgIDxwPlJlZ2lzdGVyIG5vdyBhbmQgc2F2ZSEgRWFybHkgQmlyZCBwcmljaW5nIGVuZHMgT2N0b2JlciAxLjwvcD4KKyAgICAgICAgICAgIDxhIGNsYXNzPSdidG4gYnRuLXByaW1hcnkgYnRuLWxnJyBocmVmPSdodHRwczovL3d3dy5lY2xpcHNlY29uLm9yZy9ldXJvcGUyMDE5L3JlZ2lzdHJhdGlvbj91dG1fc291cmNlPWVjbGlwc2Uub3JnJnV0bV9tZWRpdW09ZmVhdHVyZWQtc3RvcnkmdXRtX2NhbXBhaWduPUVDRTIwMTlfUkVHSVNUUkFUSU9OJz5SZWdpc3RlcjwvYT4KKyAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAKKyAgICAgICAgPC9kaXY+CisgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj48Zm9vdGVyIGlkPSJzb2xzdGljZS1mb290ZXIiPgorICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9InJvdyI+CisgICAgICA8c2VjdGlvbiBjbGFzcz0iY29sLXNtLTYgaGlkZGVuLXByaW50IiBpZD0iZm9vdGVyLWVjbGlwc2UtZm91bmRhdGlvbiI+CisgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkVjbGlwc2UgRm91bmRhdGlvbjwvaDI+CisgICAgPHVsIGNsYXNzPSJuYXYiPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvIj5BYm91dCBVczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvZm91bmRhdGlvbi9jb250YWN0LnBocCI+Q29udGFjdCBVczwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9kb25hdGUiPkRvbmF0ZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvZG9jdW1lbnRzLyI+R292ZXJuYW5jZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9hcnR3b3JrLyI+TG9nbyBhbmQgQXJ0d29yazwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvZm91bmRhdGlvbi9kaXJlY3RvcnMucGhwIj5Cb2FyZCBvZiBEaXJlY3RvcnM8L2E+PC9saT48L3VsPiAgICAgIDwvc2VjdGlvbj4KKyAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb2wtc20tNiBoaWRkZW4tcHJpbnQiIGlkPSJmb290ZXItbGVnYWwiPgorICAgICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5MZWdhbDwvaDI+CisgICAgPHVsIGNsYXNzPSJuYXYiPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9wcml2YWN5LnBocCI+UHJpdmFjeSBQb2xpY3k8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvdGVybXNvZnVzZS5waHAiPlRlcm1zIG9mIFVzZTwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jb3B5cmlnaHQucGhwIj5Db3B5cmlnaHQgQWdlbnQ8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC8iPkVjbGlwc2UgUHVibGljIExpY2Vuc2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvIj5MZWdhbCBSZXNvdXJjZXM8L2E+PC9saT48L3VsPiAgICAgIDwvc2VjdGlvbj4KKyAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb2wtc20tNiBoaWRkZW4tcHJpbnQiIGlkPSJmb290ZXItdXNlZnVsLWxpbmtzIj4KKyAgICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VXNlZnVsIExpbmtzPC9oMj4KKyAgICA8dWwgY2xhc3M9Im5hdiI+PGxpPjxhIGhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzLyI+UmVwb3J0IGEgQnVnPC9hPjwvbGk+PGxpPjxhIGhyZWY9Ii8vaGVscC5lY2xpcHNlLm9yZy8iPkRvY3VtZW50YXRpb248L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvY29udHJpYnV0ZS8iPkhvdyB0byBDb250cmlidXRlPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL21haWwvIj5NYWlsaW5nIExpc3RzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2ZvcnVtcy8iPkZvcnVtczwvYT48L2xpPjxsaT48YSBocmVmPSIvL21hcmtldHBsYWNlLmVjbGlwc2Uub3JnIj5NYXJrZXRwbGFjZTwvYT48L2xpPjwvdWw+ICAgICAgPC9zZWN0aW9uPgorICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbC1zbS02IGhpZGRlbi1wcmludCIgaWQ9ImZvb3Rlci1vdGhlciI+CisgICAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk90aGVyPC9oMj4KKyAgICA8dWwgY2xhc3M9Im5hdiI+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2lkZS8iPklERSBhbmQgVG9vbHM8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvcHJvamVjdHMiPkNvbW11bml0eSBvZiBQcm9qZWN0czwvYT48L2xpPjxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvd29ya2luZ2dyb3Vwcy8iPldvcmtpbmcgR3JvdXBzPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9yZXNlYXJjaC8iPlJlc2VhcmNoQEVjbGlwc2U8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvc2VjdXJpdHkvIj5SZXBvcnQgYSBWdWxuZXJhYmlsaXR5PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vc3RhdHVzLmVjbGlwc2Uub3JnIj5TZXJ2aWNlIFN0YXR1czwvYT48L2xpPjwvdWw+ICAgICAgPC9zZWN0aW9uPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTI0IG1hcmdpbi10b3AtMjAiPgorICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgorICAgICAgICAgIDxkaXYgaWQ9ImNvcHlyaWdodCIgY2xhc3M9ImNvbC1tZC0xNiI+CisgICAgICAgICAgICA8cCBpZD0iY29weXJpZ2h0LXRleHQiPkNvcHlyaWdodCAmY29weTsgRWNsaXBzZSBGb3VuZGF0aW9uLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9wPgorICAgICAgICAgIDwvZGl2PgorICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IHNvY2lhbC1tZWRpYSI+CisgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3QtaW5saW5lIj4KKyAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJzb2NpYWwtbWVkaWEtbGluayBmYS1zdGFjayBmYS1sZyIgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9FY2xpcHNlRmRuIj4KKyAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jaXJjbGUtdGhpbiBmYS1zdGFjay0yeCI+PC9pPgorICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXR3aXR0ZXIgZmEtc3RhY2stMXgiPjwvaT4KKyAgICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgICA8YSBjbGFzcz0ic29jaWFsLW1lZGlhLWxpbmsgZmEtc3RhY2sgZmEtbGciIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9lY2xpcHNlLm9yZyI+CisgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2lyY2xlLXRoaW4gZmEtc3RhY2stMngiPjwvaT4KKyAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1mYWNlYm9vayBmYS1zdGFjay0xeCI+PC9pPgorICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgICAgPGxpPgorICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJzb2NpYWwtbWVkaWEtbGluayBmYS1zdGFjayBmYS1sZyIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9FY2xpcHNlRmRuIj4KKyAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1jaXJjbGUtdGhpbiBmYS1zdGFjay0yeCI+PC9pPgorICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXlvdXR1YmUgZmEtc3RhY2stMXgiPjwvaT4KKyAgICAgICAgICAgICAgICA8L2E+CisgICAgICAgICAgICAgIDwvbGk+CisgICAgICAgICAgICAgIDxsaT4KKyAgICAgICAgICAgICAgICA8YSBjbGFzcz0ic29jaWFsLW1lZGlhLWxpbmsgZmEtc3RhY2sgZmEtbGciIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2VjbGlwc2UtZm91bmRhdGlvbiI+CisgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtY2lyY2xlLXRoaW4gZmEtc3RhY2stMngiPjwvaT4KKyAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1saW5rZWRpbiBmYS1zdGFjay0xeCI+PC9pPgorICAgICAgICAgICAgICAgIDwvYT4KKyAgICAgICAgICAgICAgPC9saT4KKyAgICAgICAgICAgIDwvdWw+CisgICAgICAgICAgPC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgPC9kaXY+ICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9InNjcm9sbHVwIj5CYWNrIHRvIHRoZSB0b3A8L2E+CisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9mb290ZXI+Cis8IS0tIFBsYWNlZCBhdCB0aGUgZW5kIG9mIHRoZSBkb2N1bWVudCBzbyB0aGUgcGFnZXMgbG9hZCBmYXN0ZXIgLS0+Cis8c2NyaXB0IHNyYz0iL2VjbGlwc2Uub3JnLWNvbW1vbi90aGVtZXMvc29sc3RpY2UvcHVibGljL2phdmFzY3JpcHQvbWFpbi5taW4uanM/dmFyPTEuMyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL2VwbC12MTAuaHRtbCBiL2VwbC12MTAuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzk5OGZjZS4uMDAwMDAwMAotLS0gYS9lcGwtdjEwLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSIgPz4KLTwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KLTxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KLQotPGhlYWQ+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIiAvPgotPHRpdGxlPkVjbGlwc2UgUHVibGljIExpY2Vuc2UgLSBWZXJzaW9uIDEuMDwvdGl0bGU+Ci08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICBib2R5IHsKLSAgICBzaXplOiA4LjVpbiAxMS4waW47Ci0gICAgbWFyZ2luOiAwLjI1aW4gMC41aW4gMC4yNWluIDAuNWluOwotICAgIHRhYi1pbnRlcnZhbDogMC41aW47Ci0gICAgfQotICBwIHsgIAkKLSAgICBtYXJnaW4tbGVmdDogYXV0bzsKLSAgICBtYXJnaW4tdG9wOiAgMC41ZW07Ci0gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07Ci0gICAgfQotICBwLmxpc3QgewotICAJbWFyZ2luLWxlZnQ6IDAuNWluOwotICAgIG1hcmdpbi10b3A6ICAwLjA1ZW07Ci0gICAgbWFyZ2luLWJvdHRvbTogMC4wNWVtOwotICAgIH0KLSAgPC9zdHlsZT4KLQotPC9oZWFkPgotCi08Ym9keSBsYW5nPSJFTi1VUyI+Ci0KLTxoMj5FY2xpcHNlIFB1YmxpYyBMaWNlbnNlIC0gdiAxLjA8L2gyPgotCi08cD5USEUgQUNDT01QQU5ZSU5HIFBST0dSQU0gSVMgUFJPVklERUQgVU5ERVIgVEhFIFRFUk1TIE9GIFRISVMgRUNMSVBTRQotUFVCTElDIExJQ0VOU0UgKCZxdW90O0FHUkVFTUVOVCZxdW90OykuIEFOWSBVU0UsIFJFUFJPRFVDVElPTiBPUgotRElTVFJJQlVUSU9OIE9GIFRIRSBQUk9HUkFNIENPTlNUSVRVVEVTIFJFQ0lQSUVOVCdTIEFDQ0VQVEFOQ0UgT0YgVEhJUwotQUdSRUVNRU5ULjwvcD4KLQotPHA+PGI+MS4gREVGSU5JVElPTlM8L2I+PC9wPgotCi08cD4mcXVvdDtDb250cmlidXRpb24mcXVvdDsgbWVhbnM6PC9wPgotCi08cCBjbGFzcz0ibGlzdCI+YSkgaW4gdGhlIGNhc2Ugb2YgdGhlIGluaXRpYWwgQ29udHJpYnV0b3IsIHRoZSBpbml0aWFsCi1jb2RlIGFuZCBkb2N1bWVudGF0aW9uIGRpc3RyaWJ1dGVkIHVuZGVyIHRoaXMgQWdyZWVtZW50LCBhbmQ8L3A+Ci08cCBjbGFzcz0ibGlzdCI+YikgaW4gdGhlIGNhc2Ugb2YgZWFjaCBzdWJzZXF1ZW50IENvbnRyaWJ1dG9yOjwvcD4KLTxwIGNsYXNzPSJsaXN0Ij5pKSBjaGFuZ2VzIHRvIHRoZSBQcm9ncmFtLCBhbmQ8L3A+Ci08cCBjbGFzcz0ibGlzdCI+aWkpIGFkZGl0aW9ucyB0byB0aGUgUHJvZ3JhbTs8L3A+Ci08cCBjbGFzcz0ibGlzdCI+d2hlcmUgc3VjaCBjaGFuZ2VzIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW0KLW9yaWdpbmF0ZSBmcm9tIGFuZCBhcmUgZGlzdHJpYnV0ZWQgYnkgdGhhdCBwYXJ0aWN1bGFyIENvbnRyaWJ1dG9yLiBBCi1Db250cmlidXRpb24gJ29yaWdpbmF0ZXMnIGZyb20gYSBDb250cmlidXRvciBpZiBpdCB3YXMgYWRkZWQgdG8gdGhlCi1Qcm9ncmFtIGJ5IHN1Y2ggQ29udHJpYnV0b3IgaXRzZWxmIG9yIGFueW9uZSBhY3Rpbmcgb24gc3VjaAotQ29udHJpYnV0b3IncyBiZWhhbGYuIENvbnRyaWJ1dGlvbnMgZG8gbm90IGluY2x1ZGUgYWRkaXRpb25zIHRvIHRoZQotUHJvZ3JhbSB3aGljaDogKGkpIGFyZSBzZXBhcmF0ZSBtb2R1bGVzIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIGluCi1jb25qdW5jdGlvbiB3aXRoIHRoZSBQcm9ncmFtIHVuZGVyIHRoZWlyIG93biBsaWNlbnNlIGFncmVlbWVudCwgYW5kIChpaSkKLWFyZSBub3QgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgUHJvZ3JhbS48L3A+Ci0KLTxwPiZxdW90O0NvbnRyaWJ1dG9yJnF1b3Q7IG1lYW5zIGFueSBwZXJzb24gb3IgZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMKLXRoZSBQcm9ncmFtLjwvcD4KLQotPHA+JnF1b3Q7TGljZW5zZWQgUGF0ZW50cyZxdW90OyBtZWFuIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZSBieSBhCi1Db250cmlidXRvciB3aGljaCBhcmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZSB1c2Ugb3Igc2FsZSBvZiBpdHMKLUNvbnRyaWJ1dGlvbiBhbG9uZSBvciB3aGVuIGNvbWJpbmVkIHdpdGggdGhlIFByb2dyYW0uPC9wPgotCi08cD4mcXVvdDtQcm9ncmFtJnF1b3Q7IG1lYW5zIHRoZSBDb250cmlidXRpb25zIGRpc3RyaWJ1dGVkIGluIGFjY29yZGFuY2UKLXdpdGggdGhpcyBBZ3JlZW1lbnQuPC9wPgotCi08cD4mcXVvdDtSZWNpcGllbnQmcXVvdDsgbWVhbnMgYW55b25lIHdobyByZWNlaXZlcyB0aGUgUHJvZ3JhbSB1bmRlcgotdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZyBhbGwgQ29udHJpYnV0b3JzLjwvcD4KLQotPHA+PGI+Mi4gR1JBTlQgT0YgUklHSFRTPC9iPjwvcD4KLQotPHAgY2xhc3M9Imxpc3QiPmEpIFN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBlYWNoCi1Db250cmlidXRvciBoZXJlYnkgZ3JhbnRzIFJlY2lwaWVudCBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwKLXJveWFsdHktZnJlZSBjb3B5cmlnaHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3Jrcwotb2YsIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIGRpc3RyaWJ1dGUgYW5kIHN1YmxpY2Vuc2UgdGhlCi1Db250cmlidXRpb24gb2Ygc3VjaCBDb250cmlidXRvciwgaWYgYW55LCBhbmQgc3VjaCBkZXJpdmF0aXZlIHdvcmtzLCBpbgotc291cmNlIGNvZGUgYW5kIG9iamVjdCBjb2RlIGZvcm0uPC9wPgotCi08cCBjbGFzcz0ibGlzdCI+YikgU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGVhY2gKLUNvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgUmVjaXBpZW50IGEgbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRlLAotcm95YWx0eS1mcmVlIHBhdGVudCBsaWNlbnNlIHVuZGVyIExpY2Vuc2VkIFBhdGVudHMgdG8gbWFrZSwgdXNlLCBzZWxsLAotb2ZmZXIgdG8gc2VsbCwgaW1wb3J0IGFuZCBvdGhlcndpc2UgdHJhbnNmZXIgdGhlIENvbnRyaWJ1dGlvbiBvZiBzdWNoCi1Db250cmlidXRvciwgaWYgYW55LCBpbiBzb3VyY2UgY29kZSBhbmQgb2JqZWN0IGNvZGUgZm9ybS4gVGhpcyBwYXRlbnQKLWxpY2Vuc2Ugc2hhbGwgYXBwbHkgdG8gdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSBDb250cmlidXRpb24gYW5kIHRoZQotUHJvZ3JhbSBpZiwgYXQgdGhlIHRpbWUgdGhlIENvbnRyaWJ1dGlvbiBpcyBhZGRlZCBieSB0aGUgQ29udHJpYnV0b3IsCi1zdWNoIGFkZGl0aW9uIG9mIHRoZSBDb250cmlidXRpb24gY2F1c2VzIHN1Y2ggY29tYmluYXRpb24gdG8gYmUgY292ZXJlZAotYnkgdGhlIExpY2Vuc2VkIFBhdGVudHMuIFRoZSBwYXRlbnQgbGljZW5zZSBzaGFsbCBub3QgYXBwbHkgdG8gYW55IG90aGVyCi1jb21iaW5hdGlvbnMgd2hpY2ggaW5jbHVkZSB0aGUgQ29udHJpYnV0aW9uLiBObyBoYXJkd2FyZSBwZXIgc2UgaXMKLWxpY2Vuc2VkIGhlcmV1bmRlci48L3A+Ci0KLTxwIGNsYXNzPSJsaXN0Ij5jKSBSZWNpcGllbnQgdW5kZXJzdGFuZHMgdGhhdCBhbHRob3VnaCBlYWNoIENvbnRyaWJ1dG9yCi1ncmFudHMgdGhlIGxpY2Vuc2VzIHRvIGl0cyBDb250cmlidXRpb25zIHNldCBmb3J0aCBoZXJlaW4sIG5vIGFzc3VyYW5jZXMKLWFyZSBwcm92aWRlZCBieSBhbnkgQ29udHJpYnV0b3IgdGhhdCB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBpbmZyaW5nZSB0aGUKLXBhdGVudCBvciBvdGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG9mIGFueSBvdGhlciBlbnRpdHkuIEVhY2gKLUNvbnRyaWJ1dG9yIGRpc2NsYWltcyBhbnkgbGlhYmlsaXR5IHRvIFJlY2lwaWVudCBmb3IgY2xhaW1zIGJyb3VnaHQgYnkKLWFueSBvdGhlciBlbnRpdHkgYmFzZWQgb24gaW5mcmluZ2VtZW50IG9mIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMKLW9yIG90aGVyd2lzZS4gQXMgYSBjb25kaXRpb24gdG8gZXhlcmNpc2luZyB0aGUgcmlnaHRzIGFuZCBsaWNlbnNlcwotZ3JhbnRlZCBoZXJldW5kZXIsIGVhY2ggUmVjaXBpZW50IGhlcmVieSBhc3N1bWVzIHNvbGUgcmVzcG9uc2liaWxpdHkgdG8KLXNlY3VyZSBhbnkgb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBuZWVkZWQsIGlmIGFueS4gRm9yCi1leGFtcGxlLCBpZiBhIHRoaXJkIHBhcnR5IHBhdGVudCBsaWNlbnNlIGlzIHJlcXVpcmVkIHRvIGFsbG93IFJlY2lwaWVudAotdG8gZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSwgaXQgaXMgUmVjaXBpZW50J3MgcmVzcG9uc2liaWxpdHkgdG8gYWNxdWlyZQotdGhhdCBsaWNlbnNlIGJlZm9yZSBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0uPC9wPgotCi08cCBjbGFzcz0ibGlzdCI+ZCkgRWFjaCBDb250cmlidXRvciByZXByZXNlbnRzIHRoYXQgdG8gaXRzIGtub3dsZWRnZSBpdAotaGFzIHN1ZmZpY2llbnQgY29weXJpZ2h0IHJpZ2h0cyBpbiBpdHMgQ29udHJpYnV0aW9uLCBpZiBhbnksIHRvIGdyYW50Ci10aGUgY29weXJpZ2h0IGxpY2Vuc2Ugc2V0IGZvcnRoIGluIHRoaXMgQWdyZWVtZW50LjwvcD4KLQotPHA+PGI+My4gUkVRVUlSRU1FTlRTPC9iPjwvcD4KLQotPHA+QSBDb250cmlidXRvciBtYXkgY2hvb3NlIHRvIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gaW4gb2JqZWN0IGNvZGUKLWZvcm0gdW5kZXIgaXRzIG93biBsaWNlbnNlIGFncmVlbWVudCwgcHJvdmlkZWQgdGhhdDo8L3A+Ci0KLTxwIGNsYXNzPSJsaXN0Ij5hKSBpdCBjb21wbGllcyB3aXRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzCi1BZ3JlZW1lbnQ7IGFuZDwvcD4KLQotPHAgY2xhc3M9Imxpc3QiPmIpIGl0cyBsaWNlbnNlIGFncmVlbWVudDo8L3A+Ci0KLTxwIGNsYXNzPSJsaXN0Ij5pKSBlZmZlY3RpdmVseSBkaXNjbGFpbXMgb24gYmVoYWxmIG9mIGFsbCBDb250cmlidXRvcnMKLWFsbCB3YXJyYW50aWVzIGFuZCBjb25kaXRpb25zLCBleHByZXNzIGFuZCBpbXBsaWVkLCBpbmNsdWRpbmcgd2FycmFudGllcwotb3IgY29uZGl0aW9ucyBvZiB0aXRsZSBhbmQgbm9uLWluZnJpbmdlbWVudCwgYW5kIGltcGxpZWQgd2FycmFudGllcyBvcgotY29uZGl0aW9ucyBvZiBtZXJjaGFudGFiaWxpdHkgYW5kIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlOzwvcD4KLQotPHAgY2xhc3M9Imxpc3QiPmlpKSBlZmZlY3RpdmVseSBleGNsdWRlcyBvbiBiZWhhbGYgb2YgYWxsIENvbnRyaWJ1dG9ycwotYWxsIGxpYWJpbGl0eSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGRpcmVjdCwgaW5kaXJlY3QsIHNwZWNpYWwsCi1pbmNpZGVudGFsIGFuZCBjb25zZXF1ZW50aWFsIGRhbWFnZXMsIHN1Y2ggYXMgbG9zdCBwcm9maXRzOzwvcD4KLQotPHAgY2xhc3M9Imxpc3QiPmlpaSkgc3RhdGVzIHRoYXQgYW55IHByb3Zpc2lvbnMgd2hpY2ggZGlmZmVyIGZyb20gdGhpcwotQWdyZWVtZW50IGFyZSBvZmZlcmVkIGJ5IHRoYXQgQ29udHJpYnV0b3IgYWxvbmUgYW5kIG5vdCBieSBhbnkgb3RoZXIKLXBhcnR5OyBhbmQ8L3A+Ci0KLTxwIGNsYXNzPSJsaXN0Ij5pdikgc3RhdGVzIHRoYXQgc291cmNlIGNvZGUgZm9yIHRoZSBQcm9ncmFtIGlzIGF2YWlsYWJsZQotZnJvbSBzdWNoIENvbnRyaWJ1dG9yLCBhbmQgaW5mb3JtcyBsaWNlbnNlZXMgaG93IHRvIG9idGFpbiBpdCBpbiBhCi1yZWFzb25hYmxlIG1hbm5lciBvbiBvciB0aHJvdWdoIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlCi1leGNoYW5nZS48L3A+Ci0KLTxwPldoZW4gdGhlIFByb2dyYW0gaXMgbWFkZSBhdmFpbGFibGUgaW4gc291cmNlIGNvZGUgZm9ybTo8L3A+Ci0KLTxwIGNsYXNzPSJsaXN0Ij5hKSBpdCBtdXN0IGJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoaXMgQWdyZWVtZW50OyBhbmQ8L3A+Ci0KLTxwIGNsYXNzPSJsaXN0Ij5iKSBhIGNvcHkgb2YgdGhpcyBBZ3JlZW1lbnQgbXVzdCBiZSBpbmNsdWRlZCB3aXRoIGVhY2gKLWNvcHkgb2YgdGhlIFByb2dyYW0uPC9wPgotCi08cD5Db250cmlidXRvcnMgbWF5IG5vdCByZW1vdmUgb3IgYWx0ZXIgYW55IGNvcHlyaWdodCBub3RpY2VzIGNvbnRhaW5lZAotd2l0aGluIHRoZSBQcm9ncmFtLjwvcD4KLQotPHA+RWFjaCBDb250cmlidXRvciBtdXN0IGlkZW50aWZ5IGl0c2VsZiBhcyB0aGUgb3JpZ2luYXRvciBvZiBpdHMKLUNvbnRyaWJ1dGlvbiwgaWYgYW55LCBpbiBhIG1hbm5lciB0aGF0IHJlYXNvbmFibHkgYWxsb3dzIHN1YnNlcXVlbnQKLVJlY2lwaWVudHMgdG8gaWRlbnRpZnkgdGhlIG9yaWdpbmF0b3Igb2YgdGhlIENvbnRyaWJ1dGlvbi48L3A+Ci0KLTxwPjxiPjQuIENPTU1FUkNJQUwgRElTVFJJQlVUSU9OPC9iPjwvcD4KLQotPHA+Q29tbWVyY2lhbCBkaXN0cmlidXRvcnMgb2Ygc29mdHdhcmUgbWF5IGFjY2VwdCBjZXJ0YWluCi1yZXNwb25zaWJpbGl0aWVzIHdpdGggcmVzcGVjdCB0byBlbmQgdXNlcnMsIGJ1c2luZXNzIHBhcnRuZXJzIGFuZCB0aGUKLWxpa2UuIFdoaWxlIHRoaXMgbGljZW5zZSBpcyBpbnRlbmRlZCB0byBmYWNpbGl0YXRlIHRoZSBjb21tZXJjaWFsIHVzZSBvZgotdGhlIFByb2dyYW0sIHRoZSBDb250cmlidXRvciB3aG8gaW5jbHVkZXMgdGhlIFByb2dyYW0gaW4gYSBjb21tZXJjaWFsCi1wcm9kdWN0IG9mZmVyaW5nIHNob3VsZCBkbyBzbyBpbiBhIG1hbm5lciB3aGljaCBkb2VzIG5vdCBjcmVhdGUKLXBvdGVudGlhbCBsaWFiaWxpdHkgZm9yIG90aGVyIENvbnRyaWJ1dG9ycy4gVGhlcmVmb3JlLCBpZiBhIENvbnRyaWJ1dG9yCi1pbmNsdWRlcyB0aGUgUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZywgc3VjaCBDb250cmlidXRvcgotKCZxdW90O0NvbW1lcmNpYWwgQ29udHJpYnV0b3ImcXVvdDspIGhlcmVieSBhZ3JlZXMgdG8gZGVmZW5kIGFuZAotaW5kZW1uaWZ5IGV2ZXJ5IG90aGVyIENvbnRyaWJ1dG9yICgmcXVvdDtJbmRlbW5pZmllZCBDb250cmlidXRvciZxdW90OykKLWFnYWluc3QgYW55IGxvc3NlcywgZGFtYWdlcyBhbmQgY29zdHMgKGNvbGxlY3RpdmVseSAmcXVvdDtMb3NzZXMmcXVvdDspCi1hcmlzaW5nIGZyb20gY2xhaW1zLCBsYXdzdWl0cyBhbmQgb3RoZXIgbGVnYWwgYWN0aW9ucyBicm91Z2h0IGJ5IGEgdGhpcmQKLXBhcnR5IGFnYWluc3QgdGhlIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIHRvIHRoZSBleHRlbnQgY2F1c2VkIGJ5IHRoZQotYWN0cyBvciBvbWlzc2lvbnMgb2Ygc3VjaCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIGluIGNvbm5lY3Rpb24gd2l0aCBpdHMKLWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZy4gVGhlCi1vYmxpZ2F0aW9ucyBpbiB0aGlzIHNlY3Rpb24gZG8gbm90IGFwcGx5IHRvIGFueSBjbGFpbXMgb3IgTG9zc2VzCi1yZWxhdGluZyB0byBhbnkgYWN0dWFsIG9yIGFsbGVnZWQgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGluZnJpbmdlbWVudC4gSW4KLW9yZGVyIHRvIHF1YWxpZnksIGFuIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIG11c3Q6IGEpIHByb21wdGx5IG5vdGlmeQotdGhlIENvbW1lcmNpYWwgQ29udHJpYnV0b3IgaW4gd3JpdGluZyBvZiBzdWNoIGNsYWltLCBhbmQgYikgYWxsb3cgdGhlCi1Db21tZXJjaWFsIENvbnRyaWJ1dG9yIHRvIGNvbnRyb2wsIGFuZCBjb29wZXJhdGUgd2l0aCB0aGUgQ29tbWVyY2lhbAotQ29udHJpYnV0b3IgaW4sIHRoZSBkZWZlbnNlIGFuZCBhbnkgcmVsYXRlZCBzZXR0bGVtZW50IG5lZ290aWF0aW9ucy4gVGhlCi1JbmRlbW5pZmllZCBDb250cmlidXRvciBtYXkgcGFydGljaXBhdGUgaW4gYW55IHN1Y2ggY2xhaW0gYXQgaXRzIG93bgotZXhwZW5zZS48L3A+Ci0KLTxwPkZvciBleGFtcGxlLCBhIENvbnRyaWJ1dG9yIG1pZ2h0IGluY2x1ZGUgdGhlIFByb2dyYW0gaW4gYSBjb21tZXJjaWFsCi1wcm9kdWN0IG9mZmVyaW5nLCBQcm9kdWN0IFguIFRoYXQgQ29udHJpYnV0b3IgaXMgdGhlbiBhIENvbW1lcmNpYWwKLUNvbnRyaWJ1dG9yLiBJZiB0aGF0IENvbW1lcmNpYWwgQ29udHJpYnV0b3IgdGhlbiBtYWtlcyBwZXJmb3JtYW5jZQotY2xhaW1zLCBvciBvZmZlcnMgd2FycmFudGllcyByZWxhdGVkIHRvIFByb2R1Y3QgWCwgdGhvc2UgcGVyZm9ybWFuY2UKLWNsYWltcyBhbmQgd2FycmFudGllcyBhcmUgc3VjaCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yJ3MgcmVzcG9uc2liaWxpdHkKLWFsb25lLiBVbmRlciB0aGlzIHNlY3Rpb24sIHRoZSBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIHdvdWxkIGhhdmUgdG8KLWRlZmVuZCBjbGFpbXMgYWdhaW5zdCB0aGUgb3RoZXIgQ29udHJpYnV0b3JzIHJlbGF0ZWQgdG8gdGhvc2UKLXBlcmZvcm1hbmNlIGNsYWltcyBhbmQgd2FycmFudGllcywgYW5kIGlmIGEgY291cnQgcmVxdWlyZXMgYW55IG90aGVyCi1Db250cmlidXRvciB0byBwYXkgYW55IGRhbWFnZXMgYXMgYSByZXN1bHQsIHRoZSBDb21tZXJjaWFsIENvbnRyaWJ1dG9yCi1tdXN0IHBheSB0aG9zZSBkYW1hZ2VzLjwvcD4KLQotPHA+PGI+NS4gTk8gV0FSUkFOVFk8L2I+PC9wPgotCi08cD5FWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTIEFHUkVFTUVOVCwgVEhFIFBST0dSQU0gSVMKLVBST1ZJREVEIE9OIEFOICZxdW90O0FTIElTJnF1b3Q7IEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUwotT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sCi1BTlkgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkKLU9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBpcyBzb2xlbHkKLXJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUgYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZAotZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIGFuZCBhc3N1bWVzIGFsbCByaXNrcyBhc3NvY2lhdGVkIHdpdGggaXRzCi1leGVyY2lzZSBvZiByaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvCi10aGUgcmlza3MgYW5kIGNvc3RzIG9mIHByb2dyYW0gZXJyb3JzLCBjb21wbGlhbmNlIHdpdGggYXBwbGljYWJsZSBsYXdzLAotZGFtYWdlIHRvIG9yIGxvc3Mgb2YgZGF0YSwgcHJvZ3JhbXMgb3IgZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxpdHkgb3IKLWludGVycnVwdGlvbiBvZiBvcGVyYXRpb25zLjwvcD4KLQotPHA+PGI+Ni4gRElTQ0xBSU1FUiBPRiBMSUFCSUxJVFk8L2I+PC9wPgotCi08cD5FWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTIEFHUkVFTUVOVCwgTkVJVEhFUiBSRUNJUElFTlQKLU5PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi1JTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HCi1XSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKLUxJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HCi1ORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9SCi1ESVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMgR1JBTlRFRAotSEVSRVVOREVSLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy48L3A+Ci0KLTxwPjxiPjcuIEdFTkVSQUw8L2I+PC9wPgotCi08cD5JZiBhbnkgcHJvdmlzaW9uIG9mIHRoaXMgQWdyZWVtZW50IGlzIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlcgotYXBwbGljYWJsZSBsYXcsIGl0IHNoYWxsIG5vdCBhZmZlY3QgdGhlIHZhbGlkaXR5IG9yIGVuZm9yY2VhYmlsaXR5IG9mCi10aGUgcmVtYWluZGVyIG9mIHRoZSB0ZXJtcyBvZiB0aGlzIEFncmVlbWVudCwgYW5kIHdpdGhvdXQgZnVydGhlciBhY3Rpb24KLWJ5IHRoZSBwYXJ0aWVzIGhlcmV0bywgc3VjaCBwcm92aXNpb24gc2hhbGwgYmUgcmVmb3JtZWQgdG8gdGhlIG1pbmltdW0KLWV4dGVudCBuZWNlc3NhcnkgdG8gbWFrZSBzdWNoIHByb3Zpc2lvbiB2YWxpZCBhbmQgZW5mb3JjZWFibGUuPC9wPgotCi08cD5JZiBSZWNpcGllbnQgaW5zdGl0dXRlcyBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGFueSBlbnRpdHkKLShpbmNsdWRpbmcgYSBjcm9zcy1jbGFpbSBvciBjb3VudGVyY2xhaW0gaW4gYSBsYXdzdWl0KSBhbGxlZ2luZyB0aGF0IHRoZQotUHJvZ3JhbSBpdHNlbGYgKGV4Y2x1ZGluZyBjb21iaW5hdGlvbnMgb2YgdGhlIFByb2dyYW0gd2l0aCBvdGhlcgotc29mdHdhcmUgb3IgaGFyZHdhcmUpIGluZnJpbmdlcyBzdWNoIFJlY2lwaWVudCdzIHBhdGVudChzKSwgdGhlbiBzdWNoCi1SZWNpcGllbnQncyByaWdodHMgZ3JhbnRlZCB1bmRlciBTZWN0aW9uIDIoYikgc2hhbGwgdGVybWluYXRlIGFzIG9mIHRoZQotZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuPC9wPgotCi08cD5BbGwgUmVjaXBpZW50J3MgcmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50IHNoYWxsIHRlcm1pbmF0ZSBpZiBpdAotZmFpbHMgdG8gY29tcGx5IHdpdGggYW55IG9mIHRoZSBtYXRlcmlhbCB0ZXJtcyBvciBjb25kaXRpb25zIG9mIHRoaXMKLUFncmVlbWVudCBhbmQgZG9lcyBub3QgY3VyZSBzdWNoIGZhaWx1cmUgaW4gYSByZWFzb25hYmxlIHBlcmlvZCBvZiB0aW1lCi1hZnRlciBiZWNvbWluZyBhd2FyZSBvZiBzdWNoIG5vbmNvbXBsaWFuY2UuIElmIGFsbCBSZWNpcGllbnQncyByaWdodHMKLXVuZGVyIHRoaXMgQWdyZWVtZW50IHRlcm1pbmF0ZSwgUmVjaXBpZW50IGFncmVlcyB0byBjZWFzZSB1c2UgYW5kCi1kaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0gYXMgc29vbiBhcyByZWFzb25hYmx5IHByYWN0aWNhYmxlLiBIb3dldmVyLAotUmVjaXBpZW50J3Mgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgYW5kIGFueSBsaWNlbnNlcyBncmFudGVkIGJ5Ci1SZWNpcGllbnQgcmVsYXRpbmcgdG8gdGhlIFByb2dyYW0gc2hhbGwgY29udGludWUgYW5kIHN1cnZpdmUuPC9wPgotCi08cD5FdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhpcwotQWdyZWVtZW50LCBidXQgaW4gb3JkZXIgdG8gYXZvaWQgaW5jb25zaXN0ZW5jeSB0aGUgQWdyZWVtZW50IGlzCi1jb3B5cmlnaHRlZCBhbmQgbWF5IG9ubHkgYmUgbW9kaWZpZWQgaW4gdGhlIGZvbGxvd2luZyBtYW5uZXIuIFRoZQotQWdyZWVtZW50IFN0ZXdhcmQgcmVzZXJ2ZXMgdGhlIHJpZ2h0IHRvIHB1Ymxpc2ggbmV3IHZlcnNpb25zIChpbmNsdWRpbmcKLXJldmlzaW9ucykgb2YgdGhpcyBBZ3JlZW1lbnQgZnJvbSB0aW1lIHRvIHRpbWUuIE5vIG9uZSBvdGhlciB0aGFuIHRoZQotQWdyZWVtZW50IFN0ZXdhcmQgaGFzIHRoZSByaWdodCB0byBtb2RpZnkgdGhpcyBBZ3JlZW1lbnQuIFRoZSBFY2xpcHNlCi1Gb3VuZGF0aW9uIGlzIHRoZSBpbml0aWFsIEFncmVlbWVudCBTdGV3YXJkLiBUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIG1heQotYXNzaWduIHRoZSByZXNwb25zaWJpbGl0eSB0byBzZXJ2ZSBhcyB0aGUgQWdyZWVtZW50IFN0ZXdhcmQgdG8gYQotc3VpdGFibGUgc2VwYXJhdGUgZW50aXR5LiBFYWNoIG5ldyB2ZXJzaW9uIG9mIHRoZSBBZ3JlZW1lbnQgd2lsbCBiZQotZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gVGhlIFByb2dyYW0gKGluY2x1ZGluZwotQ29udHJpYnV0aW9ucykgbWF5IGFsd2F5cyBiZSBkaXN0cmlidXRlZCBzdWJqZWN0IHRvIHRoZSB2ZXJzaW9uIG9mIHRoZQotQWdyZWVtZW50IHVuZGVyIHdoaWNoIGl0IHdhcyByZWNlaXZlZC4gSW4gYWRkaXRpb24sIGFmdGVyIGEgbmV3IHZlcnNpb24KLW9mIHRoZSBBZ3JlZW1lbnQgaXMgcHVibGlzaGVkLCBDb250cmlidXRvciBtYXkgZWxlY3QgdG8gZGlzdHJpYnV0ZSB0aGUKLVByb2dyYW0gKGluY2x1ZGluZyBpdHMgQ29udHJpYnV0aW9ucykgdW5kZXIgdGhlIG5ldyB2ZXJzaW9uLiBFeGNlcHQgYXMKLWV4cHJlc3NseSBzdGF0ZWQgaW4gU2VjdGlvbnMgMihhKSBhbmQgMihiKSBhYm92ZSwgUmVjaXBpZW50IHJlY2VpdmVzIG5vCi1yaWdodHMgb3IgbGljZW5zZXMgdG8gdGhlIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBvZiBhbnkgQ29udHJpYnV0b3IgdW5kZXIKLXRoaXMgQWdyZWVtZW50LCB3aGV0aGVyIGV4cHJlc3NseSwgYnkgaW1wbGljYXRpb24sIGVzdG9wcGVsIG9yCi1vdGhlcndpc2UuIEFsbCByaWdodHMgaW4gdGhlIFByb2dyYW0gbm90IGV4cHJlc3NseSBncmFudGVkIHVuZGVyIHRoaXMKLUFncmVlbWVudCBhcmUgcmVzZXJ2ZWQuPC9wPgotCi08cD5UaGlzIEFncmVlbWVudCBpcyBnb3Zlcm5lZCBieSB0aGUgbGF3cyBvZiB0aGUgU3RhdGUgb2YgTmV3IFlvcmsgYW5kCi10aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3Mgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYS4gTm8gcGFydHkKLXRvIHRoaXMgQWdyZWVtZW50IHdpbGwgYnJpbmcgYSBsZWdhbCBhY3Rpb24gdW5kZXIgdGhpcyBBZ3JlZW1lbnQgbW9yZQotdGhhbiBvbmUgeWVhciBhZnRlciB0aGUgY2F1c2Ugb2YgYWN0aW9uIGFyb3NlLiBFYWNoIHBhcnR5IHdhaXZlcyBpdHMKLXJpZ2h0cyB0byBhIGp1cnkgdHJpYWwgaW4gYW55IHJlc3VsdGluZyBsaXRpZ2F0aW9uLjwvcD4KLQotPC9ib2R5PgotCi08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZm9ydGVfY29uZmlnLmguaW4gYi9mb3J0ZV9jb25maWcuaC5pbgppbmRleCBhNDZlYjg1Li43NDM2ZTlmIDEwMDY0NAotLS0gYS9mb3J0ZV9jb25maWcuaC5pbgorKysgYi9mb3J0ZV9jb25maWcuaC5pbgpAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTQgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgTWljaGFlbCBIb2ZtYW5uIA0KQEAgLTMwLDcgKzMxLDcgQEAKICAqICBGb3IgU21hbGxlciBkZXZpY2VzIHdoaWNoIGRvIG5vdCB1c2UgNjQgYml0IGRhdGF0eXBlcyBhIHRpbWUgYmFzZSBvZiAxMDAwIChpLmUuLCAxbXMpIA0KICAqICBvciAxMDAwMDAwIChpLmUuLCAxbWljcm8gcykgbWF5IGJlIHN1aXRhYmxlLiANCiAgKi8NCi0jZGVmaW5lIEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EICAke0ZPUlRFX1RpbWVCYXNlVW5pdHNQZXJTZWNvbmR9DQorY29uc3QgdWludF9mYXN0MzJfdCBjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCA9ICR7Rk9SVEVfVGltZUJhc2VVbml0c1BlclNlY29uZH07DQogDQogDQogLyohIERlZmluZSB0aGUgaW5pdGlhbCBzaXplIG9mIHRoZSBldmVudCBjaGFpbiBsaXN0IHVzZWQgaW4gdGhlIGV2ZW50IGNoYWluIGV4ZWN1dGlvbiB0aHJlYWQuDQpAQCAtNjEsNyArNjIsNyBAQAogICogICAjIERFVl9NR1IgZm9yIEZCREsgY29tcGxpYW50IFhNTCBlbmNvZGVkIGNvbW1hbmRzDQogICogICAjIFdCWE1MX0RFVl9NR1IgZm9yIFdBUCBCaW5hcnkgWE1MIGVuY29kZWQgY29tbWFuZHMNCiAgKi8NCi0jZGVmaW5lIEZPUlRFX01HTV9DT01NQU5EX1BST1RPQ09MICAgJHtGT1JURV9NR01DT01NQU5EUFJPVE9DT0x9DQorI2RlZmluZSBGT1JURV9NR01fQ09NTUFORF9QUk9UT0NPTCAgICR7Rk9SVEVfTUdNQ09NTS1BTkRQUk9UT0NPTH0NCiANCiAvLyEgTWF4IHN1cHBvcnRlZCBoaWVyYXJjaHkgdGhhdCBjYW4gYmUgcHJvdmlkZWQgaW4gYSBtYW5hZ2VtZW50IGNvbW1hbmRzDQogI2RlZmluZSBGT1JURV9NR01fTUFYX1NVUFBPUlRFRF9OQU1FX0hJRVJBUkNIWSAgICR7Rk9SVEVfTUdNX01BWF9TVVBQT1JURURfTkFNRV9ISUVSQUNIWX0NCkBAIC04MCwxNSArODEsNiBAQAogDQogY29uc3QgVEZvcnRlVUludDMyIGNnX3VuTnVtYmVyT2ZIYW5kbGVycyA9ICR7Rk9SVEVfTlVNQkVSX09GX0hBTkRMRVJTfTsNCiANCi0NCi0jaWZkZWYgRk9SVEVfU1VQUE9SVF9CT09UX0ZJTEUNCi0NCi0vKiFEZWZpbmUgdGhlIHBhdGggdG8gdGhlIEJvb3RmaWxlDQotICovDQotI2RlZmluZSBGT1JURV9CT09UX0ZJTEVfTE9DQVRJT04gIiR7Rk9SVEVfQm9vdGZpbGVMb2NhdGlvbn1mb3J0ZS5mYm9vdCINCi0NCi0jZW5kaWYNCi0NCiAke0ZPUlRFX0NVU1RPTV9DT05GSUdVUkFUSU9OU30NCiANCiAjZW5kaWYNCmRpZmYgLS1naXQgYS9mb3J0ZXN0eWxlLnhtbCBiL2ZvcnRlc3R5bGUueG1sCmluZGV4IDg5MmNhNGQuLjQ1MjNlYzEgMTAwNjQ0Ci0tLSBhL2ZvcnRlc3R5bGUueG1sCisrKyBiL2ZvcnRlc3R5bGUueG1sCkBAIC0xLDE2NiArMSwxNjggQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJubyI/Pg0KIDxwcm9maWxlcyB2ZXJzaW9uPSIxIj4NCiA8cHJvZmlsZSBraW5kPSJDb2RlRm9ybWF0dGVyUHJvZmlsZSIgbmFtZT0iRk9SVEUiIHZlcnNpb249IjEiPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX2ZvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9pbl9lbXB0eV9ibG9jayIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIubGluZVNwbGl0IiB2YWx1ZT0iODAwIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX21lbWJlcl9hY2Nlc3MiIHZhbHVlPSIwIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2Jhc2VfdHlwZXMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5rZWVwX2Vsc2Vfc3RhdGVtZW50X29uX3NhbWVfbGluZSIgdmFsdWU9ImZhbHNlIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfc3dpdGNoc3RhdGVtZW50c19jb21wYXJlX3RvX3N3aXRjaCIgdmFsdWU9InRydWUiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfY29uc3RydWN0b3JfaW5pdGlhbGl6ZXJfbGlzdCIgdmFsdWU9IjAiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2JyYWNlX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX21ldGhvZF9kZWNsYXJhdGlvbl9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5faWYiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fcGFyZW50aGVzaXplZF9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KIDxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fZXhjZXB0aW9uX3NwZWNpZmljYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fYmFzZV90eXBlcyIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JvZHlfZGVjbGFyYXRpb25zX2NvbXBhcmVfdG9fYWNjZXNzX3NwZWNpZmllciIgdmFsdWU9InRydWUiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9leGNlcHRpb25fc3BlY2lmaWNhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl90ZW1wbGF0ZV9hcmd1bWVudHMiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9ibG9jayIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9tZXRob2RfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci51c2VfdGFic19vbmx5X2Zvcl9sZWFkaW5nX2luZGVudGF0aW9ucyIgdmFsdWU9ImZhbHNlIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbG9uX2luX2xhYmVsZWRfc3RhdGVtZW50IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2Nhc2UiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmNvbW1lbnQubWluX2Rpc3RhbmNlX2JldHdlZW5fY29kZV9hbmRfbGluZV9jb21tZW50IiB2YWx1ZT0iMSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fZW51bV9kZWNsYXJhdGlvbnMiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfZXhwcmVzc2lvbnNfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSIxNiIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2RlY2xhcmF0b3JfbGlzdCIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNrZXQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fZm9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9wcmVmaXhfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci50YWJ1bGF0aW9uLnNpemUiIHZhbHVlPSIyIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX2Vsc2VfaW5faWZfc3RhdGVtZW50IiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2VudW1lcmF0b3JfbGlzdCIgdmFsdWU9IjQ4Ii8+DQogPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9wYXJlbnRoZXNpemVkX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9wYXJlbnNfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX3N3aXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfZGVjbGFyYXRvcl9saXN0IiB2YWx1ZT0iMTYiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9wYXJlbnRoZXNpemVkX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfZW1wdHlfbGluZXMiIHZhbHVlPSJmYWxzZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X3N3aXRjaHN0YXRlbWVudHNfY29tcGFyZV90b19jYXNlcyIgdmFsdWU9InRydWUiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmtlZXBfZW1wdHlfYXJyYXlfaW5pdGlhbGl6ZXJfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLnB1dF9lbXB0eV9zdGF0ZW1lbnRfb25fbmV3X2xpbmUiIHZhbHVlPSJ0cnVlIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fc3dpdGNoIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX2Nhc3QiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9icmFjZXNfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZW5kX29mX2xpbmUiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl93aGlsZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9xdWVzdGlvbl9pbl9jb25kaXRpb25hbCIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9zZW1pY29sb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3RlbXBsYXRlX2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9iYXNlX2NsYXVzZSIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JyZWFrc19jb21wYXJlX3RvX2Nhc2VzIiB2YWx1ZT0idHJ1ZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV91bmFyeV9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmpvaW5fd3JhcHBlZF9saW5lcyIgdmFsdWU9InRydWUiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fZGVjbGFyYXRvcl9saXN0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hcmd1bWVudHNfaW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSIwIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fd2hpbGUiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9icmFja2V0cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2JyYWNrZXQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3BhcmFtZXRlcnNfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9jbG9zaW5nX2JyYWNlX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIubnVtYmVyX29mX2VtcHR5X2xpbmVzX3RvX3ByZXNlcnZlIiB2YWx1ZT0iMSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fZm9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KIDxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX2JyYWNlX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3NlbWljb2xvbl9pbl9mb3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbG9uX2luX2NvbmRpdGlvbmFsIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfYmxvY2siIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5wcmVzZXJ2ZV93aGl0ZV9zcGFjZV9iZXR3ZWVuX2NvZGVfYW5kX2xpbmVfY29tbWVudHMiIHZhbHVlPSJmYWxzZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9hc3NpZ25tZW50X29wZXJhdG9yIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYW5nbGVfYnJhY2tldF9pbl90ZW1wbGF0ZV9hcmd1bWVudHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2V4cHJlc3Npb25fbGlzdCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2FuZ2xlX2JyYWNrZXRfaW5fdGVtcGxhdGVfcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmNvbnRpbnVhdGlvbl9pbmRlbnRhdGlvbiIgdmFsdWU9IjIiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfZXhwcmVzc2lvbl9saXN0IiB2YWx1ZT0iMCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl90ZW1wbGF0ZV9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9kZWZhdWx0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2JpbmFyeV9vcGVyYXRvciIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9jb25kaXRpb25hbF9leHByZXNzaW9uIiB2YWx1ZT0iNDgiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZXR3ZWVuX2VtcHR5X3BhcmVuc19pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5faWYiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5mb3JtYXRfZ3VhcmRpYW5fY2xhdXNlX29uX29uZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9hY2Nlc3Nfc3BlY2lmaWVyX2V4dHJhX3NwYWNlcyIgdmFsdWU9IjAiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX2Nhc3QiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfYWNjZXNzX3NwZWNpZmllcl9jb21wYXJlX3RvX3R5cGVfaGVhZGVyIiB2YWx1ZT0idHJ1ZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5jb250aW51YXRpb25faW5kZW50YXRpb25fZm9yX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iMiIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2xhYmVsZWRfc3RhdGVtZW50IiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fbWV0aG9kX2RlY2xhcmF0aW9uX3BhcmFtZXRlcnMiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9zZW1pY29sb25faW5fZm9yIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfYm9keV9kZWNsYXJhdGlvbnNfY29tcGFyZV90b19uYW1lc3BhY2VfaGVhZGVyIiB2YWx1ZT0idHJ1ZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9jb21wYWN0X2lmIiB2YWx1ZT0iMCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2Fzc2lnbm1lbnRfb3BlcmF0b3IiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jbG9zaW5nX2JyYWNlX2luX2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hdF9lbmRfb2ZfZmlsZV9pZl9taXNzaW5nIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9hc3NpZ25tZW50IiB2YWx1ZT0iMTYiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfY29uZGl0aW9uYWxfZXhwcmVzc2lvbl9jaGFpbiIgdmFsdWU9IjE4Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fdGVtcGxhdGVfcGFyYW1ldGVycyIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2V4cHJlc3Npb25fbGlzdCIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9xdWVzdGlvbl9pbl9jb25kaXRpb25hbCIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX2V4Y2VwdGlvbl9zcGVjaWZpY2F0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2JpbmFyeV9vcGVyYXRvciIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9pZGVudGlmaWVyX2luX2Z1bmN0aW9uX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9iYXNlX2NsYXVzZV9pbl90eXBlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tZXRob2RfZGVjbGFyYXRpb25fdGhyb3dzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfcGFyZW5zX2luX2V4Y2VwdGlvbl9zcGVjaWZpY2F0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tZXRob2RfaW52b2NhdGlvbl9hcmd1bWVudHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfZGVjbGFyYXRpb25fY29tcGFyZV90b190ZW1wbGF0ZV9oZWFkZXIiIHZhbHVlPSJmYWxzZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3VuYXJ5X29wZXJhdG9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX3BhcmVuX2luX3N3aXRjaCIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X3N0YXRlbWVudHNfY29tcGFyZV90b19ib2R5IiB2YWx1ZT0idHJ1ZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX21ldGhvZF9kZWNsYXJhdGlvbl90aHJvd3MiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYmluYXJ5X2V4cHJlc3Npb24iIHZhbHVlPSIxNiIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X3N0YXRlbWVudHNfY29tcGFyZV90b19ibG9jayIgdmFsdWU9InRydWUiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fdGVtcGxhdGVfYXJndW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9jYXRjaF9pbl90cnlfc3RhdGVtZW50IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl90aHJvd3NfY2xhdXNlX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9IjAiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jbG9zaW5nX3BhcmVuX2luX2Nhc3QiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9jYXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19hbmdsZV9icmFja2V0X2luX3RlbXBsYXRlX3BhcmFtZXRlcnMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci50YWJ1bGF0aW9uLmNoYXIiIHZhbHVlPSJzcGFjZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX2FuZ2xlX2JyYWNrZXRfaW5fdGVtcGxhdGVfcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9iZWZvcmVfY29sb25faW5fY29uc3RydWN0b3JfaW5pdGlhbGl6ZXJfbGlzdCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3doaWxlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX21ldGhvZF9pbnZvY2F0aW9uX2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Jsb2NrX2luX2Nhc2UiIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuY29tcGFjdF9lbHNlX2lmIiB2YWx1ZT0idHJ1ZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3Bvc3RmaXhfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYWZ0ZXJfdGVtcGxhdGVfZGVjbGFyYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29sb25faW5fYmFzZV9jbGF1c2UiIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX2NhdGNoIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIua2VlcF90aGVuX3N0YXRlbWVudF9vbl9zYW1lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX3N3aXRjaCIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX292ZXJsb2FkZWRfbGVmdF9zaGlmdF9jaGFpbiIgdmFsdWU9IjE2Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5faWYiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9zd2l0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5rZWVwX2ltcGxlX2lmX29uX29uZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hZnRlcl9vcGVuaW5nX2JyYWNlX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50YXRpb24uc2l6ZSIgdmFsdWU9IjIiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9uYW1lc3BhY2VfZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2NvbmRpdGlvbmFsIiB2YWx1ZT0iaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2VudW1fZGVjbGFyYXRpb25zIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3ByZWZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3RlbXBsYXRlX2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbG9uX2luX2Nhc2UiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQotPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fY2F0Y2giIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9uYW1lc3BhY2VfZGVjbGFyYXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfcG9zdGZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCi08c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19icmFja2V0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KLTxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV93aGlsZV9pbl9kb19zdGF0ZW1lbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQogPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fZm9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X3N0YXRlbWVudHNfY29tcGFyZV90b19ib2R5IiB2YWx1ZT0idHJ1ZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbG9uX2luX2Jhc2VfY2xhdXNlIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3N3aXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfY29uZGl0aW9uYWxfZXhwcmVzc2lvbiIgdmFsdWU9IjIwIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29sb25faW5fbGFiZWxlZF9zdGF0ZW1lbnQiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9lbXB0eV9saW5lcyIgdmFsdWU9ImZhbHNlIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fY2FzdCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfcHJlZml4X29wZXJhdG9yIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2FmdGVyX29wZW5pbmdfYnJhY2VfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50LnByZXNlcnZlX3doaXRlX3NwYWNlX2JldHdlZW5fY29kZV9hbmRfbGluZV9jb21tZW50cyIgdmFsdWU9ImZhbHNlIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY2xvc2luZ19wYXJlbl9pbl9jYXN0IiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmV0d2Vlbl9lbXB0eV9wYXJlbnNfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2ludm9jYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX3Rocm93c19jbGF1c2VfaW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iMTYiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fZW51bV9kZWNsYXJhdGlvbnMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfYmluYXJ5X29wZXJhdG9yIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3NlbWljb2xvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYmluYXJ5X2V4cHJlc3Npb24iIHZhbHVlPSIyMCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX3NlbWljb2xvbl9pbl9mb3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfYnJhY2VzX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX3N3aXRjaCIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2V4cHJlc3Npb25fbGlzdCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmtlZXBfZWxzZV9zdGF0ZW1lbnRfb25fc2FtZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fYmFzZV9jbGF1c2UiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fYmFzZV90eXBlcyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLnVzZV90YWJzX29ubHlfZm9yX2xlYWRpbmdfaW5kZW50YXRpb25zIiB2YWx1ZT0iZmFsc2UiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZXR3ZWVuX2VtcHR5X3BhcmVuc19pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmtlZXBfdGhlbl9zdGF0ZW1lbnRfb25fc2FtZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9uZXdfbGluZV9hdF9lbmRfb2ZfZmlsZV9pZl9taXNzaW5nIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuY29tbWVudC5saW5lX3VwX2xpbmVfY29tbWVudF9pbl9ibG9ja3Nfb25fZmlyc3RfY29sdW1uIiB2YWx1ZT0iZmFsc2UiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9ib2R5X2RlY2xhcmF0aW9uc19jb21wYXJlX3RvX25hbWVzcGFjZV9oZWFkZXIiIHZhbHVlPSJ0cnVlIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5rZWVwX2VtcHR5X2FycmF5X2luaXRpYWxpemVyX29uX29uZV9saW5lIiB2YWx1ZT0iZmFsc2UiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9hY2Nlc3Nfc3BlY2lmaWVyX2V4dHJhX3NwYWNlcyIgdmFsdWU9IjAiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmNvbW1lbnQubmV2ZXJfaW5kZW50X2xpbmVfY29tbWVudHNfb25fZmlyc3RfY29sdW1uIiB2YWx1ZT0idHJ1ZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9lbHNlX2luX2lmX3N0YXRlbWVudCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9leHByZXNzaW9uX2xpc3QiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9ibG9jayIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYnJhY2tldCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYmFzZV9jbGF1c2VfaW5fdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9IjE2Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYW5nbGVfYnJhY2tldF9pbl90ZW1wbGF0ZV9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9tZXRob2RfZGVjbGFyYXRpb25fdGhyb3dzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9tZW1iZXJfYWNjZXNzIiB2YWx1ZT0iMjAiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9pZiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmJyYWNlX3Bvc2l0aW9uX2Zvcl9uYW1lc3BhY2VfZGVjbGFyYXRpb24iIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9mb3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fcGFyZW50aGVzaXplZF9leHByZXNzaW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9wYXJhbWV0ZXJzX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9IjE2Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5saW5lU3BsaXQiIHZhbHVlPSIxNjAiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fZGVmYXVsdCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLm51bWJlcl9vZl9lbXB0eV9saW5lc190b19wcmVzZXJ2ZSIgdmFsdWU9IjEiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb21tYV9pbl9tZXRob2RfZGVjbGFyYXRpb25fcGFyYW1ldGVycyIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfYnJhY2tldHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfYW5nbGVfYnJhY2tldF9pbl90ZW1wbGF0ZV9hcmd1bWVudHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fbWV0aG9kX2RlY2xhcmF0aW9uX3Rocm93cyIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfYnJhY2tldCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19hbmdsZV9icmFja2V0X2luX3RlbXBsYXRlX2FyZ3VtZW50cyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fdGVtcGxhdGVfYXJndW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9jb21wYWN0X2lmIiB2YWx1ZT0iMCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3ByZWZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfZGVjbGFyYXRvcl9saXN0IiB2YWx1ZT0iMTYiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfZXhwcmVzc2lvbnNfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSIyMCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jbG9zaW5nX3BhcmVuX2luX21ldGhvZF9kZWNsYXJhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX3BhcmVuX2luX3doaWxlIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JldHdlZW5fZW1wdHlfcGFyZW5zX2luX2V4Y2VwdGlvbl9zcGVjaWZpY2F0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfcGFyZW5faW5fY2FzdCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmNvbnRpbnVhdGlvbl9pbmRlbnRhdGlvbl9mb3JfYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSIyIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5jb21tZW50Lm1pbl9kaXN0YW5jZV9iZXR3ZWVuX2NvZGVfYW5kX2xpbmVfY29tbWVudCIgdmFsdWU9IjEiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFja2V0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9jb25zdHJ1Y3Rvcl9pbml0aWFsaXplcl9saXN0IiB2YWx1ZT0iMTYiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fY2FzZSIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19icmFjZV9pbl9zd2l0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fY2F0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fZXhjZXB0aW9uX3NwZWNpZmljYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19icmFjZV9pbl9hcnJheV9pbml0aWFsaXplciIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl9kZWNsYXJhdG9yX2xpc3QiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fY2F0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYW5nbGVfYnJhY2tldF9pbl90ZW1wbGF0ZV9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9vcGVuaW5nX2JyYWNlX2luX3R5cGVfZGVjbGFyYXRpb24iIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9zZW1pY29sb25faW5fZm9yIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9pZiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29tbWFfaW5fbWV0aG9kX2ludm9jYXRpb25fYXJndW1lbnRzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYnJhY2VfcG9zaXRpb25fZm9yX2Jsb2NrX2luX2Nhc2UiIHZhbHVlPSJlbmRfb2ZfbGluZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX3Bvc3RmaXhfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQogPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3RlbXBsYXRlX3BhcmFtZXRlcnMiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmNvbXBhY3RfZWxzZV9pZiIgdmFsdWU9InRydWUiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9zd2l0Y2hzdGF0ZW1lbnRzX2NvbXBhcmVfdG9fc3dpdGNoIiB2YWx1ZT0idHJ1ZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuYWxpZ25tZW50X2Zvcl9vdmVybG9hZGVkX2xlZnRfc2hpZnRfY2hhaW4iIHZhbHVlPSIyMCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX21ldGhvZF9pbnZvY2F0aW9uX2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9pZGVudGlmaWVyX2luX2Z1bmN0aW9uX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2luX2VtcHR5X2Jsb2NrIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fbWV0aG9kX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2RlY2xhcmF0b3JfbGlzdCIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb2xvbl9pbl9sYWJlbGVkX3N0YXRlbWVudCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9zdGF0ZW1lbnRzX2NvbXBhcmVfdG9fYmxvY2siIHZhbHVlPSJ0cnVlIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfYnJhY2VfaW5fbmFtZXNwYWNlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfYWNjZXNzX3NwZWNpZmllcl9jb21wYXJlX3RvX3R5cGVfaGVhZGVyIiB2YWx1ZT0idHJ1ZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX3RlbXBsYXRlX3BhcmFtZXRlcnMiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9pZiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfY29uZGl0aW9uYWxfZXhwcmVzc2lvbl9jaGFpbiIgdmFsdWU9IjE4Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci50YWJ1bGF0aW9uLmNoYXIiIHZhbHVlPSJzcGFjZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2FmdGVyX3RlbXBsYXRlX2RlY2xhcmF0aW9uIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9jb2xvbl9pbl9jb25zdHJ1Y3Rvcl9pbml0aWFsaXplcl9saXN0IiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2NvbW1hX2luX2VudW1fZGVjbGFyYXRpb25zIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfbmV3X2xpbmVfYmVmb3JlX2NhdGNoX2luX3RyeV9zdGF0ZW1lbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5icmFjZV9wb3NpdGlvbl9mb3JfdHlwZV9kZWNsYXJhdGlvbiIgdmFsdWU9ImVuZF9vZl9saW5lIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfYXNzaWdubWVudF9vcGVyYXRvciIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9iaW5hcnlfb3BlcmF0b3IiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmtlZXBfaW1wbGVfaWZfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV9jbG9zaW5nX2JyYWNlX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuY29udGludWF0aW9uX2luZGVudGF0aW9uIiB2YWx1ZT0iMiIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X25ld19saW5lX2JlZm9yZV93aGlsZV9pbl9kb19zdGF0ZW1lbnQiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5wdXRfZW1wdHlfc3RhdGVtZW50X29uX25ld19saW5lIiB2YWx1ZT0idHJ1ZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX2Nsb3NpbmdfYnJhY2VfaW5fYmxvY2siIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmZvcm1hdF9ndWFyZGlhbl9jbGF1c2Vfb25fb25lX2xpbmUiIHZhbHVlPSJmYWxzZSIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50YXRpb24uc2l6ZSIgdmFsdWU9IjIiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9vcGVuaW5nX2FuZ2xlX2JyYWNrZXRfaW5fdGVtcGxhdGVfcGFyYW1ldGVycyIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9zd2l0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2V4cHJlc3Npb25fbGlzdCIgdmFsdWU9IjAiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY29sb25faW5fY29uZGl0aW9uYWwiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfdW5hcnlfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fYXJyYXlfaW5pdGlhbGl6ZXIiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9hZnRlcl9jb2xvbl9pbl9jYXNlIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fYmFzZV90eXBlcyIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9hc3NpZ25tZW50X29wZXJhdG9yIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbmRlbnRfYnJlYWtzX2NvbXBhcmVfdG9fY2FzZXMiIHZhbHVlPSJ0cnVlIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX2FycmF5X2luaXRpYWxpemVyIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X3N3aXRjaHN0YXRlbWVudHNfY29tcGFyZV90b19jYXNlcyIgdmFsdWU9InRydWUiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluZGVudF9kZWNsYXJhdGlvbl9jb21wYXJlX3RvX3RlbXBsYXRlX2hlYWRlciIgdmFsdWU9ImZhbHNlIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2NvbW1hX2luX21ldGhvZF9kZWNsYXJhdGlvbl9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KIDxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2FmdGVyX29wZW5pbmdfYW5nbGVfYnJhY2tldF9pbl90ZW1wbGF0ZV9hcmd1bWVudHMiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfb3BlbmluZ19wYXJlbl9pbl9jYXRjaCIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9wYXJlbnRoZXNpemVkX2V4cHJlc3Npb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5hbGlnbm1lbnRfZm9yX2FyZ3VtZW50c19pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9IjIwIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX29wZW5pbmdfcGFyZW5faW5fd2hpbGUiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fZXhjZXB0aW9uX3NwZWNpZmljYXRpb24iIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfcXVlc3Rpb25faW5fY29uZGl0aW9uYWwiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfb3BlbmluZ19wYXJlbl9pbl9zd2l0Y2giIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfdW5hcnlfb3BlcmF0b3IiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5qb2luX3dyYXBwZWRfbGluZXMiIHZhbHVlPSJ0cnVlIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29sb25faW5fY29uZGl0aW9uYWwiIHZhbHVlPSJpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfcG9zdGZpeF9vcGVyYXRvciIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfYXNzaWdubWVudCIgdmFsdWU9IjIwIi8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYmVmb3JlX2Nsb3NpbmdfcGFyZW5faW5fd2hpbGUiIHZhbHVlPSJkbyBub3QgaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY29tbWFfaW5fdGVtcGxhdGVfYXJndW1lbnRzIiB2YWx1ZT0iaW5zZXJ0Ii8+DQorPHNldHRpbmcgaWQ9Im9yZy5lY2xpcHNlLmNkdC5jb3JlLmZvcm1hdHRlci5pbnNlcnRfc3BhY2VfYWZ0ZXJfY2xvc2luZ19hbmdsZV9icmFja2V0X2luX3RlbXBsYXRlX2FyZ3VtZW50cyIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9jb21tYV9pbl90ZW1wbGF0ZV9wYXJhbWV0ZXJzIiB2YWx1ZT0iZG8gbm90IGluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5zZXJ0X3NwYWNlX2JlZm9yZV9xdWVzdGlvbl9pbl9jb25kaXRpb25hbCIgdmFsdWU9Imluc2VydCIvPg0KKzxzZXR0aW5nIGlkPSJvcmcuZWNsaXBzZS5jZHQuY29yZS5mb3JtYXR0ZXIuaW5kZW50X2JvZHlfZGVjbGFyYXRpb25zX2NvbXBhcmVfdG9fYWNjZXNzX3NwZWNpZmllciIgdmFsdWU9InRydWUiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmFsaWdubWVudF9mb3JfZW51bWVyYXRvcl9saXN0IiB2YWx1ZT0iNDkiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLnRhYnVsYXRpb24uc2l6ZSIgdmFsdWU9IjIiLz4NCis8c2V0dGluZyBpZD0ib3JnLmVjbGlwc2UuY2R0LmNvcmUuZm9ybWF0dGVyLmluc2VydF9zcGFjZV9iZWZvcmVfY2xvc2luZ19wYXJlbl9pbl9tZXRob2RfaW52b2NhdGlvbiIgdmFsdWU9ImRvIG5vdCBpbnNlcnQiLz4NCiA8L3Byb2ZpbGU+DQogPC9wcm9maWxlcz4NCmRpZmYgLS1naXQgYS9ub3RpY2UuaHRtbCBiL25vdGljZS5odG1sCmluZGV4IGMzZDM0YzMuLmQ3NmQ3OWEgMTAwNjQ0Ci0tLSBhL25vdGljZS5odG1sCisrKyBiL25vdGljZS5odG1sCkBAIC03LDEwMSArNywxODMgQEAKIDwvaGVhZD4KIAogPGJvZHkgbGFuZz0iRU4tVVMiPgotPGgyPkVjbGlwc2UgRm91bmRhdGlvbiBTb2Z0d2FyZSBVc2VyIEFncmVlbWVudDwvaDI+Ci08cD5BcHJpbCA5LCAyMDE0PC9wPgorICA8aDI+RWNsaXBzZSBGb3VuZGF0aW9uIFNvZnR3YXJlIFVzZXIgQWdyZWVtZW50PC9oMj4KKyAgPHA+Tm92ZW1iZXIgMjIsIDIwMTc8L3A+CiAKLTxoMz5Vc2FnZSBPZiBDb250ZW50PC9oMz4KKyAgPGgzPlVzYWdlIE9mIENvbnRlbnQ8L2gzPgogCi08cD5USEUgRUNMSVBTRSBGT1VOREFUSU9OIE1BS0VTIEFWQUlMQUJMRSBTT0ZUV0FSRSwgRE9DVU1FTlRBVElPTiwgSU5GT1JNQVRJT04gQU5EL09SIE9USEVSIE1BVEVSSUFMUyBGT1IgT1BFTiBTT1VSQ0UgUFJPSkVDVFMKLSAgIChDT0xMRUNUSVZFTFkgJnF1b3Q7Q09OVEVOVCZxdW90OykuICBVU0UgT0YgVEhFIENPTlRFTlQgSVMgR09WRVJORUQgQlkgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIFRISVMgQUdSRUVNRU5UIEFORC9PUiBUSEUgVEVSTVMgQU5ECi0gICBDT05ESVRJT05TIE9GIExJQ0VOU0UgQUdSRUVNRU5UUyBPUiBOT1RJQ0VTIElORElDQVRFRCBPUiBSRUZFUkVOQ0VEIEJFTE9XLiAgQlkgVVNJTkcgVEhFIENPTlRFTlQsIFlPVSBBR1JFRSBUSEFUIFlPVVIgVVNFCi0gICBPRiBUSEUgQ09OVEVOVCBJUyBHT1ZFUk5FRCBCWSBUSElTIEFHUkVFTUVOVCBBTkQvT1IgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIEFOWSBBUFBMSUNBQkxFIExJQ0VOU0UgQUdSRUVNRU5UUyBPUgotICAgTk9USUNFUyBJTkRJQ0FURUQgT1IgUkVGRVJFTkNFRCBCRUxPVy4gIElGIFlPVSBETyBOT1QgQUdSRUUgVE8gVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIFRISVMgQUdSRUVNRU5UIEFORCBUSEUgVEVSTVMgQU5ECi0gICBDT05ESVRJT05TIE9GIEFOWSBBUFBMSUNBQkxFIExJQ0VOU0UgQUdSRUVNRU5UUyBPUiBOT1RJQ0VTIElORElDQVRFRCBPUiBSRUZFUkVOQ0VEIEJFTE9XLCBUSEVOIFlPVSBNQVkgTk9UIFVTRSBUSEUgQ09OVEVOVC48L3A+CisgIDxwPlRIRSBFQ0xJUFNFIEZPVU5EQVRJT04gTUFLRVMgQVZBSUxBQkxFIFNPRlRXQVJFLCBET0NVTUVOVEFUSU9OLAorICAgIElORk9STUFUSU9OIEFORC9PUiBPVEhFUiBNQVRFUklBTFMgRk9SIE9QRU4gU09VUkNFIFBST0pFQ1RTCisgICAgKENPTExFQ1RJVkVMWSAmcXVvdDtDT05URU5UJnF1b3Q7KS4gVVNFIE9GIFRIRSBDT05URU5UIElTIEdPVkVSTkVEIEJZCisgICAgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIFRISVMgQUdSRUVNRU5UIEFORC9PUiBUSEUgVEVSTVMgQU5ECisgICAgQ09ORElUSU9OUyBPRiBMSUNFTlNFIEFHUkVFTUVOVFMgT1IgTk9USUNFUyBJTkRJQ0FURUQgT1IgUkVGRVJFTkNFRAorICAgIEJFTE9XLiBCWSBVU0lORyBUSEUgQ09OVEVOVCwgWU9VIEFHUkVFIFRIQVQgWU9VUiBVU0UgT0YgVEhFIENPTlRFTlQgSVMKKyAgICBHT1ZFUk5FRCBCWSBUSElTIEFHUkVFTUVOVCBBTkQvT1IgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIEFOWQorICAgIEFQUExJQ0FCTEUgTElDRU5TRSBBR1JFRU1FTlRTIE9SIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQKKyAgICBCRUxPVy4gSUYgWU9VIERPIE5PVCBBR1JFRSBUTyBUSEUgVEVSTVMgQU5EIENPTkRJVElPTlMgT0YgVEhJUworICAgIEFHUkVFTUVOVCBBTkQgVEhFIFRFUk1TIEFORCBDT05ESVRJT05TIE9GIEFOWSBBUFBMSUNBQkxFIExJQ0VOU0UKKyAgICBBR1JFRU1FTlRTIE9SIE5PVElDRVMgSU5ESUNBVEVEIE9SIFJFRkVSRU5DRUQgQkVMT1csIFRIRU4gWU9VIE1BWSBOT1QKKyAgICBVU0UgVEhFIENPTlRFTlQuPC9wPgogCi08aDM+QXBwbGljYWJsZSBMaWNlbnNlczwvaDM+CisgIDxoMz5BcHBsaWNhYmxlIExpY2Vuc2VzPC9oMz4KIAotPHA+VW5sZXNzIG90aGVyd2lzZSBpbmRpY2F0ZWQsIGFsbCBDb250ZW50IG1hZGUgYXZhaWxhYmxlIGJ5IHRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgcHJvdmlkZWQgdG8geW91IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMAotICAgKCZxdW90O0VQTCZxdW90OykuICBBIGNvcHkgb2YgdGhlIEVQTCBpcyBwcm92aWRlZCB3aXRoIHRoaXMgQ29udGVudCBhbmQgaXMgYWxzbyBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sPC9hPi4KLSAgIEZvciBwdXJwb3NlcyBvZiB0aGUgRVBMLCAmcXVvdDtQcm9ncmFtJnF1b3Q7IHdpbGwgbWVhbiB0aGUgQ29udGVudC48L3A+CisgIDxwPgorICAgIFVubGVzcyBvdGhlcndpc2UgaW5kaWNhdGVkLCBhbGwgQ29udGVudCBtYWRlIGF2YWlsYWJsZSBieSB0aGUgRWNsaXBzZQorICAgIEZvdW5kYXRpb24gaXMgcHJvdmlkZWQgdG8geW91IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUKKyAgICBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMi4wICgmcXVvdDtFUEwmcXVvdDspLiBBIGNvcHkgb2YgdGhlCisgICAgRVBMIGlzIHByb3ZpZGVkIHdpdGggdGhpcyBDb250ZW50IGFuZCBpcyBhbHNvIGF2YWlsYWJsZSBhdCA8YQorICAgICAgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjA8L2E+LgorICAgIEZvciBwdXJwb3NlcyBvZiB0aGUgRVBMLCAmcXVvdDtQcm9ncmFtJnF1b3Q7IHdpbGwgbWVhbiB0aGUgQ29udGVudC4KKyAgPC9wPgogCi08cD5Db250ZW50IGluY2x1ZGVzLCBidXQgaXMgbm90IGxpbWl0ZWQgdG8sIHNvdXJjZSBjb2RlLCBvYmplY3QgY29kZSwgZG9jdW1lbnRhdGlvbiBhbmQgb3RoZXIgZmlsZXMgbWFpbnRhaW5lZCBpbiB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIHNvdXJjZSBjb2RlCi0gICByZXBvc2l0b3J5ICgmcXVvdDtSZXBvc2l0b3J5JnF1b3Q7KSBpbiBzb2Z0d2FyZSBtb2R1bGVzICgmcXVvdDtNb2R1bGVzJnF1b3Q7KSBhbmQgbWFkZSBhdmFpbGFibGUgYXMgZG93bmxvYWRhYmxlIGFyY2hpdmVzICgmcXVvdDtEb3dubG9hZHMmcXVvdDspLjwvcD4KKyAgPHA+Q29udGVudCBpbmNsdWRlcywgYnV0IGlzIG5vdCBsaW1pdGVkIHRvLCBzb3VyY2UgY29kZSwgb2JqZWN0CisgICAgY29kZSwgZG9jdW1lbnRhdGlvbiBhbmQgb3RoZXIgZmlsZXMgbWFpbnRhaW5lZCBpbiB0aGUgRWNsaXBzZQorICAgIEZvdW5kYXRpb24gc291cmNlIGNvZGUgcmVwb3NpdG9yeSAoJnF1b3Q7UmVwb3NpdG9yeSZxdW90OykgaW4gc29mdHdhcmUKKyAgICBtb2R1bGVzICgmcXVvdDtNb2R1bGVzJnF1b3Q7KSBhbmQgbWFkZSBhdmFpbGFibGUgYXMgZG93bmxvYWRhYmxlCisgICAgYXJjaGl2ZXMgKCZxdW90O0Rvd25sb2FkcyZxdW90OykuPC9wPgogCi08dWw+Ci0gICAgICAgPGxpPkNvbnRlbnQgbWF5IGJlIHN0cnVjdHVyZWQgYW5kIHBhY2thZ2VkIGludG8gbW9kdWxlcyB0byBmYWNpbGl0YXRlIGRlbGl2ZXJpbmcsIGV4dGVuZGluZywgYW5kIHVwZ3JhZGluZyB0aGUgQ29udGVudC4gIFR5cGljYWwgbW9kdWxlcyBtYXkgaW5jbHVkZSBwbHVnLWlucyAoJnF1b3Q7UGx1Zy1pbnMmcXVvdDspLCBwbHVnLWluIGZyYWdtZW50cyAoJnF1b3Q7RnJhZ21lbnRzJnF1b3Q7KSwgYW5kIGZlYXR1cmVzICgmcXVvdDtGZWF0dXJlcyZxdW90OykuPC9saT4KLSAgICAgICA8bGk+RWFjaCBQbHVnLWluIG9yIEZyYWdtZW50IG1heSBiZSBwYWNrYWdlZCBhcyBhIHN1Yi1kaXJlY3Rvcnkgb3IgSkFSIChKYXZhJnRyYWRlOyBBUmNoaXZlKSBpbiBhIGRpcmVjdG9yeSBuYW1lZCAmcXVvdDtwbHVnaW5zJnF1b3Q7LjwvbGk+Ci0gICAgICAgPGxpPkEgRmVhdHVyZSBpcyBhIGJ1bmRsZSBvZiBvbmUgb3IgbW9yZSBQbHVnLWlucyBhbmQvb3IgRnJhZ21lbnRzIGFuZCBhc3NvY2lhdGVkIG1hdGVyaWFsLiAgRWFjaCBGZWF0dXJlIG1heSBiZSBwYWNrYWdlZCBhcyBhIHN1Yi1kaXJlY3RvcnkgaW4gYSBkaXJlY3RvcnkgbmFtZWQgJnF1b3Q7ZmVhdHVyZXMmcXVvdDsuICBXaXRoaW4gYSBGZWF0dXJlLCBmaWxlcyBuYW1lZCAmcXVvdDtmZWF0dXJlLnhtbCZxdW90OyBtYXkgY29udGFpbiBhIGxpc3Qgb2YgdGhlIG5hbWVzIGFuZCB2ZXJzaW9uIG51bWJlcnMgb2YgdGhlIFBsdWctaW5zCi0gICAgICBhbmQvb3IgRnJhZ21lbnRzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IEZlYXR1cmUuPC9saT4KLSAgICAgICA8bGk+RmVhdHVyZXMgbWF5IGFsc28gaW5jbHVkZSBvdGhlciBGZWF0dXJlcyAoJnF1b3Q7SW5jbHVkZWQgRmVhdHVyZXMmcXVvdDspLiBXaXRoaW4gYSBGZWF0dXJlLCBmaWxlcyBuYW1lZCAmcXVvdDtmZWF0dXJlLnhtbCZxdW90OyBtYXkgY29udGFpbiBhIGxpc3Qgb2YgdGhlIG5hbWVzIGFuZCB2ZXJzaW9uIG51bWJlcnMgb2YgSW5jbHVkZWQgRmVhdHVyZXMuPC9saT4KLTwvdWw+CisgIDx1bD4KKyAgICA8bGk+Q29udGVudCBtYXkgYmUgc3RydWN0dXJlZCBhbmQgcGFja2FnZWQgaW50byBtb2R1bGVzIHRvCisgICAgICBmYWNpbGl0YXRlIGRlbGl2ZXJpbmcsIGV4dGVuZGluZywgYW5kIHVwZ3JhZGluZyB0aGUgQ29udGVudC4gVHlwaWNhbAorICAgICAgbW9kdWxlcyBtYXkgaW5jbHVkZSBwbHVnLWlucyAoJnF1b3Q7UGx1Zy1pbnMmcXVvdDspLCBwbHVnLWluCisgICAgICBmcmFnbWVudHMgKCZxdW90O0ZyYWdtZW50cyZxdW90OyksIGFuZCBmZWF0dXJlcworICAgICAgKCZxdW90O0ZlYXR1cmVzJnF1b3Q7KS48L2xpPgorICAgIDxsaT5FYWNoIFBsdWctaW4gb3IgRnJhZ21lbnQgbWF5IGJlIHBhY2thZ2VkIGFzIGEgc3ViLWRpcmVjdG9yeQorICAgICAgb3IgSkFSIChKYXZhJnRyYWRlOyBBUmNoaXZlKSBpbiBhIGRpcmVjdG9yeSBuYW1lZAorICAgICAgJnF1b3Q7cGx1Z2lucyZxdW90Oy48L2xpPgorICAgIDxsaT5BIEZlYXR1cmUgaXMgYSBidW5kbGUgb2Ygb25lIG9yIG1vcmUgUGx1Zy1pbnMgYW5kL29yCisgICAgICBGcmFnbWVudHMgYW5kIGFzc29jaWF0ZWQgbWF0ZXJpYWwuIEVhY2ggRmVhdHVyZSBtYXkgYmUgcGFja2FnZWQgYXMgYQorICAgICAgc3ViLWRpcmVjdG9yeSBpbiBhIGRpcmVjdG9yeSBuYW1lZCAmcXVvdDtmZWF0dXJlcyZxdW90Oy4gV2l0aGluIGEKKyAgICAgIEZlYXR1cmUsIGZpbGVzIG5hbWVkICZxdW90O2ZlYXR1cmUueG1sJnF1b3Q7IG1heSBjb250YWluIGEgbGlzdCBvZgorICAgICAgdGhlIG5hbWVzIGFuZCB2ZXJzaW9uIG51bWJlcnMgb2YgdGhlIFBsdWctaW5zIGFuZC9vciBGcmFnbWVudHMKKyAgICAgIGFzc29jaWF0ZWQgd2l0aCB0aGF0IEZlYXR1cmUuPC9saT4KKyAgICA8bGk+RmVhdHVyZXMgbWF5IGFsc28gaW5jbHVkZSBvdGhlciBGZWF0dXJlcyAoJnF1b3Q7SW5jbHVkZWQKKyAgICAgIEZlYXR1cmVzJnF1b3Q7KS4gV2l0aGluIGEgRmVhdHVyZSwgZmlsZXMgbmFtZWQKKyAgICAgICZxdW90O2ZlYXR1cmUueG1sJnF1b3Q7IG1heSBjb250YWluIGEgbGlzdCBvZiB0aGUgbmFtZXMgYW5kIHZlcnNpb24KKyAgICAgIG51bWJlcnMgb2YgSW5jbHVkZWQgRmVhdHVyZXMuPC9saT4KKyAgPC91bD4KIAotPHA+VGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyBQbHVnLWlucyBhbmQgRnJhZ21lbnRzIHNob3VsZCBiZSBjb250YWluZWQgaW4gZmlsZXMgbmFtZWQgJnF1b3Q7YWJvdXQuaHRtbCZxdW90OyAoJnF1b3Q7QWJvdXRzJnF1b3Q7KS4gVGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyBGZWF0dXJlcyBhbmQKLUluY2x1ZGVkIEZlYXR1cmVzIHNob3VsZCBiZSBjb250YWluZWQgaW4gZmlsZXMgbmFtZWQgJnF1b3Q7bGljZW5zZS5odG1sJnF1b3Q7ICgmcXVvdDtGZWF0dXJlIExpY2Vuc2VzJnF1b3Q7KS4gIEFib3V0cyBhbmQgRmVhdHVyZSBMaWNlbnNlcyBtYXkgYmUgbG9jYXRlZCBpbiBhbnkgZGlyZWN0b3J5IG9mIGEgRG93bmxvYWQgb3IgTW9kdWxlCi1pbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0byB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczo8L3A+CisgIDxwPlRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBnb3Zlcm5pbmcgUGx1Zy1pbnMgYW5kIEZyYWdtZW50cyBzaG91bGQKKyAgICBiZSBjb250YWluZWQgaW4gZmlsZXMgbmFtZWQgJnF1b3Q7YWJvdXQuaHRtbCZxdW90OworICAgICgmcXVvdDtBYm91dHMmcXVvdDspLiBUaGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZ292ZXJuaW5nIEZlYXR1cmVzIGFuZAorICAgIEluY2x1ZGVkIEZlYXR1cmVzIHNob3VsZCBiZSBjb250YWluZWQgaW4gZmlsZXMgbmFtZWQKKyAgICAmcXVvdDtsaWNlbnNlLmh0bWwmcXVvdDsgKCZxdW90O0ZlYXR1cmUgTGljZW5zZXMmcXVvdDspLiBBYm91dHMgYW5kCisgICAgRmVhdHVyZSBMaWNlbnNlcyBtYXkgYmUgbG9jYXRlZCBpbiBhbnkgZGlyZWN0b3J5IG9mIGEgRG93bmxvYWQgb3IKKyAgICBNb2R1bGUgaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6PC9wPgogCi08dWw+Ci0gICAgICAgPGxpPlRoZSB0b3AtbGV2ZWwgKHJvb3QpIGRpcmVjdG9yeTwvbGk+Ci0gICAgICAgPGxpPlBsdWctaW4gYW5kIEZyYWdtZW50IGRpcmVjdG9yaWVzPC9saT4KLSAgICAgICA8bGk+SW5zaWRlIFBsdWctaW5zIGFuZCBGcmFnbWVudHMgcGFja2FnZWQgYXMgSkFSczwvbGk+Ci0gICAgICAgPGxpPlN1Yi1kaXJlY3RvcmllcyBvZiB0aGUgZGlyZWN0b3J5IG5hbWVkICZxdW90O3NyYyZxdW90OyBvZiBjZXJ0YWluIFBsdWctaW5zPC9saT4KLSAgICAgICA8bGk+RmVhdHVyZSBkaXJlY3RvcmllczwvbGk+Ci08L3VsPgorICA8dWw+CisgICAgPGxpPlRoZSB0b3AtbGV2ZWwgKHJvb3QpIGRpcmVjdG9yeTwvbGk+CisgICAgPGxpPlBsdWctaW4gYW5kIEZyYWdtZW50IGRpcmVjdG9yaWVzPC9saT4KKyAgICA8bGk+SW5zaWRlIFBsdWctaW5zIGFuZCBGcmFnbWVudHMgcGFja2FnZWQgYXMgSkFSczwvbGk+CisgICAgPGxpPlN1Yi1kaXJlY3RvcmllcyBvZiB0aGUgZGlyZWN0b3J5IG5hbWVkICZxdW90O3NyYyZxdW90OyBvZgorICAgICAgY2VydGFpbiBQbHVnLWluczwvbGk+CisgICAgPGxpPkZlYXR1cmUgZGlyZWN0b3JpZXM8L2xpPgorICA8L3VsPgogCi08cD5Ob3RlOiBpZiBhIEZlYXR1cmUgbWFkZSBhdmFpbGFibGUgYnkgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyBpbnN0YWxsZWQgdXNpbmcgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IChhcyBkZWZpbmVkIGJlbG93KSwgeW91IG11c3QgYWdyZWUgdG8gYSBsaWNlbnNlICgmcXVvdDtGZWF0dXJlIFVwZGF0ZSBMaWNlbnNlJnF1b3Q7KSBkdXJpbmcgdGhlCi1pbnN0YWxsYXRpb24gcHJvY2Vzcy4gIElmIHRoZSBGZWF0dXJlIGNvbnRhaW5zIEluY2x1ZGVkIEZlYXR1cmVzLCB0aGUgRmVhdHVyZSBVcGRhdGUgTGljZW5zZSBzaG91bGQgZWl0aGVyIHByb3ZpZGUgeW91IHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybmluZyB0aGUgSW5jbHVkZWQgRmVhdHVyZXMgb3IKLWluZm9ybSB5b3Ugd2hlcmUgeW91IGNhbiBsb2NhdGUgdGhlbS4gIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2VzIG1heSBiZSBmb3VuZCBpbiB0aGUgJnF1b3Q7bGljZW5zZSZxdW90OyBwcm9wZXJ0eSBvZiBmaWxlcyBuYW1lZCAmcXVvdDtmZWF0dXJlLnByb3BlcnRpZXMmcXVvdDsgZm91bmQgd2l0aGluIGEgRmVhdHVyZS4KLVN1Y2ggQWJvdXRzLCBGZWF0dXJlIExpY2Vuc2VzLCBhbmQgRmVhdHVyZSBVcGRhdGUgTGljZW5zZXMgY29udGFpbiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgKG9yIHJlZmVyZW5jZXMgdG8gc3VjaCB0ZXJtcyBhbmQgY29uZGl0aW9ucykgdGhhdCBnb3Zlcm4geW91ciB1c2Ugb2YgdGhlIGFzc29jaWF0ZWQgQ29udGVudCBpbgotdGhhdCBkaXJlY3RvcnkuPC9wPgorICA8cD5Ob3RlOiBpZiBhIEZlYXR1cmUgbWFkZSBhdmFpbGFibGUgYnkgdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcworICAgIGluc3RhbGxlZCB1c2luZyB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgKGFzIGRlZmluZWQgYmVsb3cpLCB5b3UKKyAgICBtdXN0IGFncmVlIHRvIGEgbGljZW5zZSAoJnF1b3Q7RmVhdHVyZSBVcGRhdGUgTGljZW5zZSZxdW90OykgZHVyaW5nCisgICAgdGhlIGluc3RhbGxhdGlvbiBwcm9jZXNzLiBJZiB0aGUgRmVhdHVyZSBjb250YWlucyBJbmNsdWRlZCBGZWF0dXJlcywKKyAgICB0aGUgRmVhdHVyZSBVcGRhdGUgTGljZW5zZSBzaG91bGQgZWl0aGVyIHByb3ZpZGUgeW91IHdpdGggdGhlIHRlcm1zCisgICAgYW5kIGNvbmRpdGlvbnMgZ292ZXJuaW5nIHRoZSBJbmNsdWRlZCBGZWF0dXJlcyBvciBpbmZvcm0geW91IHdoZXJlIHlvdQorICAgIGNhbiBsb2NhdGUgdGhlbS4gRmVhdHVyZSBVcGRhdGUgTGljZW5zZXMgbWF5IGJlIGZvdW5kIGluIHRoZQorICAgICZxdW90O2xpY2Vuc2UmcXVvdDsgcHJvcGVydHkgb2YgZmlsZXMgbmFtZWQKKyAgICAmcXVvdDtmZWF0dXJlLnByb3BlcnRpZXMmcXVvdDsgZm91bmQgd2l0aGluIGEgRmVhdHVyZS4gU3VjaCBBYm91dHMsCisgICAgRmVhdHVyZSBMaWNlbnNlcywgYW5kIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2VzIGNvbnRhaW4gdGhlIHRlcm1zIGFuZAorICAgIGNvbmRpdGlvbnMgKG9yIHJlZmVyZW5jZXMgdG8gc3VjaCB0ZXJtcyBhbmQgY29uZGl0aW9ucykgdGhhdCBnb3Zlcm4KKyAgICB5b3VyIHVzZSBvZiB0aGUgYXNzb2NpYXRlZCBDb250ZW50IGluIHRoYXQgZGlyZWN0b3J5LjwvcD4KIAotPHA+VEhFIEFCT1VUUywgRkVBVFVSRSBMSUNFTlNFUywgQU5EIEZFQVRVUkUgVVBEQVRFIExJQ0VOU0VTIE1BWSBSRUZFUiBUTyBUSEUgRVBMIE9SIE9USEVSIExJQ0VOU0UgQUdSRUVNRU5UUywgTk9USUNFUyBPUiBURVJNUyBBTkQgQ09ORElUSU9OUy4gIFNPTUUgT0YgVEhFU0UKLU9USEVSIExJQ0VOU0UgQUdSRUVNRU5UUyBNQVkgSU5DTFVERSAoQlVUIEFSRSBOT1QgTElNSVRFRCBUTyk6PC9wPgorICA8cD5USEUgQUJPVVRTLCBGRUFUVVJFIExJQ0VOU0VTLCBBTkQgRkVBVFVSRSBVUERBVEUgTElDRU5TRVMgTUFZCisgICAgUkVGRVIgVE8gVEhFIEVQTCBPUiBPVEhFUiBMSUNFTlNFIEFHUkVFTUVOVFMsIE5PVElDRVMgT1IgVEVSTVMgQU5ECisgICAgQ09ORElUSU9OUy4gU09NRSBPRiBUSEVTRSBPVEhFUiBMSUNFTlNFIEFHUkVFTUVOVFMgTUFZIElOQ0xVREUgKEJVVAorICAgIEFSRSBOT1QgTElNSVRFRCBUTyk6PC9wPgogCi08dWw+Ci0gICAgICAgPGxpPkVjbGlwc2UgRGlzdHJpYnV0aW9uIExpY2Vuc2UgVmVyc2lvbiAxLjAgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xpY2Vuc2VzL2VkbC12MTAuaHRtbCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9saWNlbnNlcy9lZGwtdjEuMC5odG1sPC9hPik8L2xpPgotICAgICAgIDxsaT5Db21tb24gUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjAgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2NwbC12MTAuaHRtbCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jcGwtdjEwLmh0bWw8L2E+KTwvbGk+Ci0gICAgICAgPGxpPkFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlIDEuMSAoYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRTwvYT4pPC9saT4KLSAgICAgICA8bGk+QXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wIChhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjA8L2E+KTwvbGk+Ci0gICAgICAgPGxpPk1vemlsbGEgUHVibGljIExpY2Vuc2UgVmVyc2lvbiAxLjEgKGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL01QTC9NUEwtMS4xLmh0bWwiPmh0dHA6Ly93d3cubW96aWxsYS5vcmcvTVBML01QTC0xLjEuaHRtbDwvYT4pPC9saT4KLTwvdWw+CisgIDx1bD4KKyAgICA8bGk+RWNsaXBzZSBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDEuMCAoYXZhaWxhYmxlIGF0IDxhCisgICAgICBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCI+aHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWw8L2E+KQorICAgIDwvbGk+CisgICAgPGxpPkVjbGlwc2UgRGlzdHJpYnV0aW9uIExpY2Vuc2UgVmVyc2lvbiAxLjAgKGF2YWlsYWJsZSBhdCA8YQorICAgICAgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9saWNlbnNlcy9lZGwtdjEwLmh0bWwiPmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGljZW5zZXMvZWRsLXYxLjAuaHRtbDwvYT4pCisgICAgPC9saT4KKyAgICA8bGk+Q29tbW9uIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4wIChhdmFpbGFibGUgYXQgPGEKKyAgICAgIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sIj5odHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2NwbC12MTAuaHRtbDwvYT4pCisgICAgPC9saT4KKyAgICA8bGk+QXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMS4xIChhdmFpbGFibGUgYXQgPGEKKyAgICAgIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFIj5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRTwvYT4pCisgICAgPC9saT4KKyAgICA8bGk+QXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wIChhdmFpbGFibGUgYXQgPGEKKyAgICAgIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+aHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wPC9hPikKKyAgICA8L2xpPgorICAgIDxsaT5Nb3ppbGxhIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMS4xIChhdmFpbGFibGUgYXQgPGEKKyAgICAgIGhyZWY9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcvTVBML01QTC0xLjEuaHRtbCI+aHR0cDovL3d3dy5tb3ppbGxhLm9yZy9NUEwvTVBMLTEuMS5odG1sPC9hPikKKyAgICA8L2xpPgorICA8L3VsPgogCi08cD5JVCBJUyBZT1VSIE9CTElHQVRJT04gVE8gUkVBRCBBTkQgQUNDRVBUIEFMTCBTVUNIIFRFUk1TIEFORCBDT05ESVRJT05TIFBSSU9SIFRPIFVTRSBPRiBUSEUgQ09OVEVOVC4gIElmIG5vIEFib3V0LCBGZWF0dXJlIExpY2Vuc2UsIG9yIEZlYXR1cmUgVXBkYXRlIExpY2Vuc2UgaXMgcHJvdmlkZWQsIHBsZWFzZQotY29udGFjdCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIHRvIGRldGVybWluZSB3aGF0IHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybiB0aGF0IHBhcnRpY3VsYXIgQ29udGVudC48L3A+CisgIDxwPklUIElTIFlPVVIgT0JMSUdBVElPTiBUTyBSRUFEIEFORCBBQ0NFUFQgQUxMIFNVQ0ggVEVSTVMgQU5ECisgICAgQ09ORElUSU9OUyBQUklPUiBUTyBVU0UgT0YgVEhFIENPTlRFTlQuIElmIG5vIEFib3V0LCBGZWF0dXJlIExpY2Vuc2UsCisgICAgb3IgRmVhdHVyZSBVcGRhdGUgTGljZW5zZSBpcyBwcm92aWRlZCwgcGxlYXNlIGNvbnRhY3QgdGhlIEVjbGlwc2UKKyAgICBGb3VuZGF0aW9uIHRvIGRldGVybWluZSB3aGF0IHRlcm1zIGFuZCBjb25kaXRpb25zIGdvdmVybiB0aGF0CisgICAgcGFydGljdWxhciBDb250ZW50LjwvcD4KIAogCi08aDM+VXNlIG9mIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5PC9oMz4KKyAgPGgzPlVzZSBvZiBQcm92aXNpb25pbmcgVGVjaG5vbG9neTwvaDM+CiAKLTxwPlRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIHByb3Zpc2lvbmluZyBzb2Z0d2FyZSwgZXhhbXBsZXMgb2Ygd2hpY2ggaW5jbHVkZSwgYnV0IGFyZSBub3QgbGltaXRlZCB0bywgcDIgYW5kIHRoZSBFY2xpcHNlCi0gICBVcGRhdGUgTWFuYWdlciAoJnF1b3Q7UHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kmcXVvdDspIGZvciB0aGUgcHVycG9zZSBvZiBhbGxvd2luZyB1c2VycyB0byBpbnN0YWxsIHNvZnR3YXJlLCBkb2N1bWVudGF0aW9uLCBpbmZvcm1hdGlvbiBhbmQvb3IKLSAgIG90aGVyIG1hdGVyaWFscyAoY29sbGVjdGl2ZWx5ICZxdW90O0luc3RhbGxhYmxlIFNvZnR3YXJlJnF1b3Q7KS4gVGhpcyBjYXBhYmlsaXR5IGlzIHByb3ZpZGVkIHdpdGggdGhlIGludGVudCBvZiBhbGxvd2luZyBzdWNoIHVzZXJzIHRvCi0gICBpbnN0YWxsLCBleHRlbmQgYW5kIHVwZGF0ZSBFY2xpcHNlLWJhc2VkIHByb2R1Y3RzLiBJbmZvcm1hdGlvbiBhYm91dCBwYWNrYWdpbmcgSW5zdGFsbGFibGUgU29mdHdhcmUgaXMgYXZhaWxhYmxlIGF0IDxhCi0gICAgICAgaHJlZj0iaHR0cDovL2VjbGlwc2Uub3JnL2VxdWlub3gvcDIvcmVwb3NpdG9yeV9wYWNrYWdpbmcuaHRtbCI+aHR0cDovL2VjbGlwc2Uub3JnL2VxdWlub3gvcDIvcmVwb3NpdG9yeV9wYWNrYWdpbmcuaHRtbDwvYT4KLSAgICgmcXVvdDtTcGVjaWZpY2F0aW9uJnF1b3Q7KS48L3A+CisgIDxwPgorICAgIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gbWFrZXMgYXZhaWxhYmxlIHByb3Zpc2lvbmluZyBzb2Z0d2FyZSwgZXhhbXBsZXMKKyAgICBvZiB3aGljaCBpbmNsdWRlLCBidXQgYXJlIG5vdCBsaW1pdGVkIHRvLCBwMiBhbmQgdGhlIEVjbGlwc2UgVXBkYXRlCisgICAgTWFuYWdlciAoJnF1b3Q7UHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kmcXVvdDspIGZvciB0aGUgcHVycG9zZSBvZgorICAgIGFsbG93aW5nIHVzZXJzIHRvIGluc3RhbGwgc29mdHdhcmUsIGRvY3VtZW50YXRpb24sIGluZm9ybWF0aW9uIGFuZC9vcgorICAgIG90aGVyIG1hdGVyaWFscyAoY29sbGVjdGl2ZWx5ICZxdW90O0luc3RhbGxhYmxlIFNvZnR3YXJlJnF1b3Q7KS4gVGhpcworICAgIGNhcGFiaWxpdHkgaXMgcHJvdmlkZWQgd2l0aCB0aGUgaW50ZW50IG9mIGFsbG93aW5nIHN1Y2ggdXNlcnMgdG8KKyAgICBpbnN0YWxsLCBleHRlbmQgYW5kIHVwZGF0ZSBFY2xpcHNlLWJhc2VkIHByb2R1Y3RzLiBJbmZvcm1hdGlvbiBhYm91dAorICAgIHBhY2thZ2luZyBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBpcyBhdmFpbGFibGUgYXQgPGEKKyAgICAgIGhyZWY9Imh0dHA6Ly9lY2xpcHNlLm9yZy9lcXVpbm94L3AyL3JlcG9zaXRvcnlfcGFja2FnaW5nLmh0bWwiPmh0dHA6Ly9lY2xpcHNlLm9yZy9lcXVpbm94L3AyL3JlcG9zaXRvcnlfcGFja2FnaW5nLmh0bWw8L2E+CisgICAgKCZxdW90O1NwZWNpZmljYXRpb24mcXVvdDspLgorICA8L3A+CiAKLTxwPllvdSBtYXkgdXNlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5IHRvIGFsbG93IG90aGVyIHBhcnRpZXMgdG8gaW5zdGFsbCBJbnN0YWxsYWJsZSBTb2Z0d2FyZS4gWW91IHNoYWxsIGJlIHJlc3BvbnNpYmxlIGZvciBlbmFibGluZyB0aGUKLSAgIGFwcGxpY2FibGUgbGljZW5zZSBhZ3JlZW1lbnRzIHJlbGF0aW5nIHRvIHRoZSBJbnN0YWxsYWJsZSBTb2Z0d2FyZSB0byBiZSBwcmVzZW50ZWQgdG8sIGFuZCBhY2NlcHRlZCBieSwgdGhlIHVzZXJzIG9mIHRoZSBQcm92aXNpb25pbmcgVGVjaG5vbG9neQotICAgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBTcGVjaWZpY2F0aW9uLiBCeSB1c2luZyBQcm92aXNpb25pbmcgVGVjaG5vbG9neSBpbiBzdWNoIGEgbWFubmVyIGFuZCBtYWtpbmcgaXQgYXZhaWxhYmxlIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUKLSAgIFNwZWNpZmljYXRpb24sIHlvdSBmdXJ0aGVyIGFja25vd2xlZGdlIHlvdXIgYWdyZWVtZW50IHRvLCBhbmQgdGhlIGFjcXVpc2l0aW9uIG9mIGFsbCBuZWNlc3NhcnkgcmlnaHRzIHRvIHBlcm1pdCB0aGUgZm9sbG93aW5nOjwvcD4KKyAgPHA+WW91IG1heSB1c2UgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgdG8gYWxsb3cgb3RoZXIgcGFydGllcyB0bworICAgIGluc3RhbGwgSW5zdGFsbGFibGUgU29mdHdhcmUuIFlvdSBzaGFsbCBiZSByZXNwb25zaWJsZSBmb3IgZW5hYmxpbmcKKyAgICB0aGUgYXBwbGljYWJsZSBsaWNlbnNlIGFncmVlbWVudHMgcmVsYXRpbmcgdG8gdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlCisgICAgdG8gYmUgcHJlc2VudGVkIHRvLCBhbmQgYWNjZXB0ZWQgYnksIHRoZSB1c2VycyBvZiB0aGUgUHJvdmlzaW9uaW5nCisgICAgVGVjaG5vbG9neSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIFNwZWNpZmljYXRpb24uIEJ5IHVzaW5nIFByb3Zpc2lvbmluZworICAgIFRlY2hub2xvZ3kgaW4gc3VjaCBhIG1hbm5lciBhbmQgbWFraW5nIGl0IGF2YWlsYWJsZSBpbiBhY2NvcmRhbmNlIHdpdGgKKyAgICB0aGUgU3BlY2lmaWNhdGlvbiwgeW91IGZ1cnRoZXIgYWNrbm93bGVkZ2UgeW91ciBhZ3JlZW1lbnQgdG8sIGFuZCB0aGUKKyAgICBhY3F1aXNpdGlvbiBvZiBhbGwgbmVjZXNzYXJ5IHJpZ2h0cyB0byBwZXJtaXQgdGhlIGZvbGxvd2luZzo8L3A+CiAKLTxvbD4KLSAgICAgICA8bGk+QSBzZXJpZXMgb2YgYWN0aW9ucyBtYXkgb2NjdXIgKCZxdW90O1Byb3Zpc2lvbmluZyBQcm9jZXNzJnF1b3Q7KSBpbiB3aGljaCBhIHVzZXIgbWF5IGV4ZWN1dGUgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5Ci0gICAgICAgb24gYSBtYWNoaW5lICgmcXVvdDtUYXJnZXQgTWFjaGluZSZxdW90Oykgd2l0aCB0aGUgaW50ZW50IG9mIGluc3RhbGxpbmcsIGV4dGVuZGluZyBvciB1cGRhdGluZyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhbiBFY2xpcHNlLWJhc2VkCi0gICAgICAgcHJvZHVjdC48L2xpPgotICAgICAgIDxsaT5EdXJpbmcgdGhlIFByb3Zpc2lvbmluZyBQcm9jZXNzLCB0aGUgUHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgbWF5IGNhdXNlIHRoaXJkIHBhcnR5IEluc3RhbGxhYmxlIFNvZnR3YXJlIG9yIGEgcG9ydGlvbiB0aGVyZW9mIHRvIGJlCi0gICAgICAgYWNjZXNzZWQgYW5kIGNvcGllZCB0byB0aGUgVGFyZ2V0IE1hY2hpbmUuPC9saT4KLSAgICAgICA8bGk+UHVyc3VhbnQgdG8gdGhlIFNwZWNpZmljYXRpb24sIHlvdSB3aWxsIHByb3ZpZGUgdG8gdGhlIHVzZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXQgZ292ZXJuIHRoZSB1c2Ugb2YgdGhlIEluc3RhbGxhYmxlCi0gICAgICAgU29mdHdhcmUgKCZxdW90O0luc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCZxdW90OykgYW5kIHN1Y2ggSW5zdGFsbGFibGUgU29mdHdhcmUgQWdyZWVtZW50IHNoYWxsIGJlIGFjY2Vzc2VkIGZyb20gdGhlIFRhcmdldAotICAgICAgIE1hY2hpbmUgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBTcGVjaWZpY2F0aW9uLiBTdWNoIEluc3RhbGxhYmxlIFNvZnR3YXJlIEFncmVlbWVudCBtdXN0IGluZm9ybSB0aGUgdXNlciBvZiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBnb3Zlcm4KLSAgICAgICB0aGUgSW5zdGFsbGFibGUgU29mdHdhcmUgYW5kIG11c3Qgc29saWNpdCBhY2NlcHRhbmNlIGJ5IHRoZSBlbmQgdXNlciBpbiB0aGUgbWFubmVyIHByZXNjcmliZWQgaW4gc3VjaCBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQuIFVwb24gc3VjaAotICAgICAgIGluZGljYXRpb24gb2YgYWdyZWVtZW50IGJ5IHRoZSB1c2VyLCB0aGUgcHJvdmlzaW9uaW5nIFRlY2hub2xvZ3kgd2lsbCBjb21wbGV0ZSBpbnN0YWxsYXRpb24gb2YgdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlLjwvbGk+Ci08L29sPgorICA8b2w+CisgICAgPGxpPkEgc2VyaWVzIG9mIGFjdGlvbnMgbWF5IG9jY3VyICgmcXVvdDtQcm92aXNpb25pbmcKKyAgICAgIFByb2Nlc3MmcXVvdDspIGluIHdoaWNoIGEgdXNlciBtYXkgZXhlY3V0ZSB0aGUgUHJvdmlzaW9uaW5nCisgICAgICBUZWNobm9sb2d5IG9uIGEgbWFjaGluZSAoJnF1b3Q7VGFyZ2V0IE1hY2hpbmUmcXVvdDspIHdpdGggdGhlIGludGVudAorICAgICAgb2YgaW5zdGFsbGluZywgZXh0ZW5kaW5nIG9yIHVwZGF0aW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mIGFuCisgICAgICBFY2xpcHNlLWJhc2VkIHByb2R1Y3QuPC9saT4KKyAgICA8bGk+RHVyaW5nIHRoZSBQcm92aXNpb25pbmcgUHJvY2VzcywgdGhlIFByb3Zpc2lvbmluZyBUZWNobm9sb2d5CisgICAgICBtYXkgY2F1c2UgdGhpcmQgcGFydHkgSW5zdGFsbGFibGUgU29mdHdhcmUgb3IgYSBwb3J0aW9uIHRoZXJlb2YgdG8gYmUKKyAgICAgIGFjY2Vzc2VkIGFuZCBjb3BpZWQgdG8gdGhlIFRhcmdldCBNYWNoaW5lLjwvbGk+CisgICAgPGxpPlB1cnN1YW50IHRvIHRoZSBTcGVjaWZpY2F0aW9uLCB5b3Ugd2lsbCBwcm92aWRlIHRvIHRoZSB1c2VyCisgICAgICB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBnb3Zlcm4gdGhlIHVzZSBvZiB0aGUgSW5zdGFsbGFibGUKKyAgICAgIFNvZnR3YXJlICgmcXVvdDtJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQmcXVvdDspIGFuZCBzdWNoCisgICAgICBJbnN0YWxsYWJsZSBTb2Z0d2FyZSBBZ3JlZW1lbnQgc2hhbGwgYmUgYWNjZXNzZWQgZnJvbSB0aGUgVGFyZ2V0CisgICAgICBNYWNoaW5lIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgU3BlY2lmaWNhdGlvbi4gU3VjaCBJbnN0YWxsYWJsZQorICAgICAgU29mdHdhcmUgQWdyZWVtZW50IG11c3QgaW5mb3JtIHRoZSB1c2VyIG9mIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucworICAgICAgdGhhdCBnb3Zlcm4gdGhlIEluc3RhbGxhYmxlIFNvZnR3YXJlIGFuZCBtdXN0IHNvbGljaXQgYWNjZXB0YW5jZSBieQorICAgICAgdGhlIGVuZCB1c2VyIGluIHRoZSBtYW5uZXIgcHJlc2NyaWJlZCBpbiBzdWNoIEluc3RhbGxhYmxlIFNvZnR3YXJlCisgICAgICBBZ3JlZW1lbnQuIFVwb24gc3VjaCBpbmRpY2F0aW9uIG9mIGFncmVlbWVudCBieSB0aGUgdXNlciwgdGhlCisgICAgICBwcm92aXNpb25pbmcgVGVjaG5vbG9neSB3aWxsIGNvbXBsZXRlIGluc3RhbGxhdGlvbiBvZiB0aGUgSW5zdGFsbGFibGUKKyAgICAgIFNvZnR3YXJlLjwvbGk+CisgIDwvb2w+CiAKLTxoMz5DcnlwdG9ncmFwaHk8L2gzPgorICA8aDM+Q3J5cHRvZ3JhcGh5PC9oMz4KIAotPHA+Q29udGVudCBtYXkgY29udGFpbiBlbmNyeXB0aW9uIHNvZnR3YXJlLiBUaGUgY291bnRyeSBpbiB3aGljaCB5b3UgYXJlIGN1cnJlbnRseSBtYXkgaGF2ZSByZXN0cmljdGlvbnMgb24gdGhlIGltcG9ydCwgcG9zc2Vzc2lvbiwgYW5kIHVzZSwgYW5kL29yIHJlLWV4cG9ydCB0bwotICAgYW5vdGhlciBjb3VudHJ5LCBvZiBlbmNyeXB0aW9uIHNvZnR3YXJlLiBCRUZPUkUgdXNpbmcgYW55IGVuY3J5cHRpb24gc29mdHdhcmUsIHBsZWFzZSBjaGVjayB0aGUgY291bnRyeSdzIGxhd3MsIHJlZ3VsYXRpb25zIGFuZCBwb2xpY2llcyBjb25jZXJuaW5nIHRoZSBpbXBvcnQsCi0gICBwb3NzZXNzaW9uLCBvciB1c2UsIGFuZCByZS1leHBvcnQgb2YgZW5jcnlwdGlvbiBzb2Z0d2FyZSwgdG8gc2VlIGlmIHRoaXMgaXMgcGVybWl0dGVkLjwvcD4KKyAgPHA+Q29udGVudCBtYXkgY29udGFpbiBlbmNyeXB0aW9uIHNvZnR3YXJlLiBUaGUgY291bnRyeSBpbiB3aGljaAorICAgIHlvdSBhcmUgY3VycmVudGx5IG1heSBoYXZlIHJlc3RyaWN0aW9ucyBvbiB0aGUgaW1wb3J0LCBwb3NzZXNzaW9uLCBhbmQKKyAgICB1c2UsIGFuZC9vciByZS1leHBvcnQgdG8gYW5vdGhlciBjb3VudHJ5LCBvZiBlbmNyeXB0aW9uIHNvZnR3YXJlLgorICAgIEJFRk9SRSB1c2luZyBhbnkgZW5jcnlwdGlvbiBzb2Z0d2FyZSwgcGxlYXNlIGNoZWNrIHRoZSBjb3VudHJ5J3MgbGF3cywKKyAgICByZWd1bGF0aW9ucyBhbmQgcG9saWNpZXMgY29uY2VybmluZyB0aGUgaW1wb3J0LCBwb3NzZXNzaW9uLCBvciB1c2UsCisgICAgYW5kIHJlLWV4cG9ydCBvZiBlbmNyeXB0aW9uIHNvZnR3YXJlLCB0byBzZWUgaWYgdGhpcyBpcyBwZXJtaXR0ZWQuPC9wPgogCi08cD48c21hbGw+SmF2YSBhbmQgYWxsIEphdmEtYmFzZWQgdHJhZGVtYXJrcyBhcmUgdHJhZGVtYXJrcyBvZiBPcmFjbGUgQ29ycG9yYXRpb24gaW4gdGhlIFVuaXRlZCBTdGF0ZXMsIG90aGVyIGNvdW50cmllcywgb3IgYm90aC48L3NtYWxsPjwvcD4KKyAgPHA+CisgICAgPHNtYWxsPkphdmEgYW5kIGFsbCBKYXZhLWJhc2VkIHRyYWRlbWFya3MgYXJlIHRyYWRlbWFya3Mgb2YKKyAgICAgIE9yYWNsZSBDb3Jwb3JhdGlvbiBpbiB0aGUgVW5pdGVkIFN0YXRlcywgb3RoZXIgY291bnRyaWVzLCBvciBib3RoLjwvc21hbGw+CisgIDwvcD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAppbmRleCA5OGVkYWFmLi5jOWQ3MTI1IDEwMDY0NAotLS0gYS9zcmMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBueHRDb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSA0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTWljaGVhbCBIb2ZtYW5uLCBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSwgR2VyaGFyZCBFYmVuaG9mZXIsIA0KKyMgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCBQcm9mYWN0b3IgR21iSCwgQUNJTiwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1pY2hlYWwgSG9mbWFubiwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEsIEdlcmhhcmQgRWJlbmhvZmVyLCANCiAjICogICBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvQ01ha2VMaXN0cy50eHQgYi9zcmMvYXJjaC9DTWFrZUxpc3RzLnR4dAppbmRleCA5MWQ4ODBiLi44ZWJmMjJiIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvYXJjaC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE4IEFDSU4KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgQWxvaXMgWm9pdGwsIFBhdHJpY2sgU21lamthbCwgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMKKyMgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxOCBBQ0lOCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgQWxvaXMgWm9pdGwsIFBhdHJpY2sgU21lamthbCwgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMKICMgKiAgICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICogICAgLSBhZGRlZCB1dGlscyBkaXJlY3RvcnkKICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTI5LDMgKzMwLDcgQEAKIAogZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcCh0aW1lcmhhIGRldmxvZykKIAorU0VUKEZPUlRFX0xPR0dFUl9CVUZGRVJfU0laRSAiMzAwIiBDQUNIRSBOVU1CRVIgIkJ1ZmZlcidzIGxlbmd0aCBvZiB0aGUgbG9nZ2VyIikKK21hcmtfYXNfYWR2YW5jZWQoRk9SVEVfTE9HR0VSX0JVRkZFUl9TSVpFKQorZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCIjZGVmaW5lIEZPUlRFX0xPR0dFUl9CVUZGRVJfU0laRSAke0ZPUlRFX0xPR0dFUl9CVUZGRVJfU0laRX0iKQorCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9iZV9tMS9CRV9STVRfREVWLmNwcCBiL3NyYy9hcmNoL2JlX20xL0JFX1JNVF9ERVYuY3BwCmluZGV4IDNiOTVmOWEuLmQyODhlZTMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL0JFX1JNVF9ERVYuY3BwCisrKyBiL3NyYy9hcmNoL2JlX20xL0JFX1JNVF9ERVYuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9iZV9tMS9CRV9STVRfREVWLmggYi9zcmMvYXJjaC9iZV9tMS9CRV9STVRfREVWLmgKaW5kZXggNDk2YjUzZC4uM2FiOTExNCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvQkVfUk1UX0RFVi5oCisrKyBiL3NyYy9hcmNoL2JlX20xL0JFX1JNVF9ERVYuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvYmVfbTEvQkVfU1ZJRkIuY3BwIGIvc3JjL2FyY2gvYmVfbTEvQkVfU1ZJRkIuY3BwCmluZGV4IDkwMzRiMjAuLjQ4NzI5YWMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL0JFX1NWSUZCLmNwcAorKysgYi9zcmMvYXJjaC9iZV9tMS9CRV9TVklGQi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL0JFX1NWSUZCLmggYi9zcmMvYXJjaC9iZV9tMS9CRV9TVklGQi5oCmluZGV4IDQyNWY4NTguLjM0YzdmMDIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL0JFX1NWSUZCLmgKKysrIGIvc3JjL2FyY2gvYmVfbTEvQkVfU1ZJRkIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvYmVfbTEvQ01ha2VMaXN0cy50eHQgYi9zcmMvYXJjaC9iZV9tMS9DTWFrZUxpc3RzLnR4dAppbmRleCA5MzI4ZjdiLi42MjliMDQ3IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9iZV9tMS9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvYXJjaC9iZV9tMS9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMTA1IEFDSU4gYW5kIGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxMiAtIDIxMDUgQUNJTiBhbmQgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiBTRVQoU09VUkNFX0dST1VQICR7U09VUkNFX0dST1VQfVxcYmVfbTEpCkBAIC0zMCw2ICszMSw3IEBACiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoR0VUX1ZBTFVFKQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKFNFVF9WQUxVRSkKICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChCRV9TVklGQiBTVklzZW5kXzEgU1ZJcmVjZWl2ZV8xIEJFX1JNVF9ERVYpCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcCguLi9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCAuLi92eHdvcmtzL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcCkKICAgCiAKICAgaWYoRk9SVEVfQ09NX0VUSCkKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL0dFVF9DSEFOX0lORk8uY3BwIGIvc3JjL2FyY2gvYmVfbTEvR0VUX0NIQU5fSU5GTy5jcHAKaW5kZXggMmE5ODI2OS4uMThiOWE4MiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvR0VUX0NIQU5fSU5GTy5jcHAKKysrIGIvc3JjL2FyY2gvYmVfbTEvR0VUX0NIQU5fSU5GTy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvYmVfbTEvR0VUX0NIQU5fSU5GTy5oIGIvc3JjL2FyY2gvYmVfbTEvR0VUX0NIQU5fSU5GTy5oCmluZGV4IDRjYzVmZjIuLjUzYzQyMGQgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL0dFVF9DSEFOX0lORk8uaAorKysgYi9zcmMvYXJjaC9iZV9tMS9HRVRfQ0hBTl9JTkZPLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvYmVfbTEvR0VUX1ZBTFVFLmNwcCBiL3NyYy9hcmNoL2JlX20xL0dFVF9WQUxVRS5jcHAKaW5kZXggYTBlOTAwNS4uYjY3YWNjMCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvR0VUX1ZBTFVFLmNwcAorKysgYi9zcmMvYXJjaC9iZV9tMS9HRVRfVkFMVUUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL0dFVF9WQUxVRS5oIGIvc3JjL2FyY2gvYmVfbTEvR0VUX1ZBTFVFLmgKaW5kZXggZDljYTA2Yy4uNjZiM2I0NCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvR0VUX1ZBTFVFLmgKKysrIGIvc3JjL2FyY2gvYmVfbTEvR0VUX1ZBTFVFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvYmVfbTEvU0VUX1ZBTFVFLmNwcCBiL3NyYy9hcmNoL2JlX20xL1NFVF9WQUxVRS5jcHAKaW5kZXggMGJjNWQzZS4uZTY3MGJhNCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvU0VUX1ZBTFVFLmNwcAorKysgYi9zcmMvYXJjaC9iZV9tMS9TRVRfVkFMVUUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL1NFVF9WQUxVRS5oIGIvc3JjL2FyY2gvYmVfbTEvU0VUX1ZBTFVFLmgKaW5kZXggYjU1MmY2Mi4uY2U4MjZiZCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvU0VUX1ZBTFVFLmgKKysrIGIvc3JjL2FyY2gvYmVfbTEvU0VUX1ZBTFVFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvYmVfbTEvU1ZJcmVjZWl2ZV8xLmNwcCBiL3NyYy9hcmNoL2JlX20xL1NWSXJlY2VpdmVfMS5jcHAKaW5kZXggOTFkZGYwNC4uNjExYzAxNiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvU1ZJcmVjZWl2ZV8xLmNwcAorKysgYi9zcmMvYXJjaC9iZV9tMS9TVklyZWNlaXZlXzEuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9iZV9tMS9TVklyZWNlaXZlXzEuaCBiL3NyYy9hcmNoL2JlX20xL1NWSXJlY2VpdmVfMS5oCmluZGV4IDlkM2I2OTEuLmUzN2QyYjggMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL1NWSXJlY2VpdmVfMS5oCisrKyBiL3NyYy9hcmNoL2JlX20xL1NWSXJlY2VpdmVfMS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9iZV9tMS9TVklzZW5kXzEuY3BwIGIvc3JjL2FyY2gvYmVfbTEvU1ZJc2VuZF8xLmNwcAppbmRleCBiNDcxYzhiLi5kMmQ5ZjJmIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9iZV9tMS9TVklzZW5kXzEuY3BwCisrKyBiL3NyYy9hcmNoL2JlX20xL1NWSXNlbmRfMS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL1NWSXNlbmRfMS5oIGIvc3JjL2FyY2gvYmVfbTEvU1ZJc2VuZF8xLmgKaW5kZXggYmQwMmUyMi4uNmM4YTkwYSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvU1ZJc2VuZF8xLmgKKysrIGIvc3JjL2FyY2gvYmVfbTEvU1ZJc2VuZF8xLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL2ZvcnRlX3NlbS5oIGIvc3JjL2FyY2gvYmVfbTEvZm9ydGVfc2VtLmgKaW5kZXggYmVkNjliYi4uYTc2NWJlOSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvZm9ydGVfc2VtLmgKKysrIGIvc3JjL2FyY2gvYmVfbTEvZm9ydGVfc2VtLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9iZV9tMS9mb3J0ZV9zeW5jLmggYi9zcmMvYXJjaC9iZV9tMS9mb3J0ZV9zeW5jLmgKaW5kZXggY2E1Y2UwMC4uNTFhMjBlMSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvZm9ydGVfc3luYy5oCisrKyBiL3NyYy9hcmNoL2JlX20xL2ZvcnRlX3N5bmMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL2ZvcnRlX3RocmVhZC5jcHAgYi9zcmMvYXJjaC9iZV9tMS9mb3J0ZV90aHJlYWQuY3BwCmluZGV4IDEyOWVmYmYuLjczMjRjMjkgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL2ZvcnRlX3RocmVhZC5jcHAKKysrIGIvc3JjL2FyY2gvYmVfbTEvZm9ydGVfdGhyZWFkLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyLCAyMDE2LCAyMDE3IEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9iZV9tMS9mb3J0ZV90aHJlYWQuaCBiL3NyYy9hcmNoL2JlX20xL2ZvcnRlX3RocmVhZC5oCmluZGV4IDEyNDFiYjYuLjkxZDc0ZjIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL2ZvcnRlX3RocmVhZC5oCisrKyBiL3NyYy9hcmNoL2JlX20xL2ZvcnRlX3RocmVhZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIsIDIwMTYsIDIwMTcgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL2ZvcnRlYWxsb2MuaCBiL3NyYy9hcmNoL2JlX20xL2ZvcnRlYWxsb2MuaAppbmRleCA0ZmFiMTM2Li5hNTE1ZjNiIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9iZV9tMS9mb3J0ZWFsbG9jLmgKKysrIGIvc3JjL2FyY2gvYmVfbTEvZm9ydGVhbGxvYy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyLCAyMDEzIEFDSU4gYW5kIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9iZV9tMS9mb3J0ZW1vZHVsZS5jcHAgYi9zcmMvYXJjaC9iZV9tMS9mb3J0ZW1vZHVsZS5jcHAKaW5kZXggMjIzM2Y3OC4uMDY5MTljYiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYmVfbTEvZm9ydGVtb2R1bGUuY3BwCisrKyBiL3NyYy9hcmNoL2JlX20xL2ZvcnRlbW9kdWxlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL2ZvcnRlbW9kdWxlLmggYi9zcmMvYXJjaC9iZV9tMS9mb3J0ZW1vZHVsZS5oCmluZGV4IDdiYzZiYzEuLmJiODE3MWQgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL2ZvcnRlbW9kdWxlLmgKKysrIGIvc3JjL2FyY2gvYmVfbTEvZm9ydGVtb2R1bGUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JlX20xL3NvY2toYW5kLmggYi9zcmMvYXJjaC9iZV9tMS9zb2NraGFuZC5oCmluZGV4IDI2ZWMyN2YuLjUxMDM2NGYgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2JlX20xL3NvY2toYW5kLmgKKysrIGIvc3JjL2FyY2gvYmVfbTEvc29ja2hhbmQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxNSBBQ0lOIGFuZCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvYmVfbTEvc3RkaW50LmggYi9zcmMvYXJjaC9iZV9tMS9zdGRpbnQuaAppbmRleCA3NzFjNjlmLi43OTAzNzNiIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9iZV9tMS9zdGRpbnQuaAorKysgYi9zcmMvYXJjaC9iZV9tMS9zdGRpbnQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIFN0ZWZhbm8gQ2FtcGFuZWxsaSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvYnNkc29ja2V0aW50ZXJmLmNwcCBiL3NyYy9hcmNoL2JzZHNvY2tldGludGVyZi5jcHAKaW5kZXggNGUzNTI4YS4uYzg1Yzc2MCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYnNkc29ja2V0aW50ZXJmLmNwcAorKysgYi9zcmMvYXJjaC9ic2Rzb2NrZXRpbnRlcmYuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgQUlULCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgR2VyaGFyZCBFYmVuaG9mZXIsIFRob21hcyBTdHJhc3Nlcg0KQEAgLTE1LDcgKzE2LDcgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4NCiANCiB2b2lkIENCU0RTb2NrZXRJbnRlcmZhY2U6OmNsb3NlU29ja2V0KFRTb2NrZXREZXNjcmlwdG9yIHBhX25Tb2NrRCl7DQotI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoTkVUX09TKQ0KKyNpZiBkZWZpbmVkKE5FVF9PUykNCiAgIGNsb3Nlc29ja2V0KHBhX25Tb2NrRCk7DQogI2Vsc2UNCiAgIGNsb3NlKHBhX25Tb2NrRCk7DQpAQCAtMTEwLDcgKzExMSw3IEBACiAgIGludCBzaW5fc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpOw0KICAgVFNvY2tldERlc2NyaXB0b3IgblJldFZhbDsNCiANCi0jaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChORVRfT1MpIHx8IGRlZmluZWQgKFZYV09SS1MpDQorI2lmIGRlZmluZWQoTkVUX09TKSB8fCBkZWZpbmVkIChWWFdPUktTKQ0KICAgblJldFZhbCA9IGFjY2VwdChwYV9uTGlzdGVuaW5nU29ja0QsICZjbGllbnRfYWRkciwgJnNpbl9zaXplKTsNCiAjZWxzZQ0KICAgblJldFZhbCA9IGFjY2VwdChwYV9uTGlzdGVuaW5nU29ja0QsICZjbGllbnRfYWRkciwgKHNvY2tsZW5fdCopICZzaW5fc2l6ZSk7DQpAQCAtMTQyLDIwICsxNDMsMTAgQEAKICAgaW50IG5SZXRWYWw7DQogICBkb3sNCiAgICAgblJldFZhbCA9IHN0YXRpY19jYXN0PGludD4ocmVjdihwYV9uU29ja0QsIHBhX3BjRGF0YSwgcGFfdW5CdWZTaXplLCAwKSk7DQotI2lmZGVmIFdJTjMyDQotICB9d2hpbGUoKC0xID09IG5SZXRWYWwpICYmIChXU0FFSU5UUiA9PSBoX2Vycm5vKSk7IC8vIHJlY3YgZ290IGludGVycnVwdCAvIHJlY2lldmluZyBhZ2Fpbg0KLSNlbHNlDQogICB9IHdoaWxlKCgtMSA9PSBuUmV0VmFsKSAmJiAoRUlOVFIgPT0gZXJybm8pKTsgLy8gcmVjdiBnb3QgaW50ZXJydXB0IC8gcmVjaWV2aW5nIGFnYWluDQotI2VuZGlmDQorDQogICBpZihuUmV0VmFsID09IC0xKXsNCi0jaWZkZWYgV0lOMzINCi0gICAgREVWTE9HX0VSUk9SKCJDQlNEU29ja2V0SW50ZXJmYWNlOiBUQ1AtU29ja2V0IHJlY3YoKSBmYWlsZWQ6ICVkXG4iLCBXU0FHZXRMYXN0RXJyb3IoKSk7DQotICAgIGlmKFdTQUVDT05OUkVTRVQgPT0gV1NBR2V0TGFzdEVycm9yKCkpew0KLSAgICAgIG5SZXRWYWwgPSAwOyAvL2luZm9ybSBoaWdoZXIgbGV2ZWxzIHRoYXQgdGhlIHBlZXIgY2xvc2VkIGNvbm5lY3Rpb24NCi0gICAgfQ0KLSNlbHNlDQogICAgIERFVkxPR19FUlJPUigiQ0JTRFNvY2tldEludGVyZmFjZTogVENQLVNvY2tldCByZWN2KCkgZmFpbGVkOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCi0jZW5kaWYNCiAgIH0NCiAgIHJldHVybiBuUmV0VmFsOw0KIH0NCkBAIC0yNzAsMTEgKzI2MSw4IEBACiAgIGludCBuUmV0VmFsOw0KICAgZG97DQogICAgIG5SZXRWYWwgPSBzdGF0aWNfY2FzdDxpbnQ+KHJlY3Zmcm9tKHBhX25Tb2NrRCwgcGFfcGNEYXRhLCBwYV91bkJ1ZlNpemUsIDAsIDAsIDApKTsNCi0jaWZkZWYgV0lOMzINCi0gIH13aGlsZSgoLTEgPT0gblJldFZhbCkgJiYgKFdTQUVJTlRSID09IGhfZXJybm8pKTsgLy8gcmVjdiBnb3QgaW50ZXJydXB0IC8gcmVjaWV2aW5nIGFnYWluDQotI2Vsc2UNCiAgIH0gd2hpbGUoKC0xID09IG5SZXRWYWwpICYmIChFSU5UUiA9PSBlcnJubykpOyAvLyByZWN2IGdvdCBpbnRlcnJ1cHQgLyByZWNpZXZpbmcgYWdhaW4NCi0jZW5kaWYNCisNCiAgIGlmKG5SZXRWYWwgPT0gLTEpeyAvLw0KICAgICBERVZMT0dfRVJST1IoIkNCU0RTb2NrZXRJbnRlcmZhY2U6IFVEUC1Tb2NrZXQgcmVjdmZyb20oKSBmYWlsZWQ6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0KICAgfQ0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2JzZHNvY2tldGludGVyZi5oIGIvc3JjL2FyY2gvYnNkc29ja2V0aW50ZXJmLmgKaW5kZXggZjBlZDE5ZS4uMDJiNTE4NSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvYnNkc29ja2V0aW50ZXJmLmgKKysrIGIvc3JjL2FyY2gvYnNkc29ja2V0aW50ZXJmLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255IC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9kYXRhdHlwZS5oIGIvc3JjL2FyY2gvZGF0YXR5cGUuaAppbmRleCA0YzUwZTE0Li5jMTI2Yjk1IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9kYXRhdHlwZS5oCisrKyBiL3NyYy9hcmNoL2RhdGF0eXBlLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBSZW5lIFNtb2RpYywgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZGV2bG9nLmNwcCBiL3NyYy9hcmNoL2RldmxvZy5jcHAKaW5kZXggMjI3ODcxMi4uMTU0NmZjYyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZGV2bG9nLmNwcAorKysgYi9zcmMvYXJjaC9kZXZsb2cuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgUmVuZSBTbW9kaWMsIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255CkBAIC0xMyw5ICsxNCwxMSBAQAogCiAjaWZuZGVmIE5PTE9HCiAKKyMgaW5jbHVkZSA8Zm9ydGVfY29uZmlnLmg+CiAjIGluY2x1ZGUgInRpbWVyaGEuaCIKICMgaW5jbHVkZSAiZm9ydGVfcHJpbnRlci5oIgogIyBpbmNsdWRlICIuLi9jb3JlL3V0aWxzL2NyaXRpY2FscmVnaW9uLmgiCisjIGluY2x1ZGUgImZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmgiCiAjIGluY2x1ZGUgPGNzdGRpbz4KICMgaW5jbHVkZSA8Y3N0ZGxpYj4KICMgaW5jbHVkZSA8Y3N0ZGFyZz4KQEAgLTMxLDQ2ICszNCwzOCBAQAogIyAgaW5jbHVkZSA8Y2ludHR5cGVzPgogIyBlbmRpZiAvLzwgc3RkYzExCiAKLXN0YXRpYyBjb25zdCBjaGFyKiBjZ19hY0xvZ0xldmVsW10gPSB7IklORk8iLCAiV0FSTklORyIsICJFUlJPUiIsICJERUJVRyIsICJUUkFDRSIgfTsKK3N0YXRpYyBjb25zdCBjaGFyKiBzY0xvZ0xldmVsW10gPSB7ICJJTkZPIiwgIldBUk5JTkciLCAiRVJST1IiLCAiREVCVUciLCAiVFJBQ0UiIH07CiAKIC8vdGhpcyBkZWZpbmUgYWxsb3dzIHRvIHByb3ZpZGUgYW4gb3duIGxvZyBoYW5kbGVyIChzZWUgTE1TIGZvciBhbiBleGFtcGxlIG9mIHRoaXMpCi0jaWZuZGVmIEZPUlRFX0VYVEVSTkFMX0xPR19IQU5ETEVSCisjIGlmbmRlZiBGT1JURV9FWFRFUk5BTF9MT0dfSEFORExFUgogCiAvKiEgXGJyaWVmIHByaW50IHRoZSBnaXZlbiBsb2cgbWVzc2FnZSB3aXRoIHRoZSBlcnJvciBsZXZlbCBhbmQgYSB0aW1lIHN0YW1wCiAgKgogICogQHBhcmFtIHBhX2VjTGV2ZWwgdGhlIG1lc3NhZ2UncyBsb2cgbGV2ZWwKICAqIEBwYXJhbSBwYV9hY01lc3NhZ2UgdGhlIG1lc3NhZ2UgdG8gbG9nCiAgKi8KLXZvaWQgcHJpbnRMb2dNZXNzYWdlKEVfTXNnTGV2ZWwgcGFfZUxldmVsLCBjb25zdCBjaGFyICpwYV9hY01lc3NhZ2UpOwordm9pZCBwcmludExvZ01lc3NhZ2UoRV9Nc2dMZXZlbCBwYUxldmVsLCBjb25zdCBjaGFyICpwYU1lc3NhZ2UpOwogCi1zdGF0aWMgY29uc3QgaW50IHNjbV9uTXNnQnVmU2l6ZSA9IDMwMDsKLXN0YXRpYyBjaGFyIHNtX2FjTXNnQnVmW3NjbV9uTXNnQnVmU2l6ZV07IC8vITxCdWZmZXIgZm9yIHRoZSBtZXNzYWdlcyBjcmVhdGVkIGJ5IHRoZSB2YXJpYWJsZSBhZGRNc2cgZnVuY3Rpb24KK3N0YXRpYyBjb25zdCBpbnQgc2NNc2dCdWZTaXplID0gRk9SVEVfTE9HR0VSX0JVRkZFUl9TSVpFOworc3RhdGljIGNoYXIgc01zZ0J1ZltzY01zZ0J1ZlNpemVdOyAvLyE8QnVmZmVyIGZvciB0aGUgbWVzc2FnZXMgY3JlYXRlZCBieSB0aGUgdmFyaWFibGUgYWRkTXNnIGZ1bmN0aW9uCiAKLXN0YXRpYyBDU3luY09iamVjdCAgc2dNZXNzYWdlTG9jazsKK3N0YXRpYyBDU3luY09iamVjdCBzTWVzc2FnZUxvY2s7CiAKLQotdm9pZCBsb2dNZXNzYWdlKEVfTXNnTGV2ZWwgcGFfZUxldmVsLCBjb25zdCBjaGFyICpwYV9hY01lc3NhZ2UsIC4uLil7Ci0gIENDcml0aWNhbFJlZ2lvbiBjcnRpY2FsUmVnaW9uKHNnTWVzc2FnZUxvY2spOwordm9pZCBsb2dNZXNzYWdlKEVfTXNnTGV2ZWwgcGFMZXZlbCwgY29uc3QgY2hhciAqcGFNZXNzYWdlLCAuLi4pIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGNydGljYWxSZWdpb24oc01lc3NhZ2VMb2NrKTsKICAgdmFfbGlzdCBwc3RBcmdQdHI7CiAKLSAgdmFfc3RhcnQocHN0QXJnUHRyLCBwYV9hY01lc3NhZ2UpOwotICBmb3J0ZV92c25wcmludGYoc21fYWNNc2dCdWYsIHNjbV9uTXNnQnVmU2l6ZSwgcGFfYWNNZXNzYWdlLCBwc3RBcmdQdHIpOworICB2YV9zdGFydChwc3RBcmdQdHIsIHBhTWVzc2FnZSk7CisgIGZvcnRlX3ZzbnByaW50ZihzTXNnQnVmLCBzY01zZ0J1ZlNpemUsIHBhTWVzc2FnZSwgcHN0QXJnUHRyKTsKICAgdmFfZW5kKHBzdEFyZ1B0cik7CiAKLSAgcHJpbnRMb2dNZXNzYWdlKHBhX2VMZXZlbCwgc21fYWNNc2dCdWYpOworICBwcmludExvZ01lc3NhZ2UocGFMZXZlbCwgc01zZ0J1Zik7CiB9CiAKLXZvaWQgcHJpbnRMb2dNZXNzYWdlKEVfTXNnTGV2ZWwgcGFfZUxldmVsLCBjb25zdCBjaGFyICpwYV9hY01lc3NhZ2UpewotICBmcHJpbnRmKHN0ZGVyciwgIiVzIiwgY2dfYWNMb2dMZXZlbFtwYV9lTGV2ZWxdKTsKLQotICBpZiAoQ1RpbWVySGFuZGxlcjo6c21GT1JURVRpbWVyICE9IDApewotICAgIGZwcmludGYoc3RkZXJyLCAiOiBUIyUiIFBSSXVGQVNUNjQgIjogIiwgQ1RpbWVySGFuZGxlcjo6c21GT1JURVRpbWVyLT5nZXRGb3J0ZVRpbWUoKSk7Ci0gIH0KLSAgZWxzZXsKLSAgICBmcHJpbnRmKHN0ZGVyciwgIiVzIiwgIjogVCNub3RpbWU6ICIpOwotICB9Ci0gIGZwcmludGYoc3RkZXJyLCAiJXMiLCBwYV9hY01lc3NhZ2UpOwordm9pZCBwcmludExvZ01lc3NhZ2UoRV9Nc2dMZXZlbCBwYUxldmVsLCBjb25zdCBjaGFyICpwYU1lc3NhZ2UpIHsKKyAgZnByaW50ZihzdGRlcnIsICIlczogVCMlIiBQUkl1RkFTVDY0ICI6ICVzIiwgc2NMb2dMZXZlbFtwYUxldmVsXSwgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMoKSwgcGFNZXNzYWdlKTsKIH0KIAotI2VuZGlmIC8vTk9MT0cKLSNlbmRpZgorIyBlbmRpZiAgLyogRk9SVEVfRVhURVJOQUxfTE9HX0hBTkRMRVIgKi8KKworI2VuZGlmICAvKiBOT0xPRyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZGV2bG9nLmggYi9zcmMvYXJjaC9kZXZsb2cuaAppbmRleCAzNTczNjlmLi44YzcxOTAyIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9kZXZsb2cuaAorKysgYi9zcmMvYXJjaC9kZXZsb2cuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFJlbmUgU21vZGljLCBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyCkBAIC0xNyw3ICsxOCwxMyBAQAogICogVGhleSBjYW4gYmUgcHJpbnRlZCB0byBhIGNvbnNvbGUgb3IgYXJjaGl2ZWQgc29tZXdoZXJlIChUaGlzIGlzIGltcGxlbWVudGF0aW9uIGRlcGVuZGVudCkuCiAgKi8KIAotZW51bSBFX01zZ0xldmVsIHtFX0lORk8sIEVfV0FSTklORywgRV9FUlJPUiwgRV9ERUJVRywgRV9UUkFDRX07CitlbnVtIEVfTXNnTGV2ZWwgeworICBFX0lORk8sCisgIEVfV0FSTklORywKKyAgRV9FUlJPUiwKKyAgRV9ERUJVRywKKyAgRV9UUkFDRQorfTsKIAogLy8gcG9zc2libGUgbG9nbGV2ZWxzOiBOT0xPRywgTE9HRVJST1IsIExPR1dBUk5JTkcsIExPR0lORk8sIExPR0RFQlVHCiAvKiBNZWFuaW5nOgpAQCAtMjksNzggKzM2LDc2IEBACiAgKi8KIAogI2lmICEoZGVmaW5lZChOT0xPRykgfHwgZGVmaW5lZChMT0dFUlJPUikgfHwgZGVmaW5lZChMT0dXQVJOSU5HKSB8fCBkZWZpbmVkKExPR0lORk8pIHx8IGRlZmluZWQoTE9HREVCVUcpKQotLyogU2V0IGRlZmF1bHQgbG9nbGV2ZWwgKi8KLSMgZGVmaW5lIExPR0RFQlVHCisjIGRlZmluZSBMT0dERUJVRyAgLyogU2V0IGRlZmF1bHQgbG9nbGV2ZWwgKi8KICNlbmRpZgogCiAjaWZkZWYgTE9HREVCVUcKLSAgI2RlZmluZSBERVZMT0dfRVJST1IoLi4uKSBsb2dNZXNzYWdlKEVfRVJST1IsIF9fVkFfQVJHU19fKQotICAjZGVmaW5lIERFVkxPR19XQVJOSU5HKC4uLikgbG9nTWVzc2FnZShFX1dBUk5JTkcsIF9fVkFfQVJHU19fKQotICAjZGVmaW5lIERFVkxPR19JTkZPKC4uLikgbG9nTWVzc2FnZShFX0lORk8sIF9fVkFfQVJHU19fKQotICAjZGVmaW5lIERFVkxPR19ERUJVRyguLi4pIGxvZ01lc3NhZ2UoRV9ERUJVRywgX19WQV9BUkdTX18pCi0gICNkZWZpbmUgREVWTE9HX0VSUk9SX1ZBUihYKSBYCi0gICNkZWZpbmUgREVWTE9HX1dBUk5JTkdfVkFSKFgpIFgKLSAgI2RlZmluZSBERVZMT0dfSU5GT19WQVIoWCkgWAotICAjZGVmaW5lIERFVkxPR19ERUJVR19WQVIoWCkgWAorIyBkZWZpbmUgREVWTE9HX0VSUk9SKC4uLikgbG9nTWVzc2FnZShFX0VSUk9SLCBfX1ZBX0FSR1NfXykKKyMgZGVmaW5lIERFVkxPR19XQVJOSU5HKC4uLikgbG9nTWVzc2FnZShFX1dBUk5JTkcsIF9fVkFfQVJHU19fKQorIyBkZWZpbmUgREVWTE9HX0lORk8oLi4uKSBsb2dNZXNzYWdlKEVfSU5GTywgX19WQV9BUkdTX18pCisjIGRlZmluZSBERVZMT0dfREVCVUcoLi4uKSBsb2dNZXNzYWdlKEVfREVCVUcsIF9fVkFfQVJHU19fKQorIyBkZWZpbmUgREVWTE9HX0VSUk9SX1ZBUihYKSBYCisjIGRlZmluZSBERVZMT0dfV0FSTklOR19WQVIoWCkgWAorIyBkZWZpbmUgREVWTE9HX0lORk9fVkFSKFgpIFgKKyMgZGVmaW5lIERFVkxPR19ERUJVR19WQVIoWCkgWAogI2VuZGlmCiAKICNpZmRlZiBMT0dFUlJPUgotICAjZGVmaW5lIERFVkxPR19FUlJPUiguLi4pIGxvZ01lc3NhZ2UoRV9FUlJPUiwgX19WQV9BUkdTX18pCi0gICNkZWZpbmUgREVWTE9HX1dBUk5JTkcoLi4uKQotICAjZGVmaW5lIERFVkxPR19JTkZPKC4uLikKLSAgI2RlZmluZSBERVZMT0dfREVCVUcoLi4uKQotICAjZGVmaW5lIERFVkxPR19FUlJPUl9WQVIoWCkgWAotICAjZGVmaW5lIERFVkxPR19XQVJOSU5HX1ZBUihYKQotICAjZGVmaW5lIERFVkxPR19JTkZPX1ZBUihYKQotICAjZGVmaW5lIERFVkxPR19ERUJVR19WQVIoWCkKKyMgZGVmaW5lIERFVkxPR19FUlJPUiguLi4pIGxvZ01lc3NhZ2UoRV9FUlJPUiwgX19WQV9BUkdTX18pCisjIGRlZmluZSBERVZMT0dfV0FSTklORyguLi4pCisjIGRlZmluZSBERVZMT0dfSU5GTyguLi4pCisjIGRlZmluZSBERVZMT0dfREVCVUcoLi4uKQorIyBkZWZpbmUgREVWTE9HX0VSUk9SX1ZBUihYKSBYCisjIGRlZmluZSBERVZMT0dfV0FSTklOR19WQVIoWCkKKyMgZGVmaW5lIERFVkxPR19JTkZPX1ZBUihYKQorIyBkZWZpbmUgREVWTE9HX0RFQlVHX1ZBUihYKQogI2VuZGlmCiAKICNpZmRlZiBMT0dXQVJOSU5HCi0gICNkZWZpbmUgREVWTE9HX0VSUk9SKC4uLikgbG9nTWVzc2FnZShFX0VSUk9SLCBfX1ZBX0FSR1NfXykKLSAgI2RlZmluZSBERVZMT0dfV0FSTklORyguLi4pIGxvZ01lc3NhZ2UoRV9XQVJOSU5HLCBfX1ZBX0FSR1NfXykKLSAgI2RlZmluZSBERVZMT0dfSU5GTyguLi4pCi0gICNkZWZpbmUgREVWTE9HX0RFQlVHKC4uLikKLSAgI2RlZmluZSBERVZMT0dfRVJST1JfVkFSKFgpIFgKLSAgI2RlZmluZSBERVZMT0dfV0FSTklOR19WQVIoWCkgWAotICAjZGVmaW5lIERFVkxPR19JTkZPX1ZBUihYKQotICAjZGVmaW5lIERFVkxPR19ERUJVR19WQVIoWCkKKyMgZGVmaW5lIERFVkxPR19FUlJPUiguLi4pIGxvZ01lc3NhZ2UoRV9FUlJPUiwgX19WQV9BUkdTX18pCisjIGRlZmluZSBERVZMT0dfV0FSTklORyguLi4pIGxvZ01lc3NhZ2UoRV9XQVJOSU5HLCBfX1ZBX0FSR1NfXykKKyMgZGVmaW5lIERFVkxPR19JTkZPKC4uLikKKyMgZGVmaW5lIERFVkxPR19ERUJVRyguLi4pCisjIGRlZmluZSBERVZMT0dfRVJST1JfVkFSKFgpIFgKKyMgZGVmaW5lIERFVkxPR19XQVJOSU5HX1ZBUihYKSBYCisjIGRlZmluZSBERVZMT0dfSU5GT19WQVIoWCkKKyMgZGVmaW5lIERFVkxPR19ERUJVR19WQVIoWCkKICNlbmRpZgogCiAjaWZkZWYgTE9HSU5GTwotICNkZWZpbmUgREVWTE9HX0VSUk9SKC4uLikgbG9nTWVzc2FnZShFX0VSUk9SLCBfX1ZBX0FSR1NfXykKLSAgI2RlZmluZSBERVZMT0dfV0FSTklORyguLi4pIGxvZ01lc3NhZ2UoRV9XQVJOSU5HLCBfX1ZBX0FSR1NfXykKLSAgI2RlZmluZSBERVZMT0dfSU5GTyguLi4pIGxvZ01lc3NhZ2UoRV9JTkZPLCBfX1ZBX0FSR1NfXykKLSAgI2RlZmluZSBERVZMT0dfREVCVUcoLi4uKQotICAjZGVmaW5lIERFVkxPR19FUlJPUl9WQVIoWCkgWAotICAjZGVmaW5lIERFVkxPR19XQVJOSU5HX1ZBUihYKSBYCi0gICNkZWZpbmUgREVWTE9HX0lORk9fVkFSKFgpIFgKLSAgI2RlZmluZSBERVZMT0dfREVCVUdfVkFSKFgpCisjIGRlZmluZSBERVZMT0dfRVJST1IoLi4uKSBsb2dNZXNzYWdlKEVfRVJST1IsIF9fVkFfQVJHU19fKQorIyBkZWZpbmUgREVWTE9HX1dBUk5JTkcoLi4uKSBsb2dNZXNzYWdlKEVfV0FSTklORywgX19WQV9BUkdTX18pCisjIGRlZmluZSBERVZMT0dfSU5GTyguLi4pIGxvZ01lc3NhZ2UoRV9JTkZPLCBfX1ZBX0FSR1NfXykKKyMgZGVmaW5lIERFVkxPR19ERUJVRyguLi4pCisjIGRlZmluZSBERVZMT0dfRVJST1JfVkFSKFgpIFgKKyMgZGVmaW5lIERFVkxPR19XQVJOSU5HX1ZBUihYKSBYCisjIGRlZmluZSBERVZMT0dfSU5GT19WQVIoWCkgWAorIyBkZWZpbmUgREVWTE9HX0RFQlVHX1ZBUihYKQogI2VuZGlmCiAKICNpZmRlZiBOT0xPRwotICAjZGVmaW5lIERFVkxPR19JTkZPKC4uLikKLSAgI2RlZmluZSBERVZMT0dfV0FSTklORyguLi4pCi0gICNkZWZpbmUgREVWTE9HX0VSUk9SKC4uLikKLSAgI2RlZmluZSBERVZMT0dfREVCVUcoLi4uKQotICAjZGVmaW5lIERFVkxPR19FUlJPUl9WQVIoWCkKLSAgI2RlZmluZSBERVZMT0dfV0FSTklOR19WQVIoWCkKLSAgI2RlZmluZSBERVZMT0dfSU5GT19WQVIoWCkKLSAgI2RlZmluZSBERVZMT0dfREVCVUdfVkFSKFgpCisjIGRlZmluZSBERVZMT0dfSU5GTyguLi4pCisjIGRlZmluZSBERVZMT0dfV0FSTklORyguLi4pCisjIGRlZmluZSBERVZMT0dfRVJST1IoLi4uKQorIyBkZWZpbmUgREVWTE9HX0RFQlVHKC4uLikKKyMgZGVmaW5lIERFVkxPR19FUlJPUl9WQVIoWCkKKyMgZGVmaW5lIERFVkxPR19XQVJOSU5HX1ZBUihYKQorIyBkZWZpbmUgREVWTE9HX0lORk9fVkFSKFgpCisjIGRlZmluZSBERVZMT0dfREVCVUdfVkFSKFgpCiAjZW5kaWYKIAogI2lmIChkZWZpbmVkKEZPUlRFX1RSQUNFX0VWRU5UUykgJiYgIWRlZmluZWQoTk9MT0cpKQotI2RlZmluZSBGT1JURV9UUkFDRSguLi4pIGxvZ01lc3NhZ2UoRV9UUkFDRSwgIF9fVkFfQVJHU19fKQorIyBkZWZpbmUgRk9SVEVfVFJBQ0UoLi4uKSBsb2dNZXNzYWdlKEVfVFJBQ0UsICBfX1ZBX0FSR1NfXykKICNlbHNlCi0gICNkZWZpbmUgRk9SVEVfVFJBQ0UoLi4uKQorIyBkZWZpbmUgRk9SVEVfVFJBQ0UoLi4uKQogI2VuZGlmCiAKLQogI2lmbmRlZiBOT0xPRwogCiAvKiEgXGJyaWVmIEFkZHMgYW4gRW50cnkgdG8gdGhlIExvZ0Jvb2sKICAqCiAgKi8KLXZvaWQgbG9nTWVzc2FnZShFX01zZ0xldmVsIHBhX2VMZXZlbCwgY29uc3QgY2hhciAqcGFfYWNNZXNzYWdlLCAuLi4pOwordm9pZCBsb2dNZXNzYWdlKEVfTXNnTGV2ZWwgcGFMZXZlbCwgY29uc3QgY2hhciAqcGFjTWVzc2FnZSwgLi4uKTsKIAogI2VuZGlmICAvLyNpZm5kZWYgTk9MT0cKIApkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZWNvcy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9hcmNoL2Vjb3MvQ01ha2VMaXN0cy50eHQKaW5kZXggNWQyZWYxNC4uMmI2NjRiMiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZWNvcy9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvYXJjaC9lY29zL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxMCBBQ0lOCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDEwIEFDSU4KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIGFkZF9zdWJkaXJlY3RvcnkocGh5Y29yZWF0OTEpCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9lY29zL2Vjb3NjcHBpbml0LmNwcCBiL3NyYy9hcmNoL2Vjb3MvZWNvc2NwcGluaXQuY3BwCmluZGV4IGMyZDk5MjcuLjgwZDIxNzkgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2Vjb3MvZWNvc2NwcGluaXQuY3BwCisrKyBiL3NyYy9hcmNoL2Vjb3MvZWNvc2NwcGluaXQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDExIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZWNvcy9lY29zdGloYS5jcHAgYi9zcmMvYXJjaC9lY29zL2Vjb3N0aWhhLmNwcAppbmRleCA3NmM5NmY1Li5lZDIxYTg4IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9lY29zL2Vjb3N0aWhhLmNwcAorKysgYi9zcmMvYXJjaC9lY29zL2Vjb3N0aWhhLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2Vjb3MvZWNvc3RpaGEuaCBiL3NyYy9hcmNoL2Vjb3MvZWNvc3RpaGEuaAppbmRleCAxMGZmNTQ2Li4zNThmZGQ1IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9lY29zL2Vjb3N0aWhhLmgKKysrIGIvc3JjL2FyY2gvZWNvcy9lY29zdGloYS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2Vjb3MvZm9ydGVfYXJjaGl0ZWN0dXJlLmNwcCBiL3NyYy9hcmNoL2Vjb3MvZm9ydGVfYXJjaGl0ZWN0dXJlLmNwcAppbmRleCA1MGRlYTM1Li40N2QxYjVjIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9lY29zL2ZvcnRlX2FyY2hpdGVjdHVyZS5jcHAKKysrIGIvc3JjL2FyY2gvZWNvcy9mb3J0ZV9hcmNoaXRlY3R1cmUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZWNvcy9mb3J0ZV9pbnN0YW5jZS5jcHAgYi9zcmMvYXJjaC9lY29zL2ZvcnRlX2luc3RhbmNlLmNwcAppbmRleCBhM2Y5NzA3Li5kNzU4OThjIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9lY29zL2ZvcnRlX2luc3RhbmNlLmNwcAorKysgYi9zcmMvYXJjaC9lY29zL2ZvcnRlX2luc3RhbmNlLmNwcApAQCAtMSwxMzUgKzEsMTM2IEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgogICoKLSAqIENvbnRyaWJ1dG9yczoKLSAqICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2luY2x1ZGUgImZvcnRlX2luc3RhbmNlLmgiCi0jaW5jbHVkZSA8Zm9ydGVfcHJpbnRlci5oPgotCi0jaW5jbHVkZSAiZm9ydGVuZXcuaCIKLSNpbmNsdWRlICJmb3J0ZV9hcmNoaXRlY3R1cmUuaCIKLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgIi4uLy4uL3N0ZGZibGliL2l0YS9STVRfREVWLmgiCi0KLXVuc2lnbmVkIGNvbnN0IGludCBjZ0ZvcnRlRGVmYXVsdFBvcnQgPSA2MTQ5OTsKLQotLyohXGJyaWVmIENoZWNrIGlmIHRoZSBjb3JyZWN0IGVuZGlhbmVzcyBoYXMgYmVlbiBjb25maWd1cmVkLgotICoKLSAqIElmIHRoZSByaWdodCBlbmRpYW5lc3MgaXMgbm90IHNldCB0aGlzIGZ1bmN0aW9uIHdpbGwgZW5kIEZPUlRFLgotICovCi1ib29sIGNoZWNrRW5kaWFuZXNzKCk7Ci0KLXZvaWQgY3JlYXRlRGV2KGNvbnN0IGNoYXIgKnBhTUdSSUQsIFRGb3J0ZUluc3RhbmNlKiBwYVJlc3VsdERldmljZSk7Ci0KLXZvaWQgZm9ydGVHbG9iYWxJbml0aWFsaXplKHZvaWQpewotICBDRm9ydGVBcmNoaXRlY3R1cmU6OmluaXRpYWxpemUoKTsKLX0KLQotdm9pZCBmb3J0ZUdsb2JhbERlaW5pdGlhbGl6ZSh2b2lkKXsKLSAgQ0ZvcnRlQXJjaGl0ZWN0dXJlOjpkZWluaXRpYWxpemUoKTsKLX0KLQotaW50IGZvcnRlU3RhcnRJbnN0YW5jZSh1bnNpZ25lZCBpbnQgcGFQb3J0LCBURm9ydGVJbnN0YW5jZSogcGFSZXN1bHREZXZpY2UpewotCi0gIGlmICg2NTUzNSA8IHBhUG9ydCl7Ci0gICAgcmV0dXJuIEZPUlRFX1dST05HX1BBUkFNRVRFUlM7Ci0gIH0KLQotICBpZiAoMCA9PSBwYVBvcnQpewotICAgIHBhUG9ydCA9IGNnRm9ydGVEZWZhdWx0UG9ydDsKLSAgfQotCi0gIGNoYXIgYWRkcmVzc1sxNl0gPSAibG9jYWxob3N0OiI7Ci0gIGNoYXIgcG9ydFs2XTsKLSAgZm9ydGVfc25wcmludGYocG9ydCwgNSwgIiV1IiwgcGFQb3J0KTsKLSAgc3RyY2F0KGFkZHJlc3MsIHBvcnQpOwotCi0gIGNoYXIqIGFyZ3VtZW50c1tdID0ge2FkZHJlc3N9OwotICByZXR1cm4gZm9ydGVTdGFydEluc3RhbmNlR2VuZXJpYygxLCBhcmd1bWVudHMsIHBhUmVzdWx0RGV2aWNlKTsKLX0KLQotCi1pbnQgZm9ydGVTdGFydEluc3RhbmNlR2VuZXJpYyhpbnQgYXJnYywgY2hhciAqYXJnW10sIFRGb3J0ZUluc3RhbmNlKiBwYVJlc3VsdERldmljZSl7Ci0KLSAgaWYoIUNGb3J0ZUFyY2hpdGVjdHVyZTo6aXNJbml0aWFsaXplZCgpKXsKLSAgICByZXR1cm4gRk9SVEVfQVJDSElURUNUVVJFX05PVF9SRUFEWTsKLSAgfQotCi0gIGlmKDAgPT0gcGFSZXN1bHREZXZpY2UpewotICAgIHJldHVybiBGT1JURV9XUk9OR19QQVJBTUVURVJTOwotICB9Ci0KLSAgaWYgKDAgIT0gKnBhUmVzdWx0RGV2aWNlKXsKLSAgICByZXR1cm4gRk9SVEVfREVWSUNFX0FMUkVBRFlfU1RBUlRFRDsKLSAgfQotCi0gIGlmICghY2hlY2tFbmRpYW5lc3MoKSl7Ci0gICAgcmV0dXJuIEZPUlRFX1dST05HX0VORElBTkVTUzsKLSAgfQotCi0gIGlmKGFyZ2MgPCAxKXsgLy8hIERlZmF1bHQgVmFsdWUgKGxvY2FsaG9zdDo2MTQ5OSkKLSAgICBjcmVhdGVEZXYoImxvY2FsaG9zdDo2MTQ5OSIsIHBhUmVzdWx0RGV2aWNlKTsKLSAgfQotICBlbHNlIGlmKDEgPT0gYXJnYyl7Ci0gICAgICBjcmVhdGVEZXYoYXJnWzBdLCBwYVJlc3VsdERldmljZSk7Ci0gIH0KLSAgZWxzZXsgLy8hIExpc3RzIHRoZSBoZWxwIGZvciBGT1JURQotICAgIHJldHVybiBGT1JURV9XUk9OR19QQVJBTUVURVJTOwotICB9Ci0KLSAgcmV0dXJuIEZPUlRFX09LOwotfQotCi12b2lkIGZvcnRlU3RvcEluc3RhbmNlKGludCBwYVNpZywgVEZvcnRlSW5zdGFuY2UgcGFSZXN1bHREZXZpY2UpewotICBpZighQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppc0luaXRpYWxpemVkKCkpewotICAgIHJldHVybjsKLSAgfQotICAodm9pZCkgcGFTaWc7Ci0gIFJNVF9ERVYgKnBvRGV2ID0gc3RhdGljX2Nhc3Q8Uk1UX0RFVio+KHBhUmVzdWx0RGV2aWNlKTsKLSAgaWYoMCAhPSBwb0Rldil7Ci0gICAgcG9EZXYtPmNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfS2lsbCk7Ci0gICAgcG9EZXYtPk1HUi5qb2luUmVzb3VyY2VUaHJlYWQoKTsKLSAgICBERVZMT0dfSU5GTygiRk9SVEUgZmluaXNoZWRcbiIpOwotICAgIGRlbGV0ZSBwb0RldjsKLSAgfQotfQotCi0vKiFcYnJpZWYgQ3JlYXRlcyB0aGUgRGV2aWNlLU9iamVjdAotICogXHBhcmFtIHBhX2FjTUdSSUQgQSBzdHJpbmcgY29udGFpbmluZyBJUCBhbmQgUG9ydCBsaWtlIFtJUF06W1BvcnRdCi0gKiBccGFyYW0gVGhlIHJlc3VsdAotICovCi12b2lkIGNyZWF0ZURldihjb25zdCBjaGFyICpwYU1HUklELCBURm9ydGVJbnN0YW5jZSogcGFSZXN1bHREZXZpY2UpewotICBSTVRfREVWICpwb0RldiA9IG5ldyBSTVRfREVWOwotICBwb0Rldi0+c2V0TUdSX0lEKHBhTUdSSUQpOwotICBwb0Rldi0+c3RhcnREZXZpY2UoKTsKLSAgKnBhUmVzdWx0RGV2aWNlID0gcG9EZXY7Ci0gIERFVkxPR19JTkZPKCJGT1JURSBpcyB1cCBhbmQgcnVubmluZ1xuIik7Ci19Ci0KLWJvb2wgY2hlY2tFbmRpYW5lc3MoKXsKLSAgdm9sYXRpbGUgVEZvcnRlSW50MTYgaSA9IDE7Ci0gIGNoYXIgKnAgPSAoY2hhciAqKSAmaTsKLSAgaWYocFswXSA9PSAxKXsKLSAgICAvL3dlIGFyZSBvbiBhIGxpdHRsZSBlbmRpYW4gcGxhdGZvcm0KLSNpZmRlZiBGT1JURV9CSUdfRU5ESUFOCi0gICAgREVWTE9HX0VSUk9SKCJXcm9uZyBlbmRpYW5lc3MgY29uZmlndXJlZCEgWW91IGFyZSBvbiBhIGxpdHRsZSBlbmRpYW4gcGxhdGZvcm0gYW5kIGhhdmUgY29uZmlndXJlZCBiaWcgZW5kaWFuIVxuIik7Ci0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi0gIH0KLSAgZWxzZXsKLSAgICAvL3dlIGFyZSBvbiBhIGJpZyBlbmRpYW4gcGxhdGZvcm0KLSNpZmRlZiBGT1JURV9MSVRUTEVfRU5ESUFOCi0gICAgREVWTE9HX0VSUk9SKCJXcm9uZyBlbmRpYW5lc3MgY29uZmlndXJlZCEgWW91IGFyZSBvbiBhIGJpZyBlbmRpYW4gcGxhdGZvcm0gYW5kIGhhdmUgY29uZmlndXJlZCBsaXR0bGUgZW5kaWFuIVxuIik7Ci0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi0gIH0KLQotICByZXR1cm4gdHJ1ZTsKLX0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCisgKiAgVGFyaWsgVGVyemltZWhpYyAtIG1ha2UgT1BDIFVBIHNlcnZlciBwb3J0IHNldGFibGUgZnJvbSB0aGUgY29tbWFuZCBsaW5lDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorDQorI2luY2x1ZGUgImZvcnRlX2luc3RhbmNlLmgiDQorI2luY2x1ZGUgPGZvcnRlX3ByaW50ZXIuaD4NCisNCisjaW5jbHVkZSAiZm9ydGVuZXcuaCINCisjaW5jbHVkZSAiZm9ydGVfYXJjaGl0ZWN0dXJlLmgiDQorI2luY2x1ZGUgPHN0ZGlvLmg+DQorI2luY2x1ZGUgPHN0ZGxpYi5oPg0KKyNpbmNsdWRlICIuLi8uLi9zdGRmYmxpYi9pdGEvUk1UX0RFVi5oIg0KKw0KKyNpbmNsdWRlICIuLi91dGlscy9tYWlucGFyYW1fdXRpbHMuaCINCisNCit1bnNpZ25lZCBjb25zdCBpbnQgY2dGb3J0ZURlZmF1bHRQb3J0ID0gNjE0OTk7DQorDQorLyohXGJyaWVmIENoZWNrIGlmIHRoZSBjb3JyZWN0IGVuZGlhbmVzcyBoYXMgYmVlbiBjb25maWd1cmVkLg0KKyAqDQorICogSWYgdGhlIHJpZ2h0IGVuZGlhbmVzcyBpcyBub3Qgc2V0IHRoaXMgZnVuY3Rpb24gd2lsbCBlbmQgRk9SVEUuDQorICovDQorYm9vbCBjaGVja0VuZGlhbmVzcygpOw0KKw0KK3ZvaWQgY3JlYXRlRGV2KGNvbnN0IGNoYXIgKnBhTUdSSUQsIFRGb3J0ZUluc3RhbmNlKiBwYVJlc3VsdERldmljZSk7DQorDQordm9pZCBmb3J0ZUdsb2JhbEluaXRpYWxpemUodm9pZCl7DQorICBDRm9ydGVBcmNoaXRlY3R1cmU6OmluaXRpYWxpemUoKTsNCit9DQorDQordm9pZCBmb3J0ZUdsb2JhbERlaW5pdGlhbGl6ZSh2b2lkKXsNCisgIENGb3J0ZUFyY2hpdGVjdHVyZTo6ZGVpbml0aWFsaXplKCk7DQorfQ0KKw0KK2ludCBmb3J0ZVN0YXJ0SW5zdGFuY2UodW5zaWduZWQgaW50IHBhUG9ydCwgVEZvcnRlSW5zdGFuY2UqIHBhUmVzdWx0RGV2aWNlKXsNCisNCisgIGlmKDY1NTM1IDwgcGFQb3J0KXsNCisgICAgcmV0dXJuIEZPUlRFX1dST05HX1BBUkFNRVRFUlM7DQorICB9DQorDQorICBpZigwID09IHBhUG9ydCl7DQorICAgIHBhUG9ydCA9IGNnRm9ydGVEZWZhdWx0UG9ydDsNCisgIH0NCisNCisgIGNoYXIgYWRkcmVzc1sxNl0gPSAibG9jYWxob3N0OiI7DQorICBjaGFyIHBvcnRbNl07DQorICBmb3J0ZV9zbnByaW50Zihwb3J0LCA1LCAiJXUiLCBwYVBvcnQpOw0KKyAgc3RyY2F0KGFkZHJlc3MsIHBvcnQpOw0KKw0KKyAgY2hhciogYXJndW1lbnRzW10gPSB7IGFkZHJlc3MgfTsNCisgIHJldHVybiBmb3J0ZVN0YXJ0SW5zdGFuY2VHZW5lcmljKDEsIGFyZ3VtZW50cywgcGFSZXN1bHREZXZpY2UpOw0KK30NCisNCitpbnQgZm9ydGVTdGFydEluc3RhbmNlR2VuZXJpYyhpbnQgYXJnYywgY2hhciAqYXJnW10sIFRGb3J0ZUluc3RhbmNlKiBwYVJlc3VsdERldmljZSl7DQorDQorICBpZighQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppc0luaXRpYWxpemVkKCkpew0KKyAgICByZXR1cm4gRk9SVEVfQVJDSElURUNUVVJFX05PVF9SRUFEWTsNCisgIH0NCisNCisgIGlmKDAgPT0gcGFSZXN1bHREZXZpY2Upew0KKyAgICByZXR1cm4gRk9SVEVfV1JPTkdfUEFSQU1FVEVSUzsNCisgIH0NCisNCisgIGlmKDAgIT0gKnBhUmVzdWx0RGV2aWNlKXsNCisgICAgcmV0dXJuIEZPUlRFX0RFVklDRV9BTFJFQURZX1NUQVJURUQ7DQorICB9DQorDQorICBpZighY2hlY2tFbmRpYW5lc3MoKSl7DQorICAgIHJldHVybiBGT1JURV9XUk9OR19FTkRJQU5FU1M7DQorICB9DQorDQorICBjb25zdCBjaGFyICpwSXBQb3J0ID0gcGFyc2VDb21tYW5kTGluZUFyZ3VtZW50cyhhcmdjLCBhcmcpOw0KKyAgaWYoKDAgIT0gc3RybGVuKHBJcFBvcnQpKSAmJiAoTlVMTCAhPSBzdHJjaHIocElwUG9ydCwgJzonKSkpew0KKyAgICBjcmVhdGVEZXYocElwUG9ydCwgcGFSZXN1bHREZXZpY2UpOw0KKyAgfQ0KKyAgZWxzZXsgLy8hIElmIG5lZWRlZCBjYWxsIGxpc3RIZWxwKCkgdG8gbGlzdCB0aGUgaGVscCBmb3IgRk9SVEUNCisgICAgcmV0dXJuIEZPUlRFX1dST05HX1BBUkFNRVRFUlM7DQorICB9DQorDQorICByZXR1cm4gRk9SVEVfT0s7DQorfQ0KKw0KK3ZvaWQgZm9ydGVTdG9wSW5zdGFuY2UoaW50IHBhU2lnLCBURm9ydGVJbnN0YW5jZSBwYVJlc3VsdERldmljZSl7DQorICBpZighQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppc0luaXRpYWxpemVkKCkpew0KKyAgICByZXR1cm47DQorICB9DQorICAodm9pZCkgcGFTaWc7DQorICBSTVRfREVWICpwb0RldiA9IHN0YXRpY19jYXN0PFJNVF9ERVYqPihwYVJlc3VsdERldmljZSk7DQorICBpZigwICE9IHBvRGV2KXsNCisgICAgcG9EZXYtPmNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfS2lsbCk7DQorICAgIHBvRGV2LT5NR1Iuam9pblJlc291cmNlVGhyZWFkKCk7DQorICAgIERFVkxPR19JTkZPKCJGT1JURSBmaW5pc2hlZFxuIik7DQorICAgIGRlbGV0ZSBwb0RldjsNCisgIH0NCit9DQorDQorLyohXGJyaWVmIENyZWF0ZXMgdGhlIERldmljZS1PYmplY3QNCisgKiBccGFyYW0gcGFfYWNNR1JJRCBBIHN0cmluZyBjb250YWluaW5nIElQIGFuZCBQb3J0IGxpa2UgW0lQXTpbUG9ydF0NCisgKiBccGFyYW0gVGhlIHJlc3VsdA0KKyAqLw0KK3ZvaWQgY3JlYXRlRGV2KGNvbnN0IGNoYXIgKnBhTUdSSUQsIFRGb3J0ZUluc3RhbmNlKiBwYVJlc3VsdERldmljZSl7DQorICBSTVRfREVWICpwb0RldiA9IG5ldyBSTVRfREVWOw0KKyAgcG9EZXYtPnNldE1HUl9JRChwYU1HUklEKTsNCisgIHBvRGV2LT5zdGFydERldmljZSgpOw0KKyAgKnBhUmVzdWx0RGV2aWNlID0gcG9EZXY7DQorICBERVZMT0dfSU5GTygiRk9SVEUgaXMgdXAgYW5kIHJ1bm5pbmdcbiIpOw0KK30NCisNCitib29sIGNoZWNrRW5kaWFuZXNzKCl7DQorICB2b2xhdGlsZSBURm9ydGVJbnQxNiBpID0gMTsNCisgIGNoYXIgKnAgPSAoY2hhciAqKSAmaTsNCisgIGlmKHBbMF0gPT0gMSl7DQorICAgIC8vd2UgYXJlIG9uIGEgbGl0dGxlIGVuZGlhbiBwbGF0Zm9ybQ0KKyNpZmRlZiBGT1JURV9CSUdfRU5ESUFODQorICAgIERFVkxPR19FUlJPUigiV3JvbmcgZW5kaWFuZXNzIGNvbmZpZ3VyZWQhIFlvdSBhcmUgb24gYSBsaXR0bGUgZW5kaWFuIHBsYXRmb3JtIGFuZCBoYXZlIGNvbmZpZ3VyZWQgYmlnIGVuZGlhbiFcbiIpOw0KKyAgICByZXR1cm4gZmFsc2U7DQorI2VuZGlmDQorICB9DQorICBlbHNlew0KKyAgICAvL3dlIGFyZSBvbiBhIGJpZyBlbmRpYW4gcGxhdGZvcm0NCisjaWZkZWYgRk9SVEVfTElUVExFX0VORElBTg0KKyAgICBERVZMT0dfRVJST1IoIldyb25nIGVuZGlhbmVzcyBjb25maWd1cmVkISBZb3UgYXJlIG9uIGEgYmlnIGVuZGlhbiBwbGF0Zm9ybSBhbmQgaGF2ZSBjb25maWd1cmVkIGxpdHRsZSBlbmRpYW4hXG4iKTsNCisgICAgcmV0dXJuIGZhbHNlOw0KKyNlbmRpZg0KKyAgfQ0KKw0KKyAgcmV0dXJuIHRydWU7DQorfQ0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2Vjb3MvZm9ydGVfaW5zdGFuY2UuaCBiL3NyYy9hcmNoL2Vjb3MvZm9ydGVfaW5zdGFuY2UuaAppbmRleCAxY2Q3YTg4Li4yYzY2NTM0IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9lY29zL2ZvcnRlX2luc3RhbmNlLmgKKysrIGIvc3JjL2FyY2gvZWNvcy9mb3J0ZV9pbnN0YW5jZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZWNvcy9mb3J0ZV9zZW0uY3BwIGIvc3JjL2FyY2gvZWNvcy9mb3J0ZV9zZW0uY3BwCmluZGV4IDllYThhMGEuLjIxYTk4MDEgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2Vjb3MvZm9ydGVfc2VtLmNwcAorKysgYi9zcmMvYXJjaC9lY29zL2ZvcnRlX3NlbS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiwgMjAxOCBmb3J0aXNzIEdtYkgsIFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZWNvcy9mb3J0ZV9zZW0uaCBiL3NyYy9hcmNoL2Vjb3MvZm9ydGVfc2VtLmgKaW5kZXggYTYwZTlhZi4uMmM5NGRlMCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZWNvcy9mb3J0ZV9zZW0uaAorKysgYi9zcmMvYXJjaC9lY29zL2ZvcnRlX3NlbS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTggZm9ydGlzcyBHbWJILCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2Vjb3MvZm9ydGVfc3luYy5jcHAgYi9zcmMvYXJjaC9lY29zL2ZvcnRlX3N5bmMuY3BwCmluZGV4IDMyZjYwYjIuLmZhNjRlYjUgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2Vjb3MvZm9ydGVfc3luYy5jcHAKKysrIGIvc3JjL2FyY2gvZWNvcy9mb3J0ZV9zeW5jLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiwgMjAwNyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2Vjb3MvZm9ydGVfc3luYy5oIGIvc3JjL2FyY2gvZWNvcy9mb3J0ZV9zeW5jLmgKaW5kZXggOTg0M2E1Yy4uNjhkN2Q3OSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZWNvcy9mb3J0ZV9zeW5jLmgKKysrIGIvc3JjL2FyY2gvZWNvcy9mb3J0ZV9zeW5jLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYsIDIwMDcgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9lY29zL2ZvcnRlX3RocmVhZC5jcHAgYi9zcmMvYXJjaC9lY29zL2ZvcnRlX3RocmVhZC5jcHAKaW5kZXggOGU1NGU3Yy4uNjI1Yzk4ZSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZWNvcy9mb3J0ZV90aHJlYWQuY3BwCisrKyBiL3NyYy9hcmNoL2Vjb3MvZm9ydGVfdGhyZWFkLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNiBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZWNvcy9mb3J0ZV90aHJlYWQuaCBiL3NyYy9hcmNoL2Vjb3MvZm9ydGVfdGhyZWFkLmgKaW5kZXggYzUzMzVhZS4uMGZkODFmNyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZWNvcy9mb3J0ZV90aHJlYWQuaAorKysgYi9zcmMvYXJjaC9lY29zL2ZvcnRlX3RocmVhZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE3IEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgQ2Fyb2x5biBPYXRlcyAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9lY29zL2ZvcnRlYWxsb2MuaCBiL3NyYy9hcmNoL2Vjb3MvZm9ydGVhbGxvYy5oCmluZGV4IDExYzA1YTkuLjZhY2Q0MGMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2Vjb3MvZm9ydGVhbGxvYy5oCisrKyBiL3NyYy9hcmNoL2Vjb3MvZm9ydGVhbGxvYy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZWNvcy9uaW9zMi9DTWFrZUxpc3RzLnR4dCBiL3NyYy9hcmNoL2Vjb3MvbmlvczIvQ01ha2VMaXN0cy50eHQKaW5kZXggYWY0MGY1YS4uMWUxMjNkZSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZWNvcy9uaW9zMi9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvYXJjaC9lY29zL25pb3MyL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTggZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiBTRVQoU09VUkNFX0dST1VQICR7U09VUkNFX0dST1VQfVxcbmlvczIpCkBAIC0yNyw2ICsyOCw3IEBACiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoLi4vZm9ydGVfdGhyZWFkIC4uL2Vjb3N0aWhhIC4uL2ZvcnRlX3N5bmMgLi4vZm9ydGVfc2VtIC4uL2ZvcnRlX2luc3RhbmNlKQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9jcHAoLi4vZWNvc2NwcGluaXQuY3BwIC4uLy4uL2dlbmZvcnRlX3ByaW50ZXIuY3BwIC4uL2ZvcnRlX2FyY2hpdGVjdHVyZS5jcHApCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2goLi4vLi4vZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaCkKKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfY3BwKC4uLy4uL2dlbmZvcnRlX3JlYWxGdW5jdGlvbnMuY3BwIC4uLy4uL3Bvc2l4L2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcCkKIAogICBpZihGT1JURV9DT01fRVRIKQogICAgZm9ydGVfYWRkX2hhbmRsZXIoQ0ZEU2VsZWN0SGFuZGxlciAuLi9zb2NraGFuZCkKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2Vjb3MvcGh5Y29yZWF0OTEvQ01ha2VMaXN0cy50eHQgYi9zcmMvYXJjaC9lY29zL3BoeWNvcmVhdDkxL0NNYWtlTGlzdHMudHh0CmluZGV4IDM0YzVlNDAuLjQyOTJhYmYgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2Vjb3MvcGh5Y29yZWF0OTEvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL2FyY2gvZWNvcy9waHljb3JlYXQ5MS9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLTIxMDUgQUNJTiwgZm9ydGlzcyBHbWJICi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDEwIC0yMTA1IEFDSU4sIGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogU0VUKFNPVVJDRV9HUk9VUCAke1NPVVJDRV9HUk9VUH1cXHBoeWNvcmVhdDkxKQpAQCAtMjEsNiArMjIsOCBAQAogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9jcHAoLi4vLi4vZ2VuZm9ydGVfcHJpbnRlci5jcHApCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2goLi4vLi4vZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaCkKICAgZm9ydGVfYWRkX3RvX2V4ZWN1dGFibGVfY3BwKG1haW4pCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcCguLi8uLi9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCAuLi8uLi9wb3NpeC9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHApCisgIAogCiAgIGlmKEZPUlRFX0NPTV9FVEgpCiAgICBmb3J0ZV9hZGRfaGFuZGxlcihDRkRTZWxlY3RIYW5kbGVyIC4uL3NvY2toYW5kKQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZWNvcy9waHljb3JlYXQ5MS9waHljb3JlQVQ5MW1haW4uY3BwIGIvc3JjL2FyY2gvZWNvcy9waHljb3JlYXQ5MS9waHljb3JlQVQ5MW1haW4uY3BwCmluZGV4IDAzYTc0ZDYuLmE0OTA4ZGIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2Vjb3MvcGh5Y29yZWF0OTEvcGh5Y29yZUFUOTFtYWluLmNwcAorKysgYi9zcmMvYXJjaC9lY29zL3BoeWNvcmVhdDkxL3BoeWNvcmVBVDkxbWFpbi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiwgMjAwNywgMjAxMCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2Vjb3Mvc29ja2hhbmQuaCBiL3NyYy9hcmNoL2Vjb3Mvc29ja2hhbmQuaAppbmRleCBkMjRiNWM2Li5mN2VlMTg2IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9lY29zL3NvY2toYW5kLmgKKysrIGIvc3JjL2FyY2gvZWNvcy9zb2NraGFuZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZmRzZWxlY3RoYW5kLmNwcCBiL3NyYy9hcmNoL2Zkc2VsZWN0aGFuZC5jcHAKaW5kZXggZjY3OGFlNS4uMzU2ZDM3MSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZmRzZWxlY3RoYW5kLmNwcAorKysgYi9zcmMvYXJjaC9mZHNlbGVjdGhhbmQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255DQpAQCAtOTQsMTAgKzk1LDcgQEAKICAgICAgIG1TeW5jLnVubG9jaygpOw0KICAgICB9DQogICAgIGVsc2V7DQotICAgICAgaWYocmV0dmFsID09IDApew0KLS8vICAgICAgICBwcmludGYoIi4iKTsNCi0gICAgICB9DQotICAgICAgZWxzZXsNCisgICAgICBpZihyZXR2YWwgIT0gMCkgew0KICNpZmRlZiBXSU4zMg0KICAgICAgICAgREVWTE9HX0VSUk9SKCJTZWxlY3QgZmFpbGVkOiAlZCIsIFdTQUdldExhc3RFcnJvcigpKTsNCiAjZWxzZQ0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2Zkc2VsZWN0aGFuZC5oIGIvc3JjL2FyY2gvZmRzZWxlY3RoYW5kLmgKaW5kZXggZmM2MDIyNC4uNDY2NjliZiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZmRzZWxlY3RoYW5kLmgKKysrIGIvc3JjL2FyY2gvZmRzZWxlY3RoYW5kLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTQgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBQYXRyaWNrIFNtZWprYWwKQEAgLTMwLDcgKzMxLDcgQEAKICAqIGRhdGEgcmVjZXB0aW9uLiBFeGFtcGxlcyBmb3IgcG9zc2libGUgZmlsZSBkZXNjcmlwdG9ycyBhcmUgc29ja2V0cyBvciBjb20gcmUKICAqLwogCi1jbGFzcyBDRkRTZWxlY3RIYW5kbGVyIDogcHVibGljIENFeHRlcm5hbEV2ZW50SGFuZGxlciwgcHJpdmF0ZSBDVGhyZWFkeworY2xhc3MgQ0ZEU2VsZWN0SGFuZGxlciA6IHB1YmxpYyBDRXh0ZXJuYWxFdmVudEhhbmRsZXIsIHByaXZhdGUgQ1RocmVhZCB7CiAgIERFQ0xBUkVfSEFORExFUihDRkRTZWxlY3RIYW5kbGVyKQogICBwdWJsaWM6CiAgICAgdHlwZWRlZiBGT1JURV9TT0NLRVRfVFlQRSBURmlsZURlc2NyaXB0b3I7IC8vITwgR2VuZXJhbCB0eXBlIGRlZmluaXRpb24gZm9yIGEgZmlsZSBkZXNjcmlwdG9yLiBUbyBiZSB1c2VkIGJ5IHRoZSBjYWxsYmFjayBjbGFzc2VzLgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZm9ydGVfYXJjaGl0ZWN0dXJlLmggYi9zcmMvYXJjaC9mb3J0ZV9hcmNoaXRlY3R1cmUuaAppbmRleCAwMjc0MDA4Li4yM2E2OTlmIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9mb3J0ZV9hcmNoaXRlY3R1cmUuaAorKysgYi9zcmMvYXJjaC9mb3J0ZV9hcmNoaXRlY3R1cmUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5oIGIvc3JjL2FyY2gvZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaAppbmRleCA3M2QxNTgwLi45N2ViODFmIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5oCisrKyBiL3NyYy9hcmNoL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmgKQEAgLTEsMTIgKzEsMTQgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSCwgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZHMgZnVuY3Rpb24gZm9yIGdldHRpbmcgbW9ub3RvbmljIHRpbWUgaW4gbmFub3NlY29uZHMKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjaWZuZGVmIFNSQ19BUkNIX0ZPUlRFX0FSQ0hJVEVDVFVSRV9USU1FX0hfCkBAIC0xNCw2ICsxNiw4IEBACiAKICNpbmNsdWRlIDx0aW1lLmg+CiAKKyNpbmNsdWRlICJmb3J0ZV9jb25zdGFudHMuaCIKKwogI2lmIGRlZmluZWQoV0lOQ0UpCiAjaW5jbHVkZSA8d2NlX3RpbWUuaD4KIApAQCAtMzMsOSArMzcsMTAgQEAKIH0KIAogaW5saW5lCi10aW1lX3QgZm9ydGVfdGltZSh0aW1lX3QqIHBhX3RpbWUpewotICByZXR1cm4gd2NlZXhfdGltZShwYV90aW1lKTsKK3RpbWVfdCBmb3J0ZV90aW1lKCl7CisgIHJldHVybiB3Y2VleF90aW1lKDApOwogfQorCiAjZWxzZQogCiBpbmxpbmUKQEAgLTU0LDkgKzU5LDEyIEBACiB9CiAKIGlubGluZQotdGltZV90IGZvcnRlX3RpbWUodGltZV90KiBwYV90aW1lKXsKLSAgcmV0dXJuIHRpbWUocGFfdGltZSk7Cit0aW1lX3QgZm9ydGVfdGltZSgpeworICByZXR1cm4gdGltZSgwKTsKIH0KKwogI2VuZGlmCiAKK3VpbnRfZmFzdDY0X3QgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMoKTsKKwogI2VuZGlmIC8qIFNSQ19BUkNIX0ZPUlRFX0FSQ0hJVEVDVFVSRV9USU1FX0hfICovCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9mb3J0ZV9wcmludGVyLmggYi9zcmMvYXJjaC9mb3J0ZV9wcmludGVyLmgKaW5kZXggOGNjODg1NC4uZTljYTFmZiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZm9ydGVfcHJpbnRlci5oCisrKyBiL3NyYy9hcmNoL2ZvcnRlX3ByaW50ZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZvcnRlX3JlYWxGdW5jdGlvbnMuaCBiL3NyYy9hcmNoL2ZvcnRlX3JlYWxGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmEzNzRiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2FyY2gvZm9ydGVfcmVhbEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsMjEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQVJDSF9GT1JURV9SRUFMRlVOQ1RJT05TX0hfCisjZGVmaW5lIFNSQ19BUkNIX0ZPUlRFX1JFQUxGVU5DVElPTlNfSF8KKworI2luY2x1ZGUgImRhdGF0eXBlLmgiCisKK1RGb3J0ZUZsb2F0IGZvcnRlX3N0cmluZ1RvRmxvYXQoY29uc3QgY2hhciogcGFTdHIsIGNoYXIqKiBwYUVuZFB0cik7CisKKworI2VuZGlmIC8qIFNSQ19BUkNIX0ZPUlRFX1JFQUxGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZvcnRlbmV3LmggYi9zcmMvYXJjaC9mb3J0ZW5ldy5oCmluZGV4IGQwN2YwYzUuLmE2ZTYwZTMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2ZvcnRlbmV3LmgKKysrIGIvc3JjL2FyY2gvZm9ydGVuZXcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNiBBQ0lOLCBueHRjb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSwgTW9uaWthIFdlbmdlcgpAQCAtMjEsNiArMjIsNyBAQAogI2lmbmRlZiBGT1JURV9VU0VfREVGQVVMVF9ORVdfQU5EX0RFTEVURQogLy9XaXRoIHRoaXMgZGVmaW5lIHBsYXRmb3JtcyBjYW4gdXNlIHRoZSBkZWZhdWx0IG5ldyBhbmQgZGVsZXRlIG9wZXJhdG9ycyBwcm92aWRlZCBieSB0aGUgc3RhbmRhcmQgbGlicmFyeQogLy9JdCBzaG91bGQgYmUgc2V0IGluIHRoZSBmb3J0ZWFsbG9jLmggZmlsZQorLy9CeSBkZWZhdWx0LCBmb3J0ZSBpcyBidWlsdCB1c2luZyB0aGVzZSBpbXBsZW1lbnRhdGlvbnMuIFNlZSBodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9NTQ0MDQ4CiAKIC8qIUNvbGxlY3Rpb24gb2YgbmV3IGFuZCBkZWxldGUgb3BlcmF0b3JzIHVzZWQgYnkgZm9ydGUgZm9yIGR5bmFtaWNhbGx5IGFsbG9jYXRpbmcgbWVtb3J5LgogICoKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZyZWVSVE9TL0NNYWtlTGlzdHMudHh0IGIvc3JjL2FyY2gvZnJlZVJUT1MvQ01ha2VMaXN0cy50eHQKaW5kZXggNGNjNGE0NC4uNDY1NzNiNiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZnJlZVJUT1MvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL2FyY2gvZnJlZVJUT1MvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqIEd1cnUgQ2hhbmRyYXNla2hhcmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICBHdXJ1IENoYW5kcmFzZWtoYXJhIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKiBKb3NlIENhYnJhbCAtIENsZWFuaW5nCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApAQCAtMTcsMzYgKzE4LDM1IEBACiAKIGlmKCIke0ZPUlRFX0FSQ0hJVEVDVFVSRX0iIFNUUkVRVUFMICJGcmVlUlRPU0x3SVAiKQogCisgIGZvcnRlX2FkZF9pbmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkgIAorCiAgIHNldChGT1JURV9MT0dMRVZFTCAiTk9MT0ciIENBQ0hFIFNUUklORyAiTG9nbGV2ZWwgdG8gdXNlIiBGT1JDRSkKICAgU0VUKEZPUlRFX0ZyZWVSVE9TTHdJUF9JTkNMVURFUyAiIiBDQUNIRSBTVFJJTkcgIkZvbGRlcnMgdG8gaW5jbHVkZSBmcm9tIHRoZSBGcmVlUlRPUyBPUyBhbmQgdGhlIEx3SVAgc3RhY2siKQogICAKICAgU0VUKEZPUlRFX0ZyZWVSVE9TTHdJUF9MSUJfRElSICIiIENBQ0hFIFBBVEggIk9ubHkgZm9yIGV4ZWN1dGFibGU6IEFCU09MVVRFIHBhdGggdG8gRnJlZVJUT1NMd0lQIGZvbGRlciB3aXRoIG9iamVjdCBsaWJyYXJ5IEZPUlRFX0ZyZWVSVE9TTHdJUF9MSUIiKQogICBTRVQoRk9SVEVfRnJlZVJUT1NMd0lQX0xJQiAiIiBDQUNIRSBTVFJJTkcgIk9ubHkgZm9yIGV4ZWN1dGFibGU6IEZyZWVSVE9TTHdJUCBMaWJyYXJ5IGZpbGUgaW4gRk9SVEVfRnJlZVJUT1NMd0lQX0RJUiB0byBiZSBsaW5rZWQgdG8gZm9ydGUiKQogICAKLSAgZm9ydGVfYWRkX2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KSAgCi0gIAogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oKGZvcnRlYWxsb2MuaCkKICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChmb3J0ZV90aHJlYWQgZm9ydGVfc3luYyBmcmVlcnRvc3RpaGEgZm9ydGVfc2VtIGZvcnRlX0luaXQpCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcChmb3J0ZV9hcmNoaXRlY3R1cmUuY3BwIC4uL2dlbmZvcnRlX3ByaW50ZXIuY3BwKQorICBmb3J0ZV9hZGRfc291cmNlZmlsZV9jcHAoLi4vZ2VuZm9ydGVfcmVhbEZ1bmN0aW9ucy5jcHAgLi9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHApCisgIAorICBmb3J0ZV9hZGRfdG9fZXhlY3V0YWJsZV9jcHAobWFpbikKKyAgCisgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItREZPUlRFX0xJVFRMRV9FTkRJQU4iKQorICAKKyAgZm9ydGVfYWRkX2luY2x1ZGVfc3lzdGVtX2RpcmVjdG9yaWVzKCR7Rk9SVEVfRnJlZVJUT1NMd0lQX0lOQ0xVREVTfSkKICAgCiAgIGlmKEZPUlRFX0NPTV9FVEgpCiAgICAgZm9ydGVfYWRkX2hhbmRsZXIoQ0ZEU2VsZWN0SGFuZGxlciBzb2NraGFuZCkKICAgICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKCAuLi9mZHNlbGVjdGhhbmQgLi4vYnNkc29ja2V0aW50ZXJmKQogICAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2goLi4vZ2Vuc29ja2hhbmQuaCkKICAgICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oKHNvY2toYW5kLmgpCisKKyAgICBtZXNzYWdlKCJmcmVlUlRPUyB3aXRoIEx3SVAgYXJjaCBuZWVkcyB0aGUgZm9sbG93aW5nIGZsYWdzIHRvIGJlIGRlZmluZWQgKHBsZWFzZSBkbyBpdCBpbiBsd2lwb3B0cy5oKToiKQorICAgIG1lc3NhZ2UoIiNkZWZpbmUgTFdJUF9DT01QQVRfU09DS0VUUyAxIikKKyAgICBtZXNzYWdlKCIjZGVmaW5lIExXSVBfSUdNUCAxIC8vdG8gdXNlIElQX0FERF9NRU1CRVJTSElQIikKKyAgICBtZXNzYWdlKCIjZGVmaW5lIExXSVBfVElNRVZBTF9QUklWQVRFIDAgLy9UaGlzIGlzIG9wdGlvbmFsLiBTZXQgdGhpcyBmbGFnIGlmIHlvdSBnZXQgYSBjb21waWxhdGlvbiBlcnJvciBhYm91dCByZWRlZmluaXRpb24gb2Ygc3RydWN0IHRpbWV2YWwiKQogICBlbmRpZihGT1JURV9DT01fRVRIKQogICAKLSAgZm9ydGVfYWRkX3RvX2V4ZWN1dGFibGVfY3BwKG1haW4pCi0KLSAgZm9ydGVfYWRkX2RlZmluaXRpb24oIi1ERk9SVEVfTElUVExFX0VORElBTiIpCi0gIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItRF9fVVNFX1czMl9TT0NLRVRTIikgI3RvIGhpZGUgdGhlIEZEIGZ1bmN0aW9ucwotCi0gIGZvcnRlX2FkZF9pbmNsdWRlX2RpcmVjdG9yaWVzKC4uLyR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKLSAgCi0gIGZvcnRlX2FkZF9pbmNsdWRlX3N5c3RlbV9kaXJlY3Rvcmllcygke0ZPUlRFX0ZyZWVSVE9TTHdJUF9JTkNMVURFU30pCi0KLSAgZm9ydGVfYWRkX2RlZmluaXRpb24oLW1jcHU9Y29ydGV4LW0zIC1tdGh1bWIpICNDUFUgZGVwZW5kYW50Ci0gIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtZnN0YWNrLXVzYWdlIC1XYWxsIC1zcGVjcz1uYW5vLnNwZWNzIC1ETFdJUF9USU1FVkFMX1BSSVZBVEU9MCAtZm5vLXRocmVhZHNhZmUtc3RhdGljcyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zIikKLSAgCi0KIGVuZGlmKCkKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX0luaXQuY3BwIGIvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfSW5pdC5jcHAKaW5kZXggNTFiNzA3Zi4uY2FkYWRjZiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfSW5pdC5jcHAKKysrIGIvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfSW5pdC5jcHAKQEAgLTEsMTQ0ICsxLDE0MSBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOCBmb3J0aXNzIEdtYkgNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KICAqCi0gKiBDb250cmlidXRvcnM6Ci0gKiBNaWxhbiBWYXRob29wYW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2luY2x1ZGUgImZvcnRlX0luaXQuaCIKLQotI2luY2x1ZGUgImZvcnRlbmV3LmgiCi0jaW5jbHVkZSAiZm9ydGVfYXJjaGl0ZWN0dXJlLmgiCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdHJpbmc+Ci0jaW5jbHVkZSAiLi4vLi4vc3RkZmJsaWIvaXRhL1JNVF9ERVYuaCIKLQotdW5zaWduZWQgaW50IGZvcnRlX2RlZmF1bHRfcG9ydCA9IDYxNDk5OwotCi0vKiFcYnJpZWYgQ2hlY2sgaWYgdGhlIGNvcnJlY3QgZW5kaWFuZXNzIGhhcyBiZWVuIGNvbmZpZ3VyZWQuCi0gKgotICogSWYgdGhlIHJpZ2h0IGVuZGlhbmVzcyBpcyBub3Qgc2V0IHRoaXMgZnVuY3Rpb24gd2lsbCBlbmQgRk9SVEUuCi0gKi8KLQotYm9vbCBjaGVja0VuZGlhbmVzcygpOwotdm9pZCBjcmVhdGVEZXYoY29uc3QgY2hhciAqcGFNR1JJRCwgVEZvcnRlSW5zdGFuY2UqIHBhUmVzdWx0SW5zdGFuY2UpOwotCi12b2lkIGZvcnRlR2xvYmFsSW5pdGlhbGl6ZSh2b2lkKXsKLSAgQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppbml0aWFsaXplKCk7Ci19Ci0KLXZvaWQgZm9ydGVHbG9iYWxEZWluaXRpYWxpemUodm9pZCl7Ci0gIENGb3J0ZUFyY2hpdGVjdHVyZTo6ZGVpbml0aWFsaXplKCk7Ci19Ci0KLWludCBmb3J0ZVN0YXJ0SW5zdGFuY2UodW5zaWduZWQgaW50IHBhUG9ydCwgVEZvcnRlSW5zdGFuY2UqIHBhUmVzdWx0SW5zdGFuY2UpewotCi0gIGlmICg2NTUzNSA8IHBhUG9ydCl7Ci0gICAgcmV0dXJuIEZPUlRFX1dST05HX1BBUkFNRVRFUlM7Ci0gIH0KLQotICBpZiAoMCA9PSBwYVBvcnQpewotICAgIHBhUG9ydCA9IGZvcnRlX2RlZmF1bHRfcG9ydDsKLSAgfQotCi0gIGNoYXIgZmxhZ1tdID0gIi1jIjsKLSAgY2hhciBhZGRyZXNzWzE2XSA9ICJsb2NhbGhvc3Q6IjsKLSAgY2hhciBwb3J0WzZdOwotICBzcHJpbnRmKHBvcnQsICIldSIsIHBhUG9ydCk7Ci0gIHN0cmNhdChhZGRyZXNzLCBwb3J0KTsKLQotICBjaGFyKiBhcmd1bWVudHNbXSA9IHtmbGFnLCBhZGRyZXNzfTsKLSAgcmV0dXJuIGZvcnRlU3RhcnRJbnN0YW5jZUdlbmVyaWMoMiwgYXJndW1lbnRzLCBwYVJlc3VsdEluc3RhbmNlKTsKLX0KLQotCi1pbnQgZm9ydGVTdGFydEluc3RhbmNlR2VuZXJpYyhpbnQgcGFBcmdjLCBjaGFyICpwYUFyZ3ZbXSwgVEZvcnRlSW5zdGFuY2UqIHBhUmVzdWx0SW5zdGFuY2UpewotCi0gIGlmKCFDRm9ydGVBcmNoaXRlY3R1cmU6OmlzSW5pdGlhbGl6ZWQoKSl7Ci0gICAgcmV0dXJuIEZPUlRFX0FSQ0hJVEVDVFVSRV9OT1RfUkVBRFk7Ci0gIH0KLQotICBpZigwID09IHBhUmVzdWx0SW5zdGFuY2UpewotICAgIHJldHVybiBGT1JURV9XUk9OR19QQVJBTUVURVJTOwotICB9Ci0KLSAgaWYgKDAgIT0gKnBhUmVzdWx0SW5zdGFuY2UpewotICAgIHJldHVybiBGT1JURV9ERVZJQ0VfQUxSRUFEWV9TVEFSVEVEOwotICB9Ci0KLSAgaWYgKCFjaGVja0VuZGlhbmVzcygpKXsKLSAgICByZXR1cm4gRk9SVEVfV1JPTkdfRU5ESUFORVNTOwotICB9Ci0KLSAgaWYocGFBcmdjIDw9IDEpeyAvLyEgRGVmYXVsdCBWYWx1ZSAobG9jYWxob3N0OjYxNDk5KQotICAgIGNyZWF0ZURldigibG9jYWxob3N0OjYxNDk5IiwgcGFSZXN1bHRJbnN0YW5jZSk7Ci0gIH0KLSAgZWxzZXsKLSAgICBpZihzdHJjbXAoIi1jIiwgcGFBcmd2WzBdKSA9PSAwKXsgLy8hIHNldHMgdGhlIGRlc3RpbmF0aW9uIGZvciB0aGUgY29ubmVjdGlvbgotICAgICAgY3JlYXRlRGV2KHBhQXJndlsxXSwgcGFSZXN1bHRJbnN0YW5jZSk7Ci0gICAgfQotICAgIGVsc2V7IC8vISBMaXN0cyB0aGUgaGVscCBmb3IgRk9SVEUKLSAgICAgIHJldHVybiBGT1JURV9XUk9OR19QQVJBTUVURVJTOwotICAgIH0KLSAgfQotCi0gIHJldHVybiBGT1JURV9PSzsKLX0KLQotdm9pZCBmb3J0ZUpvaW5JbnN0YW5jZShURm9ydGVJbnN0YW5jZSBwYUluc3RhbmNlKXsKLSAgUk1UX0RFViAqcG9EZXYgPSBzdGF0aWNfY2FzdDxSTVRfREVWKj4ocGFJbnN0YW5jZSk7Ci0gIGlmKDAgIT0gcG9EZXYpewotICAgIHBvRGV2LT5NR1Iuam9pblJlc291cmNlVGhyZWFkKCk7Ci0gIH0KLX0KLQotdm9pZCBmb3J0ZVN0b3BJbnN0YW5jZShpbnQgcGFTaWcsIFRGb3J0ZUluc3RhbmNlIHBhSW5zdGFuY2UpewotICBpZighQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppc0luaXRpYWxpemVkKCkpewotICAgIHJldHVybjsKLSAgfQotICAodm9pZCkgcGFTaWc7Ci0gIFJNVF9ERVYgKnBvRGV2ID0gc3RhdGljX2Nhc3Q8Uk1UX0RFVio+KHBhSW5zdGFuY2UpOwotICBpZigwICE9IHBvRGV2KXsKLSAgICBwb0Rldi0+Y2hhbmdlRkJFeGVjdXRpb25TdGF0ZShjZ19uTUdNX0NNRF9LaWxsKTsKLSAgICBwb0Rldi0+TUdSLmpvaW5SZXNvdXJjZVRocmVhZCgpOwotICAgIERFVkxPR19JTkZPKCJGT1JURSBmaW5pc2hlZFxuIik7Ci0gICAgZGVsZXRlIHBvRGV2OwotICB9Ci19Ci0KLS8qIVxicmllZiBDcmVhdGVzIHRoZSBEZXZpY2UtT2JqZWN0Ci0gKiBccGFyYW0gcGFfYWNNR1JJRCBBIHN0cmluZyBjb250YWluaW5nIElQIGFuZCBQb3J0IGxpa2UgW0lQXTpbUG9ydF0KLSAqIFxwYXJhbSBUaGUgcmVzdWx0Ci0gKi8KLXZvaWQgY3JlYXRlRGV2KGNvbnN0IGNoYXIgKnBhTUdSSUQsIFRGb3J0ZUluc3RhbmNlKiBwYUluc3RhbmNlKXsKLSAgUk1UX0RFViAqZGV2aWNlID0gbmV3IFJNVF9ERVY7Ci0gIGRldmljZS0+c2V0TUdSX0lEKHBhTUdSSUQpOwotICBkZXZpY2UtPnN0YXJ0RGV2aWNlKCk7Ci0gICpwYUluc3RhbmNlID0gZGV2aWNlOwotICBERVZMT0dfSU5GTygiRk9SVEUgaXMgdXAgYW5kIHJ1bm5pbmdcbiIpOwotfQotCi1ib29sIGNoZWNrRW5kaWFuZXNzKCl7Ci0gIGludCBpID0gMTsKLSAgY2hhciAqcCA9IChjaGFyICopICZpOwotICBpZihwWzBdID09IDEpewotICAgIC8vd2UgYXJlIG9uIGEgbGl0dGxlIGVuZGlhbiBwbGF0Zm9ybQotI2lmZGVmIEZPUlRFX0JJR19FTkRJQU4KLSAgICBERVZMT0dfRVJST1IoIldyb25nIGVuZGlhbmVzcyBjb25maWd1cmVkISBZb3UgYXJlIG9uIGEgbGl0dGxlIGVuZGlhbiBwbGF0Zm9ybSBhbmQgaGF2ZSBjb25maWd1cmVkIGJpZyBlbmRpYW4hXG4iKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLSAgfQotICBlbHNlewotICAgIC8vd2UgYXJlIG9uIGEgYmlnIGVuZGlhbiBwbGF0Zm9ybQotI2lmZGVmIEZPUlRFX0xJVFRMRV9FTkRJQU4KLSAgICBERVZMT0dfRVJST1IoIldyb25nIGVuZGlhbmVzcyBjb25maWd1cmVkISBZb3UgYXJlIG9uIGEgYmlnIGVuZGlhbiBwbGF0Zm9ybSBhbmQgaGF2ZSBjb25maWd1cmVkIGxpdHRsZSBlbmRpYW4hXG4iKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLSAgfQotCi0gIHJldHVybiB0cnVlOwotfQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiBNaWxhbiBWYXRob29wYW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyAqIFRhcmlrIFRlcnppbWVoaWMgLSBtYWtlIE9QQyBVQSBzZXJ2ZXIgcG9ydCBzZXRhYmxlIGZyb20gdGhlIGNvbW1hbmQgbGluZQ0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorDQorI2luY2x1ZGUgImZvcnRlX0luaXQuaCINCisNCisjaW5jbHVkZSAiZm9ydGVuZXcuaCINCisjaW5jbHVkZSAiZm9ydGVfYXJjaGl0ZWN0dXJlLmgiDQorI2luY2x1ZGUgPHN0ZGlvLmg+DQorI2luY2x1ZGUgPHN0cmluZz4NCisjaW5jbHVkZSAiLi4vLi4vc3RkZmJsaWIvaXRhL1JNVF9ERVYuaCINCisNCisjaW5jbHVkZSAiLi4vdXRpbHMvbWFpbnBhcmFtX3V0aWxzLmgiDQorDQordW5zaWduZWQgaW50IGZvcnRlX2RlZmF1bHRfcG9ydCA9IDYxNDk5Ow0KKw0KKy8qIVxicmllZiBDaGVjayBpZiB0aGUgY29ycmVjdCBlbmRpYW5lc3MgaGFzIGJlZW4gY29uZmlndXJlZC4NCisgKg0KKyAqIElmIHRoZSByaWdodCBlbmRpYW5lc3MgaXMgbm90IHNldCB0aGlzIGZ1bmN0aW9uIHdpbGwgZW5kIEZPUlRFLg0KKyAqLw0KKw0KK2Jvb2wgY2hlY2tFbmRpYW5lc3MoKTsNCit2b2lkIGNyZWF0ZURldihjb25zdCBjaGFyICpwYU1HUklELCBURm9ydGVJbnN0YW5jZSogcGFSZXN1bHRJbnN0YW5jZSk7DQorDQordm9pZCBmb3J0ZUdsb2JhbEluaXRpYWxpemUodm9pZCkgew0KKyAgQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppbml0aWFsaXplKCk7DQorfQ0KKw0KK3ZvaWQgZm9ydGVHbG9iYWxEZWluaXRpYWxpemUodm9pZCkgew0KKyAgQ0ZvcnRlQXJjaGl0ZWN0dXJlOjpkZWluaXRpYWxpemUoKTsNCit9DQorDQoraW50IGZvcnRlU3RhcnRJbnN0YW5jZSh1bnNpZ25lZCBpbnQgcGFQb3J0LCBURm9ydGVJbnN0YW5jZSogcGFSZXN1bHRJbnN0YW5jZSkgew0KKw0KKyAgaWYoNjU1MzUgPCBwYVBvcnQpIHsNCisgICAgcmV0dXJuIEZPUlRFX1dST05HX1BBUkFNRVRFUlM7DQorICB9DQorDQorICBpZigwID09IHBhUG9ydCkgew0KKyAgICBwYVBvcnQgPSBmb3J0ZV9kZWZhdWx0X3BvcnQ7DQorICB9DQorDQorICBjaGFyIGZsYWdbXSA9ICItYyI7DQorICBjaGFyIGFkZHJlc3NbMTZdID0gImxvY2FsaG9zdDoiOw0KKyAgY2hhciBwb3J0WzZdOw0KKyAgc3ByaW50Zihwb3J0LCAiJXUiLCBwYVBvcnQpOw0KKyAgc3RyY2F0KGFkZHJlc3MsIHBvcnQpOw0KKw0KKyAgY2hhciogYXJndW1lbnRzW10gPSB7IGZsYWcsIGFkZHJlc3MgfTsNCisgIHJldHVybiBmb3J0ZVN0YXJ0SW5zdGFuY2VHZW5lcmljKDIsIGFyZ3VtZW50cywgcGFSZXN1bHRJbnN0YW5jZSk7DQorfQ0KKw0KK2ludCBmb3J0ZVN0YXJ0SW5zdGFuY2VHZW5lcmljKGludCBwYUFyZ2MsIGNoYXIgKnBhQXJndltdLCBURm9ydGVJbnN0YW5jZSogcGFSZXN1bHRJbnN0YW5jZSkgew0KKw0KKyAgaWYoIUNGb3J0ZUFyY2hpdGVjdHVyZTo6aXNJbml0aWFsaXplZCgpKSB7DQorICAgIHJldHVybiBGT1JURV9BUkNISVRFQ1RVUkVfTk9UX1JFQURZOw0KKyAgfQ0KKw0KKyAgaWYoMCA9PSBwYVJlc3VsdEluc3RhbmNlKSB7DQorICAgIHJldHVybiBGT1JURV9XUk9OR19QQVJBTUVURVJTOw0KKyAgfQ0KKw0KKyAgaWYoMCAhPSAqcGFSZXN1bHRJbnN0YW5jZSkgew0KKyAgICByZXR1cm4gRk9SVEVfREVWSUNFX0FMUkVBRFlfU1RBUlRFRDsNCisgIH0NCisNCisgIGlmKCFjaGVja0VuZGlhbmVzcygpKSB7DQorICAgIHJldHVybiBGT1JURV9XUk9OR19FTkRJQU5FU1M7DQorICB9DQorDQorICBjb25zdCBjaGFyICpwSXBQb3J0ID0gcGFyc2VDb21tYW5kTGluZUFyZ3VtZW50cyhwYUFyZ2MsIHBhQXJndik7DQorICBpZigoMCAhPSBzdHJsZW4ocElwUG9ydCkpICYmIChOVUxMICE9IHN0cmNocihwSXBQb3J0LCAnOicpKSkgew0KKyAgICBjcmVhdGVEZXYocElwUG9ydCwgcGFSZXN1bHRJbnN0YW5jZSk7DQorICB9IGVsc2UgeyAvLyEgSWYgbmVlZGVkIGNhbGwgbGlzdEhlbHAoKSB0byBsaXN0IHRoZSBoZWxwIGZvciBGT1JURQ0KKyAgICByZXR1cm4gRk9SVEVfV1JPTkdfUEFSQU1FVEVSUzsNCisgIH0NCisNCisgIHJldHVybiBGT1JURV9PSzsNCit9DQorDQordm9pZCBmb3J0ZUpvaW5JbnN0YW5jZShURm9ydGVJbnN0YW5jZSBwYUluc3RhbmNlKSB7DQorICBSTVRfREVWICpwb0RldiA9IHN0YXRpY19jYXN0PFJNVF9ERVYqPihwYUluc3RhbmNlKTsNCisgIGlmKDAgIT0gcG9EZXYpIHsNCisgICAgcG9EZXYtPk1HUi5qb2luUmVzb3VyY2VUaHJlYWQoKTsNCisgIH0NCit9DQorDQordm9pZCBmb3J0ZVN0b3BJbnN0YW5jZShpbnQgcGFTaWcsIFRGb3J0ZUluc3RhbmNlIHBhSW5zdGFuY2UpIHsNCisgIGlmKCFDRm9ydGVBcmNoaXRlY3R1cmU6OmlzSW5pdGlhbGl6ZWQoKSkgew0KKyAgICByZXR1cm47DQorICB9DQorICAodm9pZCkgcGFTaWc7DQorICBSTVRfREVWICpwb0RldiA9IHN0YXRpY19jYXN0PFJNVF9ERVYqPihwYUluc3RhbmNlKTsNCisgIGlmKDAgIT0gcG9EZXYpIHsNCisgICAgcG9EZXYtPmNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfS2lsbCk7DQorICAgIHBvRGV2LT5NR1Iuam9pblJlc291cmNlVGhyZWFkKCk7DQorICAgIERFVkxPR19JTkZPKCJGT1JURSBmaW5pc2hlZFxuIik7DQorICAgIGRlbGV0ZSBwb0RldjsNCisgIH0NCit9DQorDQorLyohXGJyaWVmIENyZWF0ZXMgdGhlIERldmljZS1PYmplY3QNCisgKiBccGFyYW0gcGFfYWNNR1JJRCBBIHN0cmluZyBjb250YWluaW5nIElQIGFuZCBQb3J0IGxpa2UgW0lQXTpbUG9ydF0NCisgKiBccGFyYW0gVGhlIHJlc3VsdA0KKyAqLw0KK3ZvaWQgY3JlYXRlRGV2KGNvbnN0IGNoYXIgKnBhTUdSSUQsIFRGb3J0ZUluc3RhbmNlKiBwYUluc3RhbmNlKSB7DQorICBSTVRfREVWICpkZXZpY2UgPSBuZXcgUk1UX0RFVjsNCisgIGRldmljZS0+c2V0TUdSX0lEKHBhTUdSSUQpOw0KKyAgZGV2aWNlLT5zdGFydERldmljZSgpOw0KKyAgKnBhSW5zdGFuY2UgPSBkZXZpY2U7DQorICBERVZMT0dfSU5GTygiRk9SVEUgaXMgdXAgYW5kIHJ1bm5pbmdcbiIpOw0KK30NCisNCitib29sIGNoZWNrRW5kaWFuZXNzKCkgew0KKyAgaW50IGkgPSAxOw0KKyAgY2hhciAqcCA9IChjaGFyICopICZpOw0KKyAgaWYocFswXSA9PSAxKSB7DQorICAgIC8vd2UgYXJlIG9uIGEgbGl0dGxlIGVuZGlhbiBwbGF0Zm9ybQ0KKyNpZmRlZiBGT1JURV9CSUdfRU5ESUFODQorICAgIERFVkxPR19FUlJPUigiV3JvbmcgZW5kaWFuZXNzIGNvbmZpZ3VyZWQhIFlvdSBhcmUgb24gYSBsaXR0bGUgZW5kaWFuIHBsYXRmb3JtIGFuZCBoYXZlIGNvbmZpZ3VyZWQgYmlnIGVuZGlhbiFcbiIpOw0KKyAgICByZXR1cm4gZmFsc2U7DQorI2VuZGlmDQorICB9IGVsc2Ugew0KKyAgICAvL3dlIGFyZSBvbiBhIGJpZyBlbmRpYW4gcGxhdGZvcm0NCisjaWZkZWYgRk9SVEVfTElUVExFX0VORElBTg0KKyAgICBERVZMT0dfRVJST1IoIldyb25nIGVuZGlhbmVzcyBjb25maWd1cmVkISBZb3UgYXJlIG9uIGEgYmlnIGVuZGlhbiBwbGF0Zm9ybSBhbmQgaGF2ZSBjb25maWd1cmVkIGxpdHRsZSBlbmRpYW4hXG4iKTsNCisgICAgcmV0dXJuIGZhbHNlOw0KKyNlbmRpZg0KKyAgfQ0KKw0KKyAgcmV0dXJuIHRydWU7DQorfQ0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX0luaXQuaCBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX0luaXQuaAppbmRleCBjMTI2MjM3Li5kODliYjIwIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV9Jbml0LmgKKysrIGIvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfSW5pdC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xOCwxOSArMTksMTggQEAKICAqCiAgKi8KICNpZm5kZWYgRk9SVEVfU0hBUkVEX1BSRUZJWAotICAjZGVmaW5lIEZPUlRFX1NIQVJFRF9QUkVGSVgKKyMgZGVmaW5lIEZPUlRFX1NIQVJFRF9QUkVGSVgKICNlbmRpZgogCiAjaWZuZGVmIEZPUlRFX1NIQVJFRF9DQUxMCi0gICNkZWZpbmUgRk9SVEVfU0hBUkVEX0NBTEwKKyMgZGVmaW5lIEZPUlRFX1NIQVJFRF9DQUxMCiAjZW5kaWYKIAotCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLSAgZW51bSBGT1JURV9TVEFUVVN7CisgIGVudW0gRk9SVEVfU1RBVFVTIHsKICAgICBGT1JURV9PSywKICAgICBGT1JURV9ERVZJQ0VfQUxSRUFEWV9TVEFSVEVELAogICAgIEZPUlRFX1dST05HX0VORElBTkVTUywKQEAgLTg0LDYgKzg0LDQgQEAKIH0KICNlbmRpZgogCi0KLQogI2VuZGlmIC8qIFNSQ19BUkNIX0ZSRUVSVE9TX0ZPUlRFX0lOSVRfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX2FyY2hpdGVjdHVyZS5jcHAgYi9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV9hcmNoaXRlY3R1cmUuY3BwCmluZGV4IGI2MDZjNWMuLmQ0YTFkMjUgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX2FyY2hpdGVjdHVyZS5jcHAKKysrIGIvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfYXJjaGl0ZWN0dXJlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiBNaWxhbiBWYXRob29wYW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTMsMTggKzE0LDE3IEBACiAjaW5jbHVkZSAiZm9ydGVpbml0LmgiCiBib29sIENGb3J0ZUFyY2hpdGVjdHVyZTo6bUluaXRpYWxpemVkID0gZmFsc2U7CiAKLWJvb2wgQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppbml0aWFsaXplKCl7Ci0gIGlmICghbUluaXRpYWxpemVkKXsKK2Jvb2wgQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppbml0aWFsaXplKCkgeworICBpZighbUluaXRpYWxpemVkKSB7CiAgICAgaW5pdEZvcnRlKCk7CiAgICAgbUluaXRpYWxpemVkID0gdHJ1ZTsKICAgfQogICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBDRm9ydGVBcmNoaXRlY3R1cmU6OmRlaW5pdGlhbGl6ZSgpewotICBpZihtSW5pdGlhbGl6ZWQpewordm9pZCBDRm9ydGVBcmNoaXRlY3R1cmU6OmRlaW5pdGlhbGl6ZSgpIHsKKyAgaWYobUluaXRpYWxpemVkKSB7CiAgICAgbUluaXRpYWxpemVkID0gZmFsc2U7CiAgIH0KIH0KIAotCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHAgYi9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YwM2UwNAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcApAQCAtMCwwICsxLDIzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgSm9zZSBDYWJyYWwgLSBBZGRzIGdldE5hbm9TZWNvbmRzTW9ub3RvbmljCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgPEZyZWVSVE9TLmg+CisjaW5jbHVkZSA8dGFzay5oPgorCisjaW5jbHVkZSAiZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaCIKKyNpbmNsdWRlICJmb3J0ZV9jb25zdGFudHMuaCIKKwordWludF9mYXN0NjRfdCBnZXROYW5vU2Vjb25kc01vbm90b25pYygpIHsKKyAgcmV0dXJuIChzdGF0aWNfY2FzdDx1aW50X2Zhc3Q2NF90Pih4VGFza0dldFRpY2tDb3VudCgpKSAqIChmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTmFub3NlY29uZHNQZXJTZWNvbmQgLyBzdGF0aWNfY2FzdDx1aW50X2Zhc3Q2NF90Pihjb25maWdUSUNLX1JBVEVfSFopKSk7Cit9CisKKwpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfc2VtLmNwcCBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3NlbS5jcHAKaW5kZXggMTc4OTU5Mi4uYmY2ZGNkMSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfc2VtLmNwcAorKysgYi9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV9zZW0uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xNywzNiArMTgsMzYgQEAKIG5hbWVzcGFjZSBmb3J0ZSB7CiAgIG5hbWVzcGFjZSBhcmNoIHsKIAotICAgIENGcmVlUlRPU1NlbWFwaG9yZTo6Q0ZyZWVSVE9TU2VtYXBob3JlKHVuc2lnbmVkIGludCBwYUluaXRpYWxWYWx1ZSl7CisgICAgQ0ZyZWVSVE9TU2VtYXBob3JlOjpDRnJlZVJUT1NTZW1hcGhvcmUodW5zaWduZWQgaW50IHBhSW5pdGlhbFZhbHVlKSB7CiAgICAgICBtU2VtYXBob3JlID0geFNlbWFwaG9yZUNyZWF0ZUJpbmFyeSgpOwogICAgIH0KIAotICAgIENGcmVlUlRPU1NlbWFwaG9yZTo6fkNGcmVlUlRPU1NlbWFwaG9yZSgpeworICAgIENGcmVlUlRPU1NlbWFwaG9yZTo6fkNGcmVlUlRPU1NlbWFwaG9yZSgpIHsKICAgICAgIHZTZW1hcGhvcmVEZWxldGUobVNlbWFwaG9yZSk7CiAgICAgfQogCi0gICAgdm9pZCBDRnJlZVJUT1NTZW1hcGhvcmU6OmluYygpeworICAgIHZvaWQgQ0ZyZWVSVE9TU2VtYXBob3JlOjppbmMoKSB7CiAgICAgICB4U2VtYXBob3JlR2l2ZShtU2VtYXBob3JlKTsKICAgICB9CiAKLSAgICB2b2lkIENGcmVlUlRPU1NlbWFwaG9yZTo6d2FpdEluZGVmaW5pdGVseSgpewotICAgICAgaWYobVNlbWFwaG9yZSAhPSBOVUxMKXsKKyAgICB2b2lkIENGcmVlUlRPU1NlbWFwaG9yZTo6d2FpdEluZGVmaW5pdGVseSgpIHsKKyAgICAgIGlmKG1TZW1hcGhvcmUgIT0gTlVMTCkgewogICAgICAgICB4U2VtYXBob3JlVGFrZShtU2VtYXBob3JlLCBwb3J0TUFYX0RFTEFZKTsKICAgICAgIH0KICAgICB9CiAKLSAgICBib29sIENGcmVlUlRPU1NlbWFwaG9yZTo6dGltZWRXYWl0KGNvbnN0IFRGb3J0ZVVJbnQ2NCBwYVJlbGF0aXZlVGltZW91dCl7Ci0gICAgICBpZihtU2VtYXBob3JlICE9IE5VTEwpewotICAgICAgICByZXR1cm4geFNlbWFwaG9yZVRha2UobVNlbWFwaG9yZSwgcGRNU19UT19USUNLUyAocGFSZWxhdGl2ZVRpbWVvdXQgLyAxMDAwMDAwKSk7CisgICAgYm9vbCBDRnJlZVJUT1NTZW1hcGhvcmU6OnRpbWVkV2FpdChjb25zdCBURm9ydGVVSW50NjQgcGFSZWxhdGl2ZVRpbWVvdXQpIHsKKyAgICAgIGlmKG1TZW1hcGhvcmUgIT0gTlVMTCkgeworICAgICAgICByZXR1cm4geFNlbWFwaG9yZVRha2UobVNlbWFwaG9yZSwgcGRNU19UT19USUNLUyhwYVJlbGF0aXZlVGltZW91dCAvIDEwMDAwMDApKTsKICAgICAgIH0KICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBib29sIENGcmVlUlRPU1NlbWFwaG9yZTo6dHJ5Tm9XYWl0KCl7Ci0gICAgICBpZihtU2VtYXBob3JlICE9IE5VTEwpeworICAgIGJvb2wgQ0ZyZWVSVE9TU2VtYXBob3JlOjp0cnlOb1dhaXQoKSB7CisgICAgICBpZihtU2VtYXBob3JlICE9IE5VTEwpIHsKICAgICAgICAgcmV0dXJuIHhTZW1hcGhvcmVUYWtlKG1TZW1hcGhvcmUsIDApOwogICAgICAgfQogICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICB9IC8qIG5hbWVzcGFjZSBhcmNoICovCi0gIH0gLyogbmFtZXNwYWNlIGZvcnRlICovCisgIH0gLyogbmFtZXNwYWNlIGFyY2ggKi8KK30gLyogbmFtZXNwYWNlIGZvcnRlICovCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV9zZW0uaCBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3NlbS5oCmluZGV4IDViNmJhNGIuLjUyMDhkYzIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3NlbS5oCisrKyBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3NlbS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMiw4ICsxMyw4IEBACiAjaWZuZGVmIFNSQ19BUkNIX0ZSRUVSVE9TX1NFTUFQSE9SRV9IXwogI2RlZmluZSBTUkNfQVJDSF9GUkVFUlRPU19TRU1BUEhPUkVfSF8KIAotI2luY2x1ZGUgPEZyZWVSVE9TX1NvdXJjZS9pbmNsdWRlL0ZyZWVSVE9TLmg+Ci0jaW5jbHVkZSA8RnJlZVJUT1NfU291cmNlL2luY2x1ZGUvc2VtcGhyLmg+CisjaW5jbHVkZSA8RnJlZVJUT1MuaD4KKyNpbmNsdWRlIDxzZW1waHIuaD4KICNpbmNsdWRlICIuLi9kYXRhdHlwZS5oIgogCiBuYW1lc3BhY2UgZm9ydGUgewpAQCAtMjMsMTAgKzI0LDEwIEBACiAgICAgICoKICAgICAgKiBUaGUgc2VtYXBob3JlIGlzIGluaXRpYWxpemVkIHdpdGggdGhlIHZhbHVlIGdpdmVuLgogICAgICAqLwotICAgIGNsYXNzIENGcmVlUlRPU1NlbWFwaG9yZXsKKyAgICBjbGFzcyBDRnJlZVJUT1NTZW1hcGhvcmUgewogICAgICAgcHVibGljOgogCi0gICAgICAgIGV4cGxpY2l0IENGcmVlUlRPU1NlbWFwaG9yZSh1bnNpZ25lZCBpbnQgcGFJbml0aWFsVmFsdWUgID0gMCk7CisgICAgICAgIGV4cGxpY2l0IENGcmVlUlRPU1NlbWFwaG9yZSh1bnNpZ25lZCBpbnQgcGFJbml0aWFsVmFsdWUgPSAwKTsKICAgICAgICAgfkNGcmVlUlRPU1NlbWFwaG9yZSgpOwogCiAgICAgICAgIHZvaWQgaW5jKCk7CkBAIC00OSw3ICs1MCw2IEBACiAgICAgICAgIFNlbWFwaG9yZUhhbmRsZV90IG1TZW1hcGhvcmU7CiAgICAgfTsKIAotCiAgICAgdHlwZWRlZiBDRnJlZVJUT1NTZW1hcGhvcmUgQ1NlbWFwaG9yZTsKIAogICB9IC8qIG5hbWVzcGFjZSBhcmNoICovCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV9zeW5jLmNwcCBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3N5bmMuY3BwCmluZGV4IDQwOGJhYWMuLjVlMjRmZDggMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3N5bmMuY3BwCisrKyBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3N5bmMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMSwxMCArMTIsMTAgQEAKIAogI2luY2x1ZGUgImZvcnRlX3N5bmMuaCIKIAotQ0ZyZWVSVE9TU3luY09iamVjdDo6Q0ZyZWVSVE9TU3luY09iamVjdCgpeworQ0ZyZWVSVE9TU3luY09iamVjdDo6Q0ZyZWVSVE9TU3luY09iamVjdCgpIHsKICAgbU11dGV4SGFuZGxlID0geFNlbWFwaG9yZUNyZWF0ZU11dGV4KCk7CiB9CiAKLUNGcmVlUlRPU1N5bmNPYmplY3Q6On5DRnJlZVJUT1NTeW5jT2JqZWN0KCl7CitDRnJlZVJUT1NTeW5jT2JqZWN0Ojp+Q0ZyZWVSVE9TU3luY09iamVjdCgpIHsKICAgdlNlbWFwaG9yZURlbGV0ZShtTXV0ZXhIYW5kbGUpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfc3luYy5oIGIvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfc3luYy5oCmluZGV4IDFlMjllNGUuLjgyYzYzYTYgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3N5bmMuaAorKysgYi9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV9zeW5jLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogTWlsYW4gVmF0aG9vcGFuLCBHdXJ1IENoYW5kcmFzZWtoYXJhIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTExLDggKzEyLDggQEAKICNpZm5kZWYgX1NZTkNfSF8KICNkZWZpbmUgX1NZTkNfSF8KIAotI2luY2x1ZGUgPEZyZWVSVE9TX1NvdXJjZS9pbmNsdWRlL0ZyZWVSVE9TLmg+Ci0jaW5jbHVkZSA8RnJlZVJUT1NfU291cmNlL2luY2x1ZGUvc2VtcGhyLmg+CisjaW5jbHVkZSA8RnJlZVJUT1MuaD4KKyNpbmNsdWRlIDxzZW1waHIuaD4KIAogI2RlZmluZSBDU3luY09iamVjdCBDRnJlZVJUT1NTeW5jT2JqZWN0IC8vYWxsb3dzIHRoYXQgZG94eWdlbiBjYW4gZ2VuZXJhdGUgYmV0dGVyIGRvY3VtZW5hdGlvbgogCkBAIC0yNCwyNiArMjUsMjggQEAKICAqIE5vdGU6IEZvciBNdXRleCBpbXBsZW1lbnRhdGlvbiwgIHVuY29tbWVudCB0aGUgeFNlbWFwaG9yZUNyZWF0ZU11dGV4KCkgZnVuY3Rpb24gaW4gc3luYy5jcHAKICAqLwogCi1jbGFzcyBDRnJlZVJUT1NTeW5jT2JqZWN0ewotICBwcml2YXRlOgotICBwcm90ZWN0ZWQ6Ci0gIC8vISBUaGUgcG9zaXggdGhyZWFkIG11dGV4IGhhbmRsZSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbS4KLSAgU2VtYXBob3JlSGFuZGxlX3QgbU11dGV4SGFuZGxlOworY2xhc3MgQ0ZyZWVSVE9TU3luY09iamVjdCB7CiAgIHB1YmxpYzoKICAgICBDRnJlZVJUT1NTeW5jT2JqZWN0KCk7CiAgICAgfkNGcmVlUlRPU1N5bmNPYmplY3QoKTsKLSAgLyohXGJyaWVmIExvY2sgdGhlIHJlc291cmNlIGNvbWluZyBhZnRlciB0aGUgbG9jayBjb21tYW5kICAKLSAgICogCi0gICAqIFRoaXMgZnVuY3Rpb24gYmxvY2tzIHVudGlsIGl0IHdpbGwgZ2V0IHRoZSBsb2NrIGZvciB0aGUgY29taW5nIGNyaXRpY2FsIHNlY3Rpb24uCi0gICAqLyAgCi0gICAgdm9pZCBsb2NrKHZvaWQpewotICAgICAgeFNlbWFwaG9yZVRha2UobU11dGV4SGFuZGxlLCBwb3J0TUFYX0RFTEFZKTsKLSAgICB9OwogCi0gIC8vIUZyZWUgdGhlIHJlc291cmNlIGNvbWluZyBhZnRlciB0aGUgbG9jayBjb21tYW5kCi0gICAgdm9pZCB1bmxvY2sodm9pZCl7Ci0gICAgICAgeFNlbWFwaG9yZUdpdmUoIG1NdXRleEhhbmRsZSApOwotICAgIH07CisgICAgLyohXGJyaWVmIExvY2sgdGhlIHJlc291cmNlIGNvbWluZyBhZnRlciB0aGUgbG9jayBjb21tYW5kCisgICAgICoKKyAgICAgKiBUaGlzIGZ1bmN0aW9uIGJsb2NrcyB1bnRpbCBpdCB3aWxsIGdldCB0aGUgbG9jayBmb3IgdGhlIGNvbWluZyBjcml0aWNhbCBzZWN0aW9uLgorICAgICAqLworICAgIHZvaWQgbG9jayh2b2lkKSB7CisgICAgICB4U2VtYXBob3JlVGFrZShtTXV0ZXhIYW5kbGUsIHBvcnRNQVhfREVMQVkpOworICAgIH0KKworICAgIC8vIUZyZWUgdGhlIHJlc291cmNlIGNvbWluZyBhZnRlciB0aGUgbG9jayBjb21tYW5kCisgICAgdm9pZCB1bmxvY2sodm9pZCkgeworICAgICAgeFNlbWFwaG9yZUdpdmUobU11dGV4SGFuZGxlKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKworICAgIC8vISBUaGUgcG9zaXggdGhyZWFkIG11dGV4IGhhbmRsZSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbS4KKyAgICBTZW1hcGhvcmVIYW5kbGVfdCBtTXV0ZXhIYW5kbGU7CiB9OwogCiAjZW5kaWYgLypTWU5DX0hfKi8KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3RocmVhZC5jcHAgYi9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV90aHJlYWQuY3BwCmluZGV4IDI0YTJjOGQuLjllODVhMWQgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3RocmVhZC5jcHAKKysrIGIvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVfdGhyZWFkLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogTWlsYW4gVmF0aG9vcGFuLCBHdXJ1IENoYW5kcmFzZWtoYXJhIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE5LDM0ICsyMCwzNCBAQAogICovCiBjb25zdCBpbnQgQ0ZyZWVSVE9TVGhyZWFkOjpzY21Gb3J0ZVRhc2tQcmlvcml0eSA9IHRza0lETEVfUFJJT1JJVFkgKyA0OwogCi1DRnJlZVJUT1NUaHJlYWQ6OkNGcmVlUlRPU1RocmVhZChsb25nIHBhU3RhY2tTaXplKSA6IENUaHJlYWRCYXNlKHBhU3RhY2tTaXplKXsKK0NGcmVlUlRPU1RocmVhZDo6Q0ZyZWVSVE9TVGhyZWFkKGxvbmcgcGFTdGFja1NpemUpIDoKKyAgICBDVGhyZWFkQmFzZShwYVN0YWNrU2l6ZSkgewogICBtU3RhY2sgPSBuZXcgY2hhcltwYVN0YWNrU2l6ZV07CiB9CiAKLUNGcmVlUlRPU1RocmVhZDo6fkNGcmVlUlRPU1RocmVhZCgpeworQ0ZyZWVSVE9TVGhyZWFkOjp+Q0ZyZWVSVE9TVGhyZWFkKCkgewogfQogCi12b2lkIENGcmVlUlRPU1RocmVhZDo6dGhyZWFkRnVuY3Rpb24odm9pZCAqcGFEYXRhKXsKK3ZvaWQgQ0ZyZWVSVE9TVGhyZWFkOjp0aHJlYWRGdW5jdGlvbih2b2lkICpwYURhdGEpIHsKICAgQ1RocmVhZEJhc2U6OnJ1blRocmVhZChzdGF0aWNfY2FzdDxDRnJlZVJUT1NUaHJlYWQgKj4ocGFEYXRhKSk7CiAgIC8qIFRhc2tzIG11c3Qgbm90IGF0dGVtcHQgdG8gcmV0dXJuIGZyb20gdGhlaXIgaW1wbGVtZW50aW5nCi0gIGZ1bmN0aW9uIG9yIG90aGVyd2lzZSBleGl0LgotICBodHRwczovL3d3dy5mcmVlcnRvcy5vcmcvaW1wbGVtZW50aW5nLWEtRnJlZVJUT1MtdGFzay5odG1sICovCisgICBmdW5jdGlvbiBvciBvdGhlcndpc2UgZXhpdC4KKyAgIGh0dHBzOi8vd3d3LmZyZWVydG9zLm9yZy9pbXBsZW1lbnRpbmctYS1GcmVlUlRPUy10YXNrLmh0bWwgKi8KICAgdlRhc2tEZWxldGUoTlVMTCk7CiB9CiAKLWZvcnRlOjphcmNoOjpDVGhyZWFkQmFzZTxUYXNrSGFuZGxlX3QsIFRhc2tIYW5kbGVfdCgwKSAsIENGcmVlUlRPU1RocmVhZD46OlRUaHJlYWRIYW5kbGVUeXBlIENGcmVlUlRPU1RocmVhZDo6Y3JlYXRlVGhyZWFkKGxvbmcgcGFTdGFja1NpemUpewotICAgIFRhc2tIYW5kbGVfdCBoYW5kbGUgPSAwOworZm9ydGU6OmFyY2g6OkNUaHJlYWRCYXNlPFRhc2tIYW5kbGVfdCwgVGFza0hhbmRsZV90KDApLCBDRnJlZVJUT1NUaHJlYWQ+OjpUVGhyZWFkSGFuZGxlVHlwZSBDRnJlZVJUT1NUaHJlYWQ6OmNyZWF0ZVRocmVhZChsb25nIHBhU3RhY2tTaXplKSB7CisgIFRhc2tIYW5kbGVfdCBoYW5kbGUgPSAwOwogCi0gICAgaWYocGRQQVNTICE9IHhUYXNrQ3JlYXRlKHRocmVhZEZ1bmN0aW9uLCAiRk9SVEUiLCBwYVN0YWNrU2l6ZSwgdGhpcywgc2NtRm9ydGVUYXNrUHJpb3JpdHksICZoYW5kbGUpKXsKLSAgICAgIERFVkxPR19FUlJPUigiRXJyb3I6IENvdWxkIG5vdCBjcmVhdGUgRnJlZVJUT1MgVGFzayB0aHJlYWQhIik7Ci0gICAgfQorICBpZihwZFBBU1MgIT0geFRhc2tDcmVhdGUodGhyZWFkRnVuY3Rpb24sICJGT1JURSIsIHBhU3RhY2tTaXplLCB0aGlzLCBzY21Gb3J0ZVRhc2tQcmlvcml0eSwgJmhhbmRsZSkpIHsKKyAgICBERVZMT0dfRVJST1IoIkVycm9yOiBDb3VsZCBub3QgY3JlYXRlIEZyZWVSVE9TIFRhc2sgdGhyZWFkISIpOworICB9CiAKLSAgICByZXR1cm4gaGFuZGxlOworICByZXR1cm4gaGFuZGxlOwogfQogCi0KLXZvaWQgQ0ZyZWVSVE9TVGhyZWFkOjpzbGVlcFRocmVhZCh1bnNpZ25lZCBpbnQgcGFNaWxsaVNlY29uZHMpewotICB2VGFza0RlbGF5KHBkTVNfVE9fVElDS1MgKHBhTWlsbGlTZWNvbmRzKSApOwordm9pZCBDRnJlZVJUT1NUaHJlYWQ6OnNsZWVwVGhyZWFkKHVuc2lnbmVkIGludCBwYU1pbGxpU2Vjb25kcykgeworICB2VGFza0RlbGF5KHBkTVNfVE9fVElDS1MocGFNaWxsaVNlY29uZHMpKTsKIH0KLXZvaWQgQ0ZyZWVSVE9TVGhyZWFkOjpzZXREZWFkbGluZShjb25zdCBDSUVDX1RJTUUgJnBhVmFsKXsKK3ZvaWQgQ0ZyZWVSVE9TVGhyZWFkOjpzZXREZWFkbGluZShjb25zdCBDSUVDX1RJTUUgJnBhVmFsKSB7CiB9CmRpZmYgLS1naXQgYS9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZV90aHJlYWQuaCBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3RocmVhZC5oCmluZGV4IDhiZTM1ZGIuLmQwNjM1ZTIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3RocmVhZC5oCisrKyBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlX3RocmVhZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMywxNiArMTQsMTkgQEAKICNpZm5kZWYgU1JDX0FSQ0hfRlJFRVJUT1NfVEhSRUFEX0hfCiAjZGVmaW5lIFNSQ19BUkNIX0ZSRUVSVE9TX1RIUkVBRF9IXwogCisjaW5jbHVkZSA8RnJlZVJUT1MuaD4KKyNpbmNsdWRlIDx0YXNrLmg+CisKICNpbmNsdWRlICIuLi9kYXRhdHlwZS5oIgogI2luY2x1ZGUgIi4uL2RldmxvZy5oIgogI2luY2x1ZGUgIi4uLy4uL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3RpbWUuaCIKICNpbmNsdWRlICIuLi90aHJlYWRiYXNlLmgiCiAjaW5jbHVkZSAiZm9ydGVfc3luYy5oIgogCi1leHRlcm4gIkMiIHsKLSNpbmNsdWRlIDxGcmVlUlRPU19Tb3VyY2UvaW5jbHVkZS9GcmVlUlRPUy5oPgotI2luY2x1ZGUgPEZyZWVSVE9TX1NvdXJjZS9pbmNsdWRlL3Rhc2suaD4KLX0KKy8vQWxsb3cgdG8gc2V0IGEgc3BlY2lhbCBzdGFjayBzaXplIGZvciBmb3J0ZSB0aHJlYWRzCisjaWZuZGVmIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRV9GT1JURQorIyBkZWZpbmUgY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFX0ZPUlRFIGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRQorI2VuZGlmCiAKICNkZWZpbmUgQ1RocmVhZCAgICAgQ0ZyZWVSVE9TVGhyZWFkICAvL2FsbG93cyB0aGF0IGRveHlnZW4gY2FuIGdlbmVyYXRlIGJldHRlciBkb2N1bWVuYXRpb24KIGNsYXNzIENGcmVlUlRPU1RocmVhZDsKQEAgLTQ3LDcgKzUxLDcgQEAKICAgICAgKiAgQHBhcmFtIHBhX25TdGFja1NpemUgdGhlIFNpemUgb2YgdGhlIHN0YWNrIHRoZSB0aHJlYWQgaXMgYWxsb3dlZCB0byB1c2UuIHRoaXMgY2xhc3Mgd2lsbAogICAgICAqICAgICAgICAgYWxsb2NhdGUgdGhlIHN0YWNrIHNpemUgaW4gYnl0ZXMgZnJvbSB0aGUgaGVhcAogICAgICAqLwotICAgIGV4cGxpY2l0IENGcmVlUlRPU1RocmVhZChsb25nIHBhU3RhY2tTaXplID0gY29uZmlnTUlOSU1BTF9TVEFDS19TSVpFKTsKKyAgICBleHBsaWNpdCBDRnJlZVJUT1NUaHJlYWQobG9uZyBwYVN0YWNrU2l6ZSA9IGNvbmZpZ01JTklNQUxfU1RBQ0tfU0laRV9GT1JURSk7CiAKICAgICAvKiEgXGJyaWVmIFN0b3BzIGFuZCBkZXN0cm95cyB0aHJlYWQuCiAgICAgICoKQEAgLTY3LDcgKzcxLDcgQEAKIAogICBwcm90ZWN0ZWQ6CiAKLSAgICB2b2lkIHNldFByaW9yaXR5KGludCBwYVByaW9yaXR5KXsKKyAgICB2b2lkIHNldFByaW9yaXR5KGludCBwYVByaW9yaXR5KSB7CiAgICAgICBERVZMT0dfREVCVUcoIj4+Pj5UaHJlYWQ6IFNldCBQcmlvcml0eTogJWRcbiIsIHBhUHJpb3JpdHkpOwogICAgICAgdlRhc2tQcmlvcml0eVNldChnZXRUaHJlYWRIYW5kbGUoKSwgcGFQcmlvcml0eSk7CiAgICAgfQpAQCAtOTEsNSArOTUsNCBAQAogCiB9OwogCi0KICNlbmRpZiAvKiBTUkNfQVJDSF9GUkVFUlRPU19USFJFQURfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlYWxsb2MuaCBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZvcnRlYWxsb2MuaAppbmRleCBkNDM5NDY1Li40NTFlOGM5IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9mcmVlUlRPUy9mb3J0ZWFsbG9jLmgKKysrIGIvc3JjL2FyY2gvZnJlZVJUT1MvZm9ydGVhbGxvYy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMywxOSArMTQsMTkgQEAKIAogLy9JZiBnZW5lcmljIG1hbGxvYyBhbmQgZnJlZSBhcmUgdG8gYmUgdXNlZCwgdW5jb21tZW50IHRoZSBuZXh0IGxpbmUsIGFuZCBjb21tZW50IHRoZSBmb2xsb3dpbmcKIC8vI2luY2x1ZGUgIi4uL2dlbmZvcnRlYWxsb2MuaCIKLSNpbmNsdWRlIDxGcmVlUlRPU19Tb3VyY2UvaW5jbHVkZS9GcmVlUlRPUy5oPgorI2luY2x1ZGUgPEZyZWVSVE9TLmg+CiAKICNpbmNsdWRlICJkYXRhdHlwZS5oIgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogCiBpbmxpbmUKLXZvaWQgZm9ydGVfZnJlZSh2b2lkICpwYURhdGEpewordm9pZCBmb3J0ZV9mcmVlKHZvaWQgKnBhRGF0YSkgewogICB2UG9ydEZyZWUocGFEYXRhKTsKIH0KIAogaW5saW5lCi12b2lkICpmb3J0ZV9tYWxsb2Moc2l6ZV90IHBhU2l6ZSl7Ci0gcmV0dXJuIHB2UG9ydE1hbGxvYyhwYVNpemUpOwordm9pZCAqZm9ydGVfbWFsbG9jKHNpemVfdCBwYVNpemUpIHsKKyAgcmV0dXJuIHB2UG9ydE1hbGxvYyhwYVNpemUpOwogfQogCiAjZW5kaWYgLyogRk9SVEVBTExPQ19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZnJlZVJUT1MvZnJlZXJ0b3N0aWhhLmNwcCBiL3NyYy9hcmNoL2ZyZWVSVE9TL2ZyZWVydG9zdGloYS5jcHAKaW5kZXggYWMxYjVmMi4uNTA0NDhjYyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZnJlZVJUT1MvZnJlZXJ0b3N0aWhhLmNwcAorKysgYi9zcmMvYXJjaC9mcmVlUlRPUy9mcmVlcnRvc3RpaGEuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMiwzOCArMTMsMzcgQEAKICNpbmNsdWRlICJmb3J0ZW5ldy5oIgogI2luY2x1ZGUgImZyZWVydG9zdGloYS5oIgogCi1DVGltZXJIYW5kbGVyKiBDVGltZXJIYW5kbGVyOjpjcmVhdGVUaW1lckhhbmRsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24peworQ1RpbWVySGFuZGxlciogQ1RpbWVySGFuZGxlcjo6Y3JlYXRlVGltZXJIYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSB7CiAgIHJldHVybiBuZXcgQ0ZyZWVSVE9TVGltZXJIYW5kbGVyKHBhRGV2aWNlRXhlY3V0aW9uKTsKIH0KIAotQ0ZyZWVSVE9TVGltZXJIYW5kbGVyOjpDRnJlZVJUT1NUaW1lckhhbmRsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pIDogQ1RpbWVySGFuZGxlcihwYURldmljZUV4ZWN1dGlvbikgewotICBtVGltZXIgPSB4VGltZXJDcmVhdGUoIkZPUlRFVGltZXIiLAotICAgICAgcGRNU19UT19USUNLUyAoMTAwMCAvIGdldFRpY2tzUGVyU2Vjb25kKCkpLAotICAgICAgcGRUUlVFLCAoIHZvaWQgKiApIHRoaXMsIHZDYWxsYmFja0Z1bmN0aW9uKTsKK0NGcmVlUlRPU1RpbWVySGFuZGxlcjo6Q0ZyZWVSVE9TVGltZXJIYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA6CisgICAgQ1RpbWVySGFuZGxlcihwYURldmljZUV4ZWN1dGlvbikgeworICBtVGltZXIgPSB4VGltZXJDcmVhdGUoIkZPUlRFVGltZXIiLCBwZE1TX1RPX1RJQ0tTKDEwMDAgLyBnZXRUaWNrc1BlclNlY29uZCgpKSwgcGRUUlVFLCAodm9pZCAqKSB0aGlzLCB2Q2FsbGJhY2tGdW5jdGlvbik7CiB9CiAKLUNGcmVlUlRPU1RpbWVySGFuZGxlcjo6fkNGcmVlUlRPU1RpbWVySGFuZGxlcigpeworQ0ZyZWVSVE9TVGltZXJIYW5kbGVyOjp+Q0ZyZWVSVE9TVGltZXJIYW5kbGVyKCkgewogICBkaXNhYmxlSGFuZGxlcigpOwogICB4VGltZXJEZWxldGUobVRpbWVyLCAwKTsKIH0KIAotdm9pZCBDRnJlZVJUT1NUaW1lckhhbmRsZXI6OmVuYWJsZUhhbmRsZXIodm9pZCl7Ci0gIHhUaW1lclN0YXJ0KG1UaW1lciwwKTsKK3ZvaWQgQ0ZyZWVSVE9TVGltZXJIYW5kbGVyOjplbmFibGVIYW5kbGVyKHZvaWQpIHsKKyAgeFRpbWVyU3RhcnQobVRpbWVyLCAwKTsKIH0KIAotdm9pZCBDRnJlZVJUT1NUaW1lckhhbmRsZXI6OmRpc2FibGVIYW5kbGVyKHZvaWQpewotICB4VGltZXJTdG9wKG1UaW1lciwwKTsKK3ZvaWQgQ0ZyZWVSVE9TVGltZXJIYW5kbGVyOjpkaXNhYmxlSGFuZGxlcih2b2lkKSB7CisgIHhUaW1lclN0b3AobVRpbWVyLCAwKTsKIH0KIAotdm9pZCBDRnJlZVJUT1NUaW1lckhhbmRsZXI6OnNldFByaW9yaXR5KGludCBwYVByaW9yaXR5KXsKK3ZvaWQgQ0ZyZWVSVE9TVGltZXJIYW5kbGVyOjpzZXRQcmlvcml0eShpbnQgcGFQcmlvcml0eSkgewogCiB9CiAKLWludCBDRnJlZVJUT1NUaW1lckhhbmRsZXI6OmdldFByaW9yaXR5KHZvaWQpIGNvbnN0eworaW50IENGcmVlUlRPU1RpbWVySGFuZGxlcjo6Z2V0UHJpb3JpdHkodm9pZCkgY29uc3QgewogICByZXR1cm4gMTsKIH0KIAotdm9pZCBDRnJlZVJUT1NUaW1lckhhbmRsZXI6OnZDYWxsYmFja0Z1bmN0aW9uKFRpbWVySGFuZGxlX3QgcGFUaW1lcil7Ci0gIHN0YXRpY19jYXN0PENGcmVlUlRPU1RpbWVySGFuZGxlcio+KHBhVGltZXIpLT5uZXh0VGljaygpOwordm9pZCBDRnJlZVJUT1NUaW1lckhhbmRsZXI6OnZDYWxsYmFja0Z1bmN0aW9uKFRpbWVySGFuZGxlX3QgcGFUaW1lcikgeworICBzdGF0aWNfY2FzdDxDRnJlZVJUT1NUaW1lckhhbmRsZXIqPihwdlRpbWVyR2V0VGltZXJJRChwYVRpbWVyKSktPm5leHRUaWNrKCk7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2ZyZWVSVE9TL2ZyZWVydG9zdGloYS5oIGIvc3JjL2FyY2gvZnJlZVJUT1MvZnJlZXJ0b3N0aWhhLmgKaW5kZXggMjkyNzU2Zi4uOTQ4NjI3NiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZnJlZVJUT1MvZnJlZXJ0b3N0aWhhLmgKKysrIGIvc3JjL2FyY2gvZnJlZVJUT1MvZnJlZXJ0b3N0aWhhLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMiw1NCArMTMsNDYgQEAKICNpZm5kZWYgU1JDX0FSQ0hfRlJFRVJUT1NfRlJFRVJUT1NUSUhBX0hfCiAjZGVmaW5lIFNSQ19BUkNIX0ZSRUVSVE9TX0ZSRUVSVE9TVElIQV9IXwogCisjaW5jbHVkZSA8RnJlZVJUT1MuaD4KKyNpbmNsdWRlIDx0aW1lcnMuaD4KKwogI2luY2x1ZGUgIi4uL3RpbWVyaGEuaCIKIAotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi0jaW5jbHVkZSA8RnJlZVJUT1NfU291cmNlL2luY2x1ZGUvRnJlZVJUT1MuaD4KLSNpbmNsdWRlIDxGcmVlUlRPU19Tb3VyY2UvaW5jbHVkZS90aW1lcnMuaD4KLQogLyohIFxicmllZiBFeHRlcm5hbCBldmVudCBoYW5kbGVyIGZvciB0aGUgRnJlZVJUT1MgVGltZXIuCiAgKiBcaW5ncm91cCBGcmVlUlRPUy1IQUwKICAqCiAgKi8KLWNsYXNzIENGcmVlUlRPU1RpbWVySGFuZGxlciA6IHB1YmxpYyBDVGltZXJIYW5kbGVyewotcHVibGljOgotICB2aXJ0dWFsIH5DRnJlZVJUT1NUaW1lckhhbmRsZXIoKTsKK2NsYXNzIENGcmVlUlRPU1RpbWVySGFuZGxlciA6IHB1YmxpYyBDVGltZXJIYW5kbGVyIHsKKyAgcHVibGljOgorICAgIHZpcnR1YWwgfkNGcmVlUlRPU1RpbWVySGFuZGxlcigpOwogCi0gIC8qIVxicmllZiBFbmFibGVzIHRoaXMgZXZlbnQgc291cmNlCi0gICAqCi0gICAqLwotICB2aXJ0dWFsIHZvaWQgZW5hYmxlSGFuZGxlcih2b2lkKTsKLSAgLyohXGJyaWVmIERpc2FibGUgdGhpcyBldmVudCBzb3VyY2UKLSAgICovCi0gIHZpcnR1YWwgdm9pZCBkaXNhYmxlSGFuZGxlcih2b2lkKTsKLSAgLyohXGJyaWVmIFNldHMgdGhlIHByaW9yaXR5IG9mIHRoZSBldmVudCBzb3VyY2UKLSAgICoKLSAgICogXHBhcmFtIHBhX25Qcmlvcml0eSBuZXcgcHJpb3JpdHkgb2YgdGhlIGV2ZW50IHNvdXJjZQotICAgKi8KLSAgdmlydHVhbCB2b2lkIHNldFByaW9yaXR5KGludCBwYVByaW9yaXR5KTsKLSAgLyohXGJyaWVmIEdldCB0aGUgY3VycmVudCBwcmlvcml0eSBvZiB0aGUgZXZlbnQgc291cmNlCi0gICAqCi0gICAqIFxyZXR1cm4gY3VycmVudCBwcmlvcml0eQotICAgKi8KLSAgdmlydHVhbCBpbnQgZ2V0UHJpb3JpdHkodm9pZCkgY29uc3Q7CisgICAgLyohXGJyaWVmIEVuYWJsZXMgdGhpcyBldmVudCBzb3VyY2UKKyAgICAgKgorICAgICAqLworICAgIHZpcnR1YWwgdm9pZCBlbmFibGVIYW5kbGVyKHZvaWQpOworICAgIC8qIVxicmllZiBEaXNhYmxlIHRoaXMgZXZlbnQgc291cmNlCisgICAgICovCisgICAgdmlydHVhbCB2b2lkIGRpc2FibGVIYW5kbGVyKHZvaWQpOworICAgIC8qIVxicmllZiBTZXRzIHRoZSBwcmlvcml0eSBvZiB0aGUgZXZlbnQgc291cmNlCisgICAgICoKKyAgICAgKiBccGFyYW0gcGFfblByaW9yaXR5IG5ldyBwcmlvcml0eSBvZiB0aGUgZXZlbnQgc291cmNlCisgICAgICovCisgICAgdmlydHVhbCB2b2lkIHNldFByaW9yaXR5KGludCBwYVByaW9yaXR5KTsKKyAgICAvKiFcYnJpZWYgR2V0IHRoZSBjdXJyZW50IHByaW9yaXR5IG9mIHRoZSBldmVudCBzb3VyY2UKKyAgICAgKgorICAgICAqIFxyZXR1cm4gY3VycmVudCBwcmlvcml0eQorICAgICAqLworICAgIHZpcnR1YWwgaW50IGdldFByaW9yaXR5KHZvaWQpIGNvbnN0OwogCi1wcml2YXRlOgorICBwcml2YXRlOgogCi0gIGV4cGxpY2l0IENGcmVlUlRPU1RpbWVySGFuZGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbik7CisgICAgZXhwbGljaXQgQ0ZyZWVSVE9TVGltZXJIYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKTsKIAotICBzdGF0aWMgdm9pZCB2Q2FsbGJhY2tGdW5jdGlvbihUaW1lckhhbmRsZV90IHBhVGltZXIpOworICAgIHN0YXRpYyB2b2lkIHZDYWxsYmFja0Z1bmN0aW9uKFRpbWVySGFuZGxlX3QgcGFUaW1lcik7CiAKLSAgVGltZXJIYW5kbGVfdCBtVGltZXI7CisgICAgVGltZXJIYW5kbGVfdCBtVGltZXI7CiAKLSAgZnJpZW5kIGNsYXNzIENUaW1lckhhbmRsZXI7CisgICAgZnJpZW5kIGNsYXNzIENUaW1lckhhbmRsZXI7CiB9OwogCi0jaWZkZWYgX19jcGx1c3BsdXMKLX0KLSNlbmRpZgotCiAjZW5kaWYgLyogU1JDX0FSQ0hfRlJFRVJUT1NfRlJFRVJUT1NUSUhBX0hfICovCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9mcmVlUlRPUy9tYWluLmNwcCBiL3NyYy9hcmNoL2ZyZWVSVE9TL21haW4uY3BwCmluZGV4IDc2NGU4NmMuLjAzMzA3NjcgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2ZyZWVSVE9TL21haW4uY3BwCisrKyBiL3NyYy9hcmNoL2ZyZWVSVE9TL21haW4uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xOCw4ICsxOSw4IEBACiAKIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBtYWluRk9SVEVfVEFTS19QUklPUklUWSA9IHRza0lETEVfUFJJT1JJVFkgKyAxOwogCi12b2lkIHZGb3J0ZVRhc2soIHZvaWQqIHB2UGFyYW1ldGVycyApewotICAoIHZvaWQgKSBwdlBhcmFtZXRlcnM7Cit2b2lkIHZGb3J0ZVRhc2sodm9pZCogcHZQYXJhbWV0ZXJzKSB7CisgICh2b2lkKSBwdlBhcmFtZXRlcnM7CiAKICAgUk1UX0RFViAqcG9EZXYgPSBuZXcgUk1UX0RFVjsKIApAQCAtMzIsMTMgKzMzLDEyIEBACiAgIHZUYXNrRGVsZXRlKE5VTEwpOwogfQogCi12b2lkIHZTdGFydEZvcnRlU2VydmVyVGFzayhVQmFzZVR5cGVfdCB1eFByaW9yaXR5KXsKK3ZvaWQgdlN0YXJ0Rm9ydGVTZXJ2ZXJUYXNrKFVCYXNlVHlwZV90IHV4UHJpb3JpdHkpIHsKICAgLyogU3Bhd24gdGhlIHRhc2suICovCi0gIHhUYXNrQ3JlYXRlKCB2Rm9ydGVUYXNrLCAiZm9ydGUiLCAyMDAwLCBOVUxMLCB1eFByaW9yaXR5LCAoIFRhc2tIYW5kbGVfdCAqICkgTlVMTCApOworICB4VGFza0NyZWF0ZSh2Rm9ydGVUYXNrLCAiZm9ydGUiLCAyMDAwLCBOVUxMLCB1eFByaW9yaXR5LCAoVGFza0hhbmRsZV90ICopIE5VTEwpOwogfQogCi1pbnQgbWFpbih2b2lkKQoteworaW50IG1haW4odm9pZCkgewogCiAgIHZTdGFydEZvcnRlU2VydmVyVGFzayhtYWluRk9SVEVfVEFTS19QUklPUklUWSk7CiAKQEAgLTQ3LDQgKzQ3LDMgQEAKICAgLy8gV2lsbCBub3QgZ2V0IGhlcmUgdW5sZXNzIHRoZXJlIGlzIGluc3VmZmljaWVudCBSQU0uCiB9CiAKLQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvZnJlZVJUT1Mvc29ja2hhbmQuaCBiL3NyYy9hcmNoL2ZyZWVSVE9TL3NvY2toYW5kLmgKaW5kZXggNDI2M2Y2Mi4uYWI3YjdkOCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZnJlZVJUT1Mvc29ja2hhbmQuaAorKysgYi9zcmMvYXJjaC9mcmVlUlRPUy9zb2NraGFuZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqIE1pbGFuIFZhdGhvb3BhbiwgR3VydSBDaGFuZHJhc2VraGFyYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMiw4ICsxMyw2IEBACiAjaWZuZGVmIFNSQ19BUkNIX0ZSRUVSVE9TX1NPQ0tIQU5EX0hfCiAjZGVmaW5lIFNSQ19BUkNIX0ZSRUVSVE9TX1NPQ0tIQU5EX0hfCiAKLSNkZWZpbmUgTFdJUF9DT01QQVRfU09DS0VUUyAxCi0KICNpbmNsdWRlICJsd2lwL29wdC5oIgogI2luY2x1ZGUgImx3aXAvc29ja2V0cy5oIgogI2luY2x1ZGUgImx3aXAvYXBpLmgiCkBAIC0yOSwxMCArMjgsMTAgQEAKIAogI2luY2x1ZGUgImRldmxvZy5oIgogCi0jdW5kZWYgY29ubmVjdAotLy8KLWlubGluZSBpbnQgY29ubmVjdChpbnQgcywgY29uc3Qgc3RydWN0IHNvY2thZGRyICpuYW1lLCBzb2NrbGVuX3QgbmFtZWxlbil7Ci1yZXR1cm4gbHdpcF9jb25uZWN0KHMsIG5hbWUsIG5hbWVsZW4pOworI3VuZGVmIGNvbm5lY3QgLy9nZXRzIGNvbmZ1c2VkIHdpdGggY29ubmVjdCBmdW5jdGlvbiBvZiBjb25uLmggYW5kIGNoaWxkcworCitpbmxpbmUgaW50IGNvbm5lY3QoaW50IHMsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqbmFtZSwgc29ja2xlbl90IG5hbWVsZW4pIHsKKyAgcmV0dXJuIGx3aXBfY29ubmVjdChzLCBuYW1lLCBuYW1lbGVuKTsKIH0KIAogLy90aGVzZSBpbmNsdWRlIG5lZWRzIHRvIGJlIGxhc3QKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2dlbmZvcnRlX3ByaW50ZXIuY3BwIGIvc3JjL2FyY2gvZ2VuZm9ydGVfcHJpbnRlci5jcHAKaW5kZXggNGFlMTM0MS4uMGI0MDc3OSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZ2VuZm9ydGVfcHJpbnRlci5jcHAKKysrIGIvc3JjL2FyY2gvZ2VuZm9ydGVfcHJpbnRlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCBiL3NyYy9hcmNoL2dlbmZvcnRlX3JlYWxGdW5jdGlvbnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhOWUzY2QKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYXJjaC9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcApAQCAtMCwwICsxLDIyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlICJmb3J0ZV9yZWFsRnVuY3Rpb25zLmgiCisKK1RGb3J0ZUZsb2F0IGZvcnRlX3N0cmluZ1RvRmxvYXQoY29uc3QgY2hhciogcGFTdHIsIGNoYXIqKiBwYUVuZFB0cikgeworI2lmIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX19FQ09TKSB8fCBkZWZpbmVkKFZYV09SS1MpCisgIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVGbG9hdD4oc3RydG9kKHBhU3RyLCBwYUVuZFB0cikpOworI2Vsc2UKKyAgcmV0dXJuIHN0cnRvZihwYVN0ciwgcGFFbmRQdHIpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS9zcmMvYXJjaC9nZW5mb3J0ZWFsbG9jLmggYi9zcmMvYXJjaC9nZW5mb3J0ZWFsbG9jLmgKaW5kZXggYWRiOGIxNC4uODQ0YmNhMSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvZ2VuZm9ydGVhbGxvYy5oCisrKyBiL3NyYy9hcmNoL2dlbmZvcnRlYWxsb2MuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTMgQUNJTiwgbnh0Y29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSwgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL2dlbnNvY2toYW5kLmggYi9zcmMvYXJjaC9nZW5zb2NraGFuZC5oCmluZGV4IGZhZDVhNjAuLjgwNzI4ODQgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL2dlbnNvY2toYW5kLmgKKysrIGIvc3JjL2FyY2gvZ2Vuc29ja2hhbmQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9tYWNvcy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9hcmNoL21hY29zL0NNYWtlTGlzdHMudHh0CmluZGV4IDIzMmVlMjEuLmJlOTA0MTIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL21hY29zL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9hcmNoL21hY29zL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogU0VUKFNPVVJDRV9HUk9VUCAke1NPVVJDRV9HUk9VUH1cXG1hY29zKQpAQCAtMjQsNiArMjUsNyBAQAogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKC4uL3Bvc2l4L2ZvcnRlX3RocmVhZCBmb3J0ZV9zeW5jIGZvcnRlX3NlbSkKICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfY3BwKC4uL2dlbmZvcnRlX3ByaW50ZXIuY3BwKQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oKC4uL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmgpCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcCguLi9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCAuLi9wb3NpeC9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHApCiAgIAogICBmb3J0ZV9hZGRfdG9fZXhlY3V0YWJsZV9jcHAoLi4vcG9zaXgvbWFpbikKIApkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvbWFjb3MvZm9ydGVfc2VtLmNwcCBiL3NyYy9hcmNoL21hY29zL2ZvcnRlX3NlbS5jcHAKaW5kZXggOWUzMzlkZC4uMWVlOTEzZCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvbWFjb3MvZm9ydGVfc2VtLmNwcAorKysgYi9zcmMvYXJjaC9tYWNvcy9mb3J0ZV9zZW0uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTggZm9ydGlzcyBHbWJILCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL21hY29zL2ZvcnRlX3NlbS5oIGIvc3JjL2FyY2gvbWFjb3MvZm9ydGVfc2VtLmgKaW5kZXggMmU3Njk0Ny4uMGE3MDI5OCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvbWFjb3MvZm9ydGVfc2VtLmgKKysrIGIvc3JjL2FyY2gvbWFjb3MvZm9ydGVfc2VtLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiwgMjAxOCBmb3J0aXNzIEdtYkgsIFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvbWFjb3MvZm9ydGVfc3luYy5jcHAgYi9zcmMvYXJjaC9tYWNvcy9mb3J0ZV9zeW5jLmNwcAppbmRleCAzYzVjZTdkLi4zMDY1MWZhIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9tYWNvcy9mb3J0ZV9zeW5jLmNwcAorKysgYi9zcmMvYXJjaC9tYWNvcy9mb3J0ZV9zeW5jLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTAsIDIwMTYgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwNCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9tYWNvcy9mb3J0ZV9zeW5jLmggYi9zcmMvYXJjaC9tYWNvcy9mb3J0ZV9zeW5jLmgKaW5kZXggNTI3YWYyOC4uMmE2M2ViOCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvbWFjb3MvZm9ydGVfc3luYy5oCisrKyBiL3NyYy9hcmNoL21hY29zL2ZvcnRlX3N5bmMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTAsIDIwMTYgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwNCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9tYWNvcy9mb3J0ZV90aHJlYWQuaCBiL3NyYy9hcmNoL21hY29zL2ZvcnRlX3RocmVhZC5oCmluZGV4IDM1NGExZWEuLjliN2FhMzkgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL21hY29zL2ZvcnRlX3RocmVhZC5oCisrKyBiL3NyYy9hcmNoL21hY29zL2ZvcnRlX3RocmVhZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvbWFjb3MvZm9ydGVhbGxvYy5oIGIvc3JjL2FyY2gvbWFjb3MvZm9ydGVhbGxvYy5oCmluZGV4IGVhYjg1MjUuLmMxZDM2YzYgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL21hY29zL2ZvcnRlYWxsb2MuaAorKysgYi9zcmMvYXJjaC9tYWNvcy9mb3J0ZWFsbG9jLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL21hY29zL3NvY2toYW5kLmggYi9zcmMvYXJjaC9tYWNvcy9zb2NraGFuZC5oCmluZGV4IGYyNTgyNDkuLjA0OGU2MjcgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL21hY29zL3NvY2toYW5kLmgKKysrIGIvc3JjL2FyY2gvbWFjb3Mvc29ja2hhbmQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL25ldG9zL0NNYWtlTGlzdHMudHh0IGIvc3JjL2FyY2gvbmV0b3MvQ01ha2VMaXN0cy50eHQKaW5kZXggZjg3MTExNC4uN2E5N2RmMCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvbmV0b3MvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL2FyY2gvbmV0b3MvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgQWxvaXMgWm9pdGwsIFBhdHJpY2sgU21lamthbAorIyBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTgorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsLCBQYXRyaWNrIFNtZWprYWwKICMgKiAgICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL25ldG9zL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcCBiL3NyYy9hcmNoL25ldG9zL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wM2NkODU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2FyY2gvbmV0b3MvZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuY3BwCkBAIC0wLDAgKzEsMjUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIEFkZHMgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJmb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5oIgorCisjaW5jbHVkZSAiZm9ydGVfY29uc3RhbnRzLmgiCisKK3VpbnRfZmFzdDY0X3QgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMoKSB7CisgIHJldHVybiBmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTmFub3NlY29uZHNQZXJTZWNvbmQgPCBCU1BfVElDS1NfUEVSX1NFQ09ORCA/CisgICAgICB0eF90aW1lX2dldCgpIC8gKEJTUF9USUNLU19QRVJfU0VDT05EIC8gZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kKSA6CisgICAgICAodHhfdGltZV9nZXQoKSAvIEJTUF9USUNLU19QRVJfU0VDT05EKSAqIGZvcnRlOjpjb3JlOjpjb25zdGFudHM6OmNOYW5vc2Vjb25kc1BlclNlY29uZDsKK30KKworCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9uZXRvcy9mb3J0ZV9zZW0uY3BwIGIvc3JjL2FyY2gvbmV0b3MvZm9ydGVfc2VtLmNwcAppbmRleCA0YjIzZmJiLi5iN2ZkMjExIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9uZXRvcy9mb3J0ZV9zZW0uY3BwCisrKyBiL3NyYy9hcmNoL25ldG9zL2ZvcnRlX3NlbS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiwgMjAxOCBmb3J0aXNzIEdtYkgsIFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvbmV0b3MvZm9ydGVfc2VtLmggYi9zcmMvYXJjaC9uZXRvcy9mb3J0ZV9zZW0uaAppbmRleCBiNjVkNTMwLi5mMGJlY2QzIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9uZXRvcy9mb3J0ZV9zZW0uaAorKysgYi9zcmMvYXJjaC9uZXRvcy9mb3J0ZV9zZW0uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2LCAyMDE4IGZvcnRpc3MgR21iSCwgVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9uZXRvcy9mb3J0ZV9zeW5jLmNwcCBiL3NyYy9hcmNoL25ldG9zL2ZvcnRlX3N5bmMuY3BwCmluZGV4IGJkNTg1NzAuLjcyNzVkMjggMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL25ldG9zL2ZvcnRlX3N5bmMuY3BwCisrKyBiL3NyYy9hcmNoL25ldG9zL2ZvcnRlX3N5bmMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMCBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXINCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9uZXRvcy9mb3J0ZV9zeW5jLmggYi9zcmMvYXJjaC9uZXRvcy9mb3J0ZV9zeW5jLmgKaW5kZXggY2MzOGVmNy4uNjA2ZjZiOSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvbmV0b3MvZm9ydGVfc3luYy5oCisrKyBiL3NyYy9hcmNoL25ldG9zL2ZvcnRlX3N5bmMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTAgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvbmV0b3MvZm9ydGVfdGhyZWFkLmNwcCBiL3NyYy9hcmNoL25ldG9zL2ZvcnRlX3RocmVhZC5jcHAKaW5kZXggMmQ2ZTU3Yy4uMDI0ZDNlNCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvbmV0b3MvZm9ydGVfdGhyZWFkLmNwcAorKysgYi9zcmMvYXJjaC9uZXRvcy9mb3J0ZV90aHJlYWQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE3IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgUmVuZSBTbW9kaWMsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL25ldG9zL2ZvcnRlX3RocmVhZC5oIGIvc3JjL2FyY2gvbmV0b3MvZm9ydGVfdGhyZWFkLmgKaW5kZXggZDIwNzY1MS4uNTJmYzFiZCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvbmV0b3MvZm9ydGVfdGhyZWFkLmgKKysrIGIvc3JjL2FyY2gvbmV0b3MvZm9ydGVfdGhyZWFkLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTcgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyLCBSZW5lIFNtb2RpYywgSW5nbyBIZWdueQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvbmV0b3MvZm9ydGVhbGxvYy5oIGIvc3JjL2FyY2gvbmV0b3MvZm9ydGVhbGxvYy5oCmluZGV4IDA0MDM2Y2UuLjViMTdhOWYgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL25ldG9zL2ZvcnRlYWxsb2MuaAorKysgYi9zcmMvYXJjaC9uZXRvcy9mb3J0ZWFsbG9jLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9uZXRvcy9uZXRvczc0L0NNYWtlTGlzdHMudHh0IGIvc3JjL2FyY2gvbmV0b3MvbmV0b3M3NC9DTWFrZUxpc3RzLnR4dAppbmRleCA4MmNjMDY2Li5lZWQ4YTk1IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9uZXRvcy9uZXRvczc0L0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9hcmNoL25ldG9zL25ldG9zNzQvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDExLCAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICBBbG9pcyBab2l0bCwgUGF0cmljayBTbWVqa2FsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDExLCAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsLCBQYXRyaWNrIFNtZWprYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiBTRVQoU09VUkNFX0dST1VQICR7U09VUkNFX0dST1VQfVxcbmV0b3M3NCkKQEAgLTU5LDYgKzYwLDcgQEAKICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcCguLi9mb3J0ZV90aHJlYWQgLi4vZm9ydGVfc3luYyAuLi9mb3J0ZV9zZW0pCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcChhcHBjb25mX2FwaS5jIC4uL3Jvb3QuY3BwIC4uLy4uL2dlbmZvcnRlX3ByaW50ZXIuY3BwKQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oKC4uLy4uL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmgpCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcCguLi8uLi9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCkKIAogICBpZihGT1JURV9DT01fRVRIKQogICAgZm9ydGVfYWRkX2hhbmRsZXIoQ0ZEU2VsZWN0SGFuZGxlciAuLi9zb2NraGFuZCkKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL25ldG9zL3Jvb3QuY3BwIGIvc3JjL2FyY2gvbmV0b3Mvcm9vdC5jcHAKaW5kZXggOWJkZjY4Ny4uMzJjM2YyNCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvbmV0b3Mvcm9vdC5jcHAKKysrIGIvc3JjL2FyY2gvbmV0b3Mvcm9vdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgUHJvZmFjdG9yIEdtYkgsIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgVGhvbWFzIFN0cmFzc2VyLCBSZW5lIFNtb2RpYywgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL25ldG9zL3NvY2toYW5kLmggYi9zcmMvYXJjaC9uZXRvcy9zb2NraGFuZC5oCmluZGV4IDliOWI3OGYuLmEyNmUxNjQgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL25ldG9zL3NvY2toYW5kLmgKKysrIGIvc3JjL2FyY2gvbmV0b3Mvc29ja2hhbmQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL25ldG9zL3R4dGltZWhhLmNwcCBiL3NyYy9hcmNoL25ldG9zL3R4dGltZWhhLmNwcAppbmRleCBiZmZiNjhiLi42YjUwZjRkIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9uZXRvcy90eHRpbWVoYS5jcHAKKysrIGIvc3JjL2FyY2gvbmV0b3MvdHh0aW1laGEuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgUmVuZSBTbW9kaWMsIEluZ28gSGVnbnkNCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9uZXRvcy90eHRpbWVoYS5oIGIvc3JjL2FyY2gvbmV0b3MvdHh0aW1laGEuaAppbmRleCA4MzkzYmZhLi4wYTk3MTY0IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9uZXRvcy90eHRpbWVoYS5oCisrKyBiL3NyYy9hcmNoL25ldG9zL3R4dGltZWhhLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyLCBJbmdvIEhlZ255DQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L0NNYWtlTGlzdHMudHh0IGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L0NNYWtlTGlzdHMudHh0CmluZGV4IDg3MWYxNDcuLmE1NjA4OGMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvYXJjaC9waWtlb3NfcG9zaXgvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxOCBTWVNHTyBBRw0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICBBZ29zdGlubyBNYXNjaXR0aSAtIGFkYXB0aW9uIHRvIFBpa2VPUyA0LjINCisjIENvcHlyaWdodCAoYykgMjAxOCBTWVNHTyBBRw0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICBBZ29zdGlubyBNYXNjaXR0aSAtIGFkYXB0aW9uIHRvIFBpa2VPUyA0LjINCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogDQogU0VUKFNPVVJDRV9HUk9VUCAke1NPVVJDRV9HUk9VUH1cXHBpa2VvcykNCkBAIC0yMSw2ICsyMiw3IEBACiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcChtYWluLmNwcCAuLi9nZW5mb3J0ZV9wcmludGVyLmNwcCAuLi9wb3NpeC9mb3J0ZV90aHJlYWQuY3BwIHBjdGltZWhhLmNwcCkNCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2goLi4vZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaCBmb3J0ZV90aHJlYWQuaCBwY3RpbWVoYS5oKQ0KICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcCguLi91dGlscy90aW1lc3BlY191dGlscykNCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcCguLi9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCAuLi9wb3NpeC9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHApDQogICANCiANCiAgIGlmKEZPUlRFX0NPTV9FVEgpDQpAQCAtODAsMTMgKzgyLDEyIEBACiAgIEVORElGKEZPUlRFX1BPU0lYX0dFTkVSQVRFX01BUF9GSUxFKSAgDQogIA0KICAgZm9ydGVfYWRkX25ldHdvcmtfbGF5ZXIoU0VSIE9GRiAic2VyIiBDUG9zaXhTZXJDb21tTGF5ZXIgLi4vcG9zaXgvcG9zaXhzZXJjb21tbGF5ZXIgIkVuYWJsZSBGb3J0ZSBzZXJpYWwgbGluZSBjb21tdW5pY2F0aW9uIikNCi0gIGZvcnRlX2FkZF9uZXR3b3JrX2xheWVyKE1VWFNFUiBPRkYgIm11eHNlciIgQ011eGVkU2VyQ29tbUxheWVyIC4uL3Bvc2l4L211eGVkc2VyY29tbWxheWVyICJFbmFibGUgRm9ydGUgbXVsdGlwbGV4ZWQgc2VyaWFsIGxpbmUgY29tbXVuaWNhdGlvbiIpDQogICANCiAgIHNldChGT1JURV9SVFRJX0FORF9FWENFUFRJT05TIEZBTFNFIENBQ0hFIEJPT0wgIkVuYWJsZSBSVFRJIGFuZCBFeGNlcHRpb25zIikNCiAgIG1hcmtfYXNfYWR2YW5jZWQoRk9SVEVfUlRUSV9BTkRfRVhDRVBUSU9OUykNCiAgIA0KICAgaWYoRk9SVEVfVEVTVFMgQU5EIEZPUlRFX1VTRV9URVNUX0NPTkZJR19JTl9GT1JURSkNCi0gICAgZm9ydGVfYWRkX2RlZmluaXRpb24oIi1EQk9PU1RfVEVTVF9EWU5fTElOSyAtREZPUlRFX1VTRV9ERUZBVUxUX05FV19BTkRfREVMRVRFIC1nIC1PMCAtLWNvdmVyYWdlIC1mbm8taW5saW5lIC1mbm8tZWxpZGUtY29uc3RydWN0b3JzIC1mZXhjZXB0aW9ucyAtZnNhbml0aXplPWFkZHJlc3MiKQ0KKyAgICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURCT09TVF9URVNUX0RZTl9MSU5LIC1nIC1PMCAtLWNvdmVyYWdlIC1mbm8taW5saW5lIC1mbm8tZWxpZGUtY29uc3RydWN0b3JzIC1mZXhjZXB0aW9ucyAtZnNhbml0aXplPWFkZHJlc3MiKQ0KICAgICBmb3J0ZV9hZGRfbGlua19saWJyYXJ5KCItZnNhbml0aXplPWFkZHJlc3MiKQ0KICAgICBmb3J0ZV9hZGRfbGlua19saWJyYXJ5KCItLWNvdmVyYWdlIikNCiAgIGVsc2UoKQ0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9mb3J0ZV9zZW0uaCBiL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9mb3J0ZV9zZW0uaAppbmRleCA3MDRlOGQxLi5mMGUzZmM1IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvZm9ydGVfc2VtLmgKKysrIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L2ZvcnRlX3NlbS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2LCAyMDE4IGZvcnRpc3MgR21iSCwgU1lTR08gQUcNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvZm9ydGVfc3luYy5oIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L2ZvcnRlX3N5bmMuaAppbmRleCA4NjU1NTQ3Li44ODMwOTM0IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvZm9ydGVfc3luYy5oCisrKyBiL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9mb3J0ZV9zeW5jLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDExLCAyMDE4IEFDSU4sIFNZU0dPIEFHDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L2ZvcnRlX3RocmVhZC5oIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L2ZvcnRlX3RocmVhZC5oCmluZGV4IDhmOGRkNzIuLjAzOTFiNTMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9mb3J0ZV90aHJlYWQuaAorKysgYi9zcmMvYXJjaC9waWtlb3NfcG9zaXgvZm9ydGVfdGhyZWFkLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE3LCAyMDE4IEFDSU4sIGZvcnRpc3MgR21iSCwgU1lTR08gQUcNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsLCBSZW5lIFNtb2RpYywgSW5nbyBIZWdueSwgTWFydGluIE1lbGlrIE1lcmtpdW1pYW5zIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvZm9ydGVhbGxvYy5oIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L2ZvcnRlYWxsb2MuaAppbmRleCAxNzAxNzQ0Li5mOWJiODUyIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvZm9ydGVhbGxvYy5oCisrKyBiL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9mb3J0ZWFsbG9jLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIDIwMTggQUNJTiwgU1lTR08gQUcNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvbWFpbi5jcHAgYi9zcmMvYXJjaC9waWtlb3NfcG9zaXgvbWFpbi5jcHAKaW5kZXggMDRjMDg2ZS4uYzUxYmQwYSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L21haW4uY3BwCisrKyBiL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9tYWluLmNwcApAQCAtMSwxMiArMSwxMyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE0LCAyMDE4IEFDSU4sIFByb2ZhY3RvciBHbWJILCBBSVQsIGZvcnRpc3MgR21iSCwgU1lTR08gQUcNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTggQUNJTiwgUHJvZmFjdG9yIEdtYkgsIEFJVCwgZm9ydGlzcyBHbWJILCBTWVNHTyBBRw0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQotICogIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgVGhvbWFzIFN0cmFzc2VyLCBSZW5lIFNtb2RpYywNCisgKiAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBUaG9tYXMgU3RyYXNzZXIsIFJlbmUgU21vZGljDQogICogIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICAqICBBZ29zdGlubyBNYXNjaXR0aSAtIEFkYXB0aW9uIHRvIFBpa2VPUyA0LjINCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCkBAIC0xNSw2ICsxNiw5IEBACiAjaW5jbHVkZSA8c2lnbmFsLmg+DQogI2luY2x1ZGUgIi4uLy4uL3N0ZGZibGliL2l0YS9STVRfREVWLmgiDQogDQorI2luY2x1ZGUgIi4uL3V0aWxzL21haW5wYXJhbV91dGlscy5oIg0KKw0KKw0KICNpZmRlZiBDT05GSUdfUE9XRVJMSU5LX1VTRVJTVEFDSw0KICNpbmNsdWRlIDxFcGxXcmFwcGVyLmg+DQogI2VuZGlmDQpAQCAtNzIsNDYgKzc2LDI5IEBACiAgIGRlbGV0ZSBwb0RldjsNCiB9DQogDQotLyohXGJyaWVmIExpc3RzIHRoZSBoZWxwIGZvciBGT1JURQ0KLSAqDQotICovDQotdm9pZCBsaXN0SGVscCgpew0KLSAgcHJpbnRmKCJcblVzYWdlIG9mIEZPUlRFOlxuIik7DQotICBwcmludGYoIiAgIC1oXHQgbGlzdHMgdGhpcyBoZWxwLlxuIik7DQotICBwcmludGYoIlxuIik7DQotICBwcmludGYoIiAgIC1jXHQgc2V0cyB0aGUgZGVzdGluYXRpb24gZm9yIHRoZSBjb25uZWN0aW9uLlxuIik7DQotICBwcmludGYoIiAgICAgXHQgVXNhZ2U6IGZvcnRlIC1jIDxJUD46PFBvcnQ+Iik7DQotICBwcmludGYoIlxuIik7DQotfQ0KLQ0KIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmdbXSl7DQogDQogICBjaGVja0VuZGlhbmVzcygpOw0KICAgREVWTE9HX0lORk8oIkZPUlRFIHN0YXJ0aW5nXG4iKTsNCiANCi0gICNpZmRlZiBQT1NJWF9MV0lQDQorI2lmZGVmIFBPU0lYX0xXSVANCiAgIC8qIEluaXRpYWxpemUgdGhlIGx3SVAgc3RhY2suICovDQogICBpZiAoX2x3aXBfaW5pdCgpICE9IDApIHsNCiAgICAgREVWTE9HX0VSUk9SKCJJbml0aWFsaXphdGlvbiBvZiBsd0lQIHN0YWNrIGZhaWxlZC5cbiIpOw0KICAgICBleGl0KC0xKTsNCiAgIH0NCi0gICNlbmRpZg0KLQ0KLQ0KKyNlbmRpZg0KIA0KICAgLy9nZGJfYnJlYWtwb2ludCgpOw0KIA0KLSAgaWYoYXJnYyA8PSAxKXsgLy8hIERlZmF1bHQgVmFsdWUgKGxvY2FsaG9zdDo2MTQ5OSkNCi0gICAgY3JlYXRlRGV2KCJsb2NhbGhvc3Q6NjE0OTkiKTsNCisgIGNvbnN0IGNoYXIgKnBJcFBvcnQgPSBwYXJzZUNvbW1hbmRMaW5lQXJndW1lbnRzKGFyZ2MsIGFyZyk7DQorICBpZigoMCAhPSBzdHJsZW4ocElwUG9ydCkpICYmIChOVUxMICE9IHN0cmNocihwSXBQb3J0LCAnOicpKSl7DQorICAgIGNyZWF0ZURldihwSXBQb3J0KTsNCiAgIH0NCi0gIGVsc2V7DQotICAgIGlmKHN0cmNtcCgiLWMiLCBhcmdbMV0pID09IDApeyAvLyEgc2V0cyB0aGUgZGVzdGluYXRpb24gZm9yIHRoZSBjb25uZWN0aW9uDQotICAgICAgY3JlYXRlRGV2KGFyZ1syXSk7DQotICAgIH0NCi0gICAgZWxzZXsgLy8hIExpc3RzIHRoZSBoZWxwIGZvciBGT1JURQ0KLSAgICAgIGxpc3RIZWxwKCk7DQotICAgIH0NCisgIGVsc2V7IC8vISBMaXN0cyB0aGUgaGVscCBmb3IgRk9SVEUNCisgICAgbGlzdEhlbHAoKTsNCiAgIH0NCisNCiAgIHJldHVybiAwOw0KIH0NCiANCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvbXV4ZWRzZXJjb21tbGF5ZXIuaCBiL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9tdXhlZHNlcmNvbW1sYXllci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmJiMzExLi4wMDAwMDAwCi0tLSBhL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9tdXhlZHNlcmNvbW1sYXllci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTIsIDIwMTQsIDIwMTggQUNJTiwgZm9ydGlzcyBHbWJILCBTWVNHTyBBRw0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICoNCi0gKiBDb250cmlidXRvcnM6DQotICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCi0gKiAgQWdvc3Rpbm8gTWFzY2l0dGkgLSBBZGFwdGlvbiB0byBQaWtlT1MgNC4yDQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotI2lmbmRlZiBfUElLRU9TX01VWEVEU0VSQ09NTUxBWUVSX0hfDQotI2RlZmluZSBfUElLRU9TX01VWEVEU0VSQ09NTUxBWUVSX0hfDQotDQotI2luY2x1ZGUgIi4uL3Bvc2l4L211eGVkc2VyY29tbWxheWVyLmgiDQotDQotI2VuZGlmIC8qIF9QSUtFT1NfTVVYRURTRVJDT01NTEFZRVJfSF8gKi8NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvcGN0aW1laGEuY3BwIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L3BjdGltZWhhLmNwcAppbmRleCA0MzVmYmFmLi4zODczMWFjIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvcGN0aW1laGEuY3BwCisrKyBiL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9wY3RpbWVoYS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE4LCAyMDE4IEFDSU4sIGZvcnRpc3MgR21iSCwgU1lTR08gQUcNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9waWtlb3NfcG9zaXgvcGN0aW1laGEuaCBiL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9wY3RpbWVoYS5oCmluZGV4IDkyN2NiNzYuLjc1MjE0OGUgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9wY3RpbWVoYS5oCisrKyBiL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9wY3RpbWVoYS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMSwgMjAxOCBBQ0lOLCBTWVNHTyBBRw0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9wb3NpeHNlcmNvbW1sYXllci5oIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L3Bvc2l4c2VyY29tbWxheWVyLmgKaW5kZXggYWEyYmZiNC4uMmY2YzU0YyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L3Bvc2l4c2VyY29tbWxheWVyLmgKKysrIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L3Bvc2l4c2VyY29tbWxheWVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIsIDIwMTcsIDIwMTggQUNJTiwgZm9ydGlzcyBHbWJILCBTWVNHTyBBRw0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bpa2Vvc19wb3NpeC9zb2NraGFuZC5oIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L3NvY2toYW5kLmgKaW5kZXggYzRkZDFiYy4uMzljOGIyMSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L3NvY2toYW5kLmgKKysrIGIvc3JjL2FyY2gvcGlrZW9zX3Bvc2l4L3NvY2toYW5kLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1LCAyMDE4IEFDSU4sIGZvcnRpc3MgR21iSCwgU1lTR08gQUcNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wbGNuZXh0L0NNYWtlTGlzdHMudHh0IGIvc3JjL2FyY2gvcGxjbmV4dC9DTWFrZUxpc3RzLnR4dAppbmRleCBiNzU4ODFkLi5lNTA4YjBhIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wbGNuZXh0L0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9hcmNoL3BsY25leHQvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5ICAKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eSAgCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIFNFVChTT1VSQ0VfR1JPVVAgJHtTT1VSQ0VfR1JPVVB9XFxwb3NpeCkKQEAgLTIzLDYgKzI0LDcgQEAKICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfY3BwKC4uL2dlbmZvcnRlX3ByaW50ZXIuY3BwKQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oKC4uL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmgpCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoLi4vdXRpbHMvdGltZXNwZWNfdXRpbHMpCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcCguLi9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCAuLi9wb3NpeC9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHApCiAgIAogICAKICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChGb3J0ZUNvbXBvbmVudCBGb3J0ZUNvbXBvbmVudFByb2dyYW1Qcm92aWRlciBGb3J0ZUlPSGFuZGxlciBGb3J0ZUxpYnJhcnkpCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlQ29tcG9uZW50LmNwcCBiL3NyYy9hcmNoL3BsY25leHQvRm9ydGVDb21wb25lbnQuY3BwCmluZGV4IGE3ZTlmOTEuLjY5Y2ExYTMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3BsY25leHQvRm9ydGVDb21wb25lbnQuY3BwCisrKyBiL3NyYy9hcmNoL3BsY25leHQvRm9ydGVDb21wb25lbnQuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KICAqDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcGxjbmV4dC9Gb3J0ZUNvbXBvbmVudC5oIGIvc3JjL2FyY2gvcGxjbmV4dC9Gb3J0ZUNvbXBvbmVudC5oCmluZGV4IDYyODliYWQuLjY1ODVjMDQgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3BsY25leHQvRm9ydGVDb21wb25lbnQuaAorKysgYi9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlQ29tcG9uZW50LmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5DQogICoNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlQ29tcG9uZW50UHJvZ3JhbVByb3ZpZGVyLmNwcCBiL3NyYy9hcmNoL3BsY25leHQvRm9ydGVDb21wb25lbnRQcm9ncmFtUHJvdmlkZXIuY3BwCmluZGV4IDgyOTI1OGQuLmFmOWE3MTcgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3BsY25leHQvRm9ydGVDb21wb25lbnRQcm9ncmFtUHJvdmlkZXIuY3BwCisrKyBiL3NyYy9hcmNoL3BsY25leHQvRm9ydGVDb21wb25lbnRQcm9ncmFtUHJvdmlkZXIuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KICAqDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcGxjbmV4dC9Gb3J0ZUNvbXBvbmVudFByb2dyYW1Qcm92aWRlci5oIGIvc3JjL2FyY2gvcGxjbmV4dC9Gb3J0ZUNvbXBvbmVudFByb2dyYW1Qcm92aWRlci5oCmluZGV4IDIzZTgyNzMuLjJhYTgxOTcgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3BsY25leHQvRm9ydGVDb21wb25lbnRQcm9ncmFtUHJvdmlkZXIuaAorKysgYi9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlQ29tcG9uZW50UHJvZ3JhbVByb3ZpZGVyLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5DQogICoNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlSU9IYW5kbGVyLmNwcCBiL3NyYy9hcmNoL3BsY25leHQvRm9ydGVJT0hhbmRsZXIuY3BwCmluZGV4IDUxMzNiZWMuLmQ2Mzk1ZTUgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3BsY25leHQvRm9ydGVJT0hhbmRsZXIuY3BwCisrKyBiL3NyYy9hcmNoL3BsY25leHQvRm9ydGVJT0hhbmRsZXIuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KICAqDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcGxjbmV4dC9Gb3J0ZUlPSGFuZGxlci5oIGIvc3JjL2FyY2gvcGxjbmV4dC9Gb3J0ZUlPSGFuZGxlci5oCmluZGV4IDQxODcyZDIuLjg4YzFmMzYgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3BsY25leHQvRm9ydGVJT0hhbmRsZXIuaAorKysgYi9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlSU9IYW5kbGVyLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5DQogICoNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlTGlicmFyeS5jcHAgYi9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlTGlicmFyeS5jcHAKaW5kZXggNzhjZmM2NC4uZjNjMzVjOSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcGxjbmV4dC9Gb3J0ZUxpYnJhcnkuY3BwCisrKyBiL3NyYy9hcmNoL3BsY25leHQvRm9ydGVMaWJyYXJ5LmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkNCiAgKg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3BsY25leHQvRm9ydGVMaWJyYXJ5LmggYi9zcmMvYXJjaC9wbGNuZXh0L0ZvcnRlTGlicmFyeS5oCmluZGV4IDBmNTBlNmIuLjg5MTlmMzQgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3BsY25leHQvRm9ydGVMaWJyYXJ5LmgKKysrIGIvc3JjL2FyY2gvcGxjbmV4dC9Gb3J0ZUxpYnJhcnkuaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkNCiAgKg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3BsY25leHQvZm9ydGVfc2VtLmggYi9zcmMvYXJjaC9wbGNuZXh0L2ZvcnRlX3NlbS5oCmluZGV4IDJlMTJlNWMuLmNkNjY4MTMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3BsY25leHQvZm9ydGVfc2VtLmgKKysrIGIvc3JjL2FyY2gvcGxjbmV4dC9mb3J0ZV9zZW0uaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkNCiAgKg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3BsY25leHQvZm9ydGVfc3luYy5oIGIvc3JjL2FyY2gvcGxjbmV4dC9mb3J0ZV9zeW5jLmgKaW5kZXggMjRhZDAxNS4uYzUwNjVlMiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcGxjbmV4dC9mb3J0ZV9zeW5jLmgKKysrIGIvc3JjL2FyY2gvcGxjbmV4dC9mb3J0ZV9zeW5jLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5DQogICoNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wbGNuZXh0L2ZvcnRlX3RocmVhZC5oIGIvc3JjL2FyY2gvcGxjbmV4dC9mb3J0ZV90aHJlYWQuaAppbmRleCBhYzgzZDJkLi5mNjIyMzA3IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wbGNuZXh0L2ZvcnRlX3RocmVhZC5oCisrKyBiL3NyYy9hcmNoL3BsY25leHQvZm9ydGVfdGhyZWFkLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKICAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcGxjbmV4dC9mb3J0ZWFsbG9jLmggYi9zcmMvYXJjaC9wbGNuZXh0L2ZvcnRlYWxsb2MuaAppbmRleCA5ZTJjOWNkLi45YzFiY2VkIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wbGNuZXh0L2ZvcnRlYWxsb2MuaAorKysgYi9zcmMvYXJjaC9wbGNuZXh0L2ZvcnRlYWxsb2MuaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkNCiAgKg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3BsY25leHQvc29ja2hhbmQuaCBiL3NyYy9hcmNoL3BsY25leHQvc29ja2hhbmQuaAppbmRleCBlZTQ4ZTYzLi4zYTQ2OWUxIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wbGNuZXh0L3NvY2toYW5kLmgKKysrIGIvc3JjL2FyY2gvcGxjbmV4dC9zb2NraGFuZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBBQ0lOLCBmb3J0aXNzIEdtYkgsIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wb3NpeC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9hcmNoL3Bvc2l4L0NNYWtlTGlzdHMudHh0CmluZGV4IDRmNTNiN2EuLjAyZjcyMGEgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bvc2l4L0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9hcmNoL3Bvc2l4L0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyMgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCiAjICogICAgICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKQEAgLTI0LDYgKzI1LDcgQEAKICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfY3BwKC4uL2dlbmZvcnRlX3ByaW50ZXIuY3BwKQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oKC4uL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmgpCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoLi4vdXRpbHMvdGltZXNwZWNfdXRpbHMpCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcCguLi9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCBmb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHApCiAgIGZvcnRlX2FkZF90b19leGVjdXRhYmxlX2NwcChtYWluKQogICAKIApAQCAtNDksMTMgKzUxLDEyIEBACiAKIAogICBmb3J0ZV9hZGRfbmV0d29ya19sYXllcihTRVIgT0ZGICJzZXIiIENQb3NpeFNlckNvbW1MYXllciBwb3NpeHNlcmNvbW1sYXllciAiRW5hYmxlIEZvcnRlIHNlcmlhbCBsaW5lIGNvbW11bmljYXRpb24iKQotICBmb3J0ZV9hZGRfbmV0d29ya19sYXllcihNVVhTRVIgT0ZGICJtdXhzZXIiIENNdXhlZFNlckNvbW1MYXllciBtdXhlZHNlcmNvbW1sYXllciAiRW5hYmxlIEZvcnRlIG11bHRpcGxleGVkIHNlcmlhbCBsaW5lIGNvbW11bmljYXRpb24iKQogICAKICAgc2V0KEZPUlRFX1JUVElfQU5EX0VYQ0VQVElPTlMgRkFMU0UgQ0FDSEUgQk9PTCAiRW5hYmxlIFJUVEkgYW5kIEV4Y2VwdGlvbnMiKQogICBtYXJrX2FzX2FkdmFuY2VkKEZPUlRFX1JUVElfQU5EX0VYQ0VQVElPTlMpCiAgIAogICBpZihGT1JURV9URVNUUyBBTkQgRk9SVEVfVVNFX1RFU1RfQ09ORklHX0lOX0ZPUlRFKQotICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItREJPT1NUX1RFU1RfRFlOX0xJTksgLURGT1JURV9VU0VfREVGQVVMVF9ORVdfQU5EX0RFTEVURSAtZyAtTzAgLS1jb3ZlcmFnZSAtZm5vLWlubGluZSAtZm5vLWVsaWRlLWNvbnN0cnVjdG9ycyAtZmV4Y2VwdGlvbnMgLWZzYW5pdGl6ZT1hZGRyZXNzIikKKyAgICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURCT09TVF9URVNUX0RZTl9MSU5LIC1nIC1PMCAtLWNvdmVyYWdlIC1mbm8taW5saW5lIC1mbm8tZWxpZGUtY29uc3RydWN0b3JzIC1mbm8tZXhjZXB0aW9ucyAtZnNhbml0aXplPWFkZHJlc3MgLURCT09TVF9OT19FWENFUFRJT05TIikKICAgICBmb3J0ZV9hZGRfbGlua19saWJyYXJ5KCItZnNhbml0aXplPWFkZHJlc3MiKQogICAgIGZvcnRlX2FkZF9saW5rX2xpYnJhcnkoIi0tY292ZXJhZ2UiKQogICBlbHNlKCkKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcCBiL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYmEyOTllCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2FyY2gvcG9zaXgvZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuY3BwCkBAIC0wLDAgKzEsMjQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIEFkZHMgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8dGltZS5oPgorCisjaW5jbHVkZSAiZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaCIKKyNpbmNsdWRlICJmb3J0ZV9jb25zdGFudHMuaCIKKwordWludF9mYXN0NjRfdCBnZXROYW5vU2Vjb25kc01vbm90b25pYygpIHsKKyAgc3RydWN0IHRpbWVzcGVjIG5vdzsKKyAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZub3cpOworICByZXR1cm4gbm93LnR2X25zZWMgKyBub3cudHZfc2VjICogZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kOworfQorCisKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3NlbS5jcHAgYi9zcmMvYXJjaC9wb3NpeC9mb3J0ZV9zZW0uY3BwCmluZGV4IGM4Mjk4NmMuLmVmN2NlZmIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3NlbS5jcHAKKysrIGIvc3JjL2FyY2gvcG9zaXgvZm9ydGVfc2VtLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2LCAyMDE4IGZvcnRpc3MgR21iSCwgVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wb3NpeC9mb3J0ZV9zZW0uaCBiL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3NlbS5oCmluZGV4IGMxY2Q5MDkuLjJjZTZiZTkgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3NlbS5oCisrKyBiL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3NlbS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTggZm9ydGlzcyBHbWJILCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3N5bmMuY3BwIGIvc3JjL2FyY2gvcG9zaXgvZm9ydGVfc3luYy5jcHAKaW5kZXggYzRjYmMxOC4uOGE3NmVlZiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcG9zaXgvZm9ydGVfc3luYy5jcHAKKysrIGIvc3JjL2FyY2gvcG9zaXgvZm9ydGVfc3luYy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTAsIDIwMTcgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3N5bmMuaCBiL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3N5bmMuaAppbmRleCAzNjUxODZlLi41ZGZhN2QyIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wb3NpeC9mb3J0ZV9zeW5jLmgKKysrIGIvc3JjL2FyY2gvcG9zaXgvZm9ydGVfc3luYy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcG9zaXgvZm9ydGVfdGhyZWFkLmNwcCBiL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3RocmVhZC5jcHAKaW5kZXggMzJiYTYxOC4uZTlmZmJkNCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcG9zaXgvZm9ydGVfdGhyZWFkLmNwcAorKysgYi9zcmMvYXJjaC9wb3NpeC9mb3J0ZV90aHJlYWQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE3IEFDSU4sIGZvcnRpc3MgR21iSCwgUmVkIEhhdCBJbmMKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMsIE1hcnRpbiBNZWxpayBNZXJraXVtaWFucyAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0zMCwxNyArMzEsMTcgQEAKICAgICAgIERFVkxPR19FUlJPUigiRXJyb3IgY291bGQgbm90IGdldCB0aGUgZGVmYXVsdCB0aHJlYWQgYXR0cmlidXRlcyEgJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7CiAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICNpZmRlZiBfX0NZR1dJTl9fCisjaWZkZWYgX19DWUdXSU5fXwogICAgIGlmIChwdGhyZWFkX2F0dHJfc2V0c3RhY2tzaXplICgmc3RBdHRyLCBwYVN0YWNrU2l6ZSkpewogICAgICAgREVWTE9HX0VSUk9SKCJFcnJvciBjb3VsZCBub3Qgc2V0IHRoZSBzdGFja3NpemUgZm9yIHRoZSB0aHJlYWQhICVzXG4iLCBzdHJlcnJvcihlcnJubykpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAjZWxzZQorI2Vsc2UgLy9fX0NZR1dJTl9fCiAgICAgaWYocHRocmVhZF9hdHRyX3NldHN0YWNrKCZzdEF0dHIsIG1TdGFjaywgcGFTdGFja1NpemUpKXsKICAgICAgIERFVkxPR19FUlJPUigiRXJyb3IgY291bGQgbm90IHNldCB0aGUgc3RhY2tzaXplIGZvciB0aGUgdGhyZWFkISAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgI2VuZGlmCisjZW5kaWYgLy9fX0NZR1dJTl9fCiAgICAgaWYocHRocmVhZF9jcmVhdGUoJnJldFZhbCwgJnN0QXR0ciwgdGhyZWFkRnVuY3Rpb24sIHRoaXMpKXsKICAgICAgIERFVkxPR19FUlJPUigiRXJyb3IgY291bGQgbm90IGNyZWF0ZSB0aGUgdGhyZWFkISAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgIHJldHVybiAwOwpAQCAtODQsNiArODUsNiBAQAogfQogCiB2b2lkIENQb3NpeFRocmVhZDo6c2xlZXBUaHJlYWQodW5zaWduZWQgaW50IHBhTWlsbGlTZWNvbmRzKXsKLSAgc3RydWN0IHRpbWVzcGVjIHN0UmVxID0ge3BhTWlsbGlTZWNvbmRzIC8gMTAwMCwgMTAwMDAwMCAqIChwYU1pbGxpU2Vjb25kcyAlIDEwMDApfTsKKyAgc3RydWN0IHRpbWVzcGVjIHN0UmVxID0geyBzdGF0aWNfY2FzdDx0aW1lX3Q+KHBhTWlsbGlTZWNvbmRzIC8gMTAwMCksIHN0YXRpY19jYXN0PGxvbmc+KDEwMDAwMDAgKiAocGFNaWxsaVNlY29uZHMgJSAxMDAwKSkgfTsKICAgbmFub3NsZWVwKCZzdFJlcSwgTlVMTCk7CiB9CmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wb3NpeC9mb3J0ZV90aHJlYWQuaCBiL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3RocmVhZC5oCmluZGV4IGE2YTUzZDEuLjljMDQyODIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3RocmVhZC5oCisrKyBiL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlX3RocmVhZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE3IEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsLCBSZW5lIFNtb2RpYywgSW5nbyBIZWdueSwgTWFydGluIE1lbGlrIE1lcmtpdW1pYW5zIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlYWxsb2MuaCBiL3NyYy9hcmNoL3Bvc2l4L2ZvcnRlYWxsb2MuaAppbmRleCBlYWI4NTI1Li5jMWQzNmM2IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wb3NpeC9mb3J0ZWFsbG9jLmgKKysrIGIvc3JjL2FyY2gvcG9zaXgvZm9ydGVhbGxvYy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wb3NpeC9tYWluLmNwcCBiL3NyYy9hcmNoL3Bvc2l4L21haW4uY3BwCmluZGV4IGIyMGE5ZGIuLjlhZmIxNmUgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bvc2l4L21haW4uY3BwCisrKyBiL3NyYy9hcmNoL3Bvc2l4L21haW4uY3BwCkBAIC0xLDE5ICsxLDIzIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTQgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIEFJVCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE4IEFDSU4sIFByb2ZhY3RvciBHbWJILCBBSVQsIGZvcnRpc3MgR21iSA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgVGhvbWFzIFN0cmFzc2VyLCBSZW5lIFNtb2RpYywNCiAgKiAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQorICogIFRhcmlrIFRlcnppbWVoaWMgLSBtYWtlIE9QQyBVQSBzZXJ2ZXIgcG9ydCBzZXRhYmxlIGZyb20gdGhlIGNvbW1hbmQgbGluZQ0KICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpbmNsdWRlIDxmb3J0ZW5ldy5oPg0KICNpbmNsdWRlIDxzdGRpby5oPg0KICNpbmNsdWRlIDxzaWduYWwuaD4NCiAjaW5jbHVkZSAiLi4vLi4vc3RkZmJsaWIvaXRhL1JNVF9ERVYuaCINCiANCisjaW5jbHVkZSAiLi4vdXRpbHMvbWFpbnBhcmFtX3V0aWxzLmgiDQorDQogI2lmZGVmIEZPUlRFX1JPUw0KICNpbmNsdWRlIDxyb3Mvcm9zLmg+DQogI2VuZGlmIC8vRk9SVEVfUk9TDQpAQCAtNjgsNDAgKzcyLDI4IEBACiAgIGRlbGV0ZSBwb0RldjsNCiB9DQogDQotLyohXGJyaWVmIExpc3RzIHRoZSBoZWxwIGZvciBGT1JURQ0KLSAqDQotICovDQotdm9pZCBsaXN0SGVscCgpew0KLSAgcHJpbnRmKCJcblVzYWdlIG9mIEZPUlRFOlxuIik7DQotICBwcmludGYoIiAgIC1oXHQgbGlzdHMgdGhpcyBoZWxwLlxuIik7DQotICBwcmludGYoIlxuIik7DQotICBwcmludGYoIiAgIC1jXHQgc2V0cyB0aGUgZGVzdGluYXRpb24gZm9yIHRoZSBjb25uZWN0aW9uLlxuIik7DQotICBwcmludGYoIiAgICAgXHQgVXNhZ2U6IGZvcnRlIC1jIDxJUD46PFBvcnQ+Iik7DQotICBwcmludGYoIlxuIik7DQotfQ0KLQ0KIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmdbXSl7DQogDQogICBjaGVja0VuZGlhbmVzcygpOw0KIA0KLSAgaWYoYXJnYyA8PSAxKXsgLy8hIERlZmF1bHQgVmFsdWUgKGxvY2FsaG9zdDo2MTQ5OSkNCiAjaWZkZWYgRk9SVEVfUk9TDQorICBpZihhcmdjIDw9IDEpeyAvLyEgRGVmYXVsdCBWYWx1ZSAobG9jYWxob3N0OjYxNDk5KQ0KICAgICBzdGQ6OnN0cmluZyByb3NkaXN0cm8gPSAiaW5kaWdvIjsNCiAgICAgaWYgKHJvc2Rpc3RybyA9PSAoc3RkOjpzdHJpbmcpc3RkOjpnZXRlbnYoIlJPU19ESVNUUk8iKSl7DQogICAgICAgREVWTE9HX0lORk8oInBhdGggdG8gZm9ydGUuZXhlOiAlcyBcbiIsIGFyZ1swXSk7DQogICAgICAgcm9zOjppbml0KGFyZ2MsIGFyZywgInJvc19GdW5jdGlvbmJsb2Nrc19pbl9GT1JURSIpOw0KICAgICB9DQorICB9DQogI2VuZGlmIC8vRk9SVEVfUk9TDQotICAgIGNyZWF0ZURldigibG9jYWxob3N0OjYxNDk5Iik7DQorDQorICBjb25zdCBjaGFyICpwSXBQb3J0ID0gcGFyc2VDb21tYW5kTGluZUFyZ3VtZW50cyhhcmdjLCBhcmcpOw0KKyAgaWYoKDAgIT0gc3RybGVuKHBJcFBvcnQpKSAmJiAoTlVMTCAhPSBzdHJjaHIocElwUG9ydCwgJzonKSkpew0KKyAgICBjcmVhdGVEZXYocElwUG9ydCk7DQogICB9DQotICBlbHNlew0KLSAgICBpZihzdHJjbXAoIi1jIiwgYXJnWzFdKSA9PSAwKXsgLy8hIHNldHMgdGhlIGRlc3RpbmF0aW9uIGZvciB0aGUgY29ubmVjdGlvbg0KLSAgICAgIGNyZWF0ZURldihhcmdbMl0pOw0KLSAgICB9DQotICAgIGVsc2V7IC8vISBMaXN0cyB0aGUgaGVscCBmb3IgRk9SVEUNCi0gICAgICBsaXN0SGVscCgpOw0KLSAgICB9DQorICBlbHNleyAvLyEgTGlzdHMgdGhlIGhlbHAgZm9yIEZPUlRFDQorICAgIGxpc3RIZWxwKCk7DQogICB9DQorDQogICByZXR1cm4gMDsNCiB9DQogDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcG9zaXgvbXV4ZWRzZXJjb21tbGF5ZXIuY3BwIGIvc3JjL2FyY2gvcG9zaXgvbXV4ZWRzZXJjb21tbGF5ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjgyZDE5Li4wMDAwMDAwCi0tLSBhL3NyYy9hcmNoL3Bvc2l4L211eGVkc2VyY29tbWxheWVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI2NCArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTUgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gKg0KLSAqIENvbnRyaWJ1dG9yczoNCi0gKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLSNpbmNsdWRlICJtdXhlZHNlcmNvbW1sYXllci5oIg0KLSNpbmNsdWRlICJjb21tZmIuaCINCi0jaW5jbHVkZSAiLi4vZGV2bG9nLmgiDQotI2luY2x1ZGUgPHVuaXN0ZC5oPg0KLSNpbmNsdWRlIDxlcnJuby5oPg0KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCi0jaW5jbHVkZSA8c3lzL3N0YXQuaD4NCi0jaW5jbHVkZSA8ZmNudGwuaD4NCi0jaW5jbHVkZSA8Y3JpdGljYWxyZWdpb24uaD4NCi0NCi11c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvbV9pbmZyYTsNCi0NCi1DTXV4ZWRTZXJDb21tTGF5ZXI6OkNNdXhlZFNlclBvcnRzTWFuYWdlciBDTXV4ZWRTZXJDb21tTGF5ZXI6OnNtTXV4ZWRTZXJQb3J0c01hbmFnZXI7DQotDQotQ011eGVkU2VyQ29tbUxheWVyOjpDTXV4ZWRTZXJDb21tTGF5ZXIoQ0NvbUxheWVyKiBwYVVwcGVyTGF5ZXIsIENCYXNlQ29tbUZCICogcGFGQikgOg0KLSAgICBDQ29tTGF5ZXIocGFVcHBlckxheWVyLCBwYUZCKSwgbUJ1ZkZpbGxTaXplKDApLCBtRkQoc2NtSW52YWxpZEZpbGVEZXNjcmlwdG9yKSwNCi0gIG1JbnRlcnJ1cHRSZXNwKGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZTo6ZV9Ob3RoaW5nKSwgbVNlck11eElkKDApew0KLQ0KLX0NCi0NCi1DTXV4ZWRTZXJDb21tTGF5ZXI6On5DTXV4ZWRTZXJDb21tTGF5ZXIoKXsNCi0gIGNsb3NlQ29ubmVjdGlvbigpOw0KLX0NCi0NCi1FQ29tUmVzcG9uc2UgQ011eGVkU2VyQ29tbUxheWVyOjpzZW5kRGF0YSh2b2lkICpwYURhdGEsIHVuc2lnbmVkIGludCBwYVNpemUpew0KLSAgaWYoQ0ZEU2VsZWN0SGFuZGxlcjo6c2NtSW52YWxpZEZpbGVEZXNjcmlwdG9yICE9IG1GRCl7DQotICAgIC8vZmlyc3Qgc2VuZCBpZA0KLQ0KLSAgICBtUmVjdkJ1ZmZlclswXSA9IG1TZXJNdXhJZDsNCi0gICAgbWVtY3B5KCYobVJlY3ZCdWZmZXJbMV0pLCBwYURhdGEsIHBhU2l6ZSk7DQotICAgIHBhU2l6ZSsrOw0KLQ0KLSAgICBzc2l6ZV90IG5Ub1NlbmQgPSBwYVNpemU7DQotICAgIHdoaWxlKDAgPCBuVG9TZW5kKXsNCi0gICAgICBzc2l6ZV90IG5TZW50Qnl0ZXMgPSB3cml0ZShtRkQsICYobVJlY3ZCdWZmZXJbMF0pLCBuVG9TZW5kKTsNCi0gICAgICBpZihuU2VudEJ5dGVzIDw9IDApew0KLSAgICAgICAgREVWTE9HX0VSUk9SKCJDTXV4ZWRTZXJDb21tTGF5ZXI6IFNlbmQgZmFpbGVkOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsNCi0gICAgICAgIHJldHVybiBlX1Byb2Nlc3NEYXRhU2VuZEZhaWxlZDsNCi0gICAgICB9DQotICAgICAgblRvU2VuZCAtPSBuU2VudEJ5dGVzOw0KLSAgICAgIHBhRGF0YSA9IHN0YXRpY19jYXN0PGNoYXIqPihwYURhdGEpICsgblNlbnRCeXRlczsNCi0gICAgfQ0KLSAgfQ0KLQ0KLSAgcmV0dXJuIGVfUHJvY2Vzc0RhdGFPazsNCi19DQotDQotRUNvbVJlc3BvbnNlIENNdXhlZFNlckNvbW1MYXllcjo6cmVjdkRhdGEoY29uc3Qgdm9pZCAqLCB1bnNpZ25lZCBpbnQpew0KLSAgc3NpemVfdCBuUmVhZENvdW50ID0gcmVhZChtRkQsICZtUmVjdkJ1ZmZlclttQnVmRmlsbFNpemVdLCBjZ191bklQTGF5ZXJSZWN2QnVmZmVyU2l6ZSAtIG1CdWZGaWxsU2l6ZSk7DQotDQotICBzd2l0Y2ggKG5SZWFkQ291bnQpew0KLSAgICBjYXNlIDA6DQotICAgICAgREVWTE9HX0lORk8oIkNNdXhlZFNlckNvbW1MYXllcjogQ29ubmVjdGlvbiBjbG9zZWQgYnkgcGVlclxuIik7DQotICAgICAgbUludGVycnVwdFJlc3AgPSBlX0luaXRUZXJtaW5hdGVkOw0KLSAgICAgIGNsb3NlQ29ubmVjdGlvbigpOw0KLSAgICAgIGJyZWFrOw0KLSAgICBjYXNlIC0xOg0KLSAgICAgIERFVkxPR19FUlJPUigiQ011eGVkU2VyQ29tbUxheWVyOiByZWFkIGZhaWxlZDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQotICAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhUmVjdkZhaWxkOw0KLSAgICAgIGJyZWFrOw0KLSAgICBkZWZhdWx0Og0KLSAgICAgIC8vd2Ugc3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGRhdGENCi0gICAgICBtQnVmRmlsbFNpemUgKz0gblJlYWRDb3VudDsNCi0gICAgICBtSW50ZXJydXB0UmVzcCA9IGVfUHJvY2Vzc0RhdGFPazsNCi0gICAgICBicmVhazsNCi0gIH0NCi0NCi0gIG1fcG9GYi0+aW50ZXJydXB0Q29tbUZCKHRoaXMpOw0KLSAgcmV0dXJuIG1JbnRlcnJ1cHRSZXNwOw0KLX0NCi0NCi1FQ29tUmVzcG9uc2UgQ011eGVkU2VyQ29tbUxheWVyOjpwcm9jZXNzSW50ZXJydXB0KCl7DQotICBpZihlX1Byb2Nlc3NEYXRhT2sgPT0gbUludGVycnVwdFJlc3Apew0KLSAgICBtSW50ZXJydXB0UmVzcCA9IG1fcG9Ub3BMYXllci0+cmVjdkRhdGEobVJlY3ZCdWZmZXIsIG1CdWZGaWxsU2l6ZSk7DQotICAgIG1CdWZGaWxsU2l6ZSA9IDA7DQotICB9DQotICByZXR1cm4gbUludGVycnVwdFJlc3A7DQotfQ0KLQ0KLUVDb21SZXNwb25zZSBDTXV4ZWRTZXJDb21tTGF5ZXI6Om9wZW5Db25uZWN0aW9uKGNoYXIgKnBhTGF5ZXJQYXJhbWV0ZXIpew0KLSAgRUNvbVJlc3BvbnNlIGVSZXRWYWwgPSBlX0luaXRJbnZhbGlkSWQ7DQotDQotICBjaGFyICphY1BvcnQgPSBzdHJjaHIocGFMYXllclBhcmFtZXRlciwgJzonKTsNCi0gIGlmKDAgIT0gYWNQb3J0KXsNCi0gICAgKmFjUG9ydCA9ICdcMCc7DQotICAgICsrYWNQb3J0Ow0KLSAgICBtU2VyTXV4SWQgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4oZm9ydGU6OmNvcmU6OnV0aWw6OnN0cnRvdWwoYWNQb3J0LCAwLCAxMCkpOw0KLSAgICBtRkQgPSBzbU11eGVkU2VyUG9ydHNNYW5hZ2VyLmFkZE11eGVkU2VyTGF5ZXIocGFMYXllclBhcmFtZXRlciwgdGhpcyk7DQotICAgIGlmKENGRFNlbGVjdEhhbmRsZXI6OnNjbUludmFsaWRGaWxlRGVzY3JpcHRvciAhPSBtRkQpew0KLSAgICAgIGVSZXRWYWwgPSBlX0luaXRPazsNCi0gICAgfQ0KLSAgfQ0KLQ0KLSAgcmV0dXJuIGVSZXRWYWw7DQotfQ0KLQ0KLXZvaWQgQ011eGVkU2VyQ29tbUxheWVyOjpjbG9zZUNvbm5lY3Rpb24oKXsNCi0gIGlmKENGRFNlbGVjdEhhbmRsZXI6OnNjbUludmFsaWRGaWxlRGVzY3JpcHRvciAhPSBtRkQpew0KLSAgICBzbU11eGVkU2VyUG9ydHNNYW5hZ2VyLnJlbW92ZU11eGVkU2VyTGF5ZXIobUZELCB0aGlzKTsNCi0gICAgbUZEID0gQ0ZEU2VsZWN0SGFuZGxlcjo6c2NtSW52YWxpZEZpbGVEZXNjcmlwdG9yOw0KLSAgfQ0KLX0NCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotQ011eGVkU2VyQ29tbUxheWVyOjpDTXV4ZWRTZXJQb3J0c01hbmFnZXI6OkNNdXhlZFNlclBvcnRzTWFuYWdlcigpew0KLQ0KLX0NCi0NCi1DRkRTZWxlY3RIYW5kbGVyOjpURmlsZURlc2NyaXB0b3IgQ011eGVkU2VyQ29tbUxheWVyOjpDTXV4ZWRTZXJQb3J0c01hbmFnZXI6OmFkZE11eGVkU2VyTGF5ZXIoY2hhciogcGFTZXJQb3J0LCBDTXV4ZWRTZXJDb21tTGF5ZXIgKnBhQ29tQ2FsbEJhY2spew0KLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1TeW5jKTsNCi0gIENGRFNlbGVjdEhhbmRsZXI6OlRGaWxlRGVzY3JpcHRvciBuUmV0VmFsID0gQ0ZEU2VsZWN0SGFuZGxlcjo6c2NtSW52YWxpZEZpbGVEZXNjcmlwdG9yOw0KLSAgU1NlclBvcnRFbnRyeSAqbVNlclBvcnRFbnRyeSA9IGdldFNlclBvcnRFbnRyeShwYVNlclBvcnQpOw0KLSAgaWYoMCAhPSBtU2VyUG9ydEVudHJ5KXsNCi0gICAgbVNlclBvcnRFbnRyeS0+bUNvbm5lY3Rpb25zTGlzdC5wdXNoQmFjayhwYUNvbUNhbGxCYWNrKTsNCi0gICAgblJldFZhbCA9IG1TZXJQb3J0RW50cnktPm1GRDsNCi0gIH0NCi0gIHJldHVybiBuUmV0VmFsOw0KLX0NCi0NCi12b2lkIENNdXhlZFNlckNvbW1MYXllcjo6Q011eGVkU2VyUG9ydHNNYW5hZ2VyOjpyZW1vdmVNdXhlZFNlckxheWVyKENGRFNlbGVjdEhhbmRsZXI6OlRGaWxlRGVzY3JpcHRvciBwYUZELCBDTXV4ZWRTZXJDb21tTGF5ZXIgKnBhQ29tQ2FsbEJhY2spew0KLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1TeW5jKTsNCi0gIFNTZXJQb3J0RW50cnkgKm1TZXJQb3J0RW50cnkgPSBnZXRPcGVuZFNlclBvcnRFbnRyeShwYUZEKTsNCi0gIGlmKDAgIT0gbVNlclBvcnRFbnRyeSl7DQotICAgIFRDb25uZWN0aW9uQ29udGFpbmVyOjpJdGVyYXRvciBpdFJ1bm5lcihtU2VyUG9ydEVudHJ5LT5tQ29ubmVjdGlvbnNMaXN0LmJlZ2luKCkpOw0KLSAgICBUQ29ubmVjdGlvbkNvbnRhaW5lcjo6SXRlcmF0b3IgaXRSZXZOb2RlKG1TZXJQb3J0RW50cnktPm1Db25uZWN0aW9uc0xpc3QuZW5kKCkpOw0KLSAgICBUQ29ubmVjdGlvbkNvbnRhaW5lcjo6SXRlcmF0b3IgaXRFbmQobVNlclBvcnRFbnRyeS0+bUNvbm5lY3Rpb25zTGlzdC5lbmQoKSk7DQotDQotICAgIHdoaWxlKGl0UnVubmVyICE9IGl0RW5kKXsNCi0gICAgICBpZigoKml0UnVubmVyKSA9PSBwYUNvbUNhbGxCYWNrKXsNCi0gICAgICAgIGlmKGl0UmV2Tm9kZSA9PSBpdEVuZCl7DQotICAgICAgICAgIG1TZXJQb3J0RW50cnktPm1Db25uZWN0aW9uc0xpc3QucG9wRnJvbnQoKTsNCi0gICAgICAgIH1lbHNlew0KLSAgICAgICAgICAgbVNlclBvcnRFbnRyeS0+bUNvbm5lY3Rpb25zTGlzdC5lcmFzZUFmdGVyKGl0UmV2Tm9kZSk7DQotICAgICAgICB9DQotICAgICAgICBicmVhazsNCi0gICAgICB9DQotDQotICAgICAgaXRSZXZOb2RlID0gaXRSdW5uZXI7DQotICAgICAgKytpdFJ1bm5lcjsNCi0gICAgfQ0KLQ0KLSAgICBpZihtU2VyUG9ydEVudHJ5LT5tQ29ubmVjdGlvbnNMaXN0LmlzRW1wdHkoKSl7DQotICAgICAgY2xvc2VQb3J0KG1TZXJQb3J0RW50cnkpOw0KLSAgICB9DQotICB9DQotfQ0KLQ0KLUVDb21SZXNwb25zZSBDTXV4ZWRTZXJDb21tTGF5ZXI6OkNNdXhlZFNlclBvcnRzTWFuYWdlcjo6U1NlclBvcnRFbnRyeTo6cmVjdkRhdGEoY29uc3Qgdm9pZCAqLCB1bnNpZ25lZCBpbnQpew0KLSAgRUNvbVJlc3BvbnNlIGVSZXRWYWwgPSBlX05vdGhpbmc7DQotICBjaGFyIG5JRDsNCi0NCi0gIHNzaXplX3QgblJlYWRDb3VudCA9IHJlYWQobUZELCAmbklELCAxKTsNCi0NCi0gIGlmKDEgPT0gblJlYWRDb3VudCl7DQotDQotICAgIFRDb25uZWN0aW9uQ29udGFpbmVyOjpJdGVyYXRvciBpdEVuZChtQ29ubmVjdGlvbnNMaXN0LmVuZCgpKTsNCi0gICAgZm9yKFRDb25uZWN0aW9uQ29udGFpbmVyOjpJdGVyYXRvciBpdFJ1bm5lciA9IG1Db25uZWN0aW9uc0xpc3QuYmVnaW4oKSwgaXRDdXJyZW50ID0gbUNvbm5lY3Rpb25zTGlzdC5iZWdpbigpOyBpdFJ1bm5lciAhPSBpdEVuZDspew0KLSAgICAgIGl0Q3VycmVudCA9IGl0UnVubmVyOw0KLSAgICAgICsraXRSdW5uZXI7DQotICAgICAgaWYobklEID09IGl0Q3VycmVudC0+Z2V0U2VyTXV4SWQoKSl7DQotICAgICAgICBlUmV0VmFsID0gaXRDdXJyZW50LT5yZWN2RGF0YSgwLDApOw0KLSAgICAgICAgaWYoZV9Ob3RoaW5nICE9IGVSZXRWYWwpew0KLSAgICAgICAgICBtX3BvRmIgPSBpdEN1cnJlbnQtPmdldENvbW1GQigpOw0KLSAgICAgICAgfQ0KLSAgICAgICAgYnJlYWs7DQotICAgICAgfQ0KLSAgICB9DQotICB9DQotICBlbHNlew0KLSAgICAvL0ZJWE1FIGhhbmRsZSBlcnJvciBjbG9zZSBjb25uZWN0aW9ucyBhbmQgaW5mb3JtIEZCcw0KLSAgfQ0KLQ0KLSAgcmV0dXJuIGVSZXRWYWw7DQotfQ0KLQ0KLUVDb21SZXNwb25zZSBDTXV4ZWRTZXJDb21tTGF5ZXI6OkNNdXhlZFNlclBvcnRzTWFuYWdlcjo6U1NlclBvcnRFbnRyeTo6cHJvY2Vzc0ludGVycnVwdCgpew0KLSAgcmV0dXJuIGVfTm90aGluZzsNCi19DQotDQotQ011eGVkU2VyQ29tbUxheWVyOjpDTXV4ZWRTZXJQb3J0c01hbmFnZXI6OlNTZXJQb3J0RW50cnkgKkNNdXhlZFNlckNvbW1MYXllcjo6Q011eGVkU2VyUG9ydHNNYW5hZ2VyOjpnZXRTZXJQb3J0RW50cnkoY2hhciogcGFTZXJQb3J0KXsNCi0gIGZvcihUU2VyUG9ydExpc3Q6Okl0ZXJhdG9yIGl0UnVubmVyID0gbVBvcnRMaXN0LmJlZ2luKCk7IGl0UnVubmVyICE9IG1Qb3J0TGlzdC5lbmQoKTsgKytpdFJ1bm5lcil7DQotICAgIGlmKDAgPT0gc3RyY21wKGl0UnVubmVyLT5tU2VyUG9ydCwgcGFTZXJQb3J0KSl7DQotICAgICAgcmV0dXJuICYoKml0UnVubmVyKTsNCi0gICAgfQ0KLSAgfQ0KLQ0KLSAgVFNlclBvcnRMaXN0OjpJdGVyYXRvciBpdFJlZihtUG9ydExpc3QuYmFjaygpKTsNCi0vL3RoaXMgcG9ydCBpcyBub3QgeWV0IG1hbmFnZWQgYnkgdXMNCi0gIG1Qb3J0TGlzdC5wdXNoQmFjayhTU2VyUG9ydEVudHJ5KCkpOw0KLSAgVFNlclBvcnRMaXN0OjpJdGVyYXRvciBpdEN1cnJlbnQobVBvcnRMaXN0LmJhY2soKSk7DQotICBTU2VyUG9ydEVudHJ5ICpwc3RSZXRWYWwgPSAmKCppdEN1cnJlbnQpOw0KLSAgb3BlblBvcnQocGFTZXJQb3J0LCBwc3RSZXRWYWwpOw0KLSAgaWYoQ0ZEU2VsZWN0SGFuZGxlcjo6c2NtSW52YWxpZEZpbGVEZXNjcmlwdG9yID09IHBzdFJldFZhbC0+bUZEKXsNCi0gICAgaWYoaXRDdXJyZW50ID09IG1Qb3J0TGlzdC5iZWdpbigpKXsNCi0gICAgICBtUG9ydExpc3QucG9wRnJvbnQoKTsNCi0gICAgfQ0KLSAgICBlbHNlew0KLSAgICAgIG1Qb3J0TGlzdC5lcmFzZUFmdGVyKGl0UmVmKTsNCi0gICAgfQ0KLSAgICBwc3RSZXRWYWwgPSAwOw0KLSAgfQ0KLSAgZWxzZXsNCi0gICAgcHN0UmV0VmFsLT5tU2VyUG9ydCA9IG5ldyBjaGFyW3N0cmxlbihwYVNlclBvcnQpICsgMV07DQotICAgIHN0cmNweShwc3RSZXRWYWwtPm1TZXJQb3J0LCBwYVNlclBvcnQpOw0KLSAgfQ0KLSAgcmV0dXJuIHBzdFJldFZhbDsNCi19DQotDQotQ011eGVkU2VyQ29tbUxheWVyOjpDTXV4ZWRTZXJQb3J0c01hbmFnZXI6OlNTZXJQb3J0RW50cnkgKkNNdXhlZFNlckNvbW1MYXllcjo6Q011eGVkU2VyUG9ydHNNYW5hZ2VyOjpnZXRPcGVuZFNlclBvcnRFbnRyeShDRkRTZWxlY3RIYW5kbGVyOjpURmlsZURlc2NyaXB0b3IgcGFGRCl7DQotICBTU2VyUG9ydEVudHJ5ICpwc3RSZXRWYWwgPSAwOw0KLSAgZm9yKFRTZXJQb3J0TGlzdDo6SXRlcmF0b3IgaXRSdW5uZXIgPSBtUG9ydExpc3QuYmVnaW4oKTsgaXRSdW5uZXIgIT0gbVBvcnRMaXN0LmVuZCgpOyArK2l0UnVubmVyKXsNCi0gICAgaWYocGFGRCA9PSBpdFJ1bm5lci0+bUZEKXsNCi0gICAgICBwc3RSZXRWYWwgPSAmKCppdFJ1bm5lcik7DQotICAgICAgYnJlYWs7DQotICAgIH0NCi0gIH0NCi0gIHJldHVybiBwc3RSZXRWYWw7DQotfQ0KLQ0KLXZvaWQgQ011eGVkU2VyQ29tbUxheWVyOjpDTXV4ZWRTZXJQb3J0c01hbmFnZXI6Om9wZW5Qb3J0KGNoYXIqIHBhU2VyUG9ydCwgU1NlclBvcnRFbnRyeSAqcGFQb3J0RW50cnkpew0KLSAgcGFQb3J0RW50cnktPm1GRCA9IG9wZW4ocGFTZXJQb3J0LCBPX1JEV1IgfCBPX05PQ1RUWSk7DQotDQotICBpZihDRkRTZWxlY3RIYW5kbGVyOjpzY21JbnZhbGlkRmlsZURlc2NyaXB0b3IgIT0gcGFQb3J0RW50cnktPm1GRCl7DQotICAgIGdldEV4dEV2SGFuZGxlcjxDRkRTZWxlY3RIYW5kbGVyPigpLmFkZENvbUNhbGxiYWNrKHBhUG9ydEVudHJ5LT5tRkQsIHBhUG9ydEVudHJ5KTsNCi0gIH0NCi0gIGVsc2V7DQotICAgIERFVkxPR19FUlJPUigiQ1NlckNvbW1MYXllcjogb3BlbiBmYWlsZWQ6ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOw0KLSAgfQ0KLX0NCi0NCi12b2lkIENNdXhlZFNlckNvbW1MYXllcjo6Q011eGVkU2VyUG9ydHNNYW5hZ2VyOjpjbG9zZVBvcnQoU1NlclBvcnRFbnRyeSAqcGFTZXJQb3J0RW50cnkpew0KLSAgZ2V0RXh0RXZIYW5kbGVyPENGRFNlbGVjdEhhbmRsZXI+KCkucmVtb3ZlQ29tQ2FsbGJhY2socGFTZXJQb3J0RW50cnktPm1GRCk7DQotICBjbG9zZShwYVNlclBvcnRFbnRyeS0+bUZEKTsNCi0NCi0gIGRlbGV0ZVtdIHBhU2VyUG9ydEVudHJ5LT5tU2VyUG9ydDsNCi0NCi0gIFRTZXJQb3J0TGlzdDo6SXRlcmF0b3IgaXRSdW5uZXIobVBvcnRMaXN0LmJlZ2luKCkpOw0KLSAgVFNlclBvcnRMaXN0OjpJdGVyYXRvciBpdFJlZk5vZGUobVBvcnRMaXN0LmVuZCgpKTsNCi0NCi0gIHdoaWxlKGl0UnVubmVyICE9IG1Qb3J0TGlzdC5lbmQoKSl7DQotICAgIGlmKGl0UnVubmVyLT5tRkQgPT0gcGFTZXJQb3J0RW50cnktPm1GRCl7DQotICAgICAgaWYoaXRSZWZOb2RlID09IG1Qb3J0TGlzdC5lbmQoKSl7DQotICAgICAgICBtUG9ydExpc3QucG9wRnJvbnQoKTsNCi0gICAgICB9DQotICAgICAgZWxzZXsNCi0gICAgICAgIG1Qb3J0TGlzdC5lcmFzZUFmdGVyKGl0UmVmTm9kZSk7DQotICAgICAgfQ0KLSAgICAgIGJyZWFrOw0KLSAgICB9DQotDQotICAgIGl0UmVmTm9kZSA9IGl0UnVubmVyOw0KLSAgICArK2l0UnVubmVyOw0KLSAgfQ0KLX0NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wb3NpeC9tdXhlZHNlcmNvbW1sYXllci5oIGIvc3JjL2FyY2gvcG9zaXgvbXV4ZWRzZXJjb21tbGF5ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjRkYjhkZS4uMDAwMDAwMAotLS0gYS9zcmMvYXJjaC9wb3NpeC9tdXhlZHNlcmNvbW1sYXllci5oCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTIsIDIwMTQgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gKg0KLSAqIENvbnRyaWJ1dG9yczoNCi0gKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLSNpZm5kZWYgX01VWEVEU0VSQ09NTUxBWUVSX0hfDQotI2RlZmluZSBfTVVYRURTRVJDT01NTEFZRVJfSF8NCi0NCi0jaW5jbHVkZSAiY29tbGF5ZXIuaCINCi0jaW5jbHVkZSAiZmRzZWxlY3RoYW5kLmgiDQotDQotY2xhc3MgQ011eGVkU2VyQ29tbUxheWVyIDogcHVibGljIGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllcnsNCi0gIHB1YmxpYzoNCi0gICAgQ011eGVkU2VyQ29tbUxheWVyKGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllciogcGFVcHBlckxheWVyLCBmb3J0ZTo6Y29tX2luZnJhOjpDQmFzZUNvbW1GQiAqIHBhRkIpOw0KLSAgICB2aXJ0dWFsIH5DTXV4ZWRTZXJDb21tTGF5ZXIoKTsNCi0NCi0gICAgdmlydHVhbCBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2Ugc2VuZERhdGEodm9pZCAqcGFEYXRhLCB1bnNpZ25lZCBpbnQgcGFTaXplKTsNCi0gICAgdmlydHVhbCBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgcmVjdkRhdGEoY29uc3Qgdm9pZCAqcGFEYXRhLCB1bnNpZ25lZCBpbnQgcGFTaXplKTsNCi0NCi0gICAgdmlydHVhbCBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgcHJvY2Vzc0ludGVycnVwdCgpOw0KLQ0KLSAgICBURm9ydGVVSW50OCBnZXRTZXJNdXhJZCgpIGNvbnN0ew0KLSAgICAgIHJldHVybiBtU2VyTXV4SWQ7DQotICAgIH0NCi0NCi0gIHByb3RlY3RlZDoNCi0gIHByaXZhdGU6DQotICAgIHZpcnR1YWwgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIG9wZW5Db25uZWN0aW9uKGNoYXIgKnBhTGF5ZXJQYXJhbWV0ZXIpOw0KLSAgICB2aXJ0dWFsIHZvaWQgY2xvc2VDb25uZWN0aW9uKCk7DQotDQotICAgIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBtSW50ZXJydXB0UmVzcDsNCi0gICAgY2hhciBtUmVjdkJ1ZmZlcltjZ191bklQTGF5ZXJSZWN2QnVmZmVyU2l6ZV07DQotICAgIHVuc2lnbmVkIGludCBtQnVmRmlsbFNpemU7DQotICAgIFRGb3J0ZVVJbnQ4IG1TZXJNdXhJZDsNCi0gICAgQ0ZEU2VsZWN0SGFuZGxlcjo6VEZpbGVEZXNjcmlwdG9yIG1GRDsgLy8hPCBmaWxlIGRlc2NyaXB0b3IgZm9yIGFjY2Vzc2luZyB0aGUgc2VyaWFsIGRldmljZQ0KLQ0KLSAgICBjbGFzcyBDTXV4ZWRTZXJQb3J0c01hbmFnZXJ7DQotDQotICAgICAgcHVibGljOg0KLQ0KLSAgICAgICAgQ0ZEU2VsZWN0SGFuZGxlcjo6VEZpbGVEZXNjcmlwdG9yIGFkZE11eGVkU2VyTGF5ZXIoY2hhciogcGFTZXJQb3J0LCBDTXV4ZWRTZXJDb21tTGF5ZXIgKnBhQ29tQ2FsbEJhY2spOw0KLSAgICAgICAgdm9pZCByZW1vdmVNdXhlZFNlckxheWVyKENGRFNlbGVjdEhhbmRsZXI6OlRGaWxlRGVzY3JpcHRvciBwYUZELCBDTXV4ZWRTZXJDb21tTGF5ZXIgKnBhQ29tQ2FsbEJhY2spOw0KLQ0KLSAgICAgIHByaXZhdGU6DQotDQotICAgICAgICB0eXBlZGVmIENTaW5nbHlMaW5rZWRMaXN0PENNdXhlZFNlckNvbW1MYXllciAqPiBUQ29ubmVjdGlvbkNvbnRhaW5lcjsNCi0gICAgICAgIGNsYXNzIFNTZXJQb3J0RW50cnkgOiBwdWJsaWMgZm9ydGU6OmNvbV9pbmZyYTo6Q0NvbUxheWVyew0KLSAgICAgICAgICBwdWJsaWM6DQotICAgICAgICAgICAgU1NlclBvcnRFbnRyeSgpOiBmb3J0ZTo6Y29tX2luZnJhOjpDQ29tTGF5ZXIoMCwgMCksIG1TZXJQb3J0KDApLCBtRkQoc2NtSW52YWxpZEZpbGVEZXNjcmlwdG9yKXsNCi0gICAgICAgICAgICB9DQotDQotICAgICAgICAgICAgY2hhciogbVNlclBvcnQ7DQotICAgICAgICAgICAgQ0ZEU2VsZWN0SGFuZGxlcjo6VEZpbGVEZXNjcmlwdG9yIG1GRDsNCi0gICAgICAgICAgICBUQ29ubmVjdGlvbkNvbnRhaW5lciBtQ29ubmVjdGlvbnNMaXN0Ow0KLQ0KLSAgICAgICAgICAgIHZpcnR1YWwgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIHNlbmREYXRhKHZvaWQgKiwgdW5zaWduZWQgaW50ICl7DQotICAgICAgICAgICAgICByZXR1cm4gZm9ydGU6OmNvbV9pbmZyYTo6ZV9Ob3RoaW5nOw0KLSAgICAgICAgICAgIH0NCi0NCi0gICAgICAgICAgICB2aXJ0dWFsIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSByZWN2RGF0YShjb25zdCB2b2lkICpwYURhdGEsIHVuc2lnbmVkIGludCBwYVNpemUpOw0KLSAgICAgICAgICAgIHZpcnR1YWwgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIHByb2Nlc3NJbnRlcnJ1cHQoKTsNCi0NCi0gICAgICAgICAgcHJpdmF0ZToNCi0gICAgICAgICAgICB2aXJ0dWFsIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBvcGVuQ29ubmVjdGlvbihjaGFyICopew0KLSAgICAgICAgICAgICAgcmV0dXJuIGZvcnRlOjpjb21faW5mcmE6OmVfTm90aGluZzsNCi0gICAgICAgICAgICB9DQotDQotICAgICAgICAgICAgdmlydHVhbCB2b2lkIGNsb3NlQ29ubmVjdGlvbigpe30NCi0gICAgICAgIH07DQotDQotICAgICAgICB0eXBlZGVmIENTaW5nbHlMaW5rZWRMaXN0PFNTZXJQb3J0RW50cnk+IFRTZXJQb3J0TGlzdDsNCi0NCi0gICAgICAgIENNdXhlZFNlclBvcnRzTWFuYWdlcigpOw0KLSAgICAgICAgU1NlclBvcnRFbnRyeSAqZ2V0U2VyUG9ydEVudHJ5KGNoYXIqIHBhU2VyUG9ydCk7DQotICAgICAgICBTU2VyUG9ydEVudHJ5ICpnZXRPcGVuZFNlclBvcnRFbnRyeShDRkRTZWxlY3RIYW5kbGVyOjpURmlsZURlc2NyaXB0b3IgcGFGRCk7DQotICAgICAgICB2b2lkIG9wZW5Qb3J0KGNoYXIqIHBhU2VyUG9ydCwgU1NlclBvcnRFbnRyeSAqcGFQb3J0RW50cnkpOw0KLSAgICAgICAgdm9pZCBjbG9zZVBvcnQoU1NlclBvcnRFbnRyeSAqcGFTZXJQb3J0RW50cnkpOw0KLQ0KLSAgICAgICAgVFNlclBvcnRMaXN0IG1Qb3J0TGlzdDsNCi0NCi0gICAgICAgIENTeW5jT2JqZWN0IG1TeW5jOw0KLQ0KLSAgICAgICAgLy9uZWVkZWQgc28gdGhhdCBDTE1TVVNCTGF5ZXIgY2FuIGhhdmUgYSBzdGF0aWMgbWVtYmVyIHZhcmlhYmxlIGhvbGRpbmcgdGhlIG1hbmFnZXIuDQotICAgICAgICBmcmllbmQgY2xhc3MgQ011eGVkU2VyQ29tbUxheWVyOw0KLQ0KLSAgICAgICAgLy9ub3QgdG8gYmUgaW1wbGVtZW50ZWQNCi0gICAgICAgIENNdXhlZFNlclBvcnRzTWFuYWdlcihjb25zdCBDTXV4ZWRTZXJQb3J0c01hbmFnZXIgJik7DQotICAgICAgICBDTXV4ZWRTZXJQb3J0c01hbmFnZXIgJm9wZXJhdG9yID0oY29uc3QgQ011eGVkU2VyUG9ydHNNYW5hZ2VyJik7DQotICAgIH07DQotDQotICAgIHN0YXRpYyBDTXV4ZWRTZXJQb3J0c01hbmFnZXIgc21NdXhlZFNlclBvcnRzTWFuYWdlcjsNCi19Ow0KLQ0KLSNlbmRpZiAvKiBNVVhFRFNFUkNPTU1MQVlFUl9IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Bvc2l4L3BjdGltZWhhLmNwcCBiL3NyYy9hcmNoL3Bvc2l4L3BjdGltZWhhLmNwcAppbmRleCA3MTYwMjQyLi5iZjM1ZmZjIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wb3NpeC9wY3RpbWVoYS5jcHAKKysrIGIvc3JjL2FyY2gvcG9zaXgvcGN0aW1laGEuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxOCBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wb3NpeC9wY3RpbWVoYS5oIGIvc3JjL2FyY2gvcG9zaXgvcGN0aW1laGEuaAppbmRleCAyN2FmZmI1Li45Y2EzNDI1IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wb3NpeC9wY3RpbWVoYS5oCisrKyBiL3NyYy9hcmNoL3Bvc2l4L3BjdGltZWhhLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xNiw5ICsxNyw5IEBACiANCiAvKiEgXGluZ3JvdXAgcG9zaXhfaGFsDQogICpcaW5ncm91cCBFWFRFVkhBTkQNCi0gKlxicmllZiB0aGUgdGltZXIgaGFuZGxlciBmb3IgdGhlIHBjIGFyY2hpdGVjdHVyZS4gDQorICpcYnJpZWYgdGhlIHRpbWVyIGhhbmRsZXIgZm9yIHRoZSBwYyBhcmNoaXRlY3R1cmUuDQogICovDQotY2xhc3MgQ1BDVGltZXJIYW5kbGVyIDogcHVibGljIENUaW1lckhhbmRsZXIsIHByaXZhdGUgQ1RocmVhZHsNCitjbGFzcyBDUENUaW1lckhhbmRsZXIgOiBwdWJsaWMgQ1RpbWVySGFuZGxlciwgcHJpdmF0ZSBDVGhyZWFkIHsNCiAgIHB1YmxpYzoNCiAgICAgdmlydHVhbCB+Q1BDVGltZXJIYW5kbGVyKCk7DQogDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcG9zaXgvcG9zaXhzZXJjb21tbGF5ZXIuY3BwIGIvc3JjL2FyY2gvcG9zaXgvcG9zaXhzZXJjb21tbGF5ZXIuY3BwCmluZGV4IDA5ZDljYTUuLjdkODE1ZWIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Bvc2l4L3Bvc2l4c2VyY29tbWxheWVyLmNwcAorKysgYi9zcmMvYXJjaC9wb3NpeC9wb3NpeHNlcmNvbW1sYXllci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxNyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xNyw2ICsxOCw4IEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHNvY2toYW5kLmg+CisjaW5jbHVkZSA8Y3JpdGljYWxyZWdpb24uaD4KIAogQ1Bvc2l4U2VyQ29tbUxheWVyOjpDUG9zaXhTZXJDb21tTGF5ZXIoZm9ydGU6OmNvbV9pbmZyYTo6Q0NvbUxheWVyKiBwYVVwcGVyTGF5ZXIsIGZvcnRlOjpjb21faW5mcmE6OkNCYXNlQ29tbUZCKiBwYUZCKSA6CiAgICBDU2VyaWFsQ29tTGF5ZXJCYXNlKHBhVXBwZXJMYXllciwgcGFGQil7CkBAIC00NCw2ICs0Nyw3IEBACiB9CiAKIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBDUG9zaXhTZXJDb21tTGF5ZXI6OnJlY3ZEYXRhKGNvbnN0IHZvaWQgKiwgdW5zaWduZWQgaW50KXsKKyAgQ0NyaXRpY2FsUmVnaW9uIGxvY2sobVJlY3ZMb2NrKTsKICAgc3NpemVfdCBuUmVhZENvdW50ID0gcmVhZChnZXRTZXJpYWxIYW5kbGVyKCksICZtUmVjdkJ1ZmZlclttQnVmRmlsbFNpemVdLCBjZ191bklQTGF5ZXJSZWN2QnVmZmVyU2l6ZSAtIG1CdWZGaWxsU2l6ZSk7CiAKICAgc3dpdGNoIChuUmVhZENvdW50KXsKQEAgLTY3LDcgKzcxLDcgQEAKICAgcmV0dXJuIG1JbnRlcnJ1cHRSZXNwOwogfQogCi1mb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgQ1Bvc2l4U2VyQ29tbUxheWVyOjpvcGVuU2VyaWFsQ29ubmVjdGlvbihjb25zdCBTU2VyaWFsUGFyYW1ldGVycyYgcGFTZXJpYWxQYXJhbWV0ZXJzLCBDU2VyaWFsQ29tTGF5ZXJCYXNlPENGRFNlbGVjdEhhbmRsZXI6OlRGaWxlRGVzY3JpcHRvciwgQ0ZEU2VsZWN0SGFuZGxlcjo6c2NtSW52YWxpZEZpbGVEZXNjcmlwdG9yPjo6VFNlcmlhbEhhbmRsZVR5cGUqIHBhSGFuZGxlUmVzdWx0KXsKK2ZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBDUG9zaXhTZXJDb21tTGF5ZXI6Om9wZW5TZXJpYWxDb25uZWN0aW9uKGNvbnN0IFNTZXJpYWxQYXJhbWV0ZXJzJiBwYVNlcmlhbFBhcmFtZXRlcnMsIENTZXJpYWxDb21MYXllckJhc2U8Rk9SVEVfU09DS0VUX1RZUEUsIEZPUlRFX0lOVkFMSURfU09DS0VUPjo6VFNlcmlhbEhhbmRsZVR5cGUqIHBhSGFuZGxlUmVzdWx0KXsKICAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIGVSZXRWYWwgPSBmb3J0ZTo6Y29tX2luZnJhOjplX1Byb2Nlc3NEYXRhTm9Tb2NrZXQ7CiAKICAgLy9hcyBmaXJzdCBzaG90IHRha2UgdGhlIHNlcmlhbCBpbnRlcmZhY2UgZGV2aWNlIGFzIHBhcmFtIChlLmcuLCAvZGV2L3R0eVMwICkKQEAgLTc4LDYgKzgyLDcgQEAKICAgICBzdHJ1Y3QgdGVybWlvcyBzdE5ld1RJTzsKICAgICBtZW1zZXQoJnN0TmV3VElPLCAwLCBzaXplb2Yoc3ROZXdUSU8pKTsKIAorICAgIHN0TmV3VElPLmNfbGluZSA9IG1PbGRUSU8uY19saW5lOwogCiAgICAgc3dpdGNoIChwYVNlcmlhbFBhcmFtZXRlcnMuYmF1ZFJhdGUpIHsKICAgICAgIGNhc2UgZTUwOiBzdE5ld1RJTy5jX2NmbGFnIHw9IEI1MDsgIGJyZWFrOwpAQCAtOTcsOSArMTAyLDEzIEBACiAgICAgICBjYXNlIGUzODQwMDogc3ROZXdUSU8uY19jZmxhZyB8PSBCMzg0MDA7IGJyZWFrOwogICAgICAgY2FzZSBlNTc2MDA6IHN0TmV3VElPLmNfY2ZsYWcgfD0gQjU3NjAwOyBicmVhazsKICAgICAgIGNhc2UgZTExNTIwMDogc3ROZXdUSU8uY19jZmxhZyB8PSBCMTE1MjAwOyBicmVhazsKKyAgICAgIGNhc2UgZTEwMDAwMDA6IHN0TmV3VElPLmNfY2ZsYWcgfD0gQjEwMDAwMDA7IGJyZWFrOwogICAgICAgZGVmYXVsdDogcmV0dXJuIGZvcnRlOjpjb21faW5mcmE6OmVfSW5pdEludmFsaWRJZDsgYnJlYWs7CiAgICAgfQogCisgICAgc3ROZXdUSU8uY19pc3BlZWQgPSBtT2xkVElPLmNfaXNwZWVkOworICAgIHN0TmV3VElPLmNfb3NwZWVkID0gbU9sZFRJTy5jX29zcGVlZDsKKwogICAgIHN3aXRjaCAocGFTZXJpYWxQYXJhbWV0ZXJzLmJ5dGVTaXplKSB7CiAgICAgICBjYXNlIGU1OiBzdE5ld1RJTy5jX2NmbGFnIHw9IENTNTsgIGJyZWFrOwogICAgICAgY2FzZSBlNjogc3ROZXdUSU8uY19jZmxhZyB8PSBDUzY7ICBicmVhazsKQEAgLTExNSw3ICsxMjQsOSBAQAogICAgICB9CiAKICAgICBzd2l0Y2gocGFTZXJpYWxQYXJhbWV0ZXJzLnBhcml0eSl7Ci0gICAgICBjYXNlIGVOb1Bhcml0eTogc3ROZXdUSU8uY19jZmxhZyAmPSB+UEFSRU5COyAgYnJlYWs7CisgICAgICBjYXNlIGVOb1Bhcml0eToKKyAgICAgICAgc3ROZXdUSU8uY19jZmxhZyAmPSB+KFBBUkVOQiB8IFBBUk9ERCB8IENNU1BBUik7CisgICAgICAgIGJyZWFrOwogICAgICAgY2FzZSBlT0REOiBzdE5ld1RJTy5jX2NmbGFnIHw9IFBBUkVOQiB8IFBBUk9ERDsgIGJyZWFrOwogICAgICAgY2FzZSBlRXZlbjoKICAgICAgICAgc3ROZXdUSU8uY19jZmxhZyB8PSBQQVJFTkI7CkBAIC0xMjQsMzIgKzEzNSwzOCBAQAogICAgICAgZGVmYXVsdDogcmV0dXJuIGZvcnRlOjpjb21faW5mcmE6OmVfSW5pdEludmFsaWRJZDsgYnJlYWs7CiAgICAgfQogCisgICAgc3ROZXdUSU8uY19jZmxhZyAmPSB+Q1JUU0NUUzsgIC8vIG5vIGhhcmR3YXJlIGZsb3cgY29udHJvbAogCi0gICAgc3ROZXdUSU8uY19jZmxhZyA9IENMT0NBTCB8IENSRUFEOyAvKiBMb2NhbCBsaW5lIC0gZG8gbm90IGNoYW5nZSAib3duZXIiIG9mIHBvcnQgfCAgRW5hYmxlIHJlY2VpdmVyKi8KKyAgICBzdE5ld1RJTy5jX2NmbGFnIHw9IChDTE9DQUwgfCBDUkVBRCk7IC8qIExvY2FsIGxpbmUgLSBkbyBub3QgY2hhbmdlICJvd25lciIgb2YgcG9ydCB8ICBFbmFibGUgcmVjZWl2ZXIqLwogCi0gICAgc3ROZXdUSU8uY19pZmxhZyA9IElDUk5MOyAvKiBNYXAgQ1IgdG8gTkwgfCBJR05QQVIgKHdhcyBoZXJlIGJlZm9yZSkgIElnbm9yZSBwYXJpdHkgZXJyb3IuIFRPRE86IFNob3VsZCB3ZSBkZWxldGUgdGhpcz8gSXQgd2FzIG9uIHRoZSBvbGQgY29kZSovIDsKKyAgICBzdE5ld1RJTy5jX2lmbGFnID0gbU9sZFRJTy5jX2lmbGFnOworICAgIHN0TmV3VElPLmNfaWZsYWcgfD0gSUdOUEFSOyAvKiBNYXAgQ1IgdG8gTkwgfCBJR05QQVIgKHdhcyBoZXJlIGJlZm9yZSkgIElnbm9yZSBwYXJpdHkgZXJyb3IuIFRPRE86IFNob3VsZCB3ZSBkZWxldGUgdGhpcz8gSXQgd2FzIG9uIHRoZSBvbGQgY29kZSovIDsKKyAgICBzdE5ld1RJTy5jX2lmbGFnICY9IH4oSVhPTiB8IElYT0ZGIHwgSVhBTlkpOyAvLyBUdXJuIG9mZiBzL3cgZmxvdyBjdHJsCisgICAgc3ROZXdUSU8uY19pZmxhZyAmPSB+KElHTkJSSyB8IEJSS0lOVCB8IFBBUk1SSyB8IElTVFJJUCB8IElOTENSIHwgSUdOQ1IgfCBJQ1JOTCB8IElOUENLIHwgSVVDTEMpOyAvLyBEaXNhYmxlIGFueSBzcGVjaWFsIGhhbmRsaW5nIG9mIHJlY2VpdmVkIGJ5dGVzCiAKLSAgICBzdE5ld1RJTy5jX29mbGFnID0gMDsgLy9yYXcgb3V0cHV0CisgICAgc3ROZXdUSU8uY19vZmxhZyA9IG1PbGRUSU8uY19vZmxhZzsKKyAgICBzdE5ld1RJTy5jX29mbGFnICY9IH4oT1BPU1QgfCBPTkxDUiB8IE9DUk5MKTsKIAotICAgIHN0TmV3VElPLmNfbGZsYWcgPSBJQ0FOT047IC8vIGVuYWJsZSBjYW5vbmljYWwgaW5wdXQsIGRpc2FibGUgZWNobyBmdW5jIGFuZCBkb24ndCBzZW5kIHNpZ25hbHMgdG8gY2FsbGluZyBwcm9ncmFtbQorICAgIHN0TmV3VElPLmNfbGZsYWcgPSBtT2xkVElPLmNfbGZsYWc7CisgICAgc3ROZXdUSU8uY19sZmxhZyAmPSB+KElDQU5PTnwgRUNITyB8IEVDSE9FfCBFQ0hPTkwgfCBFQ0hPSyB8IElTSUcgfCBJRVhURU4gfCBDUlRTQ1RTKTsKIAotICAgIHN0TmV3VElPLmNfY2NbVklOVFJdID0gMDsgLyogQ3RybC1jICovCi0gICAgc3ROZXdUSU8uY19jY1tWUVVJVF0gPSAwOyAvKiBDdHJsLVwgKi8KLSAgICBzdE5ld1RJTy5jX2NjW1ZFUkFTRV0gPSAwOyAvKiBkZWwgKi8KLSAgICBzdE5ld1RJTy5jX2NjW1ZLSUxMXSA9IDA7IC8qIEAgKi8KLSAgICBzdE5ld1RJTy5jX2NjW1ZFT0ZdID0gNDsgLyogQ3RybC1kICovCi0gICAgc3ROZXdUSU8uY19jY1tWVElNRV0gPSAwOyAvKiBpbnRlci1jaGFyYWN0ZXIgdGltZXIgdW51c2VkICovCisgICAgc3ROZXdUSU8uY19jY1tWSU5UUl0gPSBfUE9TSVhfVkRJU0FCTEU7IC8qIEN0cmwtYyAqLworICAgIHN0TmV3VElPLmNfY2NbVlFVSVRdID0gX1BPU0lYX1ZESVNBQkxFOyAvKiBDdHJsLVwgKi8KKyAgICBzdE5ld1RJTy5jX2NjW1ZFUkFTRV0gPSBfUE9TSVhfVkRJU0FCTEU7IC8qIGRlbCAqLworICAgIHN0TmV3VElPLmNfY2NbVktJTExdID0gX1BPU0lYX1ZESVNBQkxFOyAvKiBAICovCisgICAgc3ROZXdUSU8uY19jY1tWRU9GXSA9IF9QT1NJWF9WRElTQUJMRTsgLyogQ3RybC1kICovCisgICAgc3ROZXdUSU8uY19jY1tWVElNRV0gPSAxMDsgLyogaW50ZXItY2hhcmFjdGVyIHRpbWVyIHVudXNlZCAqLwogICAgIHN0TmV3VElPLmNfY2NbVk1JTl0gPSAxOyAvKiBibG9ja2luZyByZWFkIHVudGlsIDEgY2hhcmFjdGVyIGFycml2ZXMgKi8KLSAgICBzdE5ld1RJTy5jX2NjW1ZTV1RDXSA9IDA7IC8qICdcMCcgKi8KLSAgICBzdE5ld1RJTy5jX2NjW1ZTVEFSVF0gPSAwOyAvKiBDdHJsLXEgKi8KLSAgICBzdE5ld1RJTy5jX2NjW1ZTVE9QXSA9IDA7IC8qIEN0cmwtcyAqLwotICAgIHN0TmV3VElPLmNfY2NbVlNVU1BdID0gMDsgLyogQ3RybC16ICovCi0gICAgc3ROZXdUSU8uY19jY1tWRU9MXSA9IDA7IC8qICdcMCcgKi8KLSAgICBzdE5ld1RJTy5jX2NjW1ZSRVBSSU5UXSA9IDA7IC8qIEN0cmwtciAqLwotICAgIHN0TmV3VElPLmNfY2NbVkRJU0NBUkRdID0gMDsgLyogQ3RybC11ICovCi0gICAgc3ROZXdUSU8uY19jY1tWV0VSQVNFXSA9IDA7IC8qIEN0cmwtdyAqLwotICAgIHN0TmV3VElPLmNfY2NbVkxORVhUXSA9IDA7IC8qIEN0cmwtdiAqLwotICAgIHN0TmV3VElPLmNfY2NbVkVPTDJdID0gMDsgLyogJ1wwJyAqLworICAgIHN0TmV3VElPLmNfY2NbVlNXVENdID0gX1BPU0lYX1ZESVNBQkxFOyAvKiAnXDAnICovCisgICAgc3ROZXdUSU8uY19jY1tWU1RBUlRdID0gX1BPU0lYX1ZESVNBQkxFOyAvKiBDdHJsLXEgKi8KKyAgICBzdE5ld1RJTy5jX2NjW1ZTVE9QXSA9IF9QT1NJWF9WRElTQUJMRTsgLyogQ3RybC1zICovCisgICAgc3ROZXdUSU8uY19jY1tWU1VTUF0gPSBfUE9TSVhfVkRJU0FCTEU7IC8qIEN0cmwteiAqLworICAgIHN0TmV3VElPLmNfY2NbVkVPTF0gPSBfUE9TSVhfVkRJU0FCTEU7IC8qICdcMCcgKi8KKyAgICBzdE5ld1RJTy5jX2NjW1ZSRVBSSU5UXSA9IF9QT1NJWF9WRElTQUJMRTsgLyogQ3RybC1yICovCisgICAgc3ROZXdUSU8uY19jY1tWRElTQ0FSRF0gPSBfUE9TSVhfVkRJU0FCTEU7IC8qIEN0cmwtdSAqLworICAgIHN0TmV3VElPLmNfY2NbVldFUkFTRV0gPSBfUE9TSVhfVkRJU0FCTEU7IC8qIEN0cmwtdyAqLworICAgIHN0TmV3VElPLmNfY2NbVkxORVhUXSA9IF9QT1NJWF9WRElTQUJMRTsgLyogQ3RybC12ICovCisgICAgc3ROZXdUSU8uY19jY1tWRU9MMl0gPSBfUE9TSVhfVkRJU0FCTEU7IC8qICdcMCcgKi8KIAogICAgIHRjZmx1c2goZmlsZURlc2NyaXB0b3IsIFRDSUZMVVNIKTsKICAgICB0Y3NldGF0dHIoZmlsZURlc2NyaXB0b3IsIFRDU0FOT1csICZzdE5ld1RJTyk7CmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wb3NpeC9wb3NpeHNlcmNvbW1sYXllci5oIGIvc3JjL2FyY2gvcG9zaXgvcG9zaXhzZXJjb21tbGF5ZXIuaAppbmRleCAxNWQ0NzZkLi5kY2MwMTg0IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wb3NpeC9wb3NpeHNlcmNvbW1sYXllci5oCisrKyBiL3NyYy9hcmNoL3Bvc2l4L3Bvc2l4c2VyY29tbWxheWVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxNyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMiwxMCArMTMsMTAgQEAKICNkZWZpbmUgX1NFUkNPTU1MQVlFUl9IXwogCiAjaW5jbHVkZSAiLi4vLi4vY29yZS9jb21pbmZyYS9zZXJpYWxjb21sYXllcmJhc2UuaCIKLSNpbmNsdWRlICIuLi9mZHNlbGVjdGhhbmQuaCIKKyNpbmNsdWRlICIuLi9nZW5zb2NraGFuZC5oIgogI2luY2x1ZGUgPHRlcm1pb3MuaD4KIAotY2xhc3MgQ1Bvc2l4U2VyQ29tbUxheWVyIDogcHVibGljIENTZXJpYWxDb21MYXllckJhc2U8Q0ZEU2VsZWN0SGFuZGxlcjo6VEZpbGVEZXNjcmlwdG9yLCBDRkRTZWxlY3RIYW5kbGVyOjpzY21JbnZhbGlkRmlsZURlc2NyaXB0b3I+eworY2xhc3MgQ1Bvc2l4U2VyQ29tbUxheWVyIDogcHVibGljIENTZXJpYWxDb21MYXllckJhc2U8Rk9SVEVfU09DS0VUX1RZUEUsIEZPUlRFX0lOVkFMSURfU09DS0VUPnsKICAgcHVibGljOgogICAgIENQb3NpeFNlckNvbW1MYXllcihmb3J0ZTo6Y29tX2luZnJhOjpDQ29tTGF5ZXIqIHBhVXBwZXJMYXllciwgZm9ydGU6OmNvbV9pbmZyYTo6Q0Jhc2VDb21tRkIgKiBwYUZCKTsKICAgICB2aXJ0dWFsIH5DUG9zaXhTZXJDb21tTGF5ZXIoKTsKQEAgLTI1LDcgKzI2LDcgQEAKIAogICBwcm90ZWN0ZWQ6CiAgIHByaXZhdGU6Ci0gICAgdmlydHVhbCBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2Ugb3BlblNlcmlhbENvbm5lY3Rpb24oY29uc3QgU1NlcmlhbFBhcmFtZXRlcnMmIHBhU2VyaWFsUGFyYW1ldGVycywgQ1NlcmlhbENvbUxheWVyQmFzZTxDRkRTZWxlY3RIYW5kbGVyOjpURmlsZURlc2NyaXB0b3IsIENGRFNlbGVjdEhhbmRsZXI6OnNjbUludmFsaWRGaWxlRGVzY3JpcHRvcj46OlRTZXJpYWxIYW5kbGVUeXBlKiBwYUhhbmRsZVJlc3VsdCk7CisgICAgdmlydHVhbCBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2Ugb3BlblNlcmlhbENvbm5lY3Rpb24oY29uc3QgU1NlcmlhbFBhcmFtZXRlcnMmIHBhU2VyaWFsUGFyYW1ldGVycywgQ1NlcmlhbENvbUxheWVyQmFzZTxGT1JURV9TT0NLRVRfVFlQRSwgRk9SVEVfSU5WQUxJRF9TT0NLRVQ+OjpUU2VyaWFsSGFuZGxlVHlwZSogcGFIYW5kbGVSZXN1bHQpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZUNvbm5lY3Rpb24oKTsKIAogICAgIHN0cnVjdCB0ZXJtaW9zIG1PbGRUSU87ICAgIC8vITwgYnVmZmVyIGZvciB0aGUgZXhpc3Rpbmcgc2VyY29tIHNldHRpbmdzCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9wb3NpeC9zb2NraGFuZC5oIGIvc3JjL2FyY2gvcG9zaXgvc29ja2hhbmQuaAppbmRleCA3ODAxYmMwLi4xM2ZiMmJiIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9wb3NpeC9zb2NraGFuZC5oCisrKyBiL3NyYy9hcmNoL3Bvc2l4L3NvY2toYW5kLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3JjWC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9hcmNoL3JjWC9DTWFrZUxpc3RzLnR4dAppbmRleCA3NTI3YjcwLi43ZGE2NWYxIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL2FyY2gvcmNYL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIFNFVChTT1VSQ0VfR1JPVVAgJHtTT1VSQ0VfR1JPVVB9XFxyY1gpCkBAIC00MSwxMyArNDIsMTQgQEAKICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChmb3J0ZV90aHJlYWQgcmNYVXRpbGl0aWVzIGZvcnRlX3N5bmMgZm9ydGVfc2VtIGZvcnRlX2luc3RhbmNlKQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oKGZvcnRlYWxsb2MuaCAuLi9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5oKQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9jcHAoZm9ydGVfYXJjaGl0ZWN0dXJlLmNwcCAuLi9nZW5mb3J0ZV9wcmludGVyLmNwcCkKKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfY3BwKC4uL2dlbmZvcnRlX3JlYWxGdW5jdGlvbnMuY3BwIGZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcCkKICAKICAgaWYoRk9SVEVfQ09NX0VUSCkKICAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAocmNYU29ja2V0SW50ZXJmYWNlKQogICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaChzb2NraGFuZC5oKQogICBlbmRpZihGT1JURV9DT01fRVRIKQogCi0gIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItRF9fUkNYX18gLURfXyR7Rk9SVEVfTkVUWF9DUFV9IC1jIC1tbG9uZy1jYWxscyAtbWNwdT0ke0FSQ0hfTkVUWH0gLWZzaG9ydC1lbnVtcyAtZ2R3YXJmLTIgLVdhbGwgLU8wIC1tYXBjcyAtbXRodW1iLWludGVyd29yayAtZnNpZ25lZC1jaGFyIC1tbGl0dGxlLWVuZGlhbiAtbWFybSAtbW5vLWFwY3MtZnJhbWUgICAgLWZmdW5jdGlvbi1zZWN0aW9ucyAtZmRhdGEtc2VjdGlvbnMgLVdsLJZnYy1zZWN0aW9ucyAtbXNvZnQtZmxvYXQgLW1mcHU9dmZwIC1tZmxvYXQtYWJpPXNvZnQgLW10aHVtYi1pbnRlcndvcmsgLW5vc3RkbGliIC1tY3B1PWFybTk2NmUtcyAtbXRodW1iIC1UIikjIC1zdGF0aWMtbGlic3RkYysrIC1zdGF0aWMtbGliZ2NjIikjIC1tYWJpPWFwY3MtZ251IikjIC14YyIpIyAKKyAgZm9ydGVfYWRkX2RlZmluaXRpb24oIi1EX19SQ1hfXyAtRF9fJHtGT1JURV9ORVRYX0NQVX0gLWMgLW1sb25nLWNhbGxzIC1tY3B1PSR7QVJDSF9ORVRYfSAtZnNob3J0LWVudW1zIC1nZHdhcmYtMiAtV2FsbCAtTzAgLW1hcGNzIC1tdGh1bWItaW50ZXJ3b3JrIC1mc2lnbmVkLWNoYXIgLW1saXR0bGUtZW5kaWFuIC1tYXJtIC1tbm8tYXBjcy1mcmFtZSAgICAtZmZ1bmN0aW9uLXNlY3Rpb25zIC1mZGF0YS1zZWN0aW9ucyAtV2wsLWdjLXNlY3Rpb25zIC1tc29mdC1mbG9hdCAtbWZwdT12ZnAgLW1mbG9hdC1hYmk9c29mdCAtbXRodW1iLWludGVyd29yayAtbm9zdGRsaWIgLW1jcHU9YXJtOTY2ZS1zIC1tdGh1bWIgLVQiKSMgLXN0YXRpYy1saWJzdGRjKysgLXN0YXRpYy1saWJnY2MiKSMgLW1hYmk9YXBjcy1nbnUiKSMgLXhjIikjIAogICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLVcgLVdhbGwgLVdleHRyYSAtV292ZXJsb2FkZWQtdmlydHVhbCAtV2NvbnZlcnNpb24gLURGT1JURV9MSVRUTEVfRU5ESUFOIC1nZ2RiIikKICAgZm9ydGVfYWRkX2RlZmluaXRpb24oIi1mbm8tdGhyZWFkc2FmZS1zdGF0aWNzIikKICAgCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9yY1gvZm9ydGVfYXJjaGl0ZWN0dXJlLmNwcCBiL3NyYy9hcmNoL3JjWC9mb3J0ZV9hcmNoaXRlY3R1cmUuY3BwCmluZGV4IDFhZTUzOWUuLjExZWZhMDggMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3JjWC9mb3J0ZV9hcmNoaXRlY3R1cmUuY3BwCisrKyBiL3NyYy9hcmNoL3JjWC9mb3J0ZV9hcmNoaXRlY3R1cmUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3JjWC9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHAgYi9zcmMvYXJjaC9yY1gvZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZjYyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvYXJjaC9yY1gvZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuY3BwCkBAIC0wLDAgKzEsMjIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIEFkZHMgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8QVBfU3lzLmg+CisKKyNpbmNsdWRlICJmb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5oIgorCit1aW50X2Zhc3Q2NF90IGdldE5hbm9TZWNvbmRzTW9ub3RvbmljKCkgeworICByZXR1cm4gclhfU3lzR2V0U3lzdGVtVGlja3MoKSAqIHJYX1N5c0dldFN5c3RlbUN5Y2xldGltZSgpICoKKyAgICAgIChmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTmFub3NlY29uZHNQZXJTZWNvbmQgLyBmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTWljcm9zZWNvbmRzUGVyU2Vjb25kKTsKK30KKwpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcmNYL2ZvcnRlX2luc3RhbmNlLmNwcCBiL3NyYy9hcmNoL3JjWC9mb3J0ZV9pbnN0YW5jZS5jcHAKaW5kZXggYWYzNjlhOS4uNzcyNGU0OCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcmNYL2ZvcnRlX2luc3RhbmNlLmNwcAorKysgYi9zcmMvYXJjaC9yY1gvZm9ydGVfaW5zdGFuY2UuY3BwCkBAIC0xLDEzNyArMSwxMzYgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOCBmb3J0aXNzIEdtYkgNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KICAqCi0gKiBDb250cmlidXRvcnM6Ci0gKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpbmNsdWRlICJmb3J0ZV9pbnN0YW5jZS5oIgotCi0jaW5jbHVkZSAiZm9ydGVuZXcuaCIKLSNpbmNsdWRlICJmb3J0ZV9hcmNoaXRlY3R1cmUuaCIKLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHN0cmluZz4KLSNpbmNsdWRlICIuLi8uLi9zdGRmYmxpYi9pdGEvUk1UX0RFVi5oIgotCi11bnNpZ25lZCBpbnQgZm9ydGVfZGVmYXVsdF9wb3J0ID0gNjE0OTk7Ci0KLS8qIVxicmllZiBDaGVjayBpZiB0aGUgY29ycmVjdCBlbmRpYW5lc3MgaGFzIGJlZW4gY29uZmlndXJlZC4KLSAqCi0gKiBJZiB0aGUgcmlnaHQgZW5kaWFuZXNzIGlzIG5vdCBzZXQgdGhpcyBmdW5jdGlvbiB3aWxsIGVuZCBGT1JURS4KLSAqLwotYm9vbCBjaGVja0VuZGlhbmVzcygpOwotCi12b2lkIGNyZWF0ZURldihjb25zdCBjaGFyICpwYV9hY01HUklELCBURm9ydGVJbnN0YW5jZSogcGFfcmVzdWx0RGV2aWNlKTsKLQotdm9pZCBmb3J0ZUdsb2JhbEluaXRpYWxpemUodm9pZCl7Ci0gIENGb3J0ZUFyY2hpdGVjdHVyZTo6aW5pdGlhbGl6ZSgpOwotfQotCi12b2lkIGZvcnRlR2xvYmFsRGVpbml0aWFsaXplKHZvaWQpewotICBDRm9ydGVBcmNoaXRlY3R1cmU6OmRlaW5pdGlhbGl6ZSgpOwotfQotCi1pbnQgZm9ydGVTdGFydEluc3RhbmNlKHVuc2lnbmVkIGludCBwYV9wb3J0LCBURm9ydGVJbnN0YW5jZSogcGFfcmVzdWx0RGV2aWNlKXsKLQotICBpZiAoNjU1MzUgPCBwYV9wb3J0KXsKLSAgICByZXR1cm4gRk9SVEVfV1JPTkdfUEFSQU1FVEVSUzsKLSAgfQotCi0gIGlmICgwID09IHBhX3BvcnQpewotICAgIHBhX3BvcnQgPSBmb3J0ZV9kZWZhdWx0X3BvcnQ7Ci0gIH0KLQotICBjaGFyIGZsYWdbXSA9ICItYyI7Ci0gIGNoYXIgYWRkcmVzc1sxNl0gPSAibG9jYWxob3N0OiI7Ci0gIGNoYXIgcG9ydFs2XTsKLSAgc3ByaW50Zihwb3J0LCAiJXUiLCBwYV9wb3J0KTsKLSAgc3RyY2F0KGFkZHJlc3MsIHBvcnQpOwotCi0gIGNoYXIqIGFyZ3VtZW50c1tdID0ge2ZsYWcsIGFkZHJlc3N9OwotICByZXR1cm4gZm9ydGVTdGFydEluc3RhbmNlR2VuZXJpYygyLCBhcmd1bWVudHMsIHBhX3Jlc3VsdERldmljZSk7Ci19Ci0KLQotaW50IGZvcnRlU3RhcnRJbnN0YW5jZUdlbmVyaWMoaW50IGFyZ2MsIGNoYXIgKmFyZ1tdLCBURm9ydGVJbnN0YW5jZSogcGFfcmVzdWx0RGV2aWNlKXsKLQotICBpZighQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppc0luaXRpYWxpemVkKCkpewotICAgIHJldHVybiBGT1JURV9BUkNISVRFQ1RVUkVfTk9UX1JFQURZOwotICB9Ci0KLSAgaWYoMCA9PSBwYV9yZXN1bHREZXZpY2UpewotICAgIHJldHVybiBGT1JURV9XUk9OR19QQVJBTUVURVJTOwotICB9Ci0KLSAgaWYgKDAgIT0gKnBhX3Jlc3VsdERldmljZSl7Ci0gICAgcmV0dXJuIEZPUlRFX0RFVklDRV9BTFJFQURZX1NUQVJURUQ7Ci0gIH0KLQotICBpZiAoIWNoZWNrRW5kaWFuZXNzKCkpewotICAgIHJldHVybiBGT1JURV9XUk9OR19FTkRJQU5FU1M7Ci0gIH0KLQotICBpZihhcmdjIDw9IDEpeyAvLyEgRGVmYXVsdCBWYWx1ZSAobG9jYWxob3N0OjYxNDk5KQotICAgIGNyZWF0ZURldigibG9jYWxob3N0OjYxNDk5IiwgcGFfcmVzdWx0RGV2aWNlKTsKLSAgfQotICBlbHNlewotICAgIGlmKHN0cmNtcCgiLWMiLCBhcmdbMF0pID09IDApeyAvLyEgc2V0cyB0aGUgZGVzdGluYXRpb24gZm9yIHRoZSBjb25uZWN0aW9uCi0gICAgICBjcmVhdGVEZXYoYXJnWzFdLCBwYV9yZXN1bHREZXZpY2UpOwotICAgIH0KLSAgICBlbHNleyAvLyEgTGlzdHMgdGhlIGhlbHAgZm9yIEZPUlRFCi0gICAgICByZXR1cm4gRk9SVEVfV1JPTkdfUEFSQU1FVEVSUzsKLSAgICB9Ci0gIH0KLQotICByZXR1cm4gRk9SVEVfT0s7Ci19Ci0KLXZvaWQgZm9ydGVTdG9wSW5zdGFuY2UoaW50IHBhX25TaWcsIFRGb3J0ZUluc3RhbmNlIHBhX3Jlc3VsdERldmljZSl7Ci0gIGlmKCFDRm9ydGVBcmNoaXRlY3R1cmU6OmlzSW5pdGlhbGl6ZWQoKSl7Ci0gICAgcmV0dXJuOwotICB9Ci0gICh2b2lkKSBwYV9uU2lnOwotICBSTVRfREVWICpwb0RldiA9IHN0YXRpY19jYXN0PFJNVF9ERVYqPihwYV9yZXN1bHREZXZpY2UpOwotICBpZigwICE9IHBvRGV2KXsKLSAgICBwb0Rldi0+Y2hhbmdlRkJFeGVjdXRpb25TdGF0ZShjZ19uTUdNX0NNRF9LaWxsKTsKLSAgICBwb0Rldi0+TUdSLmpvaW5SZXNvdXJjZVRocmVhZCgpOwotICAgIERFVkxPR19JTkZPKCJGT1JURSBmaW5pc2hlZFxuIik7Ci0gICAgZGVsZXRlIHBvRGV2OwotICB9Ci19Ci0KLS8qIVxicmllZiBDcmVhdGVzIHRoZSBEZXZpY2UtT2JqZWN0Ci0gKiBccGFyYW0gcGFfYWNNR1JJRCBBIHN0cmluZyBjb250YWluaW5nIElQIGFuZCBQb3J0IGxpa2UgW0lQXTpbUG9ydF0KLSAqIFxwYXJhbSBUaGUgcmVzdWx0Ci0gKi8KLXZvaWQgY3JlYXRlRGV2KGNvbnN0IGNoYXIgKnBhX2FjTUdSSUQsIFRGb3J0ZUluc3RhbmNlKiBwYV9yZXN1bHREZXZpY2UpewotICBSTVRfREVWICpwb0RldiA9IG5ldyBSTVRfREVWOwotICBwb0Rldi0+c2V0TUdSX0lEKHBhX2FjTUdSSUQpOwotICBwb0Rldi0+c3RhcnREZXZpY2UoKTsKLSAgKnBhX3Jlc3VsdERldmljZSA9IHBvRGV2OwotICBERVZMT0dfSU5GTygiRk9SVEUgaXMgdXAgYW5kIHJ1bm5pbmdcbiIpOwotfQotCi1ib29sIGNoZWNrRW5kaWFuZXNzKCl7Ci0gIGludCBpID0gMTsKLSAgY2hhciAqcCA9IChjaGFyICopICZpOwotICBpZihwWzBdID09IDEpewotICAgIC8vd2UgYXJlIG9uIGEgbGl0dGxlIGVuZGlhbiBwbGF0Zm9ybQotI2lmZGVmIEZPUlRFX0JJR19FTkRJQU4KLSAgICBERVZMT0dfRVJST1IoIldyb25nIGVuZGlhbmVzcyBjb25maWd1cmVkISBZb3UgYXJlIG9uIGEgbGl0dGxlIGVuZGlhbiBwbGF0Zm9ybSBhbmQgaGF2ZSBjb25maWd1cmVkIGJpZyBlbmRpYW4hXG4iKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLSAgfQotICBlbHNlewotICAgIC8vd2UgYXJlIG9uIGEgYmlnIGVuZGlhbiBwbGF0Zm9ybQotI2lmZGVmIEZPUlRFX0xJVFRMRV9FTkRJQU4KLSAgICBERVZMT0dfRVJST1IoIldyb25nIGVuZGlhbmVzcyBjb25maWd1cmVkISBZb3UgYXJlIG9uIGEgYmlnIGVuZGlhbiBwbGF0Zm9ybSBhbmQgaGF2ZSBjb25maWd1cmVkIGxpdHRsZSBlbmRpYW4hXG4iKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLSAgfQotCi0gIHJldHVybiB0cnVlOwotfQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKw0KKyNpbmNsdWRlICJmb3J0ZV9pbnN0YW5jZS5oIg0KKw0KKyNpbmNsdWRlICJmb3J0ZW5ldy5oIg0KKyNpbmNsdWRlICJmb3J0ZV9hcmNoaXRlY3R1cmUuaCINCisjaW5jbHVkZSA8c3RkaW8uaD4NCisjaW5jbHVkZSA8c3RyaW5nPg0KKyNpbmNsdWRlICIuLi8uLi9zdGRmYmxpYi9pdGEvUk1UX0RFVi5oIg0KKw0KKyNpbmNsdWRlICIuLi91dGlscy9tYWlucGFyYW1fdXRpbHMuaCINCisNCit1bnNpZ25lZCBpbnQgZm9ydGVfZGVmYXVsdF9wb3J0ID0gNjE0OTk7DQorDQorLyohXGJyaWVmIENoZWNrIGlmIHRoZSBjb3JyZWN0IGVuZGlhbmVzcyBoYXMgYmVlbiBjb25maWd1cmVkLg0KKyAqDQorICogSWYgdGhlIHJpZ2h0IGVuZGlhbmVzcyBpcyBub3Qgc2V0IHRoaXMgZnVuY3Rpb24gd2lsbCBlbmQgRk9SVEUuDQorICovDQorYm9vbCBjaGVja0VuZGlhbmVzcygpOw0KKw0KK3ZvaWQgY3JlYXRlRGV2KGNvbnN0IGNoYXIgKnBhX2FjTUdSSUQsIFRGb3J0ZUluc3RhbmNlKiBwYV9yZXN1bHREZXZpY2UpOw0KKw0KK3ZvaWQgZm9ydGVHbG9iYWxJbml0aWFsaXplKHZvaWQpew0KKyAgQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppbml0aWFsaXplKCk7DQorfQ0KKw0KK3ZvaWQgZm9ydGVHbG9iYWxEZWluaXRpYWxpemUodm9pZCl7DQorICBDRm9ydGVBcmNoaXRlY3R1cmU6OmRlaW5pdGlhbGl6ZSgpOw0KK30NCisNCitpbnQgZm9ydGVTdGFydEluc3RhbmNlKHVuc2lnbmVkIGludCBwYV9wb3J0LCBURm9ydGVJbnN0YW5jZSogcGFfcmVzdWx0RGV2aWNlKXsNCisNCisgIGlmICg2NTUzNSA8IHBhX3BvcnQpew0KKyAgICByZXR1cm4gRk9SVEVfV1JPTkdfUEFSQU1FVEVSUzsNCisgIH0NCisNCisgIGlmICgwID09IHBhX3BvcnQpew0KKyAgICBwYV9wb3J0ID0gZm9ydGVfZGVmYXVsdF9wb3J0Ow0KKyAgfQ0KKw0KKyAgY2hhciBmbGFnW10gPSAiLWMiOw0KKyAgY2hhciBhZGRyZXNzWzE2XSA9ICJsb2NhbGhvc3Q6IjsNCisgIGNoYXIgcG9ydFs2XTsNCisgIHNwcmludGYocG9ydCwgIiV1IiwgcGFfcG9ydCk7DQorICBzdHJjYXQoYWRkcmVzcywgcG9ydCk7DQorDQorICBjaGFyKiBhcmd1bWVudHNbXSA9IHtmbGFnLCBhZGRyZXNzfTsNCisgIHJldHVybiBmb3J0ZVN0YXJ0SW5zdGFuY2VHZW5lcmljKDIsIGFyZ3VtZW50cywgcGFfcmVzdWx0RGV2aWNlKTsNCit9DQorDQorDQoraW50IGZvcnRlU3RhcnRJbnN0YW5jZUdlbmVyaWMoaW50IGFyZ2MsIGNoYXIgKmFyZ1tdLCBURm9ydGVJbnN0YW5jZSogcGFfcmVzdWx0RGV2aWNlKXsNCisNCisgIGlmKCFDRm9ydGVBcmNoaXRlY3R1cmU6OmlzSW5pdGlhbGl6ZWQoKSl7DQorICAgIHJldHVybiBGT1JURV9BUkNISVRFQ1RVUkVfTk9UX1JFQURZOw0KKyAgfQ0KKw0KKyAgaWYoMCA9PSBwYV9yZXN1bHREZXZpY2Upew0KKyAgICByZXR1cm4gRk9SVEVfV1JPTkdfUEFSQU1FVEVSUzsNCisgIH0NCisNCisgIGlmICgwICE9ICpwYV9yZXN1bHREZXZpY2Upew0KKyAgICByZXR1cm4gRk9SVEVfREVWSUNFX0FMUkVBRFlfU1RBUlRFRDsNCisgIH0NCisNCisgIGlmICghY2hlY2tFbmRpYW5lc3MoKSl7DQorICAgIHJldHVybiBGT1JURV9XUk9OR19FTkRJQU5FU1M7DQorICB9DQorDQorICBjb25zdCBjaGFyICpwSXBQb3J0ID0gcGFyc2VDb21tYW5kTGluZUFyZ3VtZW50cyhhcmdjLCBhcmcpOw0KKyAgaWYoKDAgIT0gc3RybGVuKHBJcFBvcnQpKSAmJiAoTlVMTCAhPSBzdHJjaHIocElwUG9ydCwgJzonKSkpew0KKyAgICBjcmVhdGVEZXYocElwUG9ydCwgcGFfcmVzdWx0RGV2aWNlKTsNCisgIH0NCisgIGVsc2V7IC8vISBJZiBuZWVkZWQgY2FsbCBsaXN0SGVscCgpIHRvIGxpc3QgdGhlIGhlbHAgZm9yIEZPUlRFDQorICAgIHJldHVybiBGT1JURV9XUk9OR19QQVJBTUVURVJTOw0KKyAgfQ0KKw0KKyAgcmV0dXJuIEZPUlRFX09LOw0KK30NCisNCit2b2lkIGZvcnRlU3RvcEluc3RhbmNlKGludCBwYV9uU2lnLCBURm9ydGVJbnN0YW5jZSBwYV9yZXN1bHREZXZpY2Upew0KKyAgaWYoIUNGb3J0ZUFyY2hpdGVjdHVyZTo6aXNJbml0aWFsaXplZCgpKXsNCisgICAgcmV0dXJuOw0KKyAgfQ0KKyAgKHZvaWQpIHBhX25TaWc7DQorICBSTVRfREVWICpwb0RldiA9IHN0YXRpY19jYXN0PFJNVF9ERVYqPihwYV9yZXN1bHREZXZpY2UpOw0KKyAgaWYoMCAhPSBwb0Rldil7DQorICAgIHBvRGV2LT5jaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKGNnX25NR01fQ01EX0tpbGwpOw0KKyAgICBwb0Rldi0+TUdSLmpvaW5SZXNvdXJjZVRocmVhZCgpOw0KKyAgICBERVZMT0dfSU5GTygiRk9SVEUgZmluaXNoZWRcbiIpOw0KKyAgICBkZWxldGUgcG9EZXY7DQorICB9DQorfQ0KKw0KKy8qIVxicmllZiBDcmVhdGVzIHRoZSBEZXZpY2UtT2JqZWN0DQorICogXHBhcmFtIHBhX2FjTUdSSUQgQSBzdHJpbmcgY29udGFpbmluZyBJUCBhbmQgUG9ydCBsaWtlIFtJUF06W1BvcnRdDQorICogXHBhcmFtIFRoZSByZXN1bHQNCisgKi8NCit2b2lkIGNyZWF0ZURldihjb25zdCBjaGFyICpwYV9hY01HUklELCBURm9ydGVJbnN0YW5jZSogcGFfcmVzdWx0RGV2aWNlKXsNCisgIFJNVF9ERVYgKnBvRGV2ID0gbmV3IFJNVF9ERVY7DQorICBwb0Rldi0+c2V0TUdSX0lEKHBhX2FjTUdSSUQpOw0KKyAgcG9EZXYtPnN0YXJ0RGV2aWNlKCk7DQorICAqcGFfcmVzdWx0RGV2aWNlID0gcG9EZXY7DQorICBERVZMT0dfSU5GTygiRk9SVEUgaXMgdXAgYW5kIHJ1bm5pbmdcbiIpOw0KK30NCisNCitib29sIGNoZWNrRW5kaWFuZXNzKCl7DQorICBpbnQgaSA9IDE7DQorICBjaGFyICpwID0gKGNoYXIgKikgJmk7DQorICBpZihwWzBdID09IDEpew0KKyAgICAvL3dlIGFyZSBvbiBhIGxpdHRsZSBlbmRpYW4gcGxhdGZvcm0NCisjaWZkZWYgRk9SVEVfQklHX0VORElBTg0KKyAgICBERVZMT0dfRVJST1IoIldyb25nIGVuZGlhbmVzcyBjb25maWd1cmVkISBZb3UgYXJlIG9uIGEgbGl0dGxlIGVuZGlhbiBwbGF0Zm9ybSBhbmQgaGF2ZSBjb25maWd1cmVkIGJpZyBlbmRpYW4hXG4iKTsNCisgICAgcmV0dXJuIGZhbHNlOw0KKyNlbmRpZg0KKyAgfQ0KKyAgZWxzZXsNCisgICAgLy93ZSBhcmUgb24gYSBiaWcgZW5kaWFuIHBsYXRmb3JtDQorI2lmZGVmIEZPUlRFX0xJVFRMRV9FTkRJQU4NCisgICAgREVWTE9HX0VSUk9SKCJXcm9uZyBlbmRpYW5lc3MgY29uZmlndXJlZCEgWW91IGFyZSBvbiBhIGJpZyBlbmRpYW4gcGxhdGZvcm0gYW5kIGhhdmUgY29uZmlndXJlZCBsaXR0bGUgZW5kaWFuIVxuIik7DQorICAgIHJldHVybiBmYWxzZTsNCisjZW5kaWYNCisgIH0NCisNCisgIHJldHVybiB0cnVlOw0KK30NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9yY1gvZm9ydGVfaW5zdGFuY2UuaCBiL3NyYy9hcmNoL3JjWC9mb3J0ZV9pbnN0YW5jZS5oCmluZGV4IDQ0MzM3NTIuLmY0YWU0NmUgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3JjWC9mb3J0ZV9pbnN0YW5jZS5oCisrKyBiL3NyYy9hcmNoL3JjWC9mb3J0ZV9pbnN0YW5jZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcmNYL2ZvcnRlX3NlbS5jcHAgYi9zcmMvYXJjaC9yY1gvZm9ydGVfc2VtLmNwcAppbmRleCA0ODFkZmMyLi43MGI3MDYzIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvZm9ydGVfc2VtLmNwcAorKysgYi9zcmMvYXJjaC9yY1gvZm9ydGVfc2VtLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2LCAyMDE4IGZvcnRpc3MgR21iSCwgVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9yY1gvZm9ydGVfc2VtLmggYi9zcmMvYXJjaC9yY1gvZm9ydGVfc2VtLmgKaW5kZXggOTk4ZTFiZi4uZTM0YjgwNyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcmNYL2ZvcnRlX3NlbS5oCisrKyBiL3NyYy9hcmNoL3JjWC9mb3J0ZV9zZW0uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2LCAyMDE4IGZvcnRpc3MgR21iSCwgVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9yY1gvZm9ydGVfc3luYy5jcHAgYi9zcmMvYXJjaC9yY1gvZm9ydGVfc3luYy5jcHAKaW5kZXggMTVlZDM3OS4uNGZhOTA2MSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcmNYL2ZvcnRlX3N5bmMuY3BwCisrKyBiL3NyYy9hcmNoL3JjWC9mb3J0ZV9zeW5jLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvYXJjaC9yY1gvZm9ydGVfc3luYy5oIGIvc3JjL2FyY2gvcmNYL2ZvcnRlX3N5bmMuaAppbmRleCBlYWMwNDcxLi43ZDExOThiIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvZm9ydGVfc3luYy5oCisrKyBiL3NyYy9hcmNoL3JjWC9mb3J0ZV9zeW5jLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcmNYL2ZvcnRlX3RocmVhZC5jcHAgYi9zcmMvYXJjaC9yY1gvZm9ydGVfdGhyZWFkLmNwcAppbmRleCAyZjFlZDNlLi5hNjVhYTQ4IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvZm9ydGVfdGhyZWFkLmNwcAorKysgYi9zcmMvYXJjaC9yY1gvZm9ydGVfdGhyZWFkLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3JjWC9mb3J0ZV90aHJlYWQuaCBiL3NyYy9hcmNoL3JjWC9mb3J0ZV90aHJlYWQuaAppbmRleCAxZjZjMjA4Li4xNmQ5ODIyIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvZm9ydGVfdGhyZWFkLmgKKysrIGIvc3JjL2FyY2gvcmNYL2ZvcnRlX3RocmVhZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcmNYL2ZvcnRlYWxsb2MuaCBiL3NyYy9hcmNoL3JjWC9mb3J0ZWFsbG9jLmgKaW5kZXggYmZhNWM5MS4uM2NhZDY5YyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcmNYL2ZvcnRlYWxsb2MuaAorKysgYi9zcmMvYXJjaC9yY1gvZm9ydGVhbGxvYy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3JjWC9yY1hTb2NrZXRJbnRlcmZhY2UuY3BwIGIvc3JjL2FyY2gvcmNYL3JjWFNvY2tldEludGVyZmFjZS5jcHAKaW5kZXggMDY3MzFlYy4uNjE3MTViYyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvcmNYL3JjWFNvY2tldEludGVyZmFjZS5jcHAKKysrIGIvc3JjL2FyY2gvcmNYL3JjWFNvY2tldEludGVyZmFjZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcmNYL3JjWFNvY2tldEludGVyZmFjZS5oIGIvc3JjL2FyY2gvcmNYL3JjWFNvY2tldEludGVyZmFjZS5oCmluZGV4IDU3NWIxNjQuLmFhOWVmNjkgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3JjWC9yY1hTb2NrZXRJbnRlcmZhY2UuaAorKysgYi9zcmMvYXJjaC9yY1gvcmNYU29ja2V0SW50ZXJmYWNlLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcmNYL3JjWFRpbWVySGFuZGxlci5jcHAgYi9zcmMvYXJjaC9yY1gvcmNYVGltZXJIYW5kbGVyLmNwcAppbmRleCA0Mzc3MjU1Li5lODgzODdkIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvcmNYVGltZXJIYW5kbGVyLmNwcAorKysgYi9zcmMvYXJjaC9yY1gvcmNYVGltZXJIYW5kbGVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3JjWC9yY1hUaW1lckhhbmRsZXIuaCBiL3NyYy9hcmNoL3JjWC9yY1hUaW1lckhhbmRsZXIuaAppbmRleCBkMWViMGE1Li4wNzQ3YWFhIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvcmNYVGltZXJIYW5kbGVyLmgKKysrIGIvc3JjL2FyY2gvcmNYL3JjWFRpbWVySGFuZGxlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcmNYL3JjWFV0aWxpdGllcy5jcHAgYi9zcmMvYXJjaC9yY1gvcmNYVXRpbGl0aWVzLmNwcAppbmRleCBjYzhkNDMxLi44OTg5MmM0IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvcmNYVXRpbGl0aWVzLmNwcAorKysgYi9zcmMvYXJjaC9yY1gvcmNYVXRpbGl0aWVzLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3JjWC9yY1hVdGlsaXRpZXMuaCBiL3NyYy9hcmNoL3JjWC9yY1hVdGlsaXRpZXMuaAppbmRleCA2MGFkOGYzLi44NzgzN2MwIDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvcmNYVXRpbGl0aWVzLmgKKysrIGIvc3JjL2FyY2gvcmNYL3JjWFV0aWxpdGllcy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvcmNYL3NvY2toYW5kLmggYi9zcmMvYXJjaC9yY1gvc29ja2hhbmQuaAppbmRleCBhNzU3MTUwLi5iZWUwMmE5IDEwMDY0NAotLS0gYS9zcmMvYXJjaC9yY1gvc29ja2hhbmQuaAorKysgYi9zcmMvYXJjaC9yY1gvc29ja2hhbmQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3RocmVhZGJhc2UuaCBiL3NyYy9hcmNoL3RocmVhZGJhc2UuaAppbmRleCBlZmY0OTUwLi5mM2EyNzU1IDEwMDY0NAotLS0gYS9zcmMvYXJjaC90aHJlYWRiYXNlLmgKKysrIGIvc3JjL2FyY2gvdGhyZWFkYmFzZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTQsNiArMTUsNyBAQAogCiAjaW5jbHVkZSAiLi4vY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZS5oIgogI2luY2x1ZGUgPGZvcnRlX3NlbS5oPgorI2luY2x1ZGUgPGZvcnRlX3N5bmMuaD4KIAogbmFtZXNwYWNlIGZvcnRlIHsKICAgbmFtZXNwYWNlIGFyY2ggewpAQCAtMTM5LDYgKzE0MSwxMiBAQAogICAgICAgICAgKi8KICAgICAgICAgdm9sYXRpbGUgIGJvb2wgbUFsaXZlOwogCisgICAgICAgIC8qISBcYnJpZWYgTXV0ZXggdG8gYXZvaWQgdHdvIGRpZmZlcmVudCB0aHJlYWRzIGFjY2Vzc2luZyBzdGFydCgpIG9yIGVuZCgpIGF0IHRoZSBzYW1lIHRpbWUKKyAgICAgICAgICogIElmIHR3byB0aHJlYWRzIGNhbGwgc3RhcnQoKSBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgdGhyZWFkIHdpbGwgYmUgY3JlYXRlZCB0d2ljZS4gQSBzaW1pbGFyIHByb2JsZW0gd2l0aCBlbmQoKS4KKyAgICAgICAgICogIFNlZSBodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9NTQ3NjIwCisgICAgICAgICAqLworICAgICAgICBDU3luY09iamVjdCBtVGhyZWFkTXV0ZXg7CisKICAgICAgICAgLy93ZSBkb24ndCB3YW50IHRoYXQgdGhyZWFkcyBjYW4gYmUgY29waWVkIG9yIGFzc2lnbmVkIHRoZXJlZm9yZSB0aGUgY29weSBjb25zdHJ1Y3RvciBhbmQgYXNzaWdubWVudCBvcGVyYXRvciBhcmUgZGVjbGFyZWQgcHJpdmF0ZQogICAgICAgICAvL2J1dCBub3QgaW1wbGVtZW50ZWQKICAgICAgICAgQ1RocmVhZEJhc2UoY29uc3QgQ1RocmVhZEJhc2UmKTsKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3RocmVhZGJhc2UudHBwIGIvc3JjL2FyY2gvdGhyZWFkYmFzZS50cHAKaW5kZXggZTM5M2E3NC4uM2IxMjczNiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvdGhyZWFkYmFzZS50cHAKKysrIGIvc3JjL2FyY2gvdGhyZWFkYmFzZS50cHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiwgMjAxNywgMjAxOCBmb3J0aXNzIEdtYkgsIFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMzEsNiArMzIsNyBAQAogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVFRocmVhZEhhbmRsZSwgVFRocmVhZEhhbmRsZSBudWxsSGFuZGxlLCB0eXBlbmFtZSBUaHJlYWREZWxldGVQb2xpY3k+CiB2b2lkIENUaHJlYWRCYXNlPFRUaHJlYWRIYW5kbGUsIG51bGxIYW5kbGUsIFRocmVhZERlbGV0ZVBvbGljeT46OnN0YXJ0KHZvaWQpeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVRocmVhZE11dGV4KTsKICAgaWYobnVsbEhhbmRsZSA9PSBtVGhyZWFkSGFuZGxlKXsKICAgICBtVGhyZWFkSGFuZGxlID0gY3JlYXRlVGhyZWFkKG1TdGFja1NpemUpOwogICAgIGlmKG51bGxIYW5kbGUgPT0gbVRocmVhZEhhbmRsZSl7CkBAIC00Miw2ICs0NCw3IEBACiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUVGhyZWFkSGFuZGxlLCBUVGhyZWFkSGFuZGxlIG51bGxIYW5kbGUsIHR5cGVuYW1lIFRocmVhZERlbGV0ZVBvbGljeT4KIHZvaWQgQ1RocmVhZEJhc2U8VFRocmVhZEhhbmRsZSwgbnVsbEhhbmRsZSwgVGhyZWFkRGVsZXRlUG9saWN5Pjo6ZW5kKHZvaWQpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1UaHJlYWRNdXRleCk7CiAgIGlmKG51bGxIYW5kbGUgIT0gbVRocmVhZEhhbmRsZSl7CiAgICAgc2V0QWxpdmUoZmFsc2UpOwogICAgIGpvaW4oKTsKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3RpbWVyaGEuY3BwIGIvc3JjL2FyY2gvdGltZXJoYS5jcHAKaW5kZXggN2Q2M2YwMS4uNzhiNDc0OSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvdGltZXJoYS5jcHAKKysrIGIvc3JjL2FyY2gvdGltZXJoYS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMsIFRob21hcyBTdHJhc3NlciwgSW5nbyBIZWdueQpAQCAtMTcsOCArMTgsNiBAQAogCiBERUZJTkVfSEFORExFUihDVGltZXJIYW5kbGVyKQogCi1DVGltZXJIYW5kbGVyICpDVGltZXJIYW5kbGVyOjpzbUZPUlRFVGltZXIgPSAwOwotCiBDVGltZXJIYW5kbGVyOjpDVGltZXJIYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA6IENFeHRlcm5hbEV2ZW50SGFuZGxlcihwYURldmljZUV4ZWN1dGlvbiksCiAgICAgbUZvcnRlVGltZSgwKSwgbVRpbWVkRkJMaXN0KDApewogfQpAQCAtMjgsNyArMjcsNyBAQAogCiB2b2lkIENUaW1lckhhbmRsZXI6OnJlZ2lzdGVyVGltZWRGQihTVGltZWRGQkxpc3RFbnRyeSAqcGFUaW1lckxpc3RFbnRyeSwgY29uc3QgQ0lFQ19USU1FICZwYVRpbWVJbnRlcnZhbCkgewogICAvL2NhbGN1bGF0ZSB0aGUgY29ycmVjdCBpbnRlcnZhbCBiYXNlZCBvbiB0aW1lLWJhc2UgYW5kIHRpbWVyIHRpY2tzIHBlciBzZWNvbmRzCi0gIHBhVGltZXJMaXN0RW50cnktPm1JbnRlcnZhbCA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4oKHBhVGltZUludGVydmFsICogZ2V0VGlja3NQZXJTZWNvbmQoKSkgLyBGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCk7CisgIHBhVGltZXJMaXN0RW50cnktPm1JbnRlcnZhbCA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4oKHBhVGltZUludGVydmFsICogZ2V0VGlja3NQZXJTZWNvbmQoKSkgLyBjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCk7CiAgIHsKICAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVN5bmMpOwogICAgIGFkZFRpbWVkRkJFbnRyeShwYVRpbWVyTGlzdEVudHJ5KTsKQEAgLTQwLDkgKzM5LDkgQEAKICAgcGFUaW1lckxpc3RFbnRyeS0+bU5leHQgPSAwOwogCiAgIC8vIENvcnJlY3QgbnVsbCBpbnRlcnZhbHMgdGhhdCBjYW4gbGVhZCB0byBldmVudCBxdWV1ZSBvdmVyZmxvdyB0byAxMCBtcwotICBpZiAocGFUaW1lckxpc3RFbnRyeS0+bUludGVydmFsID09IDApCisgIGlmKHBhVGltZXJMaXN0RW50cnktPm1JbnRlcnZhbCA9PSAwKSB7CiAgICAgcGFUaW1lckxpc3RFbnRyeS0+bVRpbWVPdXQgKz0gKGdldFRpY2tzUGVyU2Vjb25kKCkgPiAxMDApID8gZ2V0VGlja3NQZXJTZWNvbmQoKSAvIDEwMCA6IDE7Ci0KKyAgfQogICBpZiAoMCA9PSBtVGltZWRGQkxpc3QpIHsKICAgICBtVGltZWRGQkxpc3QgPSBwYVRpbWVyTGlzdEVudHJ5OwogICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvdGltZXJoYS5oIGIvc3JjL2FyY2gvdGltZXJoYS5oCmluZGV4IDNlM2Y1NGMuLjJmNDcxZDUgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3RpbWVyaGEuaAorKysgYi9zcmMvYXJjaC90aW1lcmhhLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyLCBSZW5lIFNtb2RpYywgTW9uaWthIFdlbmdlciwgSW5nbyBIZWdueQ0KQEAgLTM5LDkgKzQwLDYgQEAKICAgREVDTEFSRV9IQU5ETEVSKENUaW1lckhhbmRsZXIpOw0KICAgcHVibGljOg0KIA0KLSAgICAvKiFcYnJpZWYgUG9pbnRlciB0byBhIGdlbmVyYWwgdGltZXIgdXNlZCBmb3IgY29kZSBvdXRzaWRlIEZCcywgbGlrZSBkZXZsb2csIFRJTUUoKSBhbmQgc28gb24NCi0gICAgICovDQotICAgIHN0YXRpYyBDVGltZXJIYW5kbGVyICpzbUZPUlRFVGltZXI7DQogICAgIC8qIVxicmllZiBjcmVhdGUgdGhlIHRpbWVyIGhhbmRsZXIgYW5kIHNldCB0aGUgcGFyYW1ldGVyIHBvaW50ZXIgd2l0aCB0aGUgdGhlIG5ldyB0aW1lciBoYW5kbGVyLg0KICAgICAgKg0KICAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGUgc3RhbmRhcmR0aW1lcmhhbmRsZXIgYW5kIGhhcyB0byBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvdXRpbHMvQ01ha2VMaXN0cy50eHQgYi9zcmMvYXJjaC91dGlscy9DTWFrZUxpc3RzLnR4dAppbmRleCBlYzlmMjEwLi45YWUzMDA3IDEwMDY0NAotLS0gYS9zcmMvYXJjaC91dGlscy9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvYXJjaC91dGlscy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxNSArMSwxNyBAQAotIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTggQUNJTgotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCi0jICogICAgICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCi0jICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLVNFVChTT1VSQ0VfR1JPVVAgJHtTT1VSQ0VfR1JPVVB9XFx1dGlscykKLQotIyBjdXJyZW50bHkgZG8gYWRkIGFueXRoaW5nIHBlciBkZWZhdWx0CisjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKyMgQ29weXJpZ2h0IChjKSAyMDE4IEFDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMNCisjICogICAgICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKw0KK1NFVChTT1VSQ0VfR1JPVVAgJHtTT1VSQ0VfR1JPVVB9XFx1dGlscykNCisNCisjIGN1cnJlbnRseSBkbyBhZGQgYW55dGhpbmcgcGVyIGRlZmF1bHQNCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKG1haW5wYXJhbV91dGlscykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvYXJjaC91dGlscy9tYWlucGFyYW1fdXRpbHMuY3BwIGIvc3JjL2FyY2gvdXRpbHMvbWFpbnBhcmFtX3V0aWxzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGVlNTQxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2FyY2gvdXRpbHMvbWFpbnBhcmFtX3V0aWxzLmNwcApAQCAtMCwwICsxLDY5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKyAqIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgVGFyaWsgVGVyemltZWhpYw0KKyAqICAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisNCisjaW5jbHVkZSA8Zm9ydGVfY29uZmlnLmg+DQorI2luY2x1ZGUgPHN0ZGlvLmg+DQorI2luY2x1ZGUgPHN0cmluZy5oPg0KKyNpbmNsdWRlIDxzdGRsaWIuaD4NCisNCisvKiFcYnJpZWYgTGlzdHMgdGhlIGhlbHAgZm9yIEZPUlRFDQorICoNCisgKi8NCit2b2lkIGxpc3RIZWxwKHZvaWQpew0KKyAgcHJpbnRmKCJVc2FnZTogZm9ydGUgW29wdGlvbnNdXG4iKTsNCisgIHByaW50ZigiT3B0aW9uczpcbiIpOw0KKyAgcHJpbnRmKCIlLTIwcyBEaXNwbGF5IHRoaXMgaW5mb3JtYXRpb25cbiIsICIgIC1oIik7DQorICBwcmludGYoIiUtMjBzIFNldCB0aGUgbGlzdGVuaW5nIElQIGFuZCBwb3J0IGZvciB0aGUgaW5jb21pbmcgY29ubmVjdGlvbnNcbiIsICIgIC1jIDxJUD46PHBvcnQ+Iik7DQorI2lmZGVmIEZPUlRFX1NVUFBPUlRfQk9PVF9GSUxFDQorICBwcmludGYoIiUtMjBzIFNldCB0aGUgYm9vdC1maWxlIHdoZXJlIHRvIHJlYWQgZnJvbSB0byBsb2FkIHRoZSBhcHBsaWNhdGlvbnNcbiIsICIgIC1mIDxmaWxlPiIpOw0KKyNlbmRpZg0KKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBDQorICBwcmludGYoIiUtMjBzIFNldCB0aGUgbGlzdGVuaW5nIHBvcnQgZm9yIHRoZSBPUEMgVUEgY29ubmVjdGlvblxuIiwgIiAgLW8gPFBvcnQ+Iik7DQorI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQQ0KK30NCisNCisvKiFcYnJpZWYgUGFyc2VzIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgbWFpbiBmdW5jdGlvbg0KKyAqDQorICovDQorY29uc3QgY2hhciAqcGFyc2VDb21tYW5kTGluZUFyZ3VtZW50cyhpbnQgYXJnYywgY2hhciAqYXJnW10pew0KKw0KKyAgY29uc3QgY2hhciAqcElwUG9ydCA9ICJsb2NhbGhvc3Q6NjE0OTkiOyAvLyEgRGVmYXVsdCBWYWx1ZSAobG9jYWxob3N0OjYxNDk5KQ0KKw0KKyAgaWYoYXJnYyA+IDEpIHsNCisgICAgZm9yKHNpemVfdCBpID0gMTsgaSA8IHN0YXRpY19jYXN0PHNpemVfdD4oYXJnYyk7IGkgKz0gMikgew0KKyAgICAgIGlmKCctJyA9PSBhcmdbaV1bMF0pIHsNCisgICAgICAgIHN3aXRjaChhcmdbaV1bMV0pew0KKyAgICAgICAgICBjYXNlICdjJzogLy8hIHNldHMgdGhlIGRlc3RpbmF0aW9uIGZvciB0aGUgY29ubmVjdGlvbg0KKyAgICAgICAgICAgIHBJcFBvcnQgPSBhcmdbaSArIDFdOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyNpZmRlZiBGT1JURV9TVVBQT1JUX0JPT1RfRklMRQ0KKyAgICAgICAgICBjYXNlICdmJzogLy8hIHNldHMgdGhlIGJvb3QtZmlsZSB0byBiZSB1c2VkDQorICAgICAgICAgICAgZ0NvbW1hbmRMaW5lQm9vdEZpbGUgPSBhcmdbaSArIDFdOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfQk9PVF9GSUxFDQorI2lmZGVmIEZPUlRFX0NPTV9PUENfVUENCisgICAgICAgICAgICBjYXNlICdvJzogLy8hIFJldHJpZXZlcyBPUENVQSBzZXJ2ZXIgcG9ydCBudW1iZXIgZW50ZXJlZCBmcm9tIHRoZSBjb21tYW5kIGxpbmUNCisgICAgICAgICAgICBnT3BjdWFTZXJ2ZXJQb3J0ID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihhdG9pKGFyZ1tpICsgMV0pKTsNCisgICAgICAgICAgICBicmVhazsNCisjZW5kaWYgLy9GT1JURV9DT01fT1BDX1VBDQorICAgICAgICAgIGRlZmF1bHQ6IC8vISBVbmtub3duIHBhcmFtZXRlciBvciAtaCAtPiBMaXN0cyB0aGUgaGVscCBmb3IgRk9SVEUNCisgICAgICAgICAgICByZXR1cm4gIiI7DQorICAgICAgICB9DQorICAgICAgfSBlbHNlIHsgLy8hIFVua25vd24gcGFyYW1ldGVyIC0+IExpc3RzIHRoZSBoZWxwIGZvciBGT1JURQ0KKyAgICAgICAgcmV0dXJuICIiOw0KKyAgICAgIH0NCisgICAgfQ0KKyAgfQ0KKw0KKyAgcmV0dXJuIHBJcFBvcnQ7DQorfQ0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3V0aWxzL21haW5wYXJhbV91dGlscy5oIGIvc3JjL2FyY2gvdXRpbHMvbWFpbnBhcmFtX3V0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE1M2QyNwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9hcmNoL3V0aWxzL21haW5wYXJhbV91dGlscy5oCkBAIC0wLDAgKzEsMjggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICBUYXJpayBUZXJ6aW1laGljDQorICogICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKw0KKyNpZm5kZWYgU1JDX0FSQ0hfVVRJTFNfTUFJTlBBUkFNX1VUSUxTX0hfDQorI2RlZmluZSBTUkNfQVJDSF9VVElMU19NQUlOUEFSQU1fVVRJTFNfSF8NCisNCisvKiFcYnJpZWYgTGlzdHMgdGhlIGhlbHAgZm9yIEZPUlRFDQorICoNCisgKi8NCit2b2lkIGxpc3RIZWxwKHZvaWQpOw0KKw0KKy8qIVxicmllZiBQYXJzZXMgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBtYWluIGZ1bmN0aW9uDQorICoNCisgKi8NCitjb25zdCBjaGFyICpwYXJzZUNvbW1hbmRMaW5lQXJndW1lbnRzKGludCBhcmdjLCBjaGFyICphcmdbXSk7DQorDQorDQorI2VuZGlmIC8qIFNSQ19BUkNIX1VUSUxTX01BSU5QQVJBTV9VVElMU19IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3V0aWxzL3RpbWVzcGVjX3V0aWxzLmNwcCBiL3NyYy9hcmNoL3V0aWxzL3RpbWVzcGVjX3V0aWxzLmNwcAppbmRleCAzMDc3M2FmLi43MDRjYzIxIDEwMDY0NAotLS0gYS9zcmMvYXJjaC91dGlscy90aW1lc3BlY191dGlscy5jcHAKKysrIGIvc3JjL2FyY2gvdXRpbHMvdGltZXNwZWNfdXRpbHMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucwpAQCAtMzgsMTAgKzM5LDggQEAKICAgaWYobGhzLT50dl9zZWMgPiByaHMtPnR2X3NlYykgewogICAgIHJldHVybiBmYWxzZTsKICAgfQotICBpZihsaHMtPnR2X3NlYyA9PSByaHMtPnR2X3NlYykgewotICAgIGlmKGxocy0+dHZfbnNlYyA+PSByaHMtPnR2X25zZWMpIHsKLSAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9CisgIGlmKGxocy0+dHZfc2VjID09IHJocy0+dHZfc2VjICYmIGxocy0+dHZfbnNlYyA+PSByaHMtPnR2X25zZWMpIHsKKyAgICByZXR1cm4gZmFsc2U7CiAgIH0KICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9zcmMvYXJjaC91dGlscy90aW1lc3BlY191dGlscy5oIGIvc3JjL2FyY2gvdXRpbHMvdGltZXNwZWNfdXRpbHMuaAppbmRleCA0MzBhZWUxLi4yZmExYWFhIDEwMDY0NAotLS0gYS9zcmMvYXJjaC91dGlscy90aW1lc3BlY191dGlscy5oCisrKyBiL3NyYy9hcmNoL3V0aWxzL3RpbWVzcGVjX3V0aWxzLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zCmRpZmYgLS1naXQgYS9zcmMvYXJjaC92eHdvcmtzL0NNYWtlTGlzdHMudHh0IGIvc3JjL2FyY2gvdnh3b3Jrcy9DTWFrZUxpc3RzLnR4dAppbmRleCAwNTJhMDAzLi5mZWNlNzQ4IDEwMDY0NAotLS0gYS9zcmMvYXJjaC92eHdvcmtzL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9hcmNoL3Z4d29ya3MvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogU0VUKFNPVVJDRV9HUk9VUCAke1NPVVJDRV9HUk9VUH1cXHZ4d29ya3MpCkBAIC0yNiw2ICsyNyw3IEBACiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2goLi4vZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaCkKICAgCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoLi4vdXRpbHMvdGltZXNwZWNfdXRpbHMpCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcCguLi9nZW5mb3J0ZV9yZWFsRnVuY3Rpb25zLmNwcCBmb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHApCiAgIAogICBTRVQoRk9SVEVfVlhXT1JLU19GSU5EX0RJUl9BVVRPTUFUSUNBTExZIE9OIENBQ0hFIEJPT0wgIlNlbGVjdHMgdGhlIHJlc3Qgb2YgbmVlZGVkIGRpcmVjdG9yaWVzIGZyb20gdGhlIENNQUtFX0ZJTkRfUk9PVF9QQVRIIikKICAgU0VUKEZPUlRFX1ZYV09SS1NfVlNCX0NPTkZJR19GSUxFICIiIENBQ0hFIFNUUklORyAiVlNCIENvbmZpZ3VyYXRpb24gZmlsZSIpCkBAIC05NSw3ICs5Nyw3IEBACiAgIAogICBmb3J0ZV9hZGRfY3VzdG9tX2NvbmZpZ3VyYXRpb24oIiNkZWZpbmUgUFJJdUZBU1Q2NCBcIkk2NHVcIiIpCiAgIAotICBmb3J0ZV9hZGRfY3VzdG9tX2NvbmZpZ3VyYXRpb24oInR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVpbnRfZmFzdDY0X3RcXFw7IikKKyAgZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCJ0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1aW50X2Zhc3Q2NF90XDsiKQogICAKIAogZW5kaWYoKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuY3BwIGIvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI1NjVmNAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuY3BwCkBAIC0wLDAgKzEsMjIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIEFkZHMgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8dGltZXIuaD4KKworI2luY2x1ZGUgImZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmgiCisjaW5jbHVkZSAiZm9ydGVfY29uc3RhbnRzLmgiCisKK3VpbnRfZmFzdDY0X3QgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMoKSB7CisgIHJldHVybiAoZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kID4gdGltZXJGcmVxKCkpID8KKyAgICAgIHN5c1RpbWVzdGFtcCgpIC8gKHRpbWVyRnJlcSgpIC8gZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kKSA6CisgICAgICAoc3lzVGltZXN0YW1wKCkgLyB0aW1lckZyZXEoKSkgKiBmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTmFub3NlY29uZHNQZXJTZWNvbmQ7IC8vLyBmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTmFub3NlY29uZHNQZXJTZWNvbmQpICogc3lzQ2xrUmF0ZUdldCgpOworfQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV9zZW0uY3BwIGIvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV9zZW0uY3BwCmluZGV4IDEwNDZkNTEuLjE1MWVmZTEgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVfc2VtLmNwcAorKysgYi9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3NlbS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiwgMjAxOCBmb3J0aXNzIEdtYkgsIFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV9zZW0uaCBiL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVfc2VtLmgKaW5kZXggYmYwYmI2Ny4uN2JkNTI1OSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV9zZW0uaAorKysgYi9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3NlbS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTggZm9ydGlzcyBHbWJILCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVfc3luYy5jcHAgYi9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3N5bmMuY3BwCmluZGV4IGNhYmQ5NDkuLjc4OGUxZjQgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVfc3luYy5jcHAKKysrIGIvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV9zeW5jLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV9zeW5jLmggYi9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3N5bmMuaAppbmRleCBjOTc2OTkyLi41MGFmMzY5IDEwMDY0NAotLS0gYS9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3N5bmMuaAorKysgYi9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3N5bmMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV90aHJlYWQuY3BwIGIvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV90aHJlYWQuY3BwCmluZGV4IGUwMjhlNDUuLjhhZDE5MTcgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVfdGhyZWFkLmNwcAorKysgYi9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3RocmVhZC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3RocmVhZC5oIGIvc3JjL2FyY2gvdnh3b3Jrcy9mb3J0ZV90aHJlYWQuaAppbmRleCA2NTdjOTcyLi5iMzA0NGYwIDEwMDY0NAotLS0gYS9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlX3RocmVhZC5oCisrKyBiL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVfdGhyZWFkLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiwgMjAxNyBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC92eHdvcmtzL2ZvcnRlYWxsb2MuaCBiL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVhbGxvYy5oCmluZGV4IDcwNDIzN2QuLjdjZDFiMmMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVhbGxvYy5oCisrKyBiL3NyYy9hcmNoL3Z4d29ya3MvZm9ydGVhbGxvYy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvdnh3b3Jrcy9tYWluLmNwcCBiL3NyYy9hcmNoL3Z4d29ya3MvbWFpbi5jcHAKaW5kZXggOTEwZWQxMS4uNTJhNTJmNSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvdnh3b3Jrcy9tYWluLmNwcAorKysgYi9zcmMvYXJjaC92eHdvcmtzL21haW4uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3Z4d29ya3Mvc29ja2hhbmQuaCBiL3NyYy9hcmNoL3Z4d29ya3Mvc29ja2hhbmQuaAppbmRleCBhZTQ0ZmY3Li45NjI2Yjk3IDEwMDY0NAotLS0gYS9zcmMvYXJjaC92eHdvcmtzL3NvY2toYW5kLmgKKysrIGIvc3JjL2FyY2gvdnh3b3Jrcy9zb2NraGFuZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvQ01ha2VMaXN0cy50eHQgYi9zcmMvYXJjaC93aW4zMi9DTWFrZUxpc3RzLnR4dAppbmRleCA1YjAxMGYwLi41MmQ2YzRlIDEwMDY0NAotLS0gYS9zcmMvYXJjaC93aW4zMi9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvYXJjaC93aW4zMi9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyMgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiANCiBTRVQoU09VUkNFX0dST1VQICR7U09VUkNFX0dST1VQfVxcd2luMzIpDQpAQCAtMjAsNyArMjEsOCBAQAogICANCiAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2goZm9ydGVhbGxvYy5oIC4uL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmgpDQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGZvcnRlX3RocmVhZCBmb3J0ZV9zeW5jIGZvcnRlX3NlbSkNCi0gIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2NwcChmb3J0ZV9hcmNoaXRlY3R1cmUuY3BwIHdpbmZvcnRlX3ByaW50ZXIuY3BwKQ0KKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfY3BwKGZvcnRlX2FyY2hpdGVjdHVyZS5jcHAgZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuY3BwIHdpbmZvcnRlX3ByaW50ZXIuY3BwKQ0KKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfY3BwKC4uL2dlbmZvcnRlX3JlYWxGdW5jdGlvbnMuY3BwKQ0KICAgDQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGZvcnRlX2luc3RhbmNlKQ0KICAgZm9ydGVfYWRkX3RvX2V4ZWN1dGFibGVfY3BwKG1haW4pDQpAQCAtNTgsNiArNjAsOSBAQAogICBpZihNSU5HVykNCiAgICAgI2ZvcmNlIE1JTkdXIHRvIHN0YXRpY2FsbHkgbGluayBsaWJjIGFuZCBsaWIgc3RkYysrIHNvIHRoYXQgbm8gbWluZ3cgZGxscyBhcmUgbmVlZGVkIGZvciBmb3J0ZS5leGUNCiAgICAgZm9ydGVfYWRkX2xpbmtfZmxhZ3MoIi1zdGF0aWMtbGliZ2NjIC1zdGF0aWMtbGlic3RkYysrIikNCisgIGVsc2VpZihNU1ZDKQorICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItd2Q0NTk1IikgICN3YXJuaW5nIDQ1OTU6ICdvcGVyYXRvciBkZWxldGUvZGVsZXRlW10nOiBub24tbWVtYmVyIG9wZXJhdG9yIG5ldyBvciBkZWxldGUgZnVuY3Rpb25zIG1heSBub3QgYmUgZGVjbGFyZWQgaW5saW5lDQorICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItd2Q0MjkwIikgICN3YXJuaW5nIDQyOTA6IEMrKyBleGNlcHRpb24gc3BlY2lmaWNhdGlvbiBpZ25vcmVkIGV4Y2VwdCB0byBpbmRpY2F0ZSBhIGZ1bmN0aW9uIGlzIG5vdCBfX2RlY2xzcGVjKG5vdGhyb3cpLiBBIGZ1bmN0aW9uIGlzIGRlY2xhcmVkIHVzaW5nIGV4Y2VwdGlvbiBzcGVjaWZpY2F0aW9uLCB3aGljaCBWaXN1YWwgQysrIGFjY2VwdHMgYnV0IGRvZXMgbm90IGltcGxlbWVudC4gKGZyb20gbmV3L2RlbGV0ZSB3YXJuaW5nKQ0KICAgZW5kaWYoKQ0KICAgDQogICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUiKQ0KQEAgLTY1LDEwICs3MCwxMCBAQAogICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURfU0NMX1NFQ1VSRV9OT19XQVJOSU5HUyIpDQogICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUyIpDQogICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURfTk9fVzMyX1BTRVVET19NT0RJRklFUlMiKSAgICN0YWtlcyBjYXJlIG9mIElOLCBPVVQgYW5kIE9QVElPTkFMIGluIG1pbmd3DQotICANCisNCiAgIA0KICAgaWYoRk9SVEVfVEVTVFMgQU5EIEZPUlRFX1VTRV9URVNUX0NPTkZJR19JTl9GT1JURSkNCi0gICAgZm9ydGVfYWRkX2RlZmluaXRpb24oIi1EQk9PU1RfVEVTVF9OT19MSUIgLURGT1JURV9VU0VfREVGQVVMVF9ORVdfQU5EX0RFTEVURSIpDQorICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItREJPT1NUX1RFU1RfTk9fTElCIikNCiAgIGVuZGlmKEZPUlRFX1RFU1RTIEFORCBGT1JURV9VU0VfVEVTVF9DT05GSUdfSU5fRk9SVEUpDQogICANCiAgDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvZXh0ZXJudGltZWhhLmNwcCBiL3NyYy9hcmNoL3dpbjMyL2V4dGVybnRpbWVoYS5jcHAKaW5kZXggYmI5OTRiZC4uZDI5YTdjZCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvZXh0ZXJudGltZWhhLmNwcAorKysgYi9zcmMvYXJjaC93aW4zMi9leHRlcm50aW1laGEuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExLCAyMDEzIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBHZXJoYXJkIEViZW5ob2ZlciwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL2V4dGVybnRpbWVoYS5oIGIvc3JjL2FyY2gvd2luMzIvZXh0ZXJudGltZWhhLmgKaW5kZXggYTI1MmNkOC4uYTU5MGU5OSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvZXh0ZXJudGltZWhhLmgKKysrIGIvc3JjL2FyY2gvd2luMzIvZXh0ZXJudGltZWhhLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBHZXJoYXJkIEViZW5ob2ZlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfYXJjaGl0ZWN0dXJlLmNwcCBiL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX2FyY2hpdGVjdHVyZS5jcHAKaW5kZXggYWJiYTk3My4uYzk3ZTdlYyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfYXJjaGl0ZWN0dXJlLmNwcAorKysgYi9zcmMvYXJjaC93aW4zMi9mb3J0ZV9hcmNoaXRlY3R1cmUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcCBiL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX2FyY2hpdGVjdHVyZV90aW1lLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNmYzODI0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuY3BwCkBAIC0wLDAgKzEsMjkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIEFkZHMgZ2V0TmFub1NlY29uZHNNb25vdG9uaWMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8d2luZG93cy5oPgorCisjaW5jbHVkZSAiZm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaCIKKyNpbmNsdWRlICJmb3J0ZV9jb25zdGFudHMuaCIKKwordWludF9mYXN0NjRfdCBnZXROYW5vU2Vjb25kc01vbm90b25pYygpIHsKKyAgTEFSR0VfSU5URUdFUiBwZXJmb3JtYW5jZV9jb3VudGVyOworICBMQVJHRV9JTlRFR0VSIHBlcmZvcm1hbmNlX2ZyZXF1ZW5jeTsKKworICBRdWVyeVBlcmZvcm1hbmNlQ291bnRlcigmcGVyZm9ybWFuY2VfY291bnRlcik7CisgIFF1ZXJ5UGVyZm9ybWFuY2VGcmVxdWVuY3koJnBlcmZvcm1hbmNlX2ZyZXF1ZW5jeSk7CisKKyAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnRfZmFzdDY0X3Q+KHBlcmZvcm1hbmNlX2NvdW50ZXIuUXVhZFBhcnQgKiBmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTmFub3NlY29uZHNQZXJTZWNvbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAvIHBlcmZvcm1hbmNlX2ZyZXF1ZW5jeS5RdWFkUGFydCk7Cit9CisKKwpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfaW5zdGFuY2UuY3BwIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVfaW5zdGFuY2UuY3BwCmluZGV4IDEyYzFlYzQuLmRhYjUzZTIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX2luc3RhbmNlLmNwcAorKysgYi9zcmMvYXJjaC93aW4zMi9mb3J0ZV9pbnN0YW5jZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBKb3NlIENhYnJhbCwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX2luc3RhbmNlLmggYi9zcmMvYXJjaC93aW4zMi9mb3J0ZV9pbnN0YW5jZS5oCmluZGV4IGRjNjMwOWYuLmYxMjgzNTcgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX2luc3RhbmNlLmgKKysrIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVfaW5zdGFuY2UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEpvc2UgQ2FicmFsLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfc2VtLmNwcCBiL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX3NlbS5jcHAKaW5kZXggNGZmNzFkOS4uN2NkNGUzNyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfc2VtLmNwcAorKysgYi9zcmMvYXJjaC93aW4zMi9mb3J0ZV9zZW0uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTggZm9ydGlzcyBHbWJILCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX3NlbS5oIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVfc2VtLmgKaW5kZXggMmFjZjVkZS4uYjBhNTU2ZCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfc2VtLmgKKysrIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVfc2VtLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiwgMjAxOCBmb3J0aXNzIEdtYkgsIFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfc3luYy5jcHAgYi9zcmMvYXJjaC93aW4zMi9mb3J0ZV9zeW5jLmNwcAppbmRleCA2NDNkNTE4Li5kMGFiMDAwIDEwMDY0NAotLS0gYS9zcmMvYXJjaC93aW4zMi9mb3J0ZV9zeW5jLmNwcAorKysgYi9zcmMvYXJjaC93aW4zMi9mb3J0ZV9zeW5jLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEwLCAyMDExLCAyMDE3IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfc3luYy5oIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVfc3luYy5oCmluZGV4IGMzZDk4YWUuLmJkZTBmYTYgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX3N5bmMuaAorKysgYi9zcmMvYXJjaC93aW4zMi9mb3J0ZV9zeW5jLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTMsIDIwMTcgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfdGhyZWFkLmNwcCBiL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX3RocmVhZC5jcHAKaW5kZXggMTM2M2YxMy4uNGE4NzExZSAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfdGhyZWFkLmNwcAorKysgYi9zcmMvYXJjaC93aW4zMi9mb3J0ZV90aHJlYWQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE3IEFDSU4sIFByb2ZhY3RvciBHbWJILCBBSVQsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgVGhvbWFzIFN0cmFzc2VyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL2ZvcnRlX3RocmVhZC5oIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVfdGhyZWFkLmgKaW5kZXggMzFjN2M4ZS4uMWViNmU3ZiAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvZm9ydGVfdGhyZWFkLmgKKysrIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVfdGhyZWFkLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTcgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIEFJVCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBUaG9tYXMgU3RyYXNzZXIgLSBpbml0aWFsIEFQSSBhbmQKZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL2ZvcnRlYWxsb2MuaCBiL3NyYy9hcmNoL3dpbjMyL2ZvcnRlYWxsb2MuaAppbmRleCAxYmQ0NWEyLi40MWY4NTI3IDEwMDY0NAotLS0gYS9zcmMvYXJjaC93aW4zMi9mb3J0ZWFsbG9jLmgKKysrIGIvc3JjL2FyY2gvd2luMzIvZm9ydGVhbGxvYy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNiBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KQEAgLTEyLDExICsxMyw2IEBACiAjaWZuZGVmIEZPUlRFQUxMT0NfSF8NCiAjZGVmaW5lIEZPUlRFQUxMT0NfSF8NCiANCi0vL29uIHdpbjMyIGVudmlyb25tZW50cyB1c2UgZGVmYXVsdCBuZXcgb3BlcmF0b3INCi0jaWZuZGVmIEZPUlRFX1VTRV9ERUZBVUxUX05FV19BTkRfREVMRVRFDQotICAjZGVmaW5lIEZPUlRFX1VTRV9ERUZBVUxUX05FV19BTkRfREVMRVRFDQotI2VuZGlmDQotDQogLy9vbiB3aW4zMiBlbnZpcm9ubWVudHMgd2UgYXJlIHR5cGljYWxseSBoYXBweSB3aXRoIHRoZSBnZW5lcmljIGFsbG9jIGltcGxlbWVudGF0aW9uIGJhc2VkIG9uIG1hbGxvYyBhbmQgZnJlZQ0KICNpbmNsdWRlICIuLi9nZW5mb3J0ZWFsbG9jLmgiDQogDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvbWFpbi5jcHAgYi9zcmMvYXJjaC93aW4zMi9tYWluLmNwcAppbmRleCA1ODVjMGExLi4yMWIzYTE4IDEwMDY0NAotLS0gYS9zcmMvYXJjaC93aW4zMi9tYWluLmNwcAorKysgYi9zcmMvYXJjaC93aW4zMi9tYWluLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTcgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTggQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBHZXJoYXJkIEViZW5ob2ZlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtMTIsNiArMTMsOCBAQAogI2luY2x1ZGUgIi4uL2ZvcnRlX2FyY2hpdGVjdHVyZS5oIg0KICNpbmNsdWRlICIuLi9kZXZsb2cuaCINCiAjaW5jbHVkZSAiLi4vLi4vc3RkZmJsaWIvaXRhL1JNVF9ERVYuaCINCisjaW5jbHVkZSAiLi4vdXRpbHMvbWFpbnBhcmFtX3V0aWxzLmgiDQorDQogI2luY2x1ZGUgPHN0ZGlvLmg+DQogI2luY2x1ZGUgPHNpZ25hbC5oPg0KIA0KQEAgLTU0LDM0ICs1NywyMiBAQAogICBkZWxldGUgcG9EZXY7DQogfQ0KIA0KLS8qIVxicmllZiBMaXN0cyB0aGUgaGVscCBmb3IgRk9SVEUNCi0gKg0KLSAqLw0KLXZvaWQgbGlzdEhlbHAoKXsNCi0gIHByaW50ZigiXG5Vc2FnZSBvZiBGT1JURTpcbiIpOw0KLSAgcHJpbnRmKCIgICAtaFx0IGxpc3RzIHRoaXMgaGVscC5cbiIpOw0KLSAgcHJpbnRmKCJcbiIpOw0KLSAgcHJpbnRmKCIgICAtY1x0IHNldHMgdGhlIGRlc3RpbmF0aW9uIGZvciB0aGUgY29ubmVjdGlvbi5cbiIpOw0KLSAgcHJpbnRmKCIgICAgIFx0IFVzYWdlOiBmb3J0ZSAtYyA8SVA+OjxQb3J0PiIpOw0KLSAgcHJpbnRmKCJcbiIpOw0KLX0NCi0NCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJnW10pew0KIA0KICAgaWYoQ0ZvcnRlQXJjaGl0ZWN0dXJlOjppbml0aWFsaXplKCkpew0KLSAgICBpZihhcmdjIDw9IDEpeyAvLyEgRGVmYXVsdCBWYWx1ZSAobG9jYWxob3N0OjYxNDk5KQ0KLSAgICAgIGNyZWF0ZURldigibG9jYWxob3N0OjYxNDk5Iik7DQorDQorICAgIGNvbnN0IGNoYXIgKnBJcFBvcnQgPSBwYXJzZUNvbW1hbmRMaW5lQXJndW1lbnRzKGFyZ2MsIGFyZyk7DQorICAgIGlmKCgwICE9IHN0cmxlbihwSXBQb3J0KSkgJiYgKE5VTEwgIT0gc3RyY2hyKHBJcFBvcnQsICc6JykpKXsNCisgICAgICBjcmVhdGVEZXYocElwUG9ydCk7DQogICAgIH0NCi0gICAgZWxzZXsNCi0gICAgICBpZihzdHJjbXAoIi1jIiwgYXJnWzFdKSA9PSAwKXsgLy8hIHNldHMgdGhlIGRlc3RpbmF0aW9uIGZvciB0aGUgY29ubmVjdGlvbg0KLSAgICAgICAgY3JlYXRlRGV2KGFyZ1syXSk7DQotICAgICAgfQ0KLSAgICAgIGVsc2V7IC8vISBMaXN0cyB0aGUgaGVscCBmb3IgRk9SVEUNCi0gICAgICAgIGxpc3RIZWxwKCk7DQotICAgICAgfQ0KKyAgICBlbHNleyAvLyEgTGlzdHMgdGhlIGhlbHAgZm9yIEZPUlRFDQorICAgICAgbGlzdEhlbHAoKTsNCiAgICAgfQ0KKw0KICAgICBDRm9ydGVBcmNoaXRlY3R1cmU6OmRlaW5pdGlhbGl6ZSgpOw0KLSAgfWVsc2V7DQorDQorICB9DQorICBlbHNlew0KICAgICBERVZMT0dfRVJST1IoIkFyY2hpdGVjdHVyZSBjb3VsZCBub3QgYmUgaW5pdGlhbGl6ZWRcbiIpOw0KICAgfQ0KICAgcmV0dXJuIDA7DQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvcGN0aW1laGEuY3BwIGIvc3JjL2FyY2gvd2luMzIvcGN0aW1laGEuY3BwCmluZGV4IDVhMWNhYjEuLmE3M2NmYjcgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3dpbjMyL3BjdGltZWhhLmNwcAorKysgYi9zcmMvYXJjaC93aW4zMi9wY3RpbWVoYS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvcGN0aW1laGEuaCBiL3NyYy9hcmNoL3dpbjMyL3BjdGltZWhhLmgKaW5kZXggOTZiZDM0Zi4uMDY2YjgzMyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvcGN0aW1laGEuaAorKysgYi9zcmMvYXJjaC93aW4zMi9wY3RpbWVoYS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwLCAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL3NlcmxheWVyL0NNYWtlTGlzdHMudHh0IGIvc3JjL2FyY2gvd2luMzIvc2VybGF5ZXIvQ01ha2VMaXN0cy50eHQKaW5kZXggMmRiMDkwNy4uYjVhNGY1NCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvc2VybGF5ZXIvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL2FyY2gvd2luMzIvc2VybGF5ZXIvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQorIyBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiBmb3J0ZV9hZGRfbmV0d29ya19sYXllcihTRVIgT0ZGICJzZXIiIENXaW4zMlNlckNvbUxheWVyIGN3aW4zMnNlcmNvbWxheWVyICJFbmFibGUgRm9ydGUgc2VyaWFsIGxpbmUgY29tbXVuaWNhdGlvbiIpDQogaWYoRk9SVEVfQ09NX1NFUikNCmRpZmYgLS1naXQgYS9zcmMvYXJjaC93aW4zMi9zZXJsYXllci9jd2luMzJzZXJjb21oYW5kbGVyLmNwcCBiL3NyYy9hcmNoL3dpbjMyL3NlcmxheWVyL2N3aW4zMnNlcmNvbWhhbmRsZXIuY3BwCmluZGV4IGQ2NGM0NDkuLmY5OWNmOGMgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3dpbjMyL3NlcmxheWVyL2N3aW4zMnNlcmNvbWhhbmRsZXIuY3BwCisrKyBiL3NyYy9hcmNoL3dpbjMyL3NlcmxheWVyL2N3aW4zMnNlcmNvbWhhbmRsZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvc2VybGF5ZXIvY3dpbjMyc2VyY29taGFuZGxlci5oIGIvc3JjL2FyY2gvd2luMzIvc2VybGF5ZXIvY3dpbjMyc2VyY29taGFuZGxlci5oCmluZGV4IDQwMjkyNzYuLjFkMGM4OWIgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3dpbjMyL3NlcmxheWVyL2N3aW4zMnNlcmNvbWhhbmRsZXIuaAorKysgYi9zcmMvYXJjaC93aW4zMi9zZXJsYXllci9jd2luMzJzZXJjb21oYW5kbGVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL3NlcmxheWVyL2N3aW4zMnNlcmNvbWxheWVyLmNwcCBiL3NyYy9hcmNoL3dpbjMyL3NlcmxheWVyL2N3aW4zMnNlcmNvbWxheWVyLmNwcAppbmRleCA5ZTdhNmNjLi41ZjcyYTJlIDEwMDY0NAotLS0gYS9zcmMvYXJjaC93aW4zMi9zZXJsYXllci9jd2luMzJzZXJjb21sYXllci5jcHAKKysrIGIvc3JjL2FyY2gvd2luMzIvc2VybGF5ZXIvY3dpbjMyc2VyY29tbGF5ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE3IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvc2VybGF5ZXIvY3dpbjMyc2VyY29tbGF5ZXIuaCBiL3NyYy9hcmNoL3dpbjMyL3NlcmxheWVyL2N3aW4zMnNlcmNvbWxheWVyLmgKaW5kZXggY2EyNzgyOS4uYjMxYTEzOCAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvc2VybGF5ZXIvY3dpbjMyc2VyY29tbGF5ZXIuaAorKysgYi9zcmMvYXJjaC93aW4zMi9zZXJsYXllci9jd2luMzJzZXJjb21sYXllci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE3IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvc29ja2hhbmQuaCBiL3NyYy9hcmNoL3dpbjMyL3NvY2toYW5kLmgKaW5kZXggZDc5NDMzOS4uYTNhOGVmNyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvc29ja2hhbmQuaAorKysgYi9zcmMvYXJjaC93aW4zMi9zb2NraGFuZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9hcmNoL3dpbjMyL3dpbjMyc29ja2V0aW50ZXJmLmNwcCBiL3NyYy9hcmNoL3dpbjMyL3dpbjMyc29ja2V0aW50ZXJmLmNwcAppbmRleCBmOGMxMDRhLi5mZDFhNTA4IDEwMDY0NAotLS0gYS9zcmMvYXJjaC93aW4zMi93aW4zMnNvY2tldGludGVyZi5jcHAKKysrIGIvc3JjL2FyY2gvd2luMzIvd2luMzJzb2NrZXRpbnRlcmYuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBBSVQsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgR2VyaGFyZCBFYmVuaG9mZXIsIFRob21hcyBTdHJhc3NlcgpkaWZmIC0tZ2l0IGEvc3JjL2FyY2gvd2luMzIvd2luMzJzb2NrZXRpbnRlcmYuaCBiL3NyYy9hcmNoL3dpbjMyL3dpbjMyc29ja2V0aW50ZXJmLmgKaW5kZXggY2FiYzExYy4uMTg2YjU1MyAxMDA2NDQKLS0tIGEvc3JjL2FyY2gvd2luMzIvd2luMzJzb2NrZXRpbnRlcmYuaAorKysgYi9zcmMvYXJjaC93aW4zMi93aW4zMnNvY2tldGludGVyZi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvYXJjaC93aW4zMi93aW5mb3J0ZV9wcmludGVyLmNwcCBiL3NyYy9hcmNoL3dpbjMyL3dpbmZvcnRlX3ByaW50ZXIuY3BwCmluZGV4IDIwMmQ3YjguLjBjYWQ3N2UgMTAwNjQ0Ci0tLSBhL3NyYy9hcmNoL3dpbjMyL3dpbmZvcnRlX3ByaW50ZXIuY3BwCisrKyBiL3NyYy9hcmNoL3dpbjMyL3dpbmZvcnRlX3ByaW50ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvQ01ha2VMaXN0cy50eHQgYi9zcmMvY29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4M2JiMTU3Li42ZTY0OWRkIDEwMDY0NAotLS0gYS9zcmMvY29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvY29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMyArMSwxNCBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNiBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQorIyBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE2IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgNCiAjICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgIE1pY2hlYWwgSG9mbWFubiwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBNb25pa2EgV2VuZ2VyDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICAgTWljaGVhbCBIb2ZtYW5uLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIE1vbmlrYSBXZW5nZXINCiAjICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQogIyAqICAgIE1hcnRpbiBKb2JzdCAtIGFkYXB0IGZvciBMVUEgaW50ZWdyYXRpb24NCiAjICogICAgQWxvaXMgWm9pdGwgLSBpbnRyb2R1Y2VkIG5ldyBDR2VuRkIgY2xhc3MgZm9yIGJldHRlciBoYW5kbGluZyBnZW5lcmljIEZCcw0KQEAgLTI1LDcgKzI2LDcgQEAKIA0KIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoY29ubiAgZGF0YWNvbm4gIGV2ZW50Y29ubikgICAgIA0KIA0KLWZvcnRlX2FkZF9zb3VyY2VmaWxlX2ggICAoZXNmYi5oIGV2ZW50LmggbWdtY21kLmggZm9ydGVub2RlLmggZm9ydGVsaXN0LmggY29udmVydF9mdW5jdGlvbnMuaCBnZW5mYi5oKQ0KK2ZvcnRlX2FkZF9zb3VyY2VmaWxlX2ggICAoZXNmYi5oIGV2ZW50LmggbWdtY21kLmggZm9ydGVub2RlLmggZm9ydGVsaXN0LmggZ2VuZmIuaCkNCiBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKHNpbXBsZWZiIGJhc2ljZmIgY2ZiIGRldmljZSBkZXZleGVjICkNCiBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGV4dGV2aGFuIGZ1bmNibG9jIGZiY29udGFpbmVyIGlmMmluZGNvKQ0KIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAocmVzb3VyY2Ugc3RyaW5nZGljdCB0eXBlbGliIGVjZXQpDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvYWRhcHRlci5jcHAgYi9zcmMvY29yZS9hZGFwdGVyLmNwcAppbmRleCA3YmVjZDQ3Li4wNzIyZThkIDEwMDY0NAotLS0gYS9zcmMvY29yZS9hZGFwdGVyLmNwcAorKysgYi9zcmMvY29yZS9hZGFwdGVyLmNwcApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxNSBBQ0lOLCBmb3J0aXNzIEdtYkgsIDIwMTggVFUgVmllbm5hL0FDSU4KLSogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSoKLSogQ29udHJpYnV0b3JzOgotKiAgICBJbmdvIEhlZ255LCBBbG9pcyBab2l0bAotKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBmaXhlcyBjb25uZWN0LCBwcmVwYXJlcyBmb3Igd29ya2luZyBBbnlBZGFwdGVyCi0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxNSBBQ0lOLCBmb3J0aXNzIEdtYkgsIDIwMTggVFUgVmllbm5hL0FDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgY29ubmVjdCwgcHJlcGFyZXMgZm9yIHdvcmtpbmcgQW55QWRhcHRlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSAiYWRhcHRlci5oIgogI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvYWRhcHRlci5oIGIvc3JjL2NvcmUvYWRhcHRlci5oCmluZGV4IDY3YzNkZTcuLmIyOTg2ODkgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2FkYXB0ZXIuaAorKysgYi9zcmMvY29yZS9hZGFwdGVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTUgQUNJTiwgZm9ydGlzcyBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2FkYXB0ZXJjb25uLmNwcCBiL3NyYy9jb3JlL2FkYXB0ZXJjb25uLmNwcAppbmRleCBjZjU2NzllLi4xODM4YjYyIDEwMDY0NAotLS0gYS9zcmMvY29yZS9hZGFwdGVyY29ubi5jcHAKKysrIGIvc3JjL2NvcmUvYWRhcHRlcmNvbm4uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDggLSAyMDE1IEFDSU4sIGZvcnRpc3MgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwKQEAgLTQ2LDkgKzQ3LDkgQEAKICAgICAgIHR5cGlmeUFueUFkYXB0ZXIoc29ja2V0LCBtUGx1Zyk7CiAKICAgICAgIGlmKChzb2NrZXQtPmlzU29ja2V0KCkpICYmIChzb2NrZXQtPmlzQ29tcGF0aWJsZShtUGx1ZykpKXsKLSAgICAgICAgaWYoKChtUGx1Zy0+Y29ubmVjdChzb2NrZXQsIHRoaXMpKSAmJiAoc29ja2V0LT5jb25uZWN0KG1QbHVnLCB0aGlzKSkpKXsKKyAgICAgICAgaWYobVBsdWctPmNvbm5lY3Qoc29ja2V0LCB0aGlzKSAmJiBzb2NrZXQtPmNvbm5lY3QobVBsdWcsIHRoaXMpKSB7CiAgICAgICAgICAgbVNvY2tldCA9IHNvY2tldDsKLSAgICAgICAgICBhZGREZXN0aW5hdGlvbihTQ29ubmVjdGlvblBvaW50KHBhRHN0RkIsIHBvcnRJZCkpOworICAgICAgICAgIGFkZERlc3RpbmF0aW9uKENDb25uZWN0aW9uUG9pbnQocGFEc3RGQiwgcG9ydElkKSk7CiAgICAgICAgICAgcmV0VmFsID0gZV9SRFk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZXsKQEAgLTc3LDcgKzc4LDcgQEAKIAogICBUUG9ydElkIHBvcnRJZCA9IHBhRHN0RkItPmdldEFkYXB0ZXJQb3J0SWQocGFEc3RQb3J0TmFtZUlkKTsKICAgaWYoY2dfdW5JbnZhbGlkUG9ydElkICE9IHBvcnRJZCl7Ci0gICAgcmV0VmFsID0gQ0Nvbm5lY3Rpb246OnJlbW92ZURlc3RpbmF0aW9uKFNDb25uZWN0aW9uUG9pbnQocGFEc3RGQiwgcG9ydElkKSk7CisgICAgcmV0VmFsID0gQ0Nvbm5lY3Rpb246OnJlbW92ZURlc3RpbmF0aW9uKENDb25uZWN0aW9uUG9pbnQocGFEc3RGQiwgcG9ydElkKSk7CiAgICAgaWYoZV9SRFkgPT0gcmV0VmFsKXsKICAgICAgIHBlcmZvcm1EaXNjb25uZWN0KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvYWRhcHRlcmNvbm4uaCBiL3NyYy9jb3JlL2FkYXB0ZXJjb25uLmgKaW5kZXggYWQzN2ZmYy4uMTc2ZGY0YSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvYWRhcHRlcmNvbm4uaAorKysgYi9zcmMvY29yZS9hZGFwdGVyY29ubi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDggLSAyMDE1IEFDSU4sIGZvcnRpc3MgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIKQEAgLTI3LDkgKzI4LDcgQEAKICAgICB2aXJ0dWFsIEVNR01SZXNwb25zZSBjb25uZWN0KENGdW5jdGlvbkJsb2NrICpwYURzdEZCLCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhRHN0UG9ydE5hbWVJZCk7CiAgICAgdmlydHVhbCBFTUdNUmVzcG9uc2UgY29ubmVjdFRvQ0ZCSW50ZXJmYWNlKENGdW5jdGlvbkJsb2NrICpwYURzdEZCLCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhRHN0UG9ydE5hbWVJZCk7CiAKLSNpZm5kZWYgRk9SVEVfQ0xBU1NfMAogICAgIHZpcnR1YWwgRU1HTVJlc3BvbnNlIGRpc2Nvbm5lY3QoQ0Z1bmN0aW9uQmxvY2sgKnBhRHN0RkIsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFEc3RQb3J0TmFtZUlkKTsKLSNlbmRpZgogCiAgICAgQ0FkYXB0ZXIgKmdldFBsdWcoKXsKICAgICAgIHJldHVybiBtUGx1ZzsKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2FueWFkYXB0ZXIuY3BwIGIvc3JjL2NvcmUvYW55YWRhcHRlci5jcHAKaW5kZXggNDdkMzc4MC4uMGYyOWY0MiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvYW55YWRhcHRlci5jcHAKKysrIGIvc3JjL2NvcmUvYW55YWRhcHRlci5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMsIDIwMTQgZm9ydGlzcyBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lOCiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBBbG9pcyBab2l0bApAQCAtMTcsMTIgKzE4LDEzIEBACiAjaW5jbHVkZSAiYW55YWRhcHRlcl9nZW4uY3BwIgogI2VuZGlmCiAKLURFRklORV9BREFQVEVSX1RZUEUoQ0FueUFkYXB0ZXIsIGdfblN0cmluZ0lkQU5ZX0FEQVBURVIpCitERUZJTkVfR0VORVJJQ19BREFQVEVSX1RZUEUoQ0FueUFkYXB0ZXIsIGdfblN0cmluZ0lkQU5ZX0FEQVBURVIpCiAKIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgQ0FueUFkYXB0ZXI6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9OwogCiBDQW55QWRhcHRlcjo6Q0FueUFkYXB0ZXIoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9hbkFkYXB0ZXJJbnN0YW5jZU5hbWUsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsIGJvb2wgcGFfYklzUGx1ZykgOgotICAgIENBZGFwdGVyKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9hbkFkYXB0ZXJJbnN0YW5jZU5hbWUsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX2JJc1BsdWcsIDAsIDApLCBtX1BhcmVudEZCKDApeworICAgIENBZGFwdGVyKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9hbkFkYXB0ZXJJbnN0YW5jZU5hbWUsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX2JJc1BsdWcsIDAsIDApLCBtX1BhcmVudEZCKDApLAorICAgIG1fblBhcmVudEFkYXB0ZXJsaXN0SUQoMCl7CiAgIG1lbXNldCgmbV9zdEN1cnJlbnRGQkludGVyZmFjZVNwZWMsIDAsIHNpemVvZihTRkJJbnRlcmZhY2VTcGVjKSk7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2FueWFkYXB0ZXIuaCBiL3NyYy9jb3JlL2FueWFkYXB0ZXIuaAppbmRleCBmYWMxOGRhLi43ODdiYzVlIDEwMDY0NAotLS0gYS9zcmMvY29yZS9hbnlhZGFwdGVyLmgKKysrIGIvc3JjL2NvcmUvYW55YWRhcHRlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgZm9ydGlzcyBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvYmFzaWNmYi5jcHAgYi9zcmMvY29yZS9iYXNpY2ZiLmNwcAppbmRleCA5N2ZkMmQzLi4xYmNkOTY5IDEwMDY0NAotLS0gYS9zcmMvY29yZS9iYXNpY2ZiLmNwcAorKysgYi9zcmMvY29yZS9iYXNpY2ZiLmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255Ci0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255CisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgImJhc2ljZmIuaCIKIApAQCAtMjIsMTggKzI0LDE1IEBACiAgICAgICAgIGNtX3BzdFZhckludGVybmFscyhwYV9wc3RWYXJJbnRlcm5hbHMpewogCiAgIG1fYW9JbnRlcm5hbHMgPSAwOwotICBpZigoMCAhPSBjbV9wc3RWYXJJbnRlcm5hbHMpICYmICgwICE9IHBhX2FjQmFzaWNGQlZhcnNEYXRhKSl7Ci0gICAgaWYoY21fcHN0VmFySW50ZXJuYWxzLT5tX25OdW1JbnRWYXJzKXsKLSAgICAgIHBhX2FjQmFzaWNGQlZhcnNEYXRhICs9Ci0gICAgICAgICAgZ2VuRkJWYXJzRGF0YVNpemUobV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXMsIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9uTnVtRE9zLCBtX3BzdEludGVyZmFjZVNwZWMtPm1fbk51bUFkYXB0ZXJzKTsKKyAgaWYoKDAgIT0gY21fcHN0VmFySW50ZXJuYWxzKSAmJiAoY21fcHN0VmFySW50ZXJuYWxzLT5tX25OdW1JbnRWYXJzKSAmJiAoMCAhPSBwYV9hY0Jhc2ljRkJWYXJzRGF0YSkpIHsKKyAgICBwYV9hY0Jhc2ljRkJWYXJzRGF0YSArPSBnZW5GQlZhcnNEYXRhU2l6ZShtX3BzdEludGVyZmFjZVNwZWMtPm1fbk51bURJcywgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1ET3MsIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9uTnVtQWRhcHRlcnMpOwogCi0gICAgICBtX2FvSW50ZXJuYWxzID0gcmVpbnRlcnByZXRfY2FzdDxDSUVDX0FOWSAqPihwYV9hY0Jhc2ljRkJWYXJzRGF0YSk7CisgICAgbV9hb0ludGVybmFscyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Q0lFQ19BTlkgKj4ocGFfYWNCYXNpY0ZCVmFyc0RhdGEpOwogCi0gICAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkICpwbkRhdGFJZHMgPSBjbV9wc3RWYXJJbnRlcm5hbHMtPm1fYXVuSW50VmFyc0RhdGFUeXBlTmFtZXM7Ci0gICAgICBmb3IoaW50IGkgPSAwOyBpIDwgY21fcHN0VmFySW50ZXJuYWxzLT5tX25OdW1JbnRWYXJzOyArK2kpewotICAgICAgICBjcmVhdGVEYXRhUG9pbnQoJnBuRGF0YUlkcywgcGFfYWNCYXNpY0ZCVmFyc0RhdGEpOwotICAgICAgICBwYV9hY0Jhc2ljRkJWYXJzRGF0YSArPSBzaXplb2YoQ0lFQ19BTlkpOwotICAgICAgfQorICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgKnBuRGF0YUlkcyA9IGNtX3BzdFZhckludGVybmFscy0+bV9hdW5JbnRWYXJzRGF0YVR5cGVOYW1lczsKKyAgICBmb3IoaW50IGkgPSAwOyBpIDwgY21fcHN0VmFySW50ZXJuYWxzLT5tX25OdW1JbnRWYXJzOyArK2kpIHsKKyAgICAgIGNyZWF0ZURhdGFQb2ludCgmcG5EYXRhSWRzLCBwYV9hY0Jhc2ljRkJWYXJzRGF0YSk7CisgICAgICBwYV9hY0Jhc2ljRkJWYXJzRGF0YSArPSBzaXplb2YoQ0lFQ19BTlkpOwogICAgIH0KICAgfQogfQpAQCAtNTEsMTEgKzUwLDggQEAKICAgQ0lFQ19BTlkgKnBvUmV0VmFsID0gQ0Z1bmN0aW9uQmxvY2s6OmdldFZhcihwYU5hbWVMaXN0LCBwYU5hbWVMaXN0U2l6ZSk7CiAgIGlmKCgwID09IHBvUmV0VmFsKSAmJiAoMSA9PSBwYU5hbWVMaXN0U2l6ZSkpewogICAgIHBvUmV0VmFsID0gZ2V0SW50ZXJuYWxWYXIoKnBhTmFtZUxpc3QpOwotICAgIGlmKDAgPT0gcG9SZXRWYWwpewotICAgICAgLy9UT0RPIGNvbnNpZGVyIGlmIHRoaXMgY2FuIGFsc28gYmUgYW4gc3RyaW5nIElEIGluIGEgZGlmZmVybnQgd2F5Ci0gICAgICBpZighc3RyY21wKCIkRUNDIiwgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KCpwYU5hbWVMaXN0KSkpeworICAgIGlmKDAgPT0gcG9SZXRWYWwgJiYgIXN0cmNtcCgiJEVDQyIsIENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldCgqcGFOYW1lTGlzdCkpKSB7IC8vVE9ETyBjb25zaWRlciBpZiB0aGlzIGNhbiBhbHNvIGJlIGFuIHN0cmluZyBJRCBpbiBhIGRpZmZlcm50IHdheQogICAgICAgICBwb1JldFZhbCA9ICZtX25FQ0NTdGF0ZTsKLSAgICAgIH0KICAgICB9CiAgIH0KICAgcmV0dXJuIHBvUmV0VmFsOwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvYmFzaWNmYi5oIGIvc3JjL2NvcmUvYmFzaWNmYi5oCmluZGV4IDUzODgzMDEuLjU5MGQ1N2EgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2Jhc2ljZmIuaAorKysgYi9zcmMvY29yZS9iYXNpY2ZiLmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEd1bm5hciBHcmFibWFpciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255Ci0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgR3VubmFyIEdyYWJtYWlyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9CQVNJQ0ZCX0hfCiAjZGVmaW5lIF9CQVNJQ0ZCX0hfCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NmYi5jcHAgYi9zcmMvY29yZS9jZmIuY3BwCmluZGV4IDc3MmM0NDIuLjgxODUzYTMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NmYi5jcHAKKysrIGIvc3JjL2NvcmUvY2ZiLmNwcApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEd1bm5hciBHcmFibWFpZXIsIEdlcmhhcmQgRWJlbmhvZmVyLAotICAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255Ci0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEd1bm5hciBHcmFibWFpZXIsIEdlcmhhcmQgRWJlbmhvZmVyLAorICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnkKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSAiY2ZiLmgiCiAjaW5jbHVkZSAiYWRhcHRlci5oIgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY2ZiLmggYi9zcmMvY29yZS9jZmIuaAppbmRleCA2Zjk1ZTIzLi43YjFmYWE3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9jZmIuaAorKysgYi9zcmMvY29yZS9jZmIuaApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR3VubmFyIEdyYWJtYWllciwgR2VyaGFyZCBFYmVuaG9mZXIsDQotICAqICAgIEluZ28gSGVnbnkNCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR3VubmFyIEdyYWJtYWllciwgR2VyaGFyZCBFYmVuaG9mZXIsDQorICogICAgSW5nbyBIZWdueQ0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpZm5kZWYgX0NGQl9IXw0KICNkZWZpbmUgX0NGQl9IXw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL0NNYWtlTGlzdHMudHh0IGIvc3JjL2NvcmUvY29taW5mcmEvQ01ha2VMaXN0cy50eHQKaW5kZXggZDM4YTI2My4uYWQ5ZDBjZSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29taW5mcmEvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL2NvcmUvY29taW5mcmEvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTYgKzEsMTggQEAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotICAjIENvcHlyaWdodCAoYykgMjAxMC0yMDE0IGZvcnRpc3MsIFRVIFdpZW4gQUNJTiBhbmQgUHJvZmFjdG9yIEdtYkguDQotICAjIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAjIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAjDQotICAjIENvbnRyaWJ1dG9yczoNCi0gICMgICAgQWxvaXMgWm9pdGwsIE1pY2hhZWwgSG9mbWFubg0KLSAgIyAgICAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICMgICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zLCBNb25pa2EgV2VuZ2VyDQotICAjICAgICAgLSBhZGQgcmF3IGNvbW11bmljYXRpb24gbGF5ZXIgZm9yIE9ORSBTVFJJTkcgaW5wdXQgYW5kIE9ORSBTVFJJTkcgb3V0cHV0DQotICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgQ29weXJpZ2h0IChjKSAyMDEwLTIwMTQgZm9ydGlzcywgVFUgV2llbiBBQ0lOIGFuZCBQcm9mYWN0b3IgR21iSC4NCisjDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisjDQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMNCisjIENvbnRyaWJ1dG9yczoNCisjICAgIEFsb2lzIFpvaXRsLCBNaWNoYWVsIEhvZm1hbm4NCisjICAgICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyMgICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zLCBNb25pa2EgV2VuZ2VyDQorIyAgICAgIC0gYWRkIHJhdyBjb21tdW5pY2F0aW9uIGxheWVyIGZvciBPTkUgU1RSSU5HIGlucHV0IGFuZCBPTkUgU1RSSU5HIG91dHB1dA0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICANCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICMgQ29yZQ0KQEAgLTE4LDEyICsyMCwxMiBAQAogZm9ydGVfYWRkX2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQ0KIA0KIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2goY29tdHlwZXMuaCBjb21sYXllcnNtYW5hZ2VyLmgpDQotZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChiYXNlY29tbWZiIGNvbW1mYiBjb21sYXllciBjb21sYXllcl9hc3luYykNCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGJhc2Vjb21tZmIgY29tbWZiIGNvbWxheWVyKQ0KIA0KICMgV2lsbCBiZSBjcmVhdGVkIGluIHRvcC1sZXZlbC1jbWFrZS1maWxlDQogZm9ydGVfYWRkX3NvdXJjZWZpbGVfd2l0aF9wYXRoX2NwcCgke0NNQUtFX0JJTkFSWV9ESVJ9L2NvcmUvY29taW5mcmEvY29tbGF5ZXJzbWFuYWdlci5jcHApICMgY3JlYXRlZCBmaWxlDQogDQorZm9ydGVfYWRkX25ldHdvcmtfbGF5ZXIoRVRIIE9OICJpcCIgQ0lQQ29tTGF5ZXIgaXBjb21sYXllciAiRW5hYmxlIEZvcnRlIENvbSBFdGhlcm5ldCIpICNhZGRpbmcgdGhpcyBmaXJzdCB3ZSBtYWtlIHN1cmUgdGhhdCBzb2NraGFuZC5oIGlzIGluY2x1ZGVkIGZpcnN0DQogZm9ydGVfYWRkX25ldHdvcmtfbGF5ZXIoRkJESyBPTiAiZmJkayIgQ0ZCREtBU04xQ29tTGF5ZXIgZmJka2FzbjFsYXllciAiRW5hYmxlIEZvcnRlIENvbSBGQkRLIikNCi1mb3J0ZV9hZGRfbmV0d29ya19sYXllcihFVEggT04gImlwIiBDSVBDb21MYXllciBpcGNvbWxheWVyICJFbmFibGUgRm9ydGUgQ29tIEV0aGVybmV0IikNCiBmb3J0ZV9hZGRfbmV0d29ya19sYXllcihMT0NBTCBPTiAibG9jIiBDTG9jYWxDb21MYXllciBsb2NhbGNvbWxheWVyICJFbmFibGUgRm9ydGUgbG9jYWwgY29tbXVuaWNhdGlvbiIpDQogZm9ydGVfYWRkX25ldHdvcmtfbGF5ZXIoUkFXIE9OICJyYXciIENSYXdEYXRhQ29tTGF5ZXIgcmF3ZGF0YWNvbWxheWVyICJFbmFibGUgRm9ydGUgcmF3IGNvbW11bmljYXRpb24iKQ0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL2Jhc2Vjb21tZmIuY3BwIGIvc3JjL2NvcmUvY29taW5mcmEvYmFzZWNvbW1mYi5jcHAKaW5kZXggNmJlMWFjZi4uOWViMTE3ZSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29taW5mcmEvYmFzZWNvbW1mYi5jcHAKKysrIGIvc3JjL2NvcmUvY29taW5mcmEvYmFzZWNvbW1mYi5jcHAKQEAgLTEsMTggKzEsMjAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA2LTIwMTQgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICAqICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5LCAyMDE4IFRVIFdpZW4vQUNJTgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgUmVuZSBTbW9kaWMsIEFsb2lzIFpvaXRsLCBNaWNoYWVsIEhvZm1hbm4sIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLAotICAqICAgIFBhdHJpY2sgU21lamthbAotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqICAgIEFsb2lzIFpvaXRsIC0gaW50cm9kdWNlZCBuZXcgQ0dlbkZCIGNsYXNzIGZvciBiZXR0ZXIgaGFuZGxpbmcgZ2VuZXJpYyBGQnMKLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIHJlbW92ZXMgdXNhZ2Ugb2YgdW5zZWN1cmUgZnVuY3Rpb24KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNi0yMDE0IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKKyAqICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5LCAyMDE4IFRVIFdpZW4vQUNJTgorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgUmVuZSBTbW9kaWMsIEFsb2lzIFpvaXRsLCBNaWNoYWVsIEhvZm1hbm4sIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLAorICogICAgUGF0cmljayBTbWVqa2FsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIEFsb2lzIFpvaXRsIC0gaW50cm9kdWNlZCBuZXcgQ0dlbkZCIGNsYXNzIGZvciBiZXR0ZXIgaGFuZGxpbmcgZ2VuZXJpYyBGQnMKKyAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gcmVtb3ZlcyB1c2FnZSBvZiB1bnNlY3VyZSBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNpbmNsdWRlICJiYXNlY29tbWZiLmgiCiAjaW5jbHVkZSAiY29tbGF5ZXIuaCIKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL2Jhc2Vjb21tZmIuaCBiL3NyYy9jb3JlL2NvbWluZnJhL2Jhc2Vjb21tZmIuaAppbmRleCAyNTg5YzUwLi41YjczMjMzIDEwMDY0NAotLS0gYS9zcmMvY29yZS9jb21pbmZyYS9iYXNlY29tbWZiLmgKKysrIGIvc3JjL2NvcmUvY29taW5mcmEvYmFzZWNvbW1mYi5oCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2LTIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgUmVuZSBTbW9kaWMsIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIE1pY2hhZWwgSG9mbWFubiwKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbUNhbGxiYWNrLmggYi9zcmMvY29yZS9jb21pbmZyYS9jb21DYWxsYmFjay5oCmluZGV4IDI3YzEwMDUuLjVlNjU1NmYgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbUNhbGxiYWNrLmgKKysrIGIvc3JjL2NvcmUvY29taW5mcmEvY29tQ2FsbGJhY2suaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29taW5mcmEvY29tbGF5ZXIuY3BwIGIvc3JjL2NvcmUvY29taW5mcmEvY29tbGF5ZXIuY3BwCmluZGV4IGIzNDk5ZDUuLjkxOTkwODggMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbWxheWVyLmNwcAorKysgYi9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllci5jcHAKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAxMC0yMDE0IGZvcnRpc3MsIFRVIFdpZW4gQUNJTiBhbmQgUHJvZmFjdG9yIEdtYkguDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKiAgICBNaWNoYWVsIEhvZm1hbm4gLSByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxNCBmb3J0aXNzLCBUVSBXaWVuIEFDSU4gYW5kIFByb2ZhY3RvciBHbWJILg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqICAgIE1pY2hhZWwgSG9mbWFubiAtIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgImNvbWxheWVyLmgiDQogI2luY2x1ZGUgImNvbW1mYi5oIg0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbWxheWVyLmggYi9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllci5oCmluZGV4IDZhNGM3YjIuLjlmNjU3NzMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbWxheWVyLmgKKysrIGIvc3JjL2NvcmUvY29taW5mcmEvY29tbGF5ZXIuaApAQCAtMSwxNiArMSwxOCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDEwLTIwMTQgZm9ydGlzcywgVFUgV2llbiBBQ0lOIGFuZCBQcm9mYWN0b3IgR21iSC4NCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqICAgIE1pY2hhZWwgSG9mbWFubiAtIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqICAgIEluZ28gSGVnbnkgLSBmaXggZG94eWdlbi1kb2N1bWVudGF0aW9uIGluY29uc2lzdGVuY2llcw0KLSAgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZCBzZXJpYWwgY29tbXVuaWNhdGlvbiBsYXllciBmb3IgT05FIGlucHV0IGFuZCBPTkUgb3V0cHV0DQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAxMC0yMDE0IGZvcnRpc3MsIFRVIFdpZW4gQUNJTiBhbmQgUHJvZmFjdG9yIEdtYkguDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICogICAgTWljaGFlbCBIb2ZtYW5uIC0gcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKiAgICBJbmdvIEhlZ255IC0gZml4IGRveHlnZW4tZG9jdW1lbnRhdGlvbiBpbmNvbnNpc3RlbmNpZXMNCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZCBzZXJpYWwgY29tbXVuaWNhdGlvbiBsYXllciBmb3IgT05FIGlucHV0IGFuZCBPTkUgb3V0cHV0DQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfQ09NTEFZRVJfSF8NCiAjZGVmaW5lIF9DT01MQVlFUl9IXw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbWxheWVyX2FzeW5jLmNwcCBiL3NyYy9jb3JlL2NvbWluZnJhL2NvbWxheWVyX2FzeW5jLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzIzNmQ0Yi4uMDAwMDAwMAotLS0gYS9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllcl9hc3luYy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3NSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkguCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBTdGVmYW4gUHJvZmFudGVyIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0jaW5jbHVkZSAiY29tbGF5ZXJfYXN5bmMuaCIKLSNpbmNsdWRlIDxkZXZsb2cuaD4KLSNpbmNsdWRlIDxjcml0aWNhbHJlZ2lvbi5oPgotCi1mb3J0ZTo6Y29tX2luZnJhOjpDQ29tTGF5ZXJBc3luYzo6Q0NvbUxheWVyQXN5bmMoZm9ydGU6OmNvbV9pbmZyYTo6Q0NvbUxheWVyICpwYV9wb1VwcGVyTGF5ZXIsIGZvcnRlOjpjb21faW5mcmE6OkNCYXNlQ29tbUZCICpwYV9wb0NvbUZCKSA6Ci0gICAgQ0NvbUxheWVyKHBhX3BvVXBwZXJMYXllciwgcGFfcG9Db21GQiksIG1DdXJyZW50Q2FsbElkKDApewotCi19Ci0KLWZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllckFzeW5jOjp+Q0NvbUxheWVyQXN5bmMoKSB7Ci0gIHNldEFsaXZlKGZhbHNlKTsKLSAgbVN1c3BlbmRTZW1hcGhvcmUuaW5jKCk7Ci19Ci0KLXZvaWQgZm9ydGU6OmNvbV9pbmZyYTo6Q0NvbUxheWVyQXN5bmM6OnJ1bigpIHsKLSAgd2hpbGUoaXNBbGl2ZSgpKXsKLQotICAgIG1TdXNwZW5kU2VtYXBob3JlLndhaXRJbmRlZmluaXRlbHkoKTsKLQotICAgIHdoaWxlIChpc0FsaXZlKCkgJiYgIW1Bc3luY0NhbGxzLmlzRW1wdHkoKSkgewotICAgICAgU0FzeW5jRGF0YSBmaXJzdCgqbUFzeW5jQ2FsbHMuYmVnaW4oKSk7Ci0gICAgICBmaXJzdC5tUmVzdWx0ID0gaGFuZGxlQXN5bmNDYWxsKGZpcnN0Lm1DYWxsSWQsIGZpcnN0Lm1QYXlsb2FkKTsKLSAgICAgIHsKLSAgICAgICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1Bc3luY1Jlc3VsdHNNdXRleCk7Ci0gICAgICAgIG1Bc3luY1Jlc3VsdHMucHVzaEJhY2soZmlyc3QpOwotICAgICAgfQotICAgICAgaGFuZGxlQXN5bmNFdmVudCgpOwotICAgICAgbUFzeW5jQ2FsbHMucG9wRnJvbnQoKTsKLSAgICB9Ci0gIH0KLX0KLQotdW5zaWduZWQgaW50IGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllckFzeW5jOjpjYWxsQXN5bmModm9pZCAqcGF5bG9hZCkgewotICBpZiAoIWlzQWxpdmUoKSkgewotICAgIERFVkxPR19FUlJPUigic3RhcnQoKSBoYXMgdG8gYmUgY2FsbGVkIGJlZm9yZSBjYWxsQXN5bmNcbiIpOwotICAgIHJldHVybiAwOwotICB9Ci0KLSAgbUN1cnJlbnRDYWxsSWQrKzsKLSAgaWYgKG1DdXJyZW50Q2FsbElkID09IDApewotICAgIC8vIGhhbmRsZSBvdmVyZmxvdy4gRG8gbm90IHJldHVybiAwCi0gICAgbUN1cnJlbnRDYWxsSWQgPSAxOwotICB9Ci0gIG1Bc3luY0NhbGxzLnB1c2hCYWNrKFNBc3luY0RhdGEobUN1cnJlbnRDYWxsSWQsIHBheWxvYWQsIDApKTsKLSAgbVN1c3BlbmRTZW1hcGhvcmUuaW5jKCk7Ci0gIHJldHVybiBtQ3VycmVudENhbGxJZDsKLX0KLQotZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllckFzeW5jOjpwcm9jZXNzSW50ZXJydXB0KCkgewotICBpZiAobUFzeW5jUmVzdWx0cy5pc0VtcHR5KCkpCi0gICAgcmV0dXJuIHByb2Nlc3NJbnRlcnJ1cHRDaGlsZCgpOwotCi0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtQXN5bmNSZXN1bHRzTXV0ZXgpOwotICB3aGlsZSAoaXNBbGl2ZSgpICYmICFtQXN5bmNSZXN1bHRzLmlzRW1wdHkoKSkgewotICAgIGNvbnN0IFNBc3luY0RhdGEgJnZhbHVlID0gKihtQXN5bmNSZXN1bHRzLmJlZ2luKCkpOwotICAgIGhhbmRsZUFzeW5jQ2FsbFJlc3VsdCh2YWx1ZS5tQ2FsbElkLCB2YWx1ZS5tUGF5bG9hZCwgdmFsdWUubVJlc3VsdCk7Ci0gICAgbUFzeW5jUmVzdWx0cy5wb3BGcm9udCgpOwotICB9Ci0gIHJldHVybiBwcm9jZXNzSW50ZXJydXB0Q2hpbGQoKTsKLX0KLQotZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllckFzeW5jOjpwcm9jZXNzSW50ZXJydXB0Q2hpbGQoKSB7Ci0gIHJldHVybiBlX1Byb2Nlc3NEYXRhT2s7Ci19CmRpZmYgLS1naXQgYS9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllcl9hc3luYy5oIGIvc3JjL2NvcmUvY29taW5mcmEvY29tbGF5ZXJfYXN5bmMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWZkMjQzOS4uMDAwMDAwMAotLS0gYS9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllcl9hc3luYy5oCisrKyAvZGV2L251bGwKQEAgLTEsNzIgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJILgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgU3RlZmFuIFByb2ZhbnRlciAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotCi0jaWZuZGVmIEZPUlRFX0NPTUxBWUVSX0FTWU5DX0gKLSNkZWZpbmUgRk9SVEVfQ09NTEFZRVJfQVNZTkNfSAotCi0jaW5jbHVkZSAiY29tbGF5ZXIuaCIKLSNpbmNsdWRlICIuLi9leHRldmhhbi5oIgotI2luY2x1ZGUgIi4uL2ZvcnRlbGlzdC5oIgotI2luY2x1ZGUgPGZvcnRlX3RocmVhZC5oPgotI2luY2x1ZGUgPGZvcnRlX3N5bmMuaD4KLSNpbmNsdWRlIDxmb3J0ZV9zZW0uaD4KLQotbmFtZXNwYWNlIGZvcnRlIHsKLSAgbmFtZXNwYWNlIGNvbV9pbmZyYSB7Ci0KLQotICAgIGNsYXNzIENDb21MYXllckFzeW5jOiBwdWJsaWMgQ0NvbUxheWVyLCBwcm90ZWN0ZWQgQ1RocmVhZHsKLSAgICBwdWJsaWM6Ci0gICAgICB2aXJ0dWFsIH5DQ29tTGF5ZXJBc3luYygpOwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgQ0NvbUxheWVyQXN5bmMoQ0NvbUxheWVyKiBwYV9wb1VwcGVyTGF5ZXIsIENCYXNlQ29tbUZCKiBwYV9wb0NvbUZCKTsKLSAgICAgIHZpcnR1YWwgdm9pZCBydW4oKTsKLQotICAgICAgdW5zaWduZWQgaW50IGNhbGxBc3luYyh2b2lkICpwYXlsb2FkKTsKLQotICAgICAgdmlydHVhbCB2b2lkKiBoYW5kbGVBc3luY0NhbGwoY29uc3QgdW5zaWduZWQgaW50IGNhbGxJZCwgdm9pZCAqcGF5bG9hZCkgPSAwOwotCi0gICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXN5bmNDYWxsUmVzdWx0KGNvbnN0IHVuc2lnbmVkIGludCBjYWxsSWQsIHZvaWQgKnBheWxvYWQsIHZvaWQgKnJlc3VsdCkgPSAwOwotCi0gICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXN5bmNFdmVudCgpID0gMDsKLQotICAgICAgdmlydHVhbCBFQ29tUmVzcG9uc2UgcHJvY2Vzc0ludGVycnVwdENoaWxkKCk7Ci0KLSAgICBwcml2YXRlOgotICAgICAgdmlydHVhbCBFQ29tUmVzcG9uc2UgcHJvY2Vzc0ludGVycnVwdCgpOwotCi0gICAgICBzdHJ1Y3QgU0FzeW5jRGF0YSB7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBtQ2FsbElkOwotICAgICAgICB2b2lkICptUGF5bG9hZDsKLSAgICAgICAgdm9pZCAqbVJlc3VsdDsKLQotICAgICAgICBTQXN5bmNEYXRhKHVuc2lnbmVkIGludCBwYUNhbGxJZCwgdm9pZCAqcGFQYXlsb2FkLCB2b2lkICpwYVJlc3VsdCkgOgotICAgICAgICAgICAgbUNhbGxJZChwYUNhbGxJZCksIG1QYXlsb2FkKHBhUGF5bG9hZCksIG1SZXN1bHQocGFSZXN1bHQpewotICAgICAgICB9Ci0gICAgICB9OwotCi0KLSAgICAgIHR5cGVkZWYgQ1NpbmdseUxpbmtlZExpc3Q8U0FzeW5jRGF0YT4gVEFzeW5jaERhdGFMaXN0OwotICAgICAgVEFzeW5jaERhdGFMaXN0IG1Bc3luY0NhbGxzOwotICAgICAgVEFzeW5jaERhdGFMaXN0IG1Bc3luY1Jlc3VsdHM7Ci0gICAgICB1bnNpZ25lZCBpbnQgbUN1cnJlbnRDYWxsSWQ7Ci0KLQotICAgICAgQ1N5bmNPYmplY3QgbUFzeW5jUmVzdWx0c011dGV4OwotICAgICAgQ1NlbWFwaG9yZSBtU3VzcGVuZFNlbWFwaG9yZTsKLSAgICB9OwotCi0gIH0KLX0KLQotI2VuZGlmIC8vRk9SVEVfQ09NTEFZRVJfQVNZTkNfSApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29taW5mcmEvY29tbGF5ZXJzbWFuYWdlci5jcHAuaW4gYi9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllcnNtYW5hZ2VyLmNwcC5pbgppbmRleCA0MDA2MDNmLi4zODM2ZTM2IDEwMDY0NAotLS0gYS9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllcnNtYW5hZ2VyLmNwcC5pbgorKysgYi9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllcnNtYW5hZ2VyLmNwcC5pbgpAQCAtMSwxOCArMSwyMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDEwLCAyMDExIEFDSU4gYW5kIFByb2ZhY3RvciBHbWJILg0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICogICAgSW5nbyBIZWdueSAtIG1vdmVkIGVuY29kaW5nIG9mIGFkYXB0ZXItZXZlbnQtaWRzIHRvIGEgc2luZ2xlIHBvaW50DQotICAqICAgIE1pY2hhZWwgSG9mbWFubiAtIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAxMCwgMjAxMSBBQ0lOIGFuZCBQcm9mYWN0b3IgR21iSC4NCisgKiAgICAgDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wICANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICogICAgSW5nbyBIZWdueSAtIG1vdmVkIGVuY29kaW5nIG9mIGFkYXB0ZXItZXZlbnQtaWRzIHRvIGEgc2luZ2xlIHBvaW50DQorICogICAgTWljaGFlbCBIb2ZtYW5uIC0gcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisNCiAjaW5jbHVkZSA8Zm9ydGVuZXcuaD4NCiAjaW5jbHVkZSAiY29tbGF5ZXJzbWFuYWdlci5oIg0KLSNpbmNsdWRlICJiYXNlY29tbWZiLmgiDQogI2luY2x1ZGUgPHN0cmluZy5oPg0KIA0KICR7TEFZRVJNQU5BR0VSX0lOQ0xVREV9DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29taW5mcmEvY29tbGF5ZXJzbWFuYWdlci5oIGIvc3JjL2NvcmUvY29taW5mcmEvY29tbGF5ZXJzbWFuYWdlci5oCmluZGV4IDAxYTgxNDQuLjhhN2EyMzAgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbWxheWVyc21hbmFnZXIuaAorKysgYi9zcmMvY29yZS9jb21pbmZyYS9jb21sYXllcnNtYW5hZ2VyLmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTEgVFUgV2llbiBBQ0lOIGFuZCBQcm9mYWN0b3IgR21iSC4NCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqICAgIE1pY2hhZWwgSG9mbWFubiAtIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUgYmFzZWQgb24gbGF5ZXINCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMSBUVSBXaWVuIEFDSU4gYW5kIFByb2ZhY3RvciBHbWJILg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqICAgIE1pY2hhZWwgSG9mbWFubiAtIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUgYmFzZWQgb24gbGF5ZXINCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaWZuZGVmIF9DT01MQVlFUlNNQU5BR0VSX0hfDQogI2RlZmluZSBfQ09NTEFZRVJTTUFOQUdFUl9IXw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbW1mYi5jcHAgYi9zcmMvY29yZS9jb21pbmZyYS9jb21tZmIuY3BwCmluZGV4IDllMGY0MzAuLjBmNjFhZDcgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NvbWluZnJhL2NvbW1mYi5jcHAKKysrIGIvc3JjL2NvcmUvY29taW5mcmEvY29tbWZiLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNi0yMDE0IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIFJlbmUgU21vZGljLCBBbG9pcyBab2l0bCwgTWljaGFlbCBIb2ZtYW5uLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywKQEAgLTUyLDEwICs1MywxMCBAQAogICByZXR1cm4gcmV0VmFsOwogfQogCi12b2lkIENDb21tRkI6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpIHsKK3ZvaWQgQ0NvbW1GQjo6ZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpIHsKICAgRUNvbVJlc3BvbnNlIHJlc3AgPSBlX05vdGhpbmc7CiAKLSAgc3dpdGNoIChwYV9uRUlJRCkgeworICBzd2l0Y2ggKHBhRUlJRCkgewogICBjYXNlIHNjbV9uRXZlbnRJTklUSUQ6CiAgICAgaWYgKHRydWUgPT0gUUkoKSkgewogICAgICAgcmVzcCA9IG9wZW5Db25uZWN0aW9uKCk7CkBAIC03NSwxMiArNzYsMTEgQEAKICAgICBicmVhazsKICAgfQogCi0gIGlmIChyZXNwICYgZV9UZXJtaW5hdGVkKSB7Ci0gICAgaWYgKG1fZUNvbW1TZXJ2aWNlVHlwZSA9PSBlX1NlcnZlcikgeworICBpZihyZXNwICYgZV9UZXJtaW5hdGVkKSB7CisgICAgaWYobV9lQ29tbVNlcnZpY2VUeXBlID09IGVfU2VydmVyICYmIHNjbV9uRXZlbnRJTklUSUQgIT0gcGFFSUlEKSB7IC8vaWYgZV9UZXJtaW5hdGVkIGhhcHBlbmVkIGluIElOSVQgZXZlbnQsIHNlcnZlciBzaG91bGRuJ3QgYmUgc2lsZW50CiAgICAgICAvL3NlcnZlcnMgd2lsbCBub3Qgc2VuZCBpbmZvcm1hdGlvbiBvbiBjbGllbnQgdGVybWluYXRpb24gYW5kIHNob3VsZCBzaWxlbnRseSBzdGFydCB0byBsaXN0ZW4gYWdhaW4KICAgICAgIHJlc3AgPSBlX05vdGhpbmc7Ci0gICAgfQotICAgIGVsc2UgeworICAgIH0gZWxzZSB7CiAgICAgICAvL3N1YnNjcmliZXJzIGFuZCBjbGllbnRzIHdpbGwgY2xvc2UgdGhlIGNvbm5lY3Rpb24gYW5kIGluZm9ybSB0aGUgdXNlcgogICAgICAgY2xvc2VDb25uZWN0aW9uKCk7CiAgICAgfQpAQCAtMTM5LDcgKzEzOSw3IEBACiAgICAgICBicmVhazsKICAgICB9CiAgIH0KLSAgaWYgKDAgIT0gc1BhcmFtQSkgLy8gc2VhcmNoIGZvciAybmQgdW5kZXJzY29yZQorICBpZigwICE9IHNQYXJhbUEpIHsgLy8gc2VhcmNoIGZvciAybmQgdW5kZXJzY29yZQogICAgIGZvciAoaSA9IGkgKyAxOyBpIDwgaW5sZW5ndGggLSAxOyBpKyspIHsKICAgICAgIGlmICh0ZW1wc3RyaW5nW2ldID09ICdfJykgewogICAgICAgICB0ZW1wc3RyaW5nW2ldID0gJ1wwJzsKQEAgLTE0Nyw3ICsxNDcsNyBAQAogICAgICAgICBicmVhazsKICAgICAgIH0KICAgICB9Ci0KKyAgfQogICBpZiAoMCA9PSBzUGFyYW1CKXsgLy8gbm8gdW5kZXJzY29yZSBmb3VuZAogICAgIHJldHVybiBmYWxzZTsKICAgfQpAQCAtMjEwLDExICsyMTAsMTEgQEAKIAogICAgIGRpRGF0YVR5cGVOYW1lc1swXSA9IGdfblN0cmluZ0lkQk9PTDsKICAgICBkaU5hbWVzWzBdID0gZ19uU3RyaW5nSWRRSTsKLSAgI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCisjaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUKICAgICBkaURhdGFUeXBlTmFtZXNbMV0gPSBnX25TdHJpbmdJZFdTVFJJTkc7Ci0gICNlbHNlCisjZWxzZSAvL0ZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCiAgICAgZGlEYXRhVHlwZU5hbWVzWzFdID0gZ19uU3RyaW5nSWRTVFJJTkc7Ci0gICNlbmRpZgorI2VuZGlmIC8vRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUKICAgICBkaU5hbWVzWzFdID0gZ19uU3RyaW5nSWRJRDsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29taW5mcmEvY29tbWZiLmggYi9zcmMvY29yZS9jb21pbmZyYS9jb21tZmIuaAppbmRleCBjODdjNzMyLi5jYmI1OWY3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9jb21pbmZyYS9jb21tZmIuaAorKysgYi9zcmMvY29yZS9jb21pbmZyYS9jb21tZmIuaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNi0yMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIFJlbmUgU21vZGljLCBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBNaWNoYWVsIEhvZm1hbm4sCmRpZmYgLS1naXQgYS9zcmMvY29yZS9jb21pbmZyYS9jb210eXBlcy5oIGIvc3JjL2NvcmUvY29taW5mcmEvY29tdHlwZXMuaAppbmRleCBkNGVlYWQ5Li44Mjk5NjJlIDEwMDY0NAotLS0gYS9zcmMvY29yZS9jb21pbmZyYS9jb210eXBlcy5oCisrKyBiL3NyYy9jb3JlL2NvbWluZnJhL2NvbXR5cGVzLmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAxMC0yMDEzIFRVIFdpZW4gQUNJTi4NCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4IHR5cG8gaW4gZm9ydGU6OmNvbV9pbmZyYTo6RUNvbUNvbm5lY3Rpb25TdGF0ZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxMyBUVSBXaWVuIEFDSU4uDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBmaXggdHlwbyBpbiBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tQ29ubmVjdGlvblN0YXRlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfQ09NVFlQRVNfSF8NCiAjZGVmaW5lIF9DT01UWVBFU19IXw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXIuY3BwIGIvc3JjL2NvcmUvY29taW5mcmEvZmJka2FzbjFsYXllci5jcHAKaW5kZXggMGFmMmU2My4uZGVhOWVlZSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29taW5mcmEvZmJka2FzbjFsYXllci5jcHAKKysrIGIvc3JjL2NvcmUvY29taW5mcmEvZmJka2FzbjFsYXllci5jcHAKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAxMC0yMDEzIFRVIFdpZW4gQUNJTiwgUHJvZmFjdG9yIEdtYkgsIG54dENvbnRyb2wgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNaWNoYWVsIEhvZm1hbm4sIFN0YW5pc2xhdiBNZWR1bmEsDQotICAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZSwgYnVnIGZpeGVzDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAxMC0yMDEzIFRVIFdpZW4gQUNJTiwgUHJvZmFjdG9yIEdtYkgsIG54dENvbnRyb2wgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIE1pY2hhZWwgSG9mbWFubiwgU3RhbmlzbGF2IE1lZHVuYSwNCisgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucw0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZSwgYnVnIGZpeGVzDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgImZiZGthc24xbGF5ZXIuaCINCiAjaW5jbHVkZSAiYmFzZWNvbW1mYi5oIg0KICNpbmNsdWRlICIuLi8uLi9hcmNoL3RpbWVyaGEuaCINCkBAIC0xMjMsOCArMTI1LDggQEAKICAgcmV0dXJuIGVSZXRWYWw7DQogfQ0KIA0KLUVDb21SZXNwb25zZSBDRkJES0FTTjFDb21MYXllcjo6cmVjdkRhdGEoY29uc3Qgdm9pZCAqcGFfcHZEYXRhLCB1bnNpZ25lZCBpbnQgcGFfdW5TaXplKXsNCi0gIFRGb3J0ZUJ5dGUgKnJlY3ZEYXRhID0gKFRGb3J0ZUJ5dGUgKikgcGFfcHZEYXRhOw0KK0VDb21SZXNwb25zZSBDRkJES0FTTjFDb21MYXllcjo6cmVjdkRhdGEoY29uc3Qgdm9pZCAqcGFEYXRhLCB1bnNpZ25lZCBpbnQgcGFTaXplKXsNCisgIFRGb3J0ZUJ5dGUgKnJlY2VpdmVkRGF0YSA9IGNvbnN0X2Nhc3Q8VEZvcnRlQnl0ZSo+KHN0YXRpY19jYXN0PGNvbnN0IFRGb3J0ZUJ5dGUgKj4ocGFEYXRhKSk7DQogICBFQ29tUmVzcG9uc2UgZVJldFZhbCA9IGVfTm90aGluZzsNCiANCiAgIGlmKG1fcG9GYiAhPSAwKXsNCkBAIC0xMzUsMTYgKzEzNywxNiBAQAogDQogICAgIC8vIFRPRE86IG9ubHkgY29weSBpZiBuZWNlc3NhcnkNCiAgICAgaWYoMCA9PSBtRGVzZXJCdWZQb3Mpew0KLSAgICAgIHVzZWRCdWZmZXIgPSByZWN2RGF0YTsNCi0gICAgICB1c2VkQnVmZmVyU2l6ZSA9IHBhX3VuU2l6ZTsNCisgICAgICB1c2VkQnVmZmVyID0gcmVjZWl2ZWREYXRhOw0KKyAgICAgIHVzZWRCdWZmZXJTaXplID0gcGFTaXplOw0KICAgICB9DQogICAgIGVsc2V7DQotICAgICAgaWYoKHBhX3VuU2l6ZSArIG1EZXNlckJ1ZlBvcykgPiBtRGVzZXJCdWZTaXplKXsNCi0gICAgICAgIHJlc2l6ZURlc2VyQnVmZmVyKHBhX3VuU2l6ZSArIG1EZXNlckJ1ZlBvcyk7DQorICAgICAgaWYoKHBhU2l6ZSArIG1EZXNlckJ1ZlBvcykgPiBtRGVzZXJCdWZTaXplKXsNCisgICAgICAgIHJlc2l6ZURlc2VyQnVmZmVyKHBhU2l6ZSArIG1EZXNlckJ1ZlBvcyk7DQogICAgICAgfQ0KLSAgICAgIG1lbWNweSgobURlc2VyQnVmICsgbURlc2VyQnVmUG9zKSwgcmVjdkRhdGEsIHBhX3VuU2l6ZSk7DQorICAgICAgbWVtY3B5KChtRGVzZXJCdWYgKyBtRGVzZXJCdWZQb3MpLCByZWNlaXZlZERhdGEsIHBhU2l6ZSk7DQogICAgICAgdXNlZEJ1ZmZlciA9IG1EZXNlckJ1ZjsNCi0gICAgICBtRGVzZXJCdWZQb3MgPSBtRGVzZXJCdWZQb3MgKyBwYV91blNpemU7DQorICAgICAgbURlc2VyQnVmUG9zID0gbURlc2VyQnVmUG9zICsgcGFTaXplOw0KICAgICAgIHVzZWRCdWZmZXJTaXplID0gbURlc2VyQnVmUG9zOw0KICAgICB9DQogICAgIGludCBuQnVmOw0KQEAgLTE4Niw5ICsxODgsOSBAQAogDQogICAgICAgdXNlZEJ1ZmZlclNpemUgLT0gbkJ1ZjsNCiAgICAgICB1c2VkQnVmZmVyICs9IG5CdWY7DQotICAgICAgDQotICAgICAgLy8gcmVxdWlyZWQgaWYgZS5nLiB0aGUgZmlyc3QgZWxlbWVudCBpcyBhbiBib29sIGFuZCB0aGUgc2Vjb25kIGVsZW1lbnQgaXMgImZyYWdtZW50ZWQiIC0gb3RoZXJ3aXNlIHRoZSByZXNpemUgaW4gdGhlIGJ1ZmZlciB3aWxsIG5vdCBiZSByZXNpemVkICANCi0gICAgICByZWN2RGF0YSArPSBuQnVmOyANCisNCisgICAgICAvLyByZXF1aXJlZCBpZiBlLmcuIHRoZSBmaXJzdCBlbGVtZW50IGlzIGFuIGJvb2wgYW5kIHRoZSBzZWNvbmQgZWxlbWVudCBpcyAiZnJhZ21lbnRlZCIgLSBvdGhlcndpc2UgdGhlIHJlc2l6ZSBpbiB0aGUgYnVmZmVyIHdpbGwgbm90IGJlIHJlc2l6ZWQNCisgICAgICByZWNlaXZlZERhdGEgKz0gbkJ1ZjsNCiANCiAgICAgICBpZihtRE9Qb3MgPj0gdW5OdW1SRCl7DQogICAgICAgICBtRE9Qb3MgPSAwOw0KQEAgLTM1OSwyMSArMzYxLDIxIEBACiAgIGlmKG5SZXRWYWwgPD0gcGFfblN0cmVhbVNpemUpew0KICAgICBjb25zdCBURm9ydGVCeXRlKiBhY0RhdGFQdHIgPSBwYV9yb0RhdGFQb2ludC5nZXRDb25zdERhdGFQdHIoKTsNCiANCi0gICAgI2lmZGVmIEZPUlRFX0xJVFRMRV9FTkRJQU4NCi0gICAgICAjaWYgZGVmaW5lZChfX0FSTUVMX18pICYmICEgZGVmaW5lZChfX1ZGUF9GUF9fKSAvLyBMaXR0bGUgZW5kaWFuIEFSTSB3aXRoIG9sZCBtaXhlZCBlbmRpYW4gRlBBIGZsb2F0IEFCSSBuZWVkcyB0byBzd2FwDQorI2lmZGVmIEZPUlRFX0xJVFRMRV9FTkRJQU4NCisjIGlmIGRlZmluZWQoX19BUk1FTF9fKSAmJiAhIGRlZmluZWQoX19WRlBfRlBfXykgLy8gTGl0dGxlIGVuZGlhbiBBUk0gd2l0aCBvbGQgbWl4ZWQgZW5kaWFuIEZQQSBmbG9hdCBBQkkgbmVlZHMgdG8gc3dhcA0KICAgICAgICAgaWYoQ0lFQ19BTlk6OmVfTFJFQUwgPT0gcGFfcm9EYXRhUG9pbnQuZ2V0RGF0YVR5cGVJRCgpKSB7DQogICAgICAgICAgIFRGb3J0ZVVJbnQzMiBhblN3YXBwZWRbMl07DQogICAgICAgICAgIGFuU3dhcHBlZFswXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVEZvcnRlVUludDMyICo+KGFjRGF0YVB0cilbMV07DQogICAgICAgICAgIGFuU3dhcHBlZFsxXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVEZvcnRlVUludDMyICo+KGFjRGF0YVB0cilbMF07DQogICAgICAgICAgIGFjRGF0YVB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVEZvcnRlQnl0ZSo+KCZhblN3YXBwZWRbMF0pOw0KICAgICAgICAgfQ0KLSAgICAgICNlbmRpZg0KKyMgZW5kaWYgLy9kZWZpbmVkKF9fQVJNRUxfXykgJiYgISBkZWZpbmVkKF9fVkZQX0ZQX18pDQogICAgICAgZm9yKGludCBpID0gMDsgaSA8IG5SZXRWYWw7IGkrKyl7DQogICAgICAgICBwYV9wY0J5dGVzWyhuUmV0VmFsIC0gMSkgLSBpXSA9IGFjRGF0YVB0cltpXTsNCiAgICAgICB9DQotICAgICNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX0xJVFRMRV9FTkRJQU4NCiANCi0gICAgI2lmZGVmIEZPUlRFX0JJR19FTkRJQU4NCisjaWZkZWYgRk9SVEVfQklHX0VORElBTg0KICAgICAgIGlmKENJRUNfQU5ZOjplX1JFQUwgIT0gcGFfcm9EYXRhUG9pbnQuZ2V0RGF0YVR5cGVJRCgpKXsNCiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgblJldFZhbDsgaSsrKXsNCiAgICAgICAgICAgcGFfcGNCeXRlc1soblJldFZhbCAtIDEpIC0gaV0gPSBhY0RhdGFQdHJbKHNpemVvZihDSUVDX0FOWTo6VExhcmdlc3RVSW50VmFsdWVUeXBlKSAtIDEpLWldOw0KQEAgLTM4NCw3ICszODYsNyBAQAogICAgICAgICAgIHBhX3BjQnl0ZXNbKG5SZXRWYWwgLSAxKSAtIGldID0gYWNEYXRhUHRyWyhzaXplb2YoVEZvcnRlRmxvYXQpIC0gMSkgLSBpXTsNCiAgICAgICAgIH0NCiAgICAgICB9DQotICAgICNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX0JJR19FTkRJQU4NCiAgIH0NCiAgIGVsc2V7DQogICAgIG5SZXRWYWwgPSAtMTsNCkBAIC00MjcsMTMgKzQyOSwxMyBAQAogaW50IENGQkRLQVNOMUNvbUxheWVyOjpzZXJpYWxpemVWYWx1ZVdTdHJpbmcoVEZvcnRlQnl0ZSogcGFfcGNCeXRlcywgaW50IHBhX25TdHJlYW1TaXplLCBjb25zdCBDSUVDX1dTVFJJTkcgJiBwYV9yb1dTdHJpbmcpew0KICAgaW50IG5SZXRWYWwgPSAtMTsNCiANCi0gIGlmIChwYV9uU3RyZWFtU2l6ZSA8IDIpDQorICBpZiAocGFfblN0cmVhbVNpemUgPCAyKSB7DQogICAgIHJldHVybiAtMTsNCi0NCisgIH0NCiAgIG5SZXRWYWwgPSBwYV9yb1dTdHJpbmcudG9VVEYxNihwYV9wY0J5dGVzICsgMiwgcGFfblN0cmVhbVNpemUgLSAyKTsNCi0gIGlmIChuUmV0VmFsIDwgMCB8fCBuUmV0VmFsID4gMTMxMDcwKQ0KKyAgaWYgKG5SZXRWYWwgPCAwIHx8IG5SZXRWYWwgPiAxMzEwNzApIHsNCiAgICAgcmV0dXJuIC0xOw0KLQ0KKyAgfQ0KICAgcGFfcGNCeXRlc1swXSA9IChURm9ydGVCeXRlKSAoKG5SZXRWYWwgPj4gOSkgJiAweDAwRkYpOw0KICAgcGFfcGNCeXRlc1sxXSA9IChURm9ydGVCeXRlKSAoKG5SZXRWYWwgPj4gMSkgJiAweDAwRkYpOw0KICAgblJldFZhbCArPSAyOw0KQEAgLTU1MiwxNSArNTU0LDEyIEBACiANCiBpbnQgQ0ZCREtBU04xQ29tTGF5ZXI6OmRlc2VyaWFsaXplRGF0YVBvaW50KGNvbnN0IFRGb3J0ZUJ5dGUqIHBhX3BjQnl0ZXMsIGludCBwYV9uU3RyZWFtU2l6ZSwgQ0lFQ19BTlkgJnBhX3JvQ0lFQ0RhdGEpew0KICAgaW50IG5SZXRWYWwgPSAtMTsNCi0gIGlmKDAgPCBwYV9uU3RyZWFtU2l6ZSl7DQotICAgIGlmKGVfQVBQTElDQVRJT04gPT0gKHBhX3BjQnl0ZXNbMF0gJiBlX0FQUExJQ0FUSU9OKSl7DQotICAgICAgaWYoZGVzZXJpYWxpemVUYWcoKnBhX3BjQnl0ZXMsIHBhX3JvQ0lFQ0RhdGEpKXsNCi0gICAgICAgIG5SZXRWYWwgPSBkZXNlcmlhbGl6ZVZhbHVlKHBhX3BjQnl0ZXMgKyAxLCBwYV9uU3RyZWFtU2l6ZSAtIDEsIHBhX3JvQ0lFQ0RhdGEpICsgMTsNCi0gICAgICB9DQotICAgICAgZWxzZXsNCi0gICAgICAgIERFVkxPR19FUlJPUigiRGF0YXR5cGUgZXJyb3JcbiIpOw0KLSAgICAgICAgblJldFZhbCA9IC0yOw0KLSAgICAgIH0NCisgIGlmKDAgPCBwYV9uU3RyZWFtU2l6ZSAmJiBlX0FQUExJQ0FUSU9OID09IChwYV9wY0J5dGVzWzBdICYgZV9BUFBMSUNBVElPTikpIHsNCisgICAgaWYoZGVzZXJpYWxpemVUYWcoKnBhX3BjQnl0ZXMsIHBhX3JvQ0lFQ0RhdGEpKSB7DQorICAgICAgblJldFZhbCA9IGRlc2VyaWFsaXplVmFsdWUocGFfcGNCeXRlcyArIDEsIHBhX25TdHJlYW1TaXplIC0gMSwgcGFfcm9DSUVDRGF0YSkgKyAxOw0KKyAgICB9IGVsc2Ugew0KKyAgICAgIERFVkxPR19FUlJPUigiRGF0YXR5cGUgZXJyb3JcbiIpOw0KKyAgICAgIG5SZXRWYWwgPSAtMjsNCiAgICAgfQ0KICAgfQ0KICAgcmV0dXJuIG5SZXRWYWw7DQpAQCAtNjQ5LDI2ICs2NDgsMjQgQEAKICAgICAqKChDSUVDX0FOWTo6VExhcmdlc3RVSW50VmFsdWVUeXBlICopIGFjRGF0YVB0cikgPSAwOw0KIA0KICAgICAvL3dlIG9ubHkgbmVlZCB0byBjaGVjayBmb3IgU0lOVCwgSU5ULCBhbmQgRElOVCBhcyBMSU5UIHdpbGwgZmlsbCBhbGwgYnl0ZXMNCi0gICAgaWYocGFfcm9JRUNEYXRhLmdldERhdGFUeXBlSUQoKSA8PSBDSUVDX0FOWTo6ZV9ESU5UKXsNCi0gICAgICBpZihwYV9wY0J5dGVzWzBdICYgMHg4MCl7DQotICAgICAgICAvL3dlIHJlY2VpdmVkIGEgbmVnYXRpdmUgbnVtYmVyIHNldCBhbGwgYml0cyB0byB0cnVlDQotICAgICAgICAqKChDSUVDX0FOWTo6VExhcmdlc3RJbnRWYWx1ZVR5cGUgKikgYWNEYXRhUHRyKSA9IC0xOw0KLSAgICAgIH0NCisgICAgaWYocGFfcm9JRUNEYXRhLmdldERhdGFUeXBlSUQoKSA8PSBDSUVDX0FOWTo6ZV9ESU5UICYmIChwYV9wY0J5dGVzWzBdICYgMHg4MCkpIHsNCisgICAgICAvL3dlIHJlY2VpdmVkIGEgbmVnYXRpdmUgbnVtYmVyIHNldCBhbGwgYml0cyB0byB0cnVlDQorICAgICAgKigoQ0lFQ19BTlk6OlRMYXJnZXN0SW50VmFsdWVUeXBlICopIGFjRGF0YVB0cikgPSAtMTsNCiAgICAgfQ0KIA0KLSAgICAjaWZkZWYgRk9SVEVfTElUVExFX0VORElBTg0KKyNpZmRlZiBGT1JURV9MSVRUTEVfRU5ESUFODQogICAgICAgZm9yKGludCBpID0gMDsgaSA8IG5WYWx1ZVNpemU7IGkrKyl7DQogICAgICAgICBhY0RhdGFQdHJbaV0gPSBwYV9wY0J5dGVzWyhuVmFsdWVTaXplIC0gMSkgLSBpXTsNCiAgICAgICB9DQotICAgICAgI2lmIGRlZmluZWQoX19BUk1FTF9fKSAmJiAhIGRlZmluZWQoX19WRlBfRlBfXykgLy8gTGl0dGxlIGVuZGlhbiBBUk0gd2l0aCBvbGQgbWl4ZWQgZW5kaWFuIEZQQSBmbG9hdCBBQkkgbmVlZHMgdG8gc3dhcA0KKyMgaWYgZGVmaW5lZChfX0FSTUVMX18pICYmICEgZGVmaW5lZChfX1ZGUF9GUF9fKSAvLyBMaXR0bGUgZW5kaWFuIEFSTSB3aXRoIG9sZCBtaXhlZCBlbmRpYW4gRlBBIGZsb2F0IEFCSSBuZWVkcyB0byBzd2FwDQogICAgICAgICBpZihDSUVDX0FOWTo6ZV9MUkVBTCA9PSBwYV9yb0lFQ0RhdGEuZ2V0RGF0YVR5cGVJRCgpKSB7DQogICAgICAgICAgIFRGb3J0ZVVJbnQzMiBuVG1wID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBURm9ydGVVSW50MzIgKj4oYWNEYXRhUHRyKVsxXTsNCiAgICAgICAgICAgKChURm9ydGVVSW50MzIgKikgYWNEYXRhUHRyKVsxXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVEZvcnRlVUludDMyICo+KGFjRGF0YVB0cilbMF07DQogICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8VEZvcnRlVUludDMyICo+KGFjRGF0YVB0cilbMF0gPSBuVG1wOw0KICAgICAgICAgfQ0KLSAgICAgICNlbmRpZg0KLSAgICAjZW5kaWYNCi0gICAgI2lmZGVmIEZPUlRFX0JJR19FTkRJQU4NCisjIGVuZGlmIC8vZGVmaW5lZChfX0FSTUVMX18pICYmICEgZGVmaW5lZChfX1ZGUF9GUF9fKQ0KKyNlbmRpZiAvL0ZPUlRFX0xJVFRMRV9FTkRJQU4NCisjaWZkZWYgRk9SVEVfQklHX0VORElBTg0KICAgICAgIGlmKENJRUNfQU5ZOjogZV9SRUFMICE9IHBhX3JvSUVDRGF0YS5nZXREYXRhVHlwZUlEKCkpew0KICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaT0wOyBpIDwgblZhbHVlU2l6ZTtpKyspew0KICAgICAgICAgICBhY0RhdGFQdHJbKHNpemVvZihDSUVDX0FOWTo6VExhcmdlc3RVSW50VmFsdWVUeXBlKSAtIDEpIC0gaV0gPSBwYV9wY0J5dGVzWyhuVmFsdWVTaXplIC0gMSkgLSBpXTsNCkBAIC02NzksNyArNjc2LDcgQEAKICAgICAgICAgICBhY0RhdGFQdHJbKHNpemVvZihURm9ydGVGbG9hdCkgLSAxKSAtIGldID0gcGFfcGNCeXRlc1soblZhbHVlU2l6ZSAtIDEpIC0gaV07DQogICAgICAgICB9DQogICAgICAgfQ0KLSAgICAjZW5kaWYNCisjZW5kaWYgLy9GT1JURV9CSUdfRU5ESUFODQogICAgIG5SZXRWYWwgPSBuVmFsdWVTaXplOw0KICAgfQ0KICAgcmV0dXJuIG5SZXRWYWw7DQpAQCAtNzAwLDkgKzY5Nyw4IEBACiAgIGludCBuUmV0VmFsID0gLTE7DQogICBpZihwYV9uU3RyZWFtU2l6ZSA+PSAyKXsNCiAgICAgVEZvcnRlVUludDE2IHVuU3RyaW5nU2l6ZSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oKChzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KHBhX3BjQnl0ZXNbMF0pIDw8IDgpICYgMHhGRjAwKSArIChzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KHBhX3BjQnl0ZXNbMV0pICYgMHgwMEZGKSk7DQotICAgIGlmKHBhX25TdHJlYW1TaXplID49ICh1blN0cmluZ1NpemUgKiAyICsgMikpew0KLSAgICAgIGlmIChwYV9yb0lFQ0RhdGEuZnJvbVVURjE2KHBhX3BjQnl0ZXMgKyAyLCB1blN0cmluZ1NpemUqMikpDQotICAgICAgICBuUmV0VmFsID0gdW5TdHJpbmdTaXplICogMiArIDI7DQorICAgIGlmKHBhX25TdHJlYW1TaXplID49ICh1blN0cmluZ1NpemUgKiAyICsgMikgJiYgcGFfcm9JRUNEYXRhLmZyb21VVEYxNihwYV9wY0J5dGVzICsgMiwgdW5TdHJpbmdTaXplKjIpKSB7DQorICAgICAgblJldFZhbCA9IHVuU3RyaW5nU2l6ZSAqIDIgKyAyOw0KICAgICB9DQogICB9DQogICByZXR1cm4gblJldFZhbDsNCkBAIC03MTQsNyArNzEwLDYgQEAKICAgaWYocGFfblN0cmVhbVNpemUgPj0gMil7DQogICAgIFRGb3J0ZVVJbnQxNiB1blN0cmluZ1NpemUgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KCgoKChURm9ydGVVSW50MTYpIHBhX3BjQnl0ZXNbMF0pIDw8IDgpICYgMHhGRjAwKSArICgoVEZvcnRlVUludDE2KSBwYV9wY0J5dGVzWzFdICYgMHgwMEZGKSk7DQogICAgIGlmKHBhX25TdHJlYW1TaXplID49ICh1blN0cmluZ1NpemUgKyAyKSl7DQotLy8gICAgICBERVZMT0dfSU5GTygicmVzZXJ2ZSAlaSAtIHBhX3BjQnl0ZXNbMF06IDB4JXggICAgcGFfcGNCeXRlc1sxXTogMHgleCBcbiIsIHVuU3RyaW5nU2l6ZSwgcGFfcGNCeXRlc1swXSwgcGFfcGNCeXRlc1sxXSk7DQogICAgICAgcGFfcm9JRUNEYXRhLmFzc2lnbigoY29uc3QgY2hhciopJihwYV9wY0J5dGVzWzJdKSwgdW5TdHJpbmdTaXplKTsNCiAgICAgICBuUmV0VmFsID0gMiArIHVuU3RyaW5nU2l6ZTsNCiAgICAgfQ0KQEAgLTc2MywxNCArNzU4LDE2IEBACiAgICAgICAgICAgICBuVmFsdWVMZW4gPSBkZXNlcmlhbGl6ZVZhbHVlKHBhX3BjQnl0ZXMsIHBhX25TdHJlYW1TaXplLCAqcGFfcm9BcnJheVtpXSk7DQogICAgICAgICAgIH0NCiAgICAgICAgICAgZWxzZXsNCi0gICAgICAgICAgICBpZiAocG9CdWZWYWwgPT0gMCkNCisgICAgICAgICAgICBpZihwb0J1ZlZhbCA9PSAwKSB7DQogICAgICAgICAgICAgICBwb0J1ZlZhbCA9IHBhX3JvQXJyYXlbMF0tPmNsb25lKDApOw0KKyAgICAgICAgICAgIH0NCiAgICAgICAgICAgICBuVmFsdWVMZW4gPSBkZXNlcmlhbGl6ZVZhbHVlKHBhX3BjQnl0ZXMsIHBhX25TdHJlYW1TaXplLCAqcG9CdWZWYWwpOw0KICAgICAgICAgICB9DQogICAgICAgICAgIC8vc2l6ZSBvZiB0aGUgZWxlbWVudHMgaXMgZ2l2ZW4gYnkgdGhlIGFycmF5IGRhdGF0eXBlDQogICAgICAgICAgIGlmKG5WYWx1ZUxlbiA8PSAwKSB7DQotICAgICAgICAgICAgaWYgKHBvQnVmVmFsICE9IDApDQorICAgICAgICAgICAgaWYocG9CdWZWYWwgIT0gMCkgew0KICAgICAgICAgICAgICAgZGVsZXRlIHBvQnVmVmFsOw0KKyAgICAgICAgICAgIH0NCiAgICAgICAgICAgICByZXR1cm4gblZhbHVlTGVuOw0KICAgICAgICAgICB9DQogICAgICAgICAgIHBhX25TdHJlYW1TaXplIC09IG5WYWx1ZUxlbjsNCkBAIC04NTMsOSArODUwLDkgQEAKICNpZmRlZiBGT1JURV9TVVBQT1JUX0FSUkFZUw0KICAgICBjYXNlIENJRUNfQU5ZOjplX0FSUkFZOg0KICAgICAgIHVuUmV0VmFsICs9IDM7DQotICAgICAgaWYgKCgoQ0lFQ19BUlJBWSYpcGFfcm9DSUVDRGF0YSkuZ2V0RWxlbWVudERhdGFUeXBlSUQoKSA9PSBDSUVDX0FOWTo6ZV9CT09MKQ0KKyAgICAgIGlmKCgoQ0lFQ19BUlJBWSYpIHBhX3JvQ0lFQ0RhdGEpLmdldEVsZW1lbnREYXRhVHlwZUlEKCkgPT0gQ0lFQ19BTlk6OmVfQk9PTCkgew0KICAgICAgICAgdW5SZXRWYWwgKz0gKChDSUVDX0FSUkFZJilwYV9yb0NJRUNEYXRhKS5zaXplKCk7DQotICAgICAgZWxzZSB7DQorICAgICAgfSBlbHNlIHsNCiAgICAgICAgIGZvcihURm9ydGVVSW50MTYgaiA9IDA7IGogPCAoKENJRUNfQVJSQVkmKXBhX3JvQ0lFQ0RhdGEpLnNpemUoKTsgKytqKXsNCiAgICAgICAgICAgdW5SZXRWYWwgKz0gZ2V0UmVxdWlyZWRTZXJpYWxpemF0aW9uU2l6ZSgqKCgoQ0lFQ19BUlJBWSYpcGFfcm9DSUVDRGF0YSlbal0pKTsNCiAgICAgICAgIH0NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9jb21pbmZyYS9mYmRrYXNuMWxheWVyLmggYi9zcmMvY29yZS9jb21pbmZyYS9mYmRrYXNuMWxheWVyLmgKaW5kZXggNjlmNGYwZC4uMzg1MTRlYyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29taW5mcmEvZmJka2FzbjFsYXllci5oCisrKyBiL3NyYy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXIuaApAQCAtMSwxNyArMSwxOSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDEwLTIwMTMgZm9ydGlzcywgVFUgV2llbiBBQ0lOIGFuZCBvdGhlcnMuDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZSwgYnVnIGZpeGVzDQotICAqICAgIE1pY2hhZWwgSG9mbWFubiAtIG9wdGlvbiBmb3IgY3VzdG9tIGRhdGF0eXBlcyBzZW5kIGJ5IGZiZGthc24xbGF5ZXINCi0gICogICAgTW9uaWthIFdlbmdlciAtIHJlbmFtZSBkYXRhdHlwZSBmaWxlcyB0byBmb3J0ZV9kYXRhdHlwZQ0KLSAgKiAgICBJbmdvIEhlZ255IC0gc2VyaWFsaXplL2Rlc2VyaWFsaXplIGZvciBTVFJVQ1QsIGNoYW5nZWQgZGF0YXR5cGUgZm9yIElQLWNvbW11bmljYXRpb24NCi0gICogICAgU3RhbmlzbGF2IE1lZHVuYSAtIG1ha2Ugc2VyaWFsaXplTnVsbCBhbmQgaXNOdWxsIHB1YmxpYw0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxMyBmb3J0aXNzLCBUVSBXaWVuIEFDSU4gYW5kIG90aGVycy4NCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUsIGJ1ZyBmaXhlcw0KKyAqICAgIE1pY2hhZWwgSG9mbWFubiAtIG9wdGlvbiBmb3IgY3VzdG9tIGRhdGF0eXBlcyBzZW5kIGJ5IGZiZGthc24xbGF5ZXINCisgKiAgICBNb25pa2EgV2VuZ2VyIC0gcmVuYW1lIGRhdGF0eXBlIGZpbGVzIHRvIGZvcnRlX2RhdGF0eXBlDQorICogICAgSW5nbyBIZWdueSAtIHNlcmlhbGl6ZS9kZXNlcmlhbGl6ZSBmb3IgU1RSVUNULCBjaGFuZ2VkIGRhdGF0eXBlIGZvciBJUC1jb21tdW5pY2F0aW9uDQorICogICAgU3RhbmlzbGF2IE1lZHVuYSAtIG1ha2Ugc2VyaWFsaXplTnVsbCBhbmQgaXNOdWxsIHB1YmxpYw0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpZm5kZWYgX0ZCREtBU04xTEFZRVJfSF8NCiAjZGVmaW5lIF9GQkRLQVNOMUxBWUVSX0hfDQogDQpAQCAtMTY2LDExICsxNjgsMTEgQEAKICAgICAgICAgc3RhdGljIGludCBzZXJpYWxpemVWYWx1ZVN0cmluZyhURm9ydGVCeXRlKiBwYV9wY0J5dGVzLCBpbnQgcGFfblN0cmVhbVNpemUsIGNvbnN0IENJRUNfU1RSSU5HICYgcGFfcm9TdHJpbmcpOw0KICNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KICAgICAgICAgc3RhdGljIGludCBzZXJpYWxpemVWYWx1ZVdTdHJpbmcoVEZvcnRlQnl0ZSogcGFfcGNCeXRlcywgaW50IHBhX25TdHJlYW1TaXplLCBjb25zdCBDSUVDX1dTVFJJTkcgJiBwYV9yb1dTdHJpbmcpOw0KLSNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQogICAgICAgICBzdGF0aWMgaW50IHNlcmlhbGl6ZVZhbHVlU3RydWN0KFRGb3J0ZUJ5dGUqIHBhX3BjQnl0ZXMsIGludCBwYV9uU3RyZWFtU2l6ZSwgY29uc3QgQ0lFQ19TVFJVQ1QgJiBwYV9yb1dTdHJpbmcpOw0KLSAgICAgICNpZmRlZiBGT1JURV9TVVBQT1JUX0FSUkFZUw0KKyNpZmRlZiBGT1JURV9TVVBQT1JUX0FSUkFZUw0KICAgICAgICAgc3RhdGljIGludCBzZXJpYWxpemVBcnJheShURm9ydGVCeXRlKiBwYV9wY0J5dGVzLCBpbnQgcGFfblN0cmVhbVNpemUsIGNvbnN0IENJRUNfQVJSQVkgJnBhX3JvQXJyYXkpOw0KLSAgICAgICNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfQVJSQVlTDQogICAgICAgICAvKipAfSovDQogDQogDQpAQCAtMTkxLDEyICsxOTMsMTIgQEAKICAgICAgICAgc3RhdGljIGludCBkZXNlcmlhbGl6ZVZhbHVlVGltZShjb25zdCBURm9ydGVCeXRlKiBwYV9wY0J5dGVzLCBpbnQgcGFfblN0cmVhbVNpemUsIENJRUNfVElNRSAmcGFfcm9JRUNEYXRhKTsNCiAjaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUNCiAgICAgICAgIHN0YXRpYyBpbnQgZGVzZXJpYWxpemVWYWx1ZVdTdHJpbmcoY29uc3QgVEZvcnRlQnl0ZSogcGFfcGNCeXRlcywgaW50IHBhX25TdHJlYW1TaXplLCBDSUVDX1dTVFJJTkcgJnBhX3JvSUVDRGF0YSk7DQotI2VuZGlmDQorI2VuZGlmIC8vRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUNCiAgICAgICAgIHN0YXRpYyBpbnQgZGVzZXJpYWxpemVWYWx1ZVN0cmluZyhjb25zdCBURm9ydGVCeXRlKiBwYV9wY0J5dGVzLCBpbnQgcGFfblN0cmVhbVNpemUsIENJRUNfU1RSSU5HICZwYV9yb0lFQ0RhdGEpOw0KICNpZmRlZiBGT1JURV9TVVBQT1JUX0FSUkFZUw0KICAgICAgICAgc3RhdGljIGludCBkZXNlcmlhbGl6ZUFycmF5KGNvbnN0IFRGb3J0ZUJ5dGUqIHBhX3BjQnl0ZXMsIGludCBwYV9uU3RyZWFtU2l6ZSwgQ0lFQ19BUlJBWSAmcGFfcm9BcnJheSk7DQogICAgICAgICBzdGF0aWMgaW50IGRlc2VyaWFsaXplVmFsdWVCb29sQXJyYXkoY29uc3QgVEZvcnRlQnl0ZSogcGFfcGNCeXRlcywgaW50IHBhX25TdHJlYW1TaXplLCBDSUVDX0FSUkFZICZwYV9yb0FycmF5LCBURm9ydGVVSW50MTYgcGFfdW5EZWNvZGVkQXJyYXlTaXplKTsNCi0jZW5kaWYNCisjZW5kaWYgLy9GT1JURV9TVVBQT1JUX0FSUkFZUw0KICAgICAgICAgc3RhdGljIGludCBkZXNlcmlhbGl6ZVZhbHVlU3RydWN0KGNvbnN0IFRGb3J0ZUJ5dGUqIHBhX3BjQnl0ZXMsIGludCBwYV9uU3RyZWFtU2l6ZSwgQ0lFQ19TVFJVQ1QgJnBhX3JvSUVDRGF0YSk7DQogICAgICAgICAvKipAfSovDQogDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29taW5mcmEvaXBjb21sYXllci5jcHAgYi9zcmMvY29yZS9jb21pbmZyYS9pcGNvbWxheWVyLmNwcAppbmRleCBjMDI1ODYyLi4zZWJhYmIwIDEwMDY0NAotLS0gYS9zcmMvY29yZS9jb21pbmZyYS9pcGNvbWxheWVyLmNwcAorKysgYi9zcmMvY29yZS9jb21pbmZyYS9pcGNvbWxheWVyLmNwcApAQCAtMSwxNyArMSwxOSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDEwLTIwMTQgZm9ydGlzcywgVFUgV2llbiBBQ0lOIGFuZCBvdGhlcnMuDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZWFuZCBidWcgZml4ZXMNCi0gICogICAgSW5nbyBIZWdueSAtIGNoYW5nZWQgZGF0YXR5cGUgZm9yIElQLWNvbW11bmljYXRpb24NCi0gICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSAgZml4IHR5cG8gaW4gZm9ydGU6OmNvbV9pbmZyYTo6RUNvbUNvbm5lY3Rpb25TdGF0ZSwgc2VyaWFsIGNvbW11bmljYXRpb24gc3VwcG9ydCBmb3IgV0lOMzINCi0gICogICAgTWljaGFlbCBIb2ZtYW5uIC0gZml4IGZvciBmcmFnbWVudGVkIHBhY2tldHMNCi0gICogICAgUGF0cmlrIFNtZWprYWwgLSByZW5hbWUgaW50ZXJydXB0IGluIGludGVycnVwdENDb21tRkINCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDEwLTIwMTQgZm9ydGlzcywgVFUgV2llbiBBQ0lOIGFuZCBvdGhlcnMuDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24sIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlIGFuZCBidWcgZml4ZXMNCisgKiAgICBJbmdvIEhlZ255IC0gY2hhbmdlZCBkYXRhdHlwZSBmb3IgSVAtY29tbXVuaWNhdGlvbg0KKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gIGZpeCB0eXBvIGluIGZvcnRlOjpjb21faW5mcmE6OkVDb21Db25uZWN0aW9uU3RhdGUsIHNlcmlhbCBjb21tdW5pY2F0aW9uIHN1cHBvcnQgZm9yIFdJTjMyDQorICogICAgTWljaGFlbCBIb2ZtYW5uIC0gZml4IGZvciBmcmFnbWVudGVkIHBhY2tldHMNCisgKiAgICBQYXRyaWsgU21lamthbCAtIHJlbmFtZSBpbnRlcnJ1cHQgaW4gaW50ZXJydXB0Q0NvbW1GQg0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpbmNsdWRlICJpcGNvbWxheWVyLmgiDQogI2luY2x1ZGUgIi4uLy4uL2FyY2gvZGV2bG9nLmgiDQogI2luY2x1ZGUgImNvbW1mYi5oIg0KQEAgLTkxLDYgKzkzLDcgQEAKICAgICAgIC8vVE9ETyBtb3ZlIHRoaXMgdG8gdGhlIHByb2Nlc3NJbnRlcnJ1cHQoKQ0KICAgICAgIG1Tb2NrZXRJRCA9IENJUENvbVNvY2tldEhhbmRsZXI6OmFjY2VwdFRDUENvbm5lY3Rpb24obUxpc3RlbmluZ0lEKTsNCiAgICAgICBpZihDSVBDb21Tb2NrZXRIYW5kbGVyOjpzY21JbnZhbGlkU29ja2V0RGVzY3JpcHRvciAhPSBtU29ja2V0SUQpew0KKyAgICAgICAgREVWTE9HX0lORk8oIkNvbm5lY3Rpb24gZXN0YWJsaXNoZWQgYnkgY2xpZW50XG4iKTsNCiAgICAgICAgIGdldEV4dEV2SGFuZGxlcjxDSVBDb21Tb2NrZXRIYW5kbGVyPigpLmFkZENvbUNhbGxiYWNrKG1Tb2NrZXRJRCwgdGhpcyk7DQogICAgICAgICBtX2VDb25uZWN0aW9uU3RhdGUgPSBlX0Nvbm5lY3RlZDsNCiAgICAgICB9DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29taW5mcmEvaXBjb21sYXllci5oIGIvc3JjL2NvcmUvY29taW5mcmEvaXBjb21sYXllci5oCmluZGV4IDgzZWNjNGMuLjEzNWEyOWEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NvbWluZnJhL2lwY29tbGF5ZXIuaAorKysgYi9zcmMvY29yZS9jb21pbmZyYS9pcGNvbWxheWVyLmgKQEAgLTEsMjAgKzEsMjMgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAxMC0yMDE1IGZvcnRpc3MsIFRVIFdpZW4gQUNJTiBhbmQgUHJvZmFjdG9yIEdtYkguDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uLCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZSBhbmQgYnVnIGZpeGVzDQotICAqICAgIE1pY2hhZWwgSG9mbWFubiAtIGxheWVyIGJhc2VkIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDEwLTIwMTUgZm9ydGlzcywgVFUgV2llbiBBQ0lOIGFuZCBQcm9mYWN0b3IgR21iSC4NCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiwgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUgYW5kIGJ1ZyBmaXhlcw0KKyAqICAgIE1pY2hhZWwgSG9mbWFubiAtIGxheWVyIGJhc2VkIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaWZuZGVmIElQQ09NTEFZRVJfSF8NCiAjZGVmaW5lIElQQ09NTEFZRVJfSF8NCiANCisjaW5jbHVkZSA8c29ja2hhbmQuaD4NCiAjaW5jbHVkZSA8Zm9ydGVfY29uZmlnLmg+DQogI2luY2x1ZGUgImNvbWxheWVyLmgiDQotI2luY2x1ZGUgPHNvY2toYW5kLmg+DQorDQogDQogbmFtZXNwYWNlIGZvcnRlIHsNCiANCmRpZmYgLS1naXQgYS9zcmMvY29yZS9jb21pbmZyYS9sb2NhbGNvbWxheWVyLmNwcCBiL3NyYy9jb3JlL2NvbWluZnJhL2xvY2FsY29tbGF5ZXIuY3BwCmluZGV4IDZkNGI0MTguLjc0YjdiZjQgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NvbWluZnJhL2xvY2FsY29tbGF5ZXIuY3BwCisrKyBiL3NyYy9jb3JlL2NvbWluZnJhL2xvY2FsY29tbGF5ZXIuY3BwCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxNCBmb3J0aXNzIGFuZCBUVSBXaWVuIEFDSU4uDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCBidWcgZml4ZXMNCi0gICogICAgUGF0cmlrIFNtZWprYWwgLSByZW5hbWUgaW50ZXJydXB0IGluIGludGVycnVwdENDb21tRkINCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDExLTIwMTQgZm9ydGlzcyBhbmQgVFUgV2llbiBBQ0lOLg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCBidWcgZml4ZXMNCisgKiAgICBQYXRyaWsgU21lamthbCAtIHJlbmFtZSBpbnRlcnJ1cHQgaW4gaW50ZXJydXB0Q0NvbW1GQg0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpbmNsdWRlICJsb2NhbGNvbWxheWVyLmgiDQogI2luY2x1ZGUgImNvbW1mYi5oIg0KICNpbmNsdWRlICIuLi9yZXNvdXJjZS5oIg0KQEAgLTkzLDkgKzk1LDkgQEAKIH0NCiANCiAvKioqKioqKioqKioqKioqKioqKioqKiBDTG9jYWxDb21tR3JvdXBzTWFuYWdlciAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLUNMb2NhbENvbUxheWVyOjpTTG9jYWxDb21tR3JvdXAqIENMb2NhbENvbUxheWVyOjpDTG9jYWxDb21tR3JvdXBzTWFuYWdlcjo6cmVnaXN0ZXJQdWJsKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbklELCBDTG9jYWxDb21MYXllciAqcGFfcG9MYXllcil7DQorQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cCogQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cHNNYW5hZ2VyOjpyZWdpc3RlclB1YmwoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSUQsIENMb2NhbENvbUxheWVyICpwYV9wb0xheWVyKXsNCiAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtX29TeW5jKTsNCi0gIFNMb2NhbENvbW1Hcm91cCAqcG9Hcm91cCA9IGZpbmRMb2NhbENvbW1Hcm91cChwYV9uSUQpOw0KKyAgQ0xvY2FsQ29tbUdyb3VwICpwb0dyb3VwID0gZmluZExvY2FsQ29tbUdyb3VwKHBhX25JRCk7DQogICBpZigwID09IHBvR3JvdXApew0KICAgICBwb0dyb3VwID0gY3JlYXRlTG9jYWxDb21tR3JvdXAocGFfbklEKTsNCiAgIH0NCkBAIC0xMDQsNyArMTA2LDcgQEAKICAgcmV0dXJuIHBvR3JvdXA7DQogfQ0KIA0KLXZvaWQgQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cHNNYW5hZ2VyOjp1bnJlZ2lzdGVyUHVibChTTG9jYWxDb21tR3JvdXAgKnBhX3BvR3JvdXAsIENMb2NhbENvbUxheWVyICpwYV9wb0xheWVyKXsNCit2b2lkIENMb2NhbENvbUxheWVyOjpDTG9jYWxDb21tR3JvdXBzTWFuYWdlcjo6dW5yZWdpc3RlclB1YmwoQ0xvY2FsQ29tbUdyb3VwICpwYV9wb0dyb3VwLCBDTG9jYWxDb21MYXllciAqcGFfcG9MYXllcil7DQogICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obV9vU3luYyk7DQogICByZW1vdmVMaXN0RW50cnkocGFfcG9Hcm91cC0+bV9sUHVibExpc3QsIHBhX3BvTGF5ZXIpOw0KIA0KQEAgLTExNCw5ICsxMTYsOSBAQAogDQogfQ0KIA0KLUNMb2NhbENvbUxheWVyOjpTTG9jYWxDb21tR3JvdXAqIENMb2NhbENvbUxheWVyOjpDTG9jYWxDb21tR3JvdXBzTWFuYWdlcjo6cmVnaXN0ZXJTdWJsKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbklELCBDTG9jYWxDb21MYXllciAqcGFfcG9MYXllcil7DQorQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cCogQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cHNNYW5hZ2VyOjpyZWdpc3RlclN1YmwoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSUQsIENMb2NhbENvbUxheWVyICpwYV9wb0xheWVyKXsNCiAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtX29TeW5jKTsNCi0gIFNMb2NhbENvbW1Hcm91cCAqcG9Hcm91cCA9IGZpbmRMb2NhbENvbW1Hcm91cChwYV9uSUQpOw0KKyAgQ0xvY2FsQ29tbUdyb3VwICpwb0dyb3VwID0gZmluZExvY2FsQ29tbUdyb3VwKHBhX25JRCk7DQogICBpZigwID09IHBvR3JvdXApew0KICAgICBwb0dyb3VwID0gY3JlYXRlTG9jYWxDb21tR3JvdXAocGFfbklEKTsNCiAgIH0NCkBAIC0xMjUsNyArMTI3LDcgQEAKICAgcmV0dXJuIHBvR3JvdXA7DQogfQ0KIA0KLXZvaWQgQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cHNNYW5hZ2VyOjp1bnJlZ2lzdGVyU3VibChTTG9jYWxDb21tR3JvdXAgKnBhX3BvR3JvdXAsIENMb2NhbENvbUxheWVyICpwYV9wb0xheWVyKXsNCit2b2lkIENMb2NhbENvbUxheWVyOjpDTG9jYWxDb21tR3JvdXBzTWFuYWdlcjo6dW5yZWdpc3RlclN1YmwoQ0xvY2FsQ29tbUdyb3VwICpwYV9wb0dyb3VwLCBDTG9jYWxDb21MYXllciAqcGFfcG9MYXllcil7DQogICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obV9vU3luYyk7DQogICByZW1vdmVMaXN0RW50cnkocGFfcG9Hcm91cC0+bV9sU3VibExpc3QsIHBhX3BvTGF5ZXIpOw0KIA0KQEAgLTEzNCwxMSArMTM2LDExIEBACiAgIH0NCiB9DQogDQotQ0xvY2FsQ29tTGF5ZXI6OlNMb2NhbENvbW1Hcm91cCogQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cHNNYW5hZ2VyOjpmaW5kTG9jYWxDb21tR3JvdXAoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSUQpew0KLSAgU0xvY2FsQ29tbUdyb3VwICpwb0dyb3VwID0gMDsNCitDTG9jYWxDb21MYXllcjo6Q0xvY2FsQ29tbUdyb3VwKiBDTG9jYWxDb21MYXllcjo6Q0xvY2FsQ29tbUdyb3Vwc01hbmFnZXI6OmZpbmRMb2NhbENvbW1Hcm91cChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JRCl7DQorICBDTG9jYWxDb21tR3JvdXAgKnBvR3JvdXAgPSAwOw0KIA0KICAgaWYoIW1fbHN0TG9jYWxDb21tR3JvdXBzLmlzRW1wdHkoKSl7DQotICAgIENTaW5nbHlMaW5rZWRMaXN0PFNMb2NhbENvbW1Hcm91cD46Okl0ZXJhdG9yIGl0ID0gbV9sc3RMb2NhbENvbW1Hcm91cHMuYmVnaW4oKTsNCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0xvY2FsQ29tbUdyb3VwPjo6SXRlcmF0b3IgaXQgPSBtX2xzdExvY2FsQ29tbUdyb3Vwcy5iZWdpbigpOw0KICAgICB3aGlsZShpdCAhPSBtX2xzdExvY2FsQ29tbUdyb3Vwcy5lbmQoKSl7DQogICAgICAgaWYoKCppdCkubV9uR3JvdXBOYW1lID09IHBhX25JRCl7DQogICAgICAgICBwb0dyb3VwID0gJigqaXQpOw0KQEAgLTE1MSw5ICsxNTMsOSBAQAogICByZXR1cm4gcG9Hcm91cDsNCiB9DQogDQotQ0xvY2FsQ29tTGF5ZXI6OlNMb2NhbENvbW1Hcm91cCogQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cHNNYW5hZ2VyOjpjcmVhdGVMb2NhbENvbW1Hcm91cChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JRCl7DQotICBtX2xzdExvY2FsQ29tbUdyb3Vwcy5wdXNoRnJvbnQoU0xvY2FsQ29tbUdyb3VwKHBhX25JRCkpOw0KLSAgQ1NpbmdseUxpbmtlZExpc3Q8U0xvY2FsQ29tbUdyb3VwPjo6SXRlcmF0b3IgaXQgPSBtX2xzdExvY2FsQ29tbUdyb3Vwcy5iZWdpbigpOw0KK0NMb2NhbENvbUxheWVyOjpDTG9jYWxDb21tR3JvdXAqIENMb2NhbENvbUxheWVyOjpDTG9jYWxDb21tR3JvdXBzTWFuYWdlcjo6Y3JlYXRlTG9jYWxDb21tR3JvdXAoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSUQpew0KKyAgbV9sc3RMb2NhbENvbW1Hcm91cHMucHVzaEZyb250KENMb2NhbENvbW1Hcm91cChwYV9uSUQpKTsNCisgIENTaW5nbHlMaW5rZWRMaXN0PENMb2NhbENvbW1Hcm91cD46Okl0ZXJhdG9yIGl0ID0gbV9sc3RMb2NhbENvbW1Hcm91cHMuYmVnaW4oKTsNCiAgIHJldHVybiAmKCppdCk7DQogfQ0KIA0KQEAgLTE3Niw5ICsxNzgsOSBAQAogICB9DQogfQ0KIA0KLXZvaWQgQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cHNNYW5hZ2VyOjpyZW1vdmVDb21tR3JvdXAoU0xvY2FsQ29tbUdyb3VwICpwYV9wb0dyb3VwKXsNCi0gIENTaW5nbHlMaW5rZWRMaXN0PFNMb2NhbENvbW1Hcm91cD46Okl0ZXJhdG9yIGl0UnVubmVyID0gbV9sc3RMb2NhbENvbW1Hcm91cHMuYmVnaW4oKTsNCi0gIENTaW5nbHlMaW5rZWRMaXN0PFNMb2NhbENvbW1Hcm91cD46Okl0ZXJhdG9yIGl0UmV2Tm9kZSA9IG1fbHN0TG9jYWxDb21tR3JvdXBzLmVuZCgpOw0KK3ZvaWQgQ0xvY2FsQ29tTGF5ZXI6OkNMb2NhbENvbW1Hcm91cHNNYW5hZ2VyOjpyZW1vdmVDb21tR3JvdXAoQ0xvY2FsQ29tbUdyb3VwICpwYV9wb0dyb3VwKXsNCisgIENTaW5nbHlMaW5rZWRMaXN0PENMb2NhbENvbW1Hcm91cD46Okl0ZXJhdG9yIGl0UnVubmVyID0gbV9sc3RMb2NhbENvbW1Hcm91cHMuYmVnaW4oKTsNCisgIENTaW5nbHlMaW5rZWRMaXN0PENMb2NhbENvbW1Hcm91cD46Okl0ZXJhdG9yIGl0UmV2Tm9kZSA9IG1fbHN0TG9jYWxDb21tR3JvdXBzLmVuZCgpOw0KIA0KICAgd2hpbGUoaXRSdW5uZXIgIT0gbV9sc3RMb2NhbENvbW1Hcm91cHMuZW5kKCkpew0KICAgICBpZigoKml0UnVubmVyKS5tX25Hcm91cE5hbWUgPT0gcGFfcG9Hcm91cC0+bV9uR3JvdXBOYW1lKXsNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9jb21pbmZyYS9sb2NhbGNvbWxheWVyLmggYi9zcmMvY29yZS9jb21pbmZyYS9sb2NhbGNvbWxheWVyLmgKaW5kZXggNTMzMzVlNi4uZDFiZTY4NyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29taW5mcmEvbG9jYWxjb21sYXllci5oCisrKyBiL3NyYy9jb3JlL2NvbWluZnJhL2xvY2FsY29tbGF5ZXIuaApAQCAtMSwxMyArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDExLTIwMTQgZm9ydGlzcyBhbmQgVFUgV2llbiBBQ0lOLg0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDExLTIwMTQgZm9ydGlzcyBhbmQgVFUgV2llbiBBQ0lOLg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpZm5kZWYgTE9DQUxDT01MQVlFUl9IXw0KICNkZWZpbmUgTE9DQUxDT01MQVlFUl9IXw0KIA0KQEAgLTM3LDIzICszOSwyMiBAQAogICAgICAgICAgIHJldHVybiBlX1Byb2Nlc3NEYXRhT2s7DQogICAgICAgICB9DQogDQotICAgICAgcHJvdGVjdGVkOg0KICAgICAgIHByaXZhdGU6DQogICAgICAgICB2aXJ0dWFsIEVDb21SZXNwb25zZSBvcGVuQ29ubmVjdGlvbihjaGFyICpwYV9hY0xheWVyUGFyYW1ldGVyKTsNCiAgICAgICAgIHZpcnR1YWwgdm9pZCBjbG9zZUNvbm5lY3Rpb24oKTsNCiAgICAgICAgIHZvaWQgc2V0UkRzKENMb2NhbENvbUxheWVyICpwYV9wb1N1YmxMYXllciwgQ0lFQ19BTlkgKnBhX2FTRHMsIHVuc2lnbmVkIGludCBwYV91bk51bVNEcyk7DQogDQotICAgICAgICBzdHJ1Y3QgU0xvY2FsQ29tbUdyb3Vwew0KLQ0KLSAgICAgICAgICAgIGV4cGxpY2l0IFNMb2NhbENvbW1Hcm91cChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25Hcm91cE5hbWUpIDoNCisgICAgICAgIGNsYXNzIENMb2NhbENvbW1Hcm91cCB7DQorICAgICAgICAgIHB1YmxpYzoNCisgICAgICAgICAgICBleHBsaWNpdCBDTG9jYWxDb21tR3JvdXAoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uR3JvdXBOYW1lKSA6DQogICAgICAgICAgICAgICAgIG1fbkdyb3VwTmFtZShwYV9uR3JvdXBOYW1lKSwgbV9sUHVibExpc3QoKSwgbV9sU3VibExpc3QoKXsNCiAgICAgICAgICAgICB9DQogDQotICAgICAgICAgICAgU0xvY2FsQ29tbUdyb3VwKGNvbnN0IFNMb2NhbENvbW1Hcm91cCYgcGFfcm9Mb2NhbENvbW1Hcm91cCkgOg0KKyAgICAgICAgICAgIENMb2NhbENvbW1Hcm91cChjb25zdCBDTG9jYWxDb21tR3JvdXAmIHBhX3JvTG9jYWxDb21tR3JvdXApIDoNCiAgICAgICAgICAgICAgICAgbV9uR3JvdXBOYW1lKHBhX3JvTG9jYWxDb21tR3JvdXAubV9uR3JvdXBOYW1lKSwgbV9sUHVibExpc3QoKSwgbV9sU3VibExpc3QoKXsNCiAgICAgICAgICAgICB9DQogDQotICAgICAgICAgICAgflNMb2NhbENvbW1Hcm91cCgpew0KKyAgICAgICAgICAgIH5DTG9jYWxDb21tR3JvdXAoKXsNCiAgICAgICAgICAgICB9DQogDQogICAgICAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBtX25Hcm91cE5hbWU7DQpAQCAtNjUsMTkgKzY2LDE4IEBACiANCiAgICAgICAgICAgcHVibGljOg0KIA0KLSAgICAgICAgICAgIFNMb2NhbENvbW1Hcm91cCogcmVnaXN0ZXJQdWJsKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbklELCBDTG9jYWxDb21MYXllciAqcGFfcG9MYXllcik7DQotICAgICAgICAgICAgdm9pZCB1bnJlZ2lzdGVyUHVibChTTG9jYWxDb21tR3JvdXAgKnBhX3BvR3JvdXAsIENMb2NhbENvbUxheWVyICpwYV9wb0xheWVyKTsNCisgICAgICAgICAgICBDTG9jYWxDb21tR3JvdXAqIHJlZ2lzdGVyUHVibChjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JRCwgQ0xvY2FsQ29tTGF5ZXIgKnBhX3BvTGF5ZXIpOw0KKyAgICAgICAgICAgIHZvaWQgdW5yZWdpc3RlclB1YmwoQ0xvY2FsQ29tbUdyb3VwICpwYV9wb0dyb3VwLCBDTG9jYWxDb21MYXllciAqcGFfcG9MYXllcik7DQogDQotICAgICAgICAgICAgU0xvY2FsQ29tbUdyb3VwKiByZWdpc3RlclN1YmwoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSUQsIENMb2NhbENvbUxheWVyICpwYV9wb0xheWVyKTsNCi0gICAgICAgICAgICB2b2lkIHVucmVnaXN0ZXJTdWJsKFNMb2NhbENvbW1Hcm91cCAqcGFfcG9Hcm91cCwgQ0xvY2FsQ29tTGF5ZXIgKnBhX3BvTGF5ZXIpOw0KKyAgICAgICAgICAgIENMb2NhbENvbW1Hcm91cCogcmVnaXN0ZXJTdWJsKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbklELCBDTG9jYWxDb21MYXllciAqcGFfcG9MYXllcik7DQorICAgICAgICAgICAgdm9pZCB1bnJlZ2lzdGVyU3VibChDTG9jYWxDb21tR3JvdXAgKnBhX3BvR3JvdXAsIENMb2NhbENvbUxheWVyICpwYV9wb0xheWVyKTsNCiANCi0gICAgICAgICAgcHJvdGVjdGVkOg0KICAgICAgICAgICBwcml2YXRlOg0KICAgICAgICAgICAgIENMb2NhbENvbW1Hcm91cHNNYW5hZ2VyKCl7fTsNCiANCi0gICAgICAgICAgICBTTG9jYWxDb21tR3JvdXAqIGZpbmRMb2NhbENvbW1Hcm91cChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JRCk7DQotICAgICAgICAgICAgU0xvY2FsQ29tbUdyb3VwKiBjcmVhdGVMb2NhbENvbW1Hcm91cChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JRCk7DQotICAgICAgICAgICAgdm9pZCByZW1vdmVDb21tR3JvdXAoU0xvY2FsQ29tbUdyb3VwICpwYV9wb0dyb3VwKTsNCisgICAgICAgICAgICBDTG9jYWxDb21tR3JvdXAqIGZpbmRMb2NhbENvbW1Hcm91cChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JRCk7DQorICAgICAgICAgICAgQ0xvY2FsQ29tbUdyb3VwKiBjcmVhdGVMb2NhbENvbW1Hcm91cChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JRCk7DQorICAgICAgICAgICAgdm9pZCByZW1vdmVDb21tR3JvdXAoQ0xvY2FsQ29tbUdyb3VwICpwYV9wb0dyb3VwKTsNCiANCiAgICAgICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0RW50cnkoQ1NpbmdseUxpbmtlZExpc3Q8Q0xvY2FsQ29tTGF5ZXIqPiAgJnBhX3Jsc3RMaXN0LCBDTG9jYWxDb21MYXllciAqcGFfcG9MYXllcik7DQogDQpAQCAtODUsNyArODUsNyBAQAogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgQ1N5bmNPYmplY3QgbV9vU3luYzsNCiANCi0gICAgICAgICAgICBDU2luZ2x5TGlua2VkTGlzdDxTTG9jYWxDb21tR3JvdXA+IG1fbHN0TG9jYWxDb21tR3JvdXBzOw0KKyAgICAgICAgICAgIENTaW5nbHlMaW5rZWRMaXN0PENMb2NhbENvbW1Hcm91cD4gbV9sc3RMb2NhbENvbW1Hcm91cHM7DQogDQogICAgICAgICAgICAgZnJpZW5kIGNsYXNzIENMb2NhbENvbUxheWVyOw0KIA0KQEAgLTk3LDcgKzk3LDcgQEAKICAgICAgICAgc3RhdGljIENMb2NhbENvbW1Hcm91cHNNYW5hZ2VyIHNtX29Mb2NhbENvbW1Hcm91cHNNYW5hZ2VyOw0KIA0KIA0KLSAgICAgICAgU0xvY2FsQ29tbUdyb3VwICptX3BvTG9jYWxDb21tR3JvdXA7DQorICAgICAgICBDTG9jYWxDb21tR3JvdXAgKm1fcG9Mb2NhbENvbW1Hcm91cDsNCiAgICAgfTsNCiAgIH0NCiANCmRpZmYgLS1naXQgYS9zcmMvY29yZS9jb21pbmZyYS9yYXdkYXRhY29tbGF5ZXIuY3BwIGIvc3JjL2NvcmUvY29taW5mcmEvcmF3ZGF0YWNvbWxheWVyLmNwcAppbmRleCBhYWRmOGFmLi4xYWI0NzA3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9jb21pbmZyYS9yYXdkYXRhY29tbGF5ZXIuY3BwCisrKyBiL3NyYy9jb3JlL2NvbWluZnJhL3Jhd2RhdGFjb21sYXllci5jcHAKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAxMy0yMDE1IFRVIFdpZW4gQUNJTiBhbmQgZm9ydGlzcy4NCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgTW9uaWthIFdlbmdlciANCi0gICogICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbg0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMtMjAxNSBUVSBXaWVuIEFDSU4gYW5kIGZvcnRpc3MuDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgTW9uaWthIFdlbmdlcg0KKyAqICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24NCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaW5jbHVkZSAicmF3ZGF0YWNvbWxheWVyLmgiDQogI2luY2x1ZGUgPGZvcnRlX2FueS5oPg0KICNpbmNsdWRlIDxmb3J0ZV9zdHJpbmcuaD4NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9jb21pbmZyYS9yYXdkYXRhY29tbGF5ZXIuaCBiL3NyYy9jb3JlL2NvbWluZnJhL3Jhd2RhdGFjb21sYXllci5oCmluZGV4IGU1MTg1NzkuLjAxNGZjNzIgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2NvbWluZnJhL3Jhd2RhdGFjb21sYXllci5oCisrKyBiL3NyYy9jb3JlL2NvbWluZnJhL3Jhd2RhdGFjb21sYXllci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzLTIwMTUgVFUgV2llbiBBQ0lOIGFuZCBmb3J0aXNzLg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2NvbWluZnJhL3NlcmlhbGNvbWxheWVyYmFzZS5oIGIvc3JjL2NvcmUvY29taW5mcmEvc2VyaWFsY29tbGF5ZXJiYXNlLmgKaW5kZXggNmZlYTIyYS4uODcwZjM4NyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29taW5mcmEvc2VyaWFsY29tbGF5ZXJiYXNlLmgKKysrIGIvc3JjL2NvcmUvY29taW5mcmEvc2VyaWFsY29tbGF5ZXJiYXNlLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC02NSw2ICs2Niw3IEBACiAgICAgICBlMTE1MjAwID0gMTE1MjAwLAogICAgICAgZTEyODAwMCA9IDEyODAwMCwKICAgICAgIGUyNTYwMDAgPSAyNTYwMDAsCisgICAgICBlMTAwMDAwMCA9IDEwMDAwMDAsCiAgICAgfTsKIAogICAgIGVudW0gRUZvcnRlU2VyaWFsQnl0ZVNpemV7CkBAIC0xMDAsMTEgKzEwMiwxMiBAQAogICAgIGNoYXIgbVRlcm1pbmF0aW9uU3ltYm9sWzNdOyAvLyoqPCBTcGFjZSBmb3IgQ1IsIExGLCBvciBDUi9MRiArIFRlcm1pbmF0aW5nIFwwCiAgICAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIG9wZW5Db25uZWN0aW9uKGNoYXIgKnBhTGF5ZXJQYXJhbWV0ZXIpOwogICAgIHZpcnR1YWwgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIG9wZW5TZXJpYWxDb25uZWN0aW9uKGNvbnN0IFNTZXJpYWxQYXJhbWV0ZXJzJiBwYVNlcmlhbFBhcmFtZXRlcnMsIFRTZXJpYWxIYW5kbGUqIHBhSGFuZGxlUmVzdWx0KSA9IDA7Ci0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtTWF4UmVjdkJ1ZmZlciA9IDIyOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbU1heFJlY3ZCdWZmZXIgPSAxMDAwOwogCiAgICAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIG1JbnRlcnJ1cHRSZXNwOwogICAgIGNoYXIgbVJlY3ZCdWZmZXJbbU1heFJlY3ZCdWZmZXJdOwogICAgIHVuc2lnbmVkIGludCBtQnVmRmlsbFNpemU7CisgICAgQ1N5bmNPYmplY3QgbVJlY3ZMb2NrOwogCiAgICAgVFNlcmlhbEhhbmRsZSBtU2VyaWFsSGFuZGxlOwogICAgIFRTZXJpYWxIYW5kbGUgZ2V0U2VyaWFsSGFuZGxlcigpewpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29taW5mcmEvc2VyaWFsY29tbGF5ZXJiYXNlLnRwcCBiL3NyYy9jb3JlL2NvbWluZnJhL3NlcmlhbGNvbWxheWVyYmFzZS50cHAKaW5kZXggZTFjNjZkNy4uMGFmMDM1YiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29taW5mcmEvc2VyaWFsY29tbGF5ZXJiYXNlLnRwcAorKysgYi9zcmMvY29yZS9jb21pbmZyYS9zZXJpYWxjb21sYXllcmJhc2UudHBwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTEsNiArMTIsNyBAQAogCiAjaW5jbHVkZSAic2VyaWFsY29tbGF5ZXJiYXNlLmgiCiAjaW5jbHVkZSAiLi4vdXRpbHMvcGFyYW1ldGVyUGFyc2VyLmgiCisjaW5jbHVkZSA8Y3JpdGljYWxyZWdpb24uaD4KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFRUaHJlYWRIYW5kbGUsIFRUaHJlYWRIYW5kbGUgbnVsbEhhbmRsZT4KIENTZXJpYWxDb21MYXllckJhc2U8VFRocmVhZEhhbmRsZSwgbnVsbEhhbmRsZT46OkNTZXJpYWxDb21MYXllckJhc2UoZm9ydGU6OmNvbV9pbmZyYTo6Q0NvbUxheWVyKiBwYVVwcGVyTGF5ZXIsCkBAIC0yNyw2ICsyOSw3IEBACiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVFRocmVhZEhhbmRsZSwgVFRocmVhZEhhbmRsZSBudWxsSGFuZGxlPgogZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIENTZXJpYWxDb21MYXllckJhc2U8VFRocmVhZEhhbmRsZSwgbnVsbEhhbmRsZT46OnByb2Nlc3NJbnRlcnJ1cHQoKXsKICAgaWYoZm9ydGU6OmNvbV9pbmZyYTo6ZV9Qcm9jZXNzRGF0YU9rID09IG1JbnRlcnJ1cHRSZXNwKXsKKyAgICBDQ3JpdGljYWxSZWdpb24gbG9jayhtUmVjdkxvY2spOwogICAgIHN3aXRjaCAobV9lQ29ubmVjdGlvblN0YXRlKXsKICAgICAgIGNhc2UgZm9ydGU6OmNvbV9pbmZyYTo6ZV9Db25uZWN0ZWQ6CiAgICAgICAgIGlmKDAgIT0gbV9wb1RvcExheWVyKXsKQEAgLTQ3LDcgKzUwLDcgQEAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUVGhyZWFkSGFuZGxlLCBUVGhyZWFkSGFuZGxlIG51bGxIYW5kbGU+CiBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgQ1NlcmlhbENvbUxheWVyQmFzZTxUVGhyZWFkSGFuZGxlLCBudWxsSGFuZGxlPjo6b3BlbkNvbm5lY3Rpb24oY2hhciAqcGFMYXllclBhcmFtZXRlcikgIHsKICAgLy9DcmVhdGUgU2VyaWFsIENvbSBIYW5kbGUKLSAgQ1BhcmFtZXRlclBhcnNlciBwYXJzZXIocGFMYXllclBhcmFtZXRlciwgbU5vT2ZQYXJhbWV0ZXJzKTsKKyAgQ1BhcmFtZXRlclBhcnNlciBwYXJzZXIocGFMYXllclBhcmFtZXRlciwgJywnLCBtTm9PZlBhcmFtZXRlcnMpOwogICBpZihtTm9PZlBhcmFtZXRlcnMgIT0gcGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKXsKICAgICByZXR1cm4gZm9ydGU6OmNvbV9pbmZyYTo6ZV9Jbml0SW52YWxpZElkOwogICB9CkBAIC03OSw2ICs4Miw3IEBACiAgICAgY2FzZSBlMTE1MjAwOiBicmVhazsKICAgICBjYXNlIGUxMjgwMDA6IGJyZWFrOwogICAgIGNhc2UgZTI1NjAwMDogYnJlYWs7CisgICAgY2FzZSBlMTAwMDAwMDogYnJlYWs7CiAgICAgLy9hbGwgb3RoZXIgbnVtYmVycyBhcmUgaW52YWxpZCEKICAgICBkZWZhdWx0OiByZXR1cm4gZm9ydGU6OmNvbV9pbmZyYTo6ZV9Jbml0SW52YWxpZElkOyBicmVhazsKICAgfQpAQCAtMTM2LDUgKzE0MCw5IEBACiAgICAgcmV0dXJuIGZvcnRlOjpjb21faW5mcmE6OmVfSW5pdEludmFsaWRJZDsKICAgfQogCi0gIHJldHVybiBvcGVuU2VyaWFsQ29ubmVjdGlvbihwYXJzZWRQYXJhbWV0ZXJzLCAmbVNlcmlhbEhhbmRsZSk7CisgIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSByZXNwID0gb3BlblNlcmlhbENvbm5lY3Rpb24ocGFyc2VkUGFyYW1ldGVycywgJm1TZXJpYWxIYW5kbGUpOworICBpZihmb3J0ZTo6Y29tX2luZnJhOjplX0luaXRPayA9PSByZXNwKXsKKyAgICBtX2VDb25uZWN0aW9uU3RhdGUgPSBmb3J0ZTo6Y29tX2luZnJhOjplX0Nvbm5lY3RlZDsKKyAgfQorICByZXR1cm4gcmVzcDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2Nvbm4uY3BwIGIvc3JjL2NvcmUvY29ubi5jcHAKaW5kZXggYzE2NGNhMS4uMWQwM2I4ZCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29ubi5jcHAKKysrIGIvc3JjL2NvcmUvY29ubi5jcHAKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LAotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlICJjb25uLmgiCiAKQEAgLTE2LDcgKzE4LDcgQEAKICAgICBtU291cmNlSWQocGFTcmNGQiwgcGFTcmNQb3J0SWQpewogfQogCi1FTUdNUmVzcG9uc2UgQ0Nvbm5lY3Rpb246OmFkZERlc3RpbmF0aW9uKGNvbnN0IFNDb25uZWN0aW9uUG9pbnQgJnBhRGVzdFBvaW50KXsKK0VNR01SZXNwb25zZSBDQ29ubmVjdGlvbjo6YWRkRGVzdGluYXRpb24oY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCAmcGFEZXN0UG9pbnQpewogICBFTUdNUmVzcG9uc2UgcmV0dmFsID0gZV9JTlZBTElEX1NUQVRFOwogCiAgIGlmKCFkc3RFeGlzdHMocGFEZXN0UG9pbnQpKXsgLy8gY2hlY2sgaWYgdGhlcmUgaXMgdXAgdG8gbm93IG5vIHN1Y2ggZmFuIG91dCB3aXRoIHRoaXMgZGVzdGluYXRpb24KQEAgLTI2LDggKzI4LDcgQEAKICAgcmV0dXJuIHJldHZhbDsKIH0KIAotI2lmbmRlZiBGT1JURV9DTEFTU18wCi1FTUdNUmVzcG9uc2UgQ0Nvbm5lY3Rpb246OnJlbW92ZURlc3RpbmF0aW9uKGNvbnN0IFNDb25uZWN0aW9uUG9pbnQgJnBhRGVzdFBvaW50KXsKK0VNR01SZXNwb25zZSBDQ29ubmVjdGlvbjo6cmVtb3ZlRGVzdGluYXRpb24oY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCAmcGFEZXN0UG9pbnQpewogICBFTUdNUmVzcG9uc2UgcmV0dmFsID0gZV9JTlZBTElEX1NUQVRFOwogCiAgIFREZXN0aW5hdGlvbklkTGlzdDo6SXRlcmF0b3IgaXRSdW5uZXIgPSBtRGVzdGluYXRpb25JZHMuYmVnaW4oKTsKQEAgLTUwLDE0ICs1MSwxMyBAQAogCiAgIHJldHVybiByZXR2YWw7CiB9Ci0jZW5kaWYKIAogdm9pZCBDQ29ubmVjdGlvbjo6c2V0U291cmNlKENGdW5jdGlvbkJsb2NrICpwYVNyY0ZCLCBUUG9ydElkIHBhU3JjUG9ydElkKXsKICAgbVNvdXJjZUlkLm1GQiA9IHBhU3JjRkI7CiAgIG1Tb3VyY2VJZC5tUG9ydElkID0gcGFTcmNQb3J0SWQ7CiB9CiAKLWJvb2wgQ0Nvbm5lY3Rpb246OmRzdEV4aXN0cyhjb25zdCBTQ29ubmVjdGlvblBvaW50ICZwYURlc3RQb2ludCl7Citib29sIENDb25uZWN0aW9uOjpkc3RFeGlzdHMoY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCAmcGFEZXN0UG9pbnQpewogICBib29sIGJSZXRWYWwgPSBmYWxzZTsKICAgZm9yKFREZXN0aW5hdGlvbklkTGlzdDo6SXRlcmF0b3IgaXQgPSBtRGVzdGluYXRpb25JZHMuYmVnaW4oKTsKICAgICAgIGl0ICE9IG1EZXN0aW5hdGlvbklkcy5lbmQoKTsgKytpdCl7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9jb25uLmggYi9zcmMvY29yZS9jb25uLmgKaW5kZXggMzg4NjNkMC4uMjAyNDE3OCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvY29ubi5oCisrKyBiL3NyYy9jb3JlL2Nvbm4uaApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LAotICAqICAgIE1pY2hhZWwgSG9mbWFubgotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwKKyAqICAgIE1pY2hhZWwgSG9mbWFubgorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX0NPTk5fSF8KICNkZWZpbmUgX0NPTk5fSF8KIApAQCAtMTcsMjEgKzE5LDIyIEBACiAjaW5jbHVkZSAibWdtY21kLmgiCiAjaW5jbHVkZSAic3RyaW5nZGljdC5oIgogCi0vL2ZvcndhcmQgZGVjbGFyYXRpb24gb2YgYSBmZXcgY2xhc3NlcyB0byByZWR1Y2UgaW5jbHVkZWZpbGUgZGVwZW5kZW5jaWVzCisvL2ZvcndhcmQgZGVjbGFyYXRpb24gb2YgYSBmZXcgY2xhc3NlcyB0byByZWR1Y2UgaW5jbHVkZSBmaWxlIGRlcGVuZGVuY2llcwogY2xhc3MgQ0Z1bmN0aW9uQmxvY2s7CiAKLXN0cnVjdCBTQ29ubmVjdGlvblBvaW50eworY2xhc3MgQ0Nvbm5lY3Rpb25Qb2ludCB7CisgIHB1YmxpYzoKICAgICBDRnVuY3Rpb25CbG9jayAqbUZCOwogICAgIFRQb3J0SWQgbVBvcnRJZDsKIAotICAgIFNDb25uZWN0aW9uUG9pbnQoQ0Z1bmN0aW9uQmxvY2sgKnBhRkIsIFRQb3J0SWQgcGFQb3J0SWQpIDoKKyAgICBDQ29ubmVjdGlvblBvaW50KENGdW5jdGlvbkJsb2NrICpwYUZCLCBUUG9ydElkIHBhUG9ydElkKSA6CiAgICAgICAgIG1GQihwYUZCKSwgbVBvcnRJZChwYVBvcnRJZCl7CiAgICAgfQogCi0gICAgU0Nvbm5lY3Rpb25Qb2ludCgpOm1GQigwKSwgbVBvcnRJZCgwKSB7CisgICAgQ0Nvbm5lY3Rpb25Qb2ludCgpOm1GQigwKSwgbVBvcnRJZCgwKSB7CiAgICAgfQogCi0gICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFNDb25uZWN0aW9uUG9pbnQgJiBwYVJpZ2h0KSBjb25zdHsKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCAmIHBhUmlnaHQpIGNvbnN0ewogICAgICAgcmV0dXJuICgobUZCID09IHBhUmlnaHQubUZCKSAmJiAobVBvcnRJZCA9PSBwYVJpZ2h0Lm1Qb3J0SWQpKTsKICAgICB9CiB9OwpAQCAtNzAsNyArNzMsNiBAQAogICAgIHZpcnR1YWwgRU1HTVJlc3BvbnNlIGNvbm5lY3RUb0NGQkludGVyZmFjZShDRnVuY3Rpb25CbG9jayAqcGFEc3RGQiwKICAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYURzdFBvcnROYW1lSWQpID0gMDsKIAotI2lmbmRlZiBGT1JURV9DTEFTU18wCiAgICAgLyohIFxicmllZiBEaXNjb25uZWN0cyB0aGUgY29ubmVjdGlvbi4KICAgICAgKgogICAgICAqIFdpdGggdGhpcyBjb21tYW5kIHRoZSBjb25uZWN0aW9uIGlzIHJlbW92ZWQgYW5kIHRoZSBGQnMgYXJlIHNldCB0byBhcHByb3ByaWF0ZSBzdGF0ZXMuCkBAIC04OCw3ICs5MCw2IEBACiAgICAgICovCiAgICAgdmlydHVhbCBFTUdNUmVzcG9uc2UgZGlzY29ubmVjdChDRnVuY3Rpb25CbG9jayAqcGFEc3RGQiwKICAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYURzdFBvcnROYW1lSWQpID0gMDsKLSAgICAjZW5kaWYKIAogICAgIC8qISBcYnJpZWYgQ2hlY2sgaWYgdGhlcmUgYXJlIGRlc3RpbmF0aW9ucyBhZGRlZCB0byB0aGlzIGNvbm5lY3Rpb24KICAgICAgKgpAQCAtMTA0LDMwICsxMDUsMjggQEAKIAogICAgIC8qISBcYnJpZWYgR2V0IHRoZSBzb3VyY2Ugc3RyaW5nIG9mIHRoZSBjb25uZWN0aW9uCiAgICAgICovCi0gICAgY29uc3QgU0Nvbm5lY3Rpb25Qb2ludCYgZ2V0U291cmNlSWQodm9pZCkgY29uc3R7CisgICAgY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCYgZ2V0U291cmNlSWQodm9pZCkgY29uc3R7CiAgICAgICByZXR1cm4gbVNvdXJjZUlkOwogICAgIH0KIAogICAgIC8qISBcYnJpZWYgR2V0IGxpc3Qgb2YgZGVzdGluYXRpb25zIG9mIHRoZSBjb25uZWN0aW9uCiAgICAgICovCi0gICAgY29uc3QgQ1NpbmdseUxpbmtlZExpc3Q8U0Nvbm5lY3Rpb25Qb2ludD4mIGdldERlc3RpbmF0aW9uTGlzdCh2b2lkKSBjb25zdCB7CisgICAgY29uc3QgQ1NpbmdseUxpbmtlZExpc3Q8Q0Nvbm5lY3Rpb25Qb2ludD4mIGdldERlc3RpbmF0aW9uTGlzdCh2b2lkKSBjb25zdCB7CiAgICAgICAgIHJldHVybiBtRGVzdGluYXRpb25JZHM7CiAgICAgfQogCiAgIHByb3RlY3RlZDoKLSAgICBFTUdNUmVzcG9uc2UgYWRkRGVzdGluYXRpb24oY29uc3QgU0Nvbm5lY3Rpb25Qb2ludCAmcGFEZXN0UG9pbnQpOwotICAgICNpZm5kZWYgRk9SVEVfQ0xBU1NfMAotICAgIEVNR01SZXNwb25zZSByZW1vdmVEZXN0aW5hdGlvbihjb25zdCBTQ29ubmVjdGlvblBvaW50ICZwYURlc3RQb2ludCk7Ci0gICAgI2VuZGlmCisgICAgRU1HTVJlc3BvbnNlIGFkZERlc3RpbmF0aW9uKGNvbnN0IENDb25uZWN0aW9uUG9pbnQgJnBhRGVzdFBvaW50KTsKKyAgICBFTUdNUmVzcG9uc2UgcmVtb3ZlRGVzdGluYXRpb24oY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCAmcGFEZXN0UG9pbnQpOwogCiAgICAgdm9pZCBzZXRTb3VyY2UoQ0Z1bmN0aW9uQmxvY2sgKnBhU3JjRkIsIFRQb3J0SWQgcGFTcmNQb3J0SWQpOwogCiAgICAgLy8hTm9uIGNvbnN0IHZlcnNpb24KLSAgICBTQ29ubmVjdGlvblBvaW50JiBnZXRTb3VyY2VJZCh2b2lkKXsKKyAgICBDQ29ubmVjdGlvblBvaW50JiBnZXRTb3VyY2VJZCh2b2lkKXsKICAgICAgIHJldHVybiBtU291cmNlSWQ7CiAgICAgfQogCi0gICAgdHlwZWRlZiBDU2luZ2x5TGlua2VkTGlzdDxTQ29ubmVjdGlvblBvaW50PiBURGVzdGluYXRpb25JZExpc3Q7CisgICAgdHlwZWRlZiBDU2luZ2x5TGlua2VkTGlzdDxDQ29ubmVjdGlvblBvaW50PiBURGVzdGluYXRpb25JZExpc3Q7CiAKICAgICAvKiFcYnJpZWYgYSBsaXN0IG9mIGRlc3RpbmF0aW9ucyB0aGUgY29ubmVjdGlvbiBpcyBjb25uZWN0ZWQgdG8uCiAgICAgICoKQEAgLTE0MCwxMiArMTM5LDEyIEBACiAgICAgICoKICAgICAgKiBUaGUgc291cmNlIGlzIGlkZW50aWZpZWQgYnkgYSBGQiBwb2ludGVyIGFuZCB0aGUgcG9ydCBJRAogICAgICAqLwotICAgIFNDb25uZWN0aW9uUG9pbnQgbVNvdXJjZUlkOworICAgIENDb25uZWN0aW9uUG9pbnQgbVNvdXJjZUlkOwogCiAgIHByaXZhdGU6CiAKICAgICAvLyEgQ2hlY2sgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIGNvbm5lY3Rpb24gd2l0aGluIHRoaXMgY29ubmVjdGlvbiB3aXRoIHRoZSBzYW1lIGRzdC4KLSAgICBib29sIGRzdEV4aXN0cyhjb25zdCBTQ29ubmVjdGlvblBvaW50ICZwYURlc3RQb2ludCk7CisgICAgYm9vbCBkc3RFeGlzdHMoY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCAmcGFEZXN0UG9pbnQpOwogfTsKIAogI2VuZGlmIC8qX0NPTk5fSF8qLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29udmVydF9mdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2NvbnZlcnRfZnVuY3Rpb25zLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdjYTQ1YTEuLjAwMDAwMDAKLS0tIGEvc3JjL2NvcmUvY29udmVydF9mdW5jdGlvbnMuaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MjggKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0qIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgVFUgVmllbm5hL0FDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgsDQotKiAgICAyMDE4IFRVIFZpZW5uYS9BQ0lODQotKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0qIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSoNCi0qIENvbnRyaWJ1dG9yczoNCi0qICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLCBDYXJvbHluIE9hdGVzLCBQYXRyaWNrIFNtZWprYWwsDQotKiAgICBNYXR0aGlhcyBQbGFzY2gsDQotKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0qICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgRFRfVE9fVE9EDQotKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92ZXMgaW52YWxpZCBjYXN0cywgdXBkYXRlIGltcGxlbWVudGF0aW9uDQotKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uDQotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0jaWZuZGVmIENPTlZFUlRfRlVOQ1RJT05TX0hfDQotI2RlZmluZSBDT05WRVJUX0ZVTkNUSU9OU19IXw0KLQ0KLSNpbmNsdWRlICJkYXRhdHlwZXMvZm9ydGVfYW55LmgiDQotI2luY2x1ZGUgImRhdGF0eXBlcy9mb3J0ZV9ib29sLmgiDQotI2luY2x1ZGUgImRhdGF0eXBlcy9mb3J0ZV9ieXRlLmgiDQotI2luY2x1ZGUgImRhdGF0eXBlcy9mb3J0ZV9kaW50LmgiDQotI2luY2x1ZGUgImRhdGF0eXBlcy9mb3J0ZV9kd29yZC5oIg0KLSNpbmNsdWRlICJkYXRhdHlwZXMvZm9ydGVfaW50LmgiDQotI2luY2x1ZGUgImRhdGF0eXBlcy9mb3J0ZV9saW50LmgiDQotI2luY2x1ZGUgImRhdGF0eXBlcy9mb3J0ZV9scmVhbC5oIg0KLSNpbmNsdWRlICJkYXRhdHlwZXMvZm9ydGVfbHdvcmQuaCINCi0jaW5jbHVkZSAiZGF0YXR5cGVzL2ZvcnRlX3JlYWwuaCINCi0jaW5jbHVkZSAiZGF0YXR5cGVzL2ZvcnRlX3NpbnQuaCINCi0jaW5jbHVkZSAiZGF0YXR5cGVzL2ZvcnRlX3VkaW50LmgiDQotI2luY2x1ZGUgImRhdGF0eXBlcy9mb3J0ZV91aW50LmgiDQotI2luY2x1ZGUgImRhdGF0eXBlcy9mb3J0ZV91bGludC5oIg0KLSNpbmNsdWRlICJkYXRhdHlwZXMvZm9ydGVfdXNpbnQuaCINCi0jaW5jbHVkZSAiZGF0YXR5cGVzL2ZvcnRlX3dvcmQuaCINCi0jaW5jbHVkZSAiZGF0YXR5cGVzL2ZvcnRlX3N0cmluZy5oIg0KLSNpbmNsdWRlICJkYXRhdHlwZXMvZm9ydGVfd3N0cmluZy5oIg0KLSNpbmNsdWRlICJkYXRhdHlwZXMvZm9ydGVfdGltZS5oIg0KLSNpbmNsdWRlICJkYXRhdHlwZXMvZm9ydGVfdGltZV9vZl9kYXkuaCINCi0jaW5jbHVkZSAiZGF0YXR5cGVzL2ZvcnRlX2RhdGVfYW5kX3RpbWUuaCINCi0jaW5jbHVkZSAiZGF0YXR5cGVzL2ZvcnRlX2RhdGUuaCINCi0jaW5jbHVkZSAiZGF0YXR5cGVzL2ZvcnRlX3N0cnVjdC5oIg0KLSNpbmNsdWRlICJkYXRhdHlwZXMvZm9ydGVfYXJyYXkuaCINCi0jaW5jbHVkZSA8bWF0aC5oPg0KLQ0KLS8vc29tZSBjb21waWxlcnMgZG9uJ3QgaGF2ZSB0aGlzIGRlZmluaXRpb24gb3IgaXMgYmVoaW5kIF9fU1REQ19DT05TVEFOVF9NQUNST1MuDQotLy9zaW5jZSB0aGlzIGRlZmluaXRpb24gaXMgb25seSB1c2VkIGhlcmUsIHdlIGRlZmluZSBpdCBpbnN0ZWFkIG9mIGVuYWJsaW5nIF9fU1REQ19DT05TVEFOVF9NQUNST1MgZ2xvYmFsbHksDQotLy9iZWNhdXNlIGl0J3Mgbm90IGVhc3kgdG8gZGV0ZWN0IHdoaWNoIGNvbXBpbGVycyB3aWxsIG9yIG5vdCBoYXZlIHRoaXMgZGVmaW5pdGlvbg0KLSNpZm5kZWYgVUlOVDY0X0MNCi0jIGRlZmluZSBVSU5UNjRfQyh4KSAgICh4IyNVTEwpDQotI2VuZGlmDQotDQotDQotLyohIFxmaWxlDQotICogVGhpcyBmaWxlIGltcGxlbWVudHMgdGhlIHR5cGUgY29udmVyc2lvbiBmdW5jdGlvbnMgYXMgZGVmaW5lZCBieSBJRUMgNjExMzEtMyBpbiBzdWJjbGF1c2UgMi41LjEuNS4xDQotICovDQotDQotaW5saW5lIHZvaWQgc3RyaW5nQ29udmVydGVyKENJRUNfQU5ZX1NUUklORyAmcGFTdHJpbmcsIGNvbnN0IENJRUNfQU5ZICZwYVZhbCl7DQotICBURm9ydGVVSW50MTYgYnVmZmVyU2l6ZSA9IHBhVmFsLmNzbVN0cmluZ0J1ZmZlclNpemVbcGFWYWwuZ2V0RGF0YVR5cGVJRCgpXTsNCi0gIHBhU3RyaW5nLnJlc2VydmUoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihidWZmZXJTaXplKSk7DQotICBjaGFyICpwYWNCdWZmZXIgPSBwYVN0cmluZy5nZXRWYWx1ZSgpOw0KLSAgaW50IG5Xcml0dGVuQnl0ZXMgPSBwYVZhbC50b1N0cmluZyhwYWNCdWZmZXIsIGJ1ZmZlclNpemUpOw0KLSAgbldyaXR0ZW5CeXRlcyA9IG5Xcml0dGVuQnl0ZXMgPiAtMSA/IG5Xcml0dGVuQnl0ZXMgOiAwOw0KLSAgcGFTdHJpbmcuYXNzaWduKHBhY0J1ZmZlciwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihuV3JpdHRlbkJ5dGVzKSk7DQotfQ0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLyAgIERUX1RPXyoqICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19EQVRFIERUX1RPX0RBVEUoY29uc3QgQ0lFQ19EQVRFX0FORF9USU1FICZwYVZhbCl7DQotICBURm9ydGVVSW50NjQgbkJ1ZmZlciA9IHBhVmFsOw0KLSAgdGltZV90IHQgPSBzdGF0aWNfY2FzdDx0aW1lX3Q+KG5CdWZmZXIgLyAxMDAwKTsNCi0gIHN0cnVjdCB0bSAqcHRtID0gZm9ydGVfbG9jYWx0aW1lKCZ0KTsNCi0NCi0gIGlmKDAgPT0gcHRtKXsNCi0gICAgcmV0dXJuIENJRUNfREFURSgwKTsNCi0gIH0NCi0NCi0gIHB0bS0+dG1faG91ciA9IDA7DQotICBwdG0tPnRtX21pbiA9IDA7DQotICBwdG0tPnRtX3NlYyA9IDA7DQotDQotICB0ID0gZm9ydGVfbWt0aW1lKHB0bSk7DQotICBpZigodGltZV90KSAtMSA9PSB0KXsNCi0gICAgcmV0dXJuIENJRUNfREFURSgwKTsNCi0gIH0NCi0NCi0gIHJldHVybiBDSUVDX0RBVEUodCAqIDEwMDBVTEwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19EQVRFX0FORF9USU1FIERBVEVfVE9fRFQoY29uc3QgQ0lFQ19EQVRFICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19EQVRFX0FORF9USU1FKChURm9ydGVVSW50NjQpIHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVElNRV9PRl9EQVkgRFRfVE9fVE9EKGNvbnN0IENJRUNfREFURV9BTkRfVElNRSAmcGFWYWwpew0KLSAgVEZvcnRlVUludDY0IG5CdWZmZXIgPSBwYVZhbDsNCi0gIHRpbWVfdCB0ID0gc3RhdGljX2Nhc3Q8dGltZV90PihuQnVmZmVyIC8gMTAwMCk7DQotICBzdHJ1Y3QgdG0gKnB0bSA9IGZvcnRlX2xvY2FsdGltZSgmdCk7DQotDQotICBpZigwID09IHB0bSl7DQotICAgIHJldHVybiBDSUVDX1RJTUVfT0ZfREFZKDApOw0KLSAgfQ0KLQ0KLSAgcmV0dXJuIENJRUNfVElNRV9PRl9EQVkoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDY0PigocHRtLT50bV9ob3VyICogVUlOVDY0X0MoMzYwMCkgKyBwdG0tPnRtX21pbiAqIFVJTlQ2NF9DKDYwKSArIHB0bS0+dG1fc2VjKSAqIFVJTlQ2NF9DKDEwMDApICsgKG5CdWZmZXIgJSBVSU5UNjRfQygxMDAwKSkpKTsNCi19DQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgV1NUUklOR19UT18qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfQk9PTCBXU1RSSU5HX1RPX0JPT0woY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX0JPT0wgdGVtcFZhbDsNCi0gIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7DQotICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsNCi0gIHJldHVybiB0ZW1wVmFsOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19CWVRFIFdTVFJJTkdfVE9fQllURShjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsNCi0gIENJRUNfQllURSB0ZW1wVmFsOw0KLSAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsNCi0gIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOw0KLSAgcmV0dXJuIHRlbXBWYWw7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RXT1JEIFdTVFJJTkdfVE9fRFdPUkQoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX0RXT1JEIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfV09SRCBXU1RSSU5HX1RPX1dPUkQoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX1dPUkQgdGVtcFZhbDsNCi0gIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7DQotICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsNCi0gIHJldHVybiB0ZW1wVmFsOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19ESU5UIFdTVFJJTkdfVE9fRElOVChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsNCi0gIENJRUNfRElOVCB0ZW1wVmFsOw0KLSAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsNCi0gIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOw0KLSAgcmV0dXJuIHRlbXBWYWw7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0lOVCBXU1RSSU5HX1RPX0lOVChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsNCi0gIENJRUNfSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVUlOVCBXU1RSSU5HX1RPX1VJTlQoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX1VJTlQgdGVtcFZhbDsNCi0gIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7DQotICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsNCi0gIHJldHVybiB0ZW1wVmFsOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBXU1RSSU5HX1RPX1VESU5UKGNvbnN0IENJRUNfV1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19VRElOVCB0ZW1wVmFsOw0KLSAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsNCi0gIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOw0KLSAgcmV0dXJuIHRlbXBWYWw7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VTSU5UIFdTVFJJTkdfVE9fVVNJTlQoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX1VTSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIFdTVFJJTkdfVE9fU1RSSU5HKGNvbnN0IENJRUNfV1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19TVFJJTkcgdGVtcFZhbDsNCi0gIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7DQotICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsNCi0gIHJldHVybiB0ZW1wVmFsOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19USU1FIFdTVFJJTkdfVE9fVElNRShjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsNCi0gIENJRUNfVElNRSB0ZW1wVmFsOw0KLSAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsNCi0gIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOw0KLSAgcmV0dXJuIHRlbXBWYWw7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1NJTlQgV1NUUklOR19UT19TSU5UKGNvbnN0IENJRUNfV1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19TSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfUkVBTCBXU1RSSU5HX1RPX1JFQUwoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX1JFQUwgdGVtcFZhbDsNCi0gIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7DQotICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsNCi0gIHJldHVybiB0ZW1wVmFsOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgV1NUUklOR19UT19MUkVBTChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsNCi0gIENJRUNfTFJFQUwgdGVtcFZhbDsNCi0gIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7DQotICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsNCi0gIHJldHVybiB0ZW1wVmFsOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX0xJTlQgV1NUUklOR19UT19MSU5UKGNvbnN0IENJRUNfV1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19MSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgV1NUUklOR19UT19MV09SRChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsNCi0gIENJRUNfTFdPUkQgdGVtcFZhbDsNCi0gIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7DQotICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsNCi0gIHJldHVybiB0ZW1wVmFsOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBXU1RSSU5HX1RPX1VMSU5UKGNvbnN0IENJRUNfV1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19VTElOVCB0ZW1wVmFsOw0KLSAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsNCi0gIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOw0KLSAgcmV0dXJuIHRlbXBWYWw7DQotfQ0KLSNlbmRpZg0KLSNlbmRpZg0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLyAgIFNUUklOR19UT18qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotaW5saW5lIGNvbnN0IENJRUNfSU5UIFNUUklOR19UT19JTlQoY29uc3QgQ0lFQ19TVFJJTkcgJnBhVmFsKXsNCi0gIENJRUNfSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVUlOVCBTVFJJTkdfVE9fVUlOVChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19VSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgU1RSSU5HX1RPX1VTSU5UKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX1VTSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfU0lOVCBTVFJJTkdfVE9fU0lOVChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19TSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfRElOVCBTVFJJTkdfVE9fRElOVChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19ESU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVURJTlQgU1RSSU5HX1RPX1VESU5UKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX1VESU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfQk9PTCBTVFJJTkdfVE9fQk9PTChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19CT09MIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfQllURSBTVFJJTkdfVE9fQllURShjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19CWVRFIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfV09SRCBTVFJJTkdfVE9fV09SRChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19XT1JEIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgU1RSSU5HX1RPX0RXT1JEKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX0RXT1JEIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVElNRSBTVFJJTkdfVE9fVElNRShjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19USU1FIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfUkVBTCBTVFJJTkdfVE9fUkVBTChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19SRUFMIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX0xSRUFMIFNUUklOR19UT19MUkVBTChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19MUkVBTCB0ZW1wVmFsOw0KLSAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsNCi0gIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOw0KLSAgcmV0dXJuIHRlbXBWYWw7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfVUxJTlQgU1RSSU5HX1RPX1VMSU5UKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX1VMSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfTElOVCBTVFJJTkdfVE9fTElOVChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19MSU5UIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgU1RSSU5HX1RPX0xXT1JEKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCl7DQotICBDSUVDX0xXT1JEIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBTVFJJTkdfVE9fV1NUUklORyhjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpew0KLSAgQ0lFQ19XU1RSSU5HIHRlbXBWYWw7DQotICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOw0KLSAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7DQotICByZXR1cm4gdGVtcFZhbDsNCi19DQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgTFJFQUxfVE9fKiAgZnVuY3Rpb25zDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBMUkVBTF9UT19MV09SRChjb25zdCBDSUVDX0xSRUFMICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MV09SRD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19SRUFMIExSRUFMX1RPX1JFQUwoY29uc3QgQ0lFQ19MUkVBTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBMUkVBTF9UT19VU0lOVChjb25zdCBDSUVDX0xSRUFMICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBMUkVBTF9UT19VRElOVChjb25zdCBDSUVDX0xSRUFMICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VRElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VSU5UIExSRUFMX1RPX1VJTlQoY29uc3QgQ0lFQ19MUkVBTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBMUkVBTF9UT19VTElOVChjb25zdCBDSUVDX0xSRUFMICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19MSU5UIExSRUFMX1RPX0xJTlQoY29uc3QgQ0lFQ19MUkVBTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19ESU5UIExSRUFMX1RPX0RJTlQoY29uc3QgQ0lFQ19MUkVBTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TSU5UIExSRUFMX1RPX1NJTlQoY29uc3QgQ0lFQ19MUkVBTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfU0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19JTlQgTFJFQUxfVE9fSU5UKGNvbnN0IENJRUNfTFJFQUwgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgTFJFQUxfVE9fU1RSSU5HKGNvbnN0IENJRUNfTFJFQUwgJnBhVmFsKXsNCi0gIENJRUNfU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgTFJFQUxfVE9fV1NUUklORyhjb25zdCBDSUVDX0xSRUFMICZwYVZhbCl7DQotICBDSUVDX1dTVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotI2VuZGlmDQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgUkVBTF9UT18qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFJFQUxfVE9fTElOVChjb25zdCBDSUVDX1JFQUwgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVUxJTlQgUkVBTF9UT19VTElOVChjb25zdCBDSUVDX1JFQUwgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0xSRUFMIFJFQUxfVE9fTFJFQUwoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19ESU5UIFJFQUxfVE9fRElOVChjb25zdCBDSUVDX1JFQUwgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfU0lOVCBSRUFMX1RPX1NJTlQoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0lOVCBSRUFMX1RPX0lOVChjb25zdCBDSUVDX1JFQUwgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBSRUFMX1RPX1VTSU5UKGNvbnN0IENJRUNfUkVBTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVUlOVCBSRUFMX1RPX1VJTlQoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VESU5UIFJFQUxfVE9fVURJTlQoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VRElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgUkVBTF9UT19TVFJJTkcoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7DQotICBDSUVDX1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIFJFQUxfVE9fV1NUUklORyhjb25zdCBDSUVDX1JFQUwgJnBhVmFsKXsNCi0gIENJRUNfV1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19EV09SRCBSRUFMX1RPX0RXT1JEKGNvbnN0IENJRUNfUkVBTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgVElNRV9UT18qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotaW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIFRJTUVfVE9fU1RSSU5HKGNvbnN0IENJRUNfVElNRSAmcGFWYWwpew0KLSAgQ0lFQ19TVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBUSU1FX1RPX1dTVFJJTkcoY29uc3QgQ0lFQ19USU1FICZwYVZhbCl7DQotICBDSUVDX1dTVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgQk9PTF9UT18qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotaW5saW5lIGNvbnN0IENJRUNfQllURSBCT09MX1RPX0JZVEUoY29uc3QgQ0lFQ19CT09MICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RJTlQgQk9PTF9UT19ESU5UKGNvbnN0IENJRUNfQk9PTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19EV09SRCBCT09MX1RPX0RXT1JEKGNvbnN0IENJRUNfQk9PTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfSU5UIEJPT0xfVE9fSU5UKGNvbnN0IENJRUNfQk9PTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfSU5UPihwYVZhbCk7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTElOVCBCT09MX1RPX0xJTlQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgQk9PTF9UT19MV09SRChjb25zdCBDSUVDX0JPT0wgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1NJTlQgQk9PTF9UT19TSU5UKGNvbnN0IENJRUNfQk9PTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfU0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBCT09MX1RPX1VESU5UKGNvbnN0IENJRUNfQk9PTCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVUlOVCBCT09MX1RPX1VJTlQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VSU5UPihwYVZhbCk7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfVUxJTlQgQk9PTF9UT19VTElOVChjb25zdCBDSUVDX0JPT0wgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VTSU5UIEJPT0xfVE9fVVNJTlQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19XT1JEIEJPT0xfVE9fV09SRChjb25zdCBDSUVDX0JPT0wgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1dPUkQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIEJPT0xfVE9fU1RSSU5HKGNvbnN0IENJRUNfQk9PTCAmcGFWYWwpew0KLSAgQ0lFQ19TVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBCT09MX1RPX1dTVFJJTkcoY29uc3QgQ0lFQ19CT09MICZwYVZhbCl7DQotICBDSUVDX1dTVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgQllURV9UT18qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotDQotaW5saW5lIGNvbnN0IENJRUNfRElOVCBCWVRFX1RPX0RJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RXT1JEIEJZVEVfVE9fRFdPUkQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19JTlQgQllURV9UT19JTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19MSU5UIEJZVEVfVE9fTElOVChjb25zdCBDSUVDX0JZVEUgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xJTlQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBCWVRFX1RPX0xXT1JEKGNvbnN0IENJRUNfQllURSAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFdPUkQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotaW5saW5lIGNvbnN0IENJRUNfU0lOVCBCWVRFX1RPX1NJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VESU5UIEJZVEVfVE9fVURJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VRElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VSU5UIEJZVEVfVE9fVUlOVChjb25zdCBDSUVDX0JZVEUgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VJTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBCWVRFX1RPX1VMSU5UKGNvbnN0IENJRUNfQllURSAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUxJTlQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgQllURV9UT19VU0lOVChjb25zdCBDSUVDX0JZVEUgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VTSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1dPUkQgQllURV9UT19XT1JEKGNvbnN0IENJRUNfQllURSAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgQllURV9UT19TVFJJTkcoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7DQotICBDSUVDX1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIEJZVEVfVE9fV1NUUklORyhjb25zdCBDSUVDX0JZVEUgJnBhVmFsKXsNCi0gIENJRUNfV1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0jZW5kaWYNCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8gICBESU5UX1RPXyogIGZ1bmN0aW9ucw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi1pbmxpbmUgY29uc3QgQ0lFQ19CWVRFIERJTlRfVE9fQllURShjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0JZVEU+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgRElOVF9UT19EV09SRChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RXT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0lOVCBESU5UX1RPX0lOVChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0lOVD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX0xJTlQgRElOVF9UT19MSU5UKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgRElOVF9UT19MUkVBTChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgRElOVF9UT19MV09SRChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1JFQUwgRElOVF9UT19SRUFMKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TSU5UIERJTlRfVE9fU0lOVChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVURJTlQgRElOVF9UT19VRElOVChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VESU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VJTlQgRElOVF9UT19VSU5UKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX1VMSU5UIERJTlRfVE9fVUxJTlQoY29uc3QgQ0lFQ19ESU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBESU5UX1RPX1VTSU5UKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfV09SRCBESU5UX1RPX1dPUkQoY29uc3QgQ0lFQ19ESU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19XT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1NUUklORyBESU5UX1RPX1NUUklORyhjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsNCi0gIENJRUNfU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgRElOVF9UT19XU1RSSU5HKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpew0KLSAgQ0lFQ19XU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLSNlbmRpZg0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLyAgIERXT1JEX1RPXyogIGZ1bmN0aW9ucw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi1pbmxpbmUgY29uc3QgQ0lFQ19ESU5UIERXT1JEX1RPX0RJTlQoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19CWVRFIERXT1JEX1RPX0JZVEUoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfQllURT4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19JTlQgRFdPUkRfVE9fSU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0lOVD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX0xJTlQgRFdPUkRfVE9fTElOVChjb25zdCBDSUVDX0RXT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgRFdPUkRfVE9fTFdPUkQoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFdPUkQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfUkVBTCBEV09SRF9UT19SRUFMKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1JFQUw+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotaW5saW5lIGNvbnN0IENJRUNfU0lOVCBEV09SRF9UT19TSU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVURJTlQgRFdPUkRfVE9fVURJTlQoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVUlOVCBEV09SRF9UT19VSU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VJTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBEV09SRF9UT19VTElOVChjb25zdCBDSUVDX0RXT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBEV09SRF9UT19VU0lOVChjb25zdCBDSUVDX0RXT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19XT1JEIERXT1JEX1RPX1dPUkQoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgRFdPUkRfVE9fU1RSSU5HKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKXsNCi0gIENJRUNfU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgRFdPUkRfVE9fV1NUUklORyhjb25zdCBDSUVDX0RXT1JEICZwYVZhbCl7DQotICBDSUVDX1dTVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgTFdPUkRfVE9fKiAgZnVuY3Rpb25zDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotDQotaW5saW5lIGNvbnN0IENJRUNfRElOVCBMV09SRF9UT19ESU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfQllURSBMV09SRF9UT19CWVRFKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0JZVEU+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfSU5UIExXT1JEX1RPX0lOVChjb25zdCBDSUVDX0xXT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfTElOVCBMV09SRF9UT19MSU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xJTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX0xSRUFMIExXT1JEX1RPX0xSRUFMKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RXT1JEIExXT1JEX1RPX0RXT1JEKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RXT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1NJTlQgTFdPUkRfVE9fU0lOVChjb25zdCBDSUVDX0xXT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VESU5UIExXT1JEX1RPX1VESU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VESU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VJTlQgTFdPUkRfVE9fVUlOVChjb25zdCBDSUVDX0xXT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VMSU5UIExXT1JEX1RPX1VMSU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VTSU5UIExXT1JEX1RPX1VTSU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VTSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1dPUkQgTFdPUkRfVE9fV09SRChjb25zdCBDSUVDX0xXT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19XT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1NUUklORyBMV09SRF9UT19TVFJJTkcoY29uc3QgQ0lFQ19MV09SRCAmcGFWYWwpew0KLSAgQ0lFQ19TVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBMV09SRF9UT19XU1RSSU5HKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsNCi0gIENJRUNfV1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0jZW5kaWYNCi0NCi0jZW5kaWYNCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8gICBVRElOVF9UT18qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotaW5saW5lIGNvbnN0IENJRUNfRElOVCBVRElOVF9UT19ESU5UKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfQllURSBVRElOVF9UT19CWVRFKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0JZVEU+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfSU5UIFVESU5UX1RPX0lOVChjb25zdCBDSUVDX1VESU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFVESU5UX1RPX0xJTlQoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgVURJTlRfVE9fTFJFQUwoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFJFQUw+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBVRElOVF9UT19MV09SRChjb25zdCBDSUVDX1VESU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MV09SRD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19SRUFMIFVESU5UX1RPX1JFQUwoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TSU5UIFVESU5UX1RPX1NJTlQoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfU0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19EV09SRCBVRElOVF9UT19EV09SRChjb25zdCBDSUVDX1VESU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VSU5UIFVESU5UX1RPX1VJTlQoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX1VMSU5UIFVESU5UX1RPX1VMSU5UKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VTSU5UIFVESU5UX1RPX1VTSU5UKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VTSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1dPUkQgVURJTlRfVE9fV09SRChjb25zdCBDSUVDX1VESU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19XT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1NUUklORyBVRElOVF9UT19TVFJJTkcoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpew0KLSAgQ0lFQ19TVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBVRElOVF9UT19XU1RSSU5HKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKXsNCi0gIENJRUNfV1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0jZW5kaWYNCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8gICBVSU5UX1RPXyogIGZ1bmN0aW9ucw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi1pbmxpbmUgY29uc3QgQ0lFQ19ESU5UIFVJTlRfVE9fRElOVChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfSU5UIFVJTlRfVE9fSU5UKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0JZVEUgVUlOVF9UT19CWVRFKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfQllURT4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX0xJTlQgVUlOVF9UT19MSU5UKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgVUlOVF9UT19MUkVBTChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgVUlOVF9UT19MV09SRChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1JFQUwgVUlOVF9UT19SRUFMKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TSU5UIFVJTlRfVE9fU0lOVChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgVUlOVF9UT19EV09SRChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RXT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VESU5UIFVJTlRfVE9fVURJTlQoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VRElOVD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX1VMSU5UIFVJTlRfVE9fVUxJTlQoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBVSU5UX1RPX1VTSU5UKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfV09SRCBVSU5UX1RPX1dPUkQoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19XT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1NUUklORyBVSU5UX1RPX1NUUklORyhjb25zdCBDSUVDX1VJTlQgJnBhVmFsKXsNCi0gIENJRUNfU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgVUlOVF9UT19XU1RSSU5HKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpew0KLSAgQ0lFQ19XU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLSNlbmRpZg0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLyAgIFVMSU5UX1RPXyogIGZ1bmN0aW9ucw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RJTlQgVUxJTlRfVE9fRElOVChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0JZVEUgVUxJTlRfVE9fQllURShjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0lOVCBVTElOVF9UT19JTlQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0xJTlQgVUxJTlRfVE9fTElOVChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBVTElOVF9UT19MUkVBTChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19EV09SRCBVTElOVF9UT19EV09SRChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19SRUFMIFVMSU5UX1RPX1JFQUwoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TSU5UIFVMSU5UX1RPX1NJTlQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfU0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBVTElOVF9UT19VRElOVChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VRElOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VSU5UIFVMSU5UX1RPX1VJTlQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBVTElOVF9UT19MV09SRChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBVTElOVF9UT19VU0lOVChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFVMSU5UX1RPX1dPUkQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgVUxJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsNCi0gIENJRUNfU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgVUxJTlRfVE9fV1NUUklORyhjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7DQotICBDSUVDX1dTVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotI2VuZGlmDQotDQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgVVNJTlRfVE9fKiAgZnVuY3Rpb25zDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLWlubGluZSBjb25zdCBDSUVDX0RJTlQgVVNJTlRfVE9fRElOVChjb25zdCBDSUVDX1VTSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0JZVEUgVVNJTlRfVE9fQllURShjb25zdCBDSUVDX1VTSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0lOVCBVU0lOVF9UT19JTlQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfSU5UPihwYVZhbCk7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTElOVCBVU0lOVF9UT19MSU5UKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xJTlQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX0xSRUFMIFVTSU5UX1RPX0xSRUFMKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgVVNJTlRfVE9fTFdPUkQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFdPUkQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfUkVBTCBVU0lOVF9UT19SRUFMKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1JFQUw+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotaW5saW5lIGNvbnN0IENJRUNfU0lOVCBVU0lOVF9UT19TSU5UKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgVVNJTlRfVE9fRFdPUkQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVURJTlQgVVNJTlRfVE9fVURJTlQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBVU0lOVF9UT19VTElOVChjb25zdCBDSUVDX1VTSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VSU5UIFVTSU5UX1RPX1VJTlQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFVTSU5UX1RPX1dPUkQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgVVNJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKXsNCi0gIENJRUNfU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgVVNJTlRfVE9fV1NUUklORyhjb25zdCBDSUVDX1VTSU5UICZwYVZhbCl7DQotICBDSUVDX1dTVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotI2VuZGlmDQotDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLS8vICAgV09SRF9UT18qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotaW5saW5lIGNvbnN0IENJRUNfRElOVCBXT1JEX1RPX0RJTlQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0JZVEUgV09SRF9UT19CWVRFKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfQllURT4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19JTlQgV09SRF9UT19JTlQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFdPUkRfVE9fTElOVChjb25zdCBDSUVDX1dPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xJTlQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBXT1JEX1RPX0xXT1JEKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFdPUkQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotaW5saW5lIGNvbnN0IENJRUNfU0lOVCBXT1JEX1RPX1NJTlQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RXT1JEIFdPUkRfVE9fRFdPUkQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBXT1JEX1RPX1VESU5UKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBXT1JEX1RPX1VMSU5UKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUxJTlQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgV09SRF9UT19VU0lOVChjb25zdCBDSUVDX1dPUkQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VTSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VJTlQgV09SRF9UT19VSU5UKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgV09SRF9UT19TVFJJTkcoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCl7DQotICBDSUVDX1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIFdPUkRfVE9fV1NUUklORyhjb25zdCBDSUVDX1dPUkQgJnBhVmFsKXsNCi0gIENJRUNfV1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0jZW5kaWYNCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8gICBJTlRfVE9fKiAgZnVuY3Rpb25zDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLWlubGluZSBjb25zdCBDSUVDX0JZVEUgSU5UX1RPX0JZVEUoY29uc3QgQ0lFQ19JTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0JZVEU+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgSU5UX1RPX0RXT1JEKGNvbnN0IENJRUNfSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19ESU5UIElOVF9UT19ESU5UKGNvbnN0IENJRUNfSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTElOVCBJTlRfVE9fTElOVChjb25zdCBDSUVDX0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgSU5UX1RPX0xSRUFMKGNvbnN0IENJRUNfSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX0xXT1JEIElOVF9UT19MV09SRChjb25zdCBDSUVDX0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFdPUkQ+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfUkVBTCBJTlRfVE9fUkVBTChjb25zdCBDSUVDX0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TSU5UIElOVF9UT19TSU5UKGNvbnN0IENJRUNfSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VESU5UIElOVF9UT19VRElOVChjb25zdCBDSUVDX0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfSU5UIElOVF9UT19VSU5UKGNvbnN0IENJRUNfSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBJTlRfVE9fVUxJTlQoY29uc3QgQ0lFQ19JTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VTSU5UIElOVF9UT19VU0lOVChjb25zdCBDSUVDX0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfV09SRCBJTlRfVE9fV09SRChjb25zdCBDSUVDX0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgSU5UX1RPX1NUUklORyhjb25zdCBDSUVDX0lOVCAmcGFWYWwpew0KLSAgQ0lFQ19TVFJJTkcgc3RyaW5nOw0KLSAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOw0KLSAgcmV0dXJuIHN0cmluZzsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBJTlRfVE9fV1NUUklORyhjb25zdCBDSUVDX0lOVCAmcGFWYWwpew0KLSAgQ0lFQ19XU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLSNlbmRpZg0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLyAgIExJTlRfVE9fKiAgZnVuY3Rpb25zDQotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotDQotaW5saW5lIGNvbnN0IENJRUNfQllURSBMSU5UX1RPX0JZVEUoY29uc3QgQ0lFQ19MSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RXT1JEIExJTlRfVE9fRFdPUkQoY29uc3QgQ0lFQ19MSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19ESU5UIExJTlRfVE9fRElOVChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfSU5UIExJTlRfVE9fSU5UKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfSU5UPihwYVZhbCk7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBMSU5UX1RPX0xSRUFMKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFJFQUw+KHBhVmFsKTsNCi19DQotI2VuZGlmDQotDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgTElOVF9UT19MV09SRChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1JFQUwgTElOVF9UT19SRUFMKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TSU5UIExJTlRfVE9fU0lOVChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVURJTlQgTElOVF9UT19VRElOVChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VESU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VJTlQgTElOVF9UT19VSU5UKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBMSU5UX1RPX1VMSU5UKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUxJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgTElOVF9UT19VU0lOVChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VTSU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1dPUkQgTElOVF9UT19XT1JEKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgTElOVF9UT19TVFJJTkcoY29uc3QgQ0lFQ19MSU5UICZwYVZhbCl7DQotICBDSUVDX1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUNCi1pbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIExJTlRfVE9fV1NUUklORyhjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsNCi0gIENJRUNfV1NUUklORyBzdHJpbmc7DQotICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7DQotICByZXR1cm4gc3RyaW5nOw0KLX0NCi0jZW5kaWYNCi0NCi0jZW5kaWYNCi0NCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotLy8gICBTSU5UX1RPXyogIGZ1bmN0aW9ucw0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi1pbmxpbmUgY29uc3QgQ0lFQ19CWVRFIFNJTlRfVE9fQllURShjb25zdCBDSUVDX1NJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0JZVEU+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgU0lOVF9UT19EV09SRChjb25zdCBDSUVDX1NJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RXT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RJTlQgU0lOVF9UT19ESU5UKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRElOVD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX0xJTlQgU0lOVF9UT19MSU5UKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi0jaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFDQotaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgU0lOVF9UT19MUkVBTChjb25zdCBDSUVDX1NJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgU0lOVF9UT19MV09SRChjb25zdCBDSUVDX1NJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7DQotfQ0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1JFQUwgU0lOVF9UT19SRUFMKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19JTlQgU0lOVF9UT19JTlQoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVURJTlQgU0lOVF9UT19VRElOVChjb25zdCBDSUVDX1NJTlQgJnBhVmFsKXsNCi0gIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VESU5UPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1VJTlQgU0lOVF9UT19VSU5UKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOw0KLX0NCi0NCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLWlubGluZSBjb25zdCBDSUVDX1VMSU5UIFNJTlRfVE9fVUxJTlQoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOw0KLX0NCi0jZW5kaWYNCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBTSU5UX1RPX1VTSU5UKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfV09SRCBTSU5UX1RPX1dPUkQoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19XT1JEPihwYVZhbCk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX1NUUklORyBTSU5UX1RPX1NUUklORyhjb25zdCBDSUVDX1NJTlQgJnBhVmFsKXsNCi0gIENJRUNfU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KLWlubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgU0lOVF9UT19XU1RSSU5HKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpew0KLSAgQ0lFQ19XU1RSSU5HIHN0cmluZzsNCi0gIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsNCi0gIHJldHVybiBzdHJpbmc7DQotfQ0KLSNlbmRpZg0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLyAgICpfQkNEX1RPXyoqICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgQllURV9CQ0RfVE9fVVNJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19VU0lOVChzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4oKHBhVmFsIC8gMTYgKiAxMCkgKyAocGFWYWwgJSAxNikpKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfVUlOVCBXT1JEX0JDRF9UT19VSU5UKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfVUlOVChzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KEJZVEVfQkNEX1RPX1VTSU5UKENJRUNfQllURShzdGF0aWNfY2FzdDxURm9ydGVCeXRlPihwYVZhbCA+PiA4KSkpICogMTAwICsgQllURV9CQ0RfVE9fVVNJTlQoQ0lFQ19CWVRFKHN0YXRpY19jYXN0PFRGb3J0ZUJ5dGU+KHBhVmFsICYgMHhmZikpKSkpOw0KLX0NCi0NCi1pbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBEV09SRF9CQ0RfVE9fVURJTlQoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfVURJTlQoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPihXT1JEX0JDRF9UT19VSU5UKENJRUNfV09SRChzdGF0aWNfY2FzdDxURm9ydGVXb3JkPihwYVZhbCA+PiAxNikpKSAqIDEwMDAwICsgV09SRF9CQ0RfVE9fVUlOVChDSUVDX1dPUkQoc3RhdGljX2Nhc3Q8VEZvcnRlV29yZD4ocGFWYWwgJiAweGZmZmYpKSkpKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBMV09SRF9CQ0RfVE9fVUxJTlQoY29uc3QgQ0lFQ19MV09SRCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfVUxJTlQoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDY0PihEV09SRF9CQ0RfVE9fVURJTlQoQ0lFQ19EV09SRChzdGF0aWNfY2FzdDxURm9ydGVEV29yZD4ocGFWYWwgPj4gMzIpKSkgKiAxMDAwMDAwMDAgKyBEV09SRF9CQ0RfVE9fVURJTlQoQ0lFQ19EV09SRChzdGF0aWNfY2FzdDxURm9ydGVEV29yZD4ocGFWYWwgJiAweGZmZmZmZmZmKSkpKSk7DQotfQ0KLSNlbmRpZg0KLQ0KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0vLyAgICoqX1RPX0JDRF8qICBmdW5jdGlvbnMNCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotaW5saW5lIGNvbnN0IENJRUNfQllURSBVU0lOVF9UT19CQ0RfQllURShjb25zdCBDSUVDX1VTSU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19CWVRFKHN0YXRpY19jYXN0PFRGb3J0ZUJ5dGU+KHBhVmFsIC8gMTAgKiAxNiArIHBhVmFsICUgMTApKTsNCi19DQotDQotaW5saW5lIGNvbnN0IENJRUNfV09SRCBVSU5UX1RPX0JDRF9XT1JEKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfV09SRChzdGF0aWNfY2FzdDxURm9ydGVXb3JkPigoc3RhdGljX2Nhc3Q8VEZvcnRlV29yZD4oVVNJTlRfVE9fQkNEX0JZVEUoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDg+KHBhVmFsIC8gMTAwKSkpIDw8IDgpICsgc3RhdGljX2Nhc3Q8VEZvcnRlV29yZD4oVVNJTlRfVE9fQkNEX0JZVEUoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDg+KHBhVmFsICUgMTAwKSkpKSk7DQotfQ0KLQ0KLWlubGluZSBjb25zdCBDSUVDX0RXT1JEIFVESU5UX1RPX0JDRF9EV09SRChjb25zdCBDSUVDX1VESU5UICZwYVZhbCl7DQotICByZXR1cm4gQ0lFQ19EV09SRChzdGF0aWNfY2FzdDxURm9ydGVEV29yZD4oKHN0YXRpY19jYXN0PFRGb3J0ZURXb3JkPihVSU5UX1RPX0JDRF9XT1JEKHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4ocGFWYWwgLyAxMDAwMCkpKSA8PCAxNikgKyBzdGF0aWNfY2FzdDxURm9ydGVEV29yZD4oVUlOVF9UT19CQ0RfV09SRChzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KHBhVmFsICUgMTAwMDApKSkpKTsNCi19DQotDQotI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi1pbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBVTElOVF9UT19CQ0RfTFdPUkQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpew0KLSAgcmV0dXJuIENJRUNfTFdPUkQoc3RhdGljX2Nhc3Q8VEZvcnRlTFdvcmQ+KChzdGF0aWNfY2FzdDxURm9ydGVMV29yZD4oVURJTlRfVE9fQkNEX0RXT1JEKHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4ocGFWYWwgLyAxMDAwMDAwMDApKSkgPDwgMzIpICsgc3RhdGljX2Nhc3Q8VEZvcnRlTFdvcmQ+KFVESU5UX1RPX0JDRF9EV09SRChzdGF0aWNfY2FzdDxURm9ydGVVSW50MzI+KHBhVmFsICUgMTAwMDAwMDAwKSkpKSk7DQotfQ0KLSNlbmRpZg0KLSNlbmRpZiAvKiBDT05WRVJUX0ZVTkNUSU9OU19IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGFjb25uLmNwcCBiL3NyYy9jb3JlL2RhdGFjb25uLmNwcAppbmRleCAyMmRlZmY0Li5iZGIyODgyIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhY29ubi5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YWNvbm4uY3BwCkBAIC0xLDE1ICsxLDE3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMsIEd1bm5hciBHcmFibWFpZXIsIEluZ28gSGVnbnksCi0gICogICAgTWF0dGhpYXMgUGxhc2NoCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljLCBHdW5uYXIgR3JhYm1haWVyLCBJbmdvIEhlZ255LAorICogICAgTWF0dGhpYXMgUGxhc2NoCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgImRhdGFjb25uLmgiCiAjaW5jbHVkZSAiZnVuY2Jsb2MuaCIKIApAQCAtMjcsNyArMjksNiBAQAogQ0RhdGFDb25uZWN0aW9uOjp+Q0RhdGFDb25uZWN0aW9uKCl7CiAgIGlmKDAgIT0gbV9wb1ZhbHVlKXsKICAgICBtX3BvVmFsdWUtPn5DSUVDX0FOWSgpOwotICAgIDsKICAgfQogfQogCkBAIC03MSwxNCArNzIsMTMgQEAKICAgfQogfQogCi0jaWZuZGVmIEZPUlRFX0NMQVNTXzAKIEVNR01SZXNwb25zZQogQ0RhdGFDb25uZWN0aW9uOjpkaXNjb25uZWN0KENGdW5jdGlvbkJsb2NrICpwYURzdEZCLCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhRHN0UG9ydE5hbWVJZCl7CiAgIEVNR01SZXNwb25zZSByZXR2YWwgPSBlX05PX1NVQ0hfT0JKRUNUOwogICBUUG9ydElkIGRzdFBvcnRJZCA9IHBhRHN0RkItPmdldERJSUQocGFEc3RQb3J0TmFtZUlkKTsKIAogICBpZihjZ191bkludmFsaWRQb3J0SWQgIT0gZHN0UG9ydElkKXsKLSAgICByZXR2YWwgPSBDQ29ubmVjdGlvbjo6cmVtb3ZlRGVzdGluYXRpb24oU0Nvbm5lY3Rpb25Qb2ludChwYURzdEZCLCBkc3RQb3J0SWQpKTsKKyAgICByZXR2YWwgPSBDQ29ubmVjdGlvbjo6cmVtb3ZlRGVzdGluYXRpb24oQ0Nvbm5lY3Rpb25Qb2ludChwYURzdEZCLCBkc3RQb3J0SWQpKTsKICAgICBpZihlX1JEWSA9PSByZXR2YWwpewogICAgICAgLy8gdGhlIENDb25uZWN0aW9uIGNsYXNzIGRpZG4ndCByZXNwb25kIGFuIGVycm9yCiAgICAgICBwYURzdEZCLT5jb25uZWN0REkoZHN0UG9ydElkLCAwKTsKQEAgLTg2LDcgKzg2LDYgQEAKICAgfQogICByZXR1cm4gcmV0dmFsOwogfQotI2VuZGlmCiAKIHZvaWQgQ0RhdGFDb25uZWN0aW9uOjpyZWFkRGF0YShDSUVDX0FOWSAqcGFfcG9WYWx1ZSkgY29uc3R7CiAgIGlmKG1fcG9WYWx1ZSl7CkBAIC0xNDEsMTIgKzE0MCwxMCBAQAogICB9CiAKICAgaWYoZV9SRFkgPT0gcmV0VmFsKXsKLSAgICByZXRWYWwgPSBDQ29ubmVjdGlvbjo6YWRkRGVzdGluYXRpb24oU0Nvbm5lY3Rpb25Qb2ludChwYURzdEZCLCBwYURzdFBvcnRJZCkpOwotICAgIGlmKGVfUkRZID09IHJldFZhbCl7Ci0gICAgICBpZighcGFEc3RGQi0+Y29ubmVjdERJKHBhRHN0UG9ydElkLCB0aGlzKSl7Ci0gICAgICAgIHJldFZhbCA9IGVfSU5WQUxJRF9TVEFURTsKLSAgICAgICAgbURlc3RpbmF0aW9uSWRzLnBvcEZyb250KCk7IC8vZW1wdHkgdGhlIGxpc3Qgc28gdGhhdCB0aGUgaGF2ZSBjcmVhdGVkIGNvbm5lY3Rpb24gaXMgbm90IGhlcmUgYW55bW9yZQotICAgICAgfQorICAgIHJldFZhbCA9IENDb25uZWN0aW9uOjphZGREZXN0aW5hdGlvbihDQ29ubmVjdGlvblBvaW50KHBhRHN0RkIsIHBhRHN0UG9ydElkKSk7CisgICAgaWYoZV9SRFkgPT0gcmV0VmFsICYmICFwYURzdEZCLT5jb25uZWN0REkocGFEc3RQb3J0SWQsIHRoaXMpKSB7CisgICAgICByZXRWYWwgPSBlX0lOVkFMSURfU1RBVEU7CisgICAgICBtRGVzdGluYXRpb25JZHMucG9wRnJvbnQoKTsgLy9lbXB0eSB0aGUgbGlzdCBzbyB0aGF0IHRoZSBoYXZlIGNyZWF0ZWQgY29ubmVjdGlvbiBpcyBub3QgaGVyZSBhbnltb3JlCiAgICAgfQogICB9CiAgIHJldHVybiByZXRWYWw7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhY29ubi5oIGIvc3JjL2NvcmUvZGF0YWNvbm4uaAppbmRleCAwYjk0YTY1Li4yZmZmMDYyIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhY29ubi5oCisrKyBiL3NyYy9jb3JlL2RhdGFjb25uLmgKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBSZW5lIFNtb2RpYywgR3VubmFyIEdyYWJtYWllciwgSW5nbyBIZWdueSwKLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgTW9uaWthIFdlbmdlcgotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBSZW5lIFNtb2RpYywgR3VubmFyIEdyYWJtYWllciwgSW5nbyBIZWdueSwKKyAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBNb25pa2EgV2VuZ2VyCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfREFUQUNPTk5fSF8KICNkZWZpbmUgX0RBVEFDT05OX0hfCiAKQEAgLTI5LDkgKzMxLDcgQEAKIAogICAgIHZpcnR1YWwgRU1HTVJlc3BvbnNlIGNvbm5lY3RUb0NGQkludGVyZmFjZShDRnVuY3Rpb25CbG9jayAqcGFEc3RGQiwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYURzdFBvcnROYW1lSWQpOwogCi0gICAgI2lmbmRlZiBGT1JURV9DTEFTU18wCi0gICAgICAgIHZpcnR1YWwgRU1HTVJlc3BvbnNlIGRpc2Nvbm5lY3QoQ0Z1bmN0aW9uQmxvY2sgKnBhRHN0RkIsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFEc3RQb3J0TmFtZUlkKTsKLSAgICAjZW5kaWYKKyAgICB2aXJ0dWFsIEVNR01SZXNwb25zZSBkaXNjb25uZWN0KENGdW5jdGlvbkJsb2NrICpwYURzdEZCLCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhRHN0UG9ydE5hbWVJZCk7CiAKIC8qISBcYnJpZWYgV3JpdGUgY29ubmVjdGlvbiBkYXRhIHZhbHVlLgogICoKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9DTWFrZUxpc3RzLnR4dAppbmRleCAyYjEyOWI5Li5hMjhlNmUwIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL0NNYWtlTGlzdHMudHh0CkBAIC0xLDE0ICsxLDE2IEBACi0jKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotIyAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgICoNCi0jICAqIENvbnRyaWJ1dG9yczoNCi0jICAqICAgIE1pY2hhZWwgSG9mbWFubiwgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIsIEdlcmhhcmQgRWJlbmhvZmVyDQotIyAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0jICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorIyBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgNCisjDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisjDQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgDQorIyBDb250cmlidXRvcnM6DQorIyAgICAgTWljaGFlbCBIb2ZtYW5uLCBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciwgR2VyaGFyZCBFYmVuaG9mZXINCisjICAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIA0KIA0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpAQCAtMTYsNiArMTgsOCBAQAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiBmb3J0ZV9hZGRfaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pDQogDQorZm9ydGVfYWRkX3N1YmRpcmVjdG9yeShjb252ZXJ0KQ0KKw0KIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoZm9ydGVfYW55X2VsZW1lbnRhcnkgICAgICAgZm9ydGVfaW50ICAgZm9ydGVfc2ludCkNCiBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGZvcnRlX2RpbnQgICAgZm9ydGVfdWRpbnQgZm9ydGVfdWludCkNCiBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGZvcnRlX3VzaW50ICAgZm9ydGVfZHdvcmQgZm9ydGVfd29yZCkNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9CY2RDb252ZXJ0RnVuY3Rpb25zLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9CY2RDb252ZXJ0RnVuY3Rpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEzYzhhYQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0JjZENvbnZlcnRGdW5jdGlvbnMuaApAQCAtMCwwICsxLDcyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfQkNEQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9CQ0RDT05WRVJURlVOQ1RJT05TX0hfCisKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vICAgKl9CQ0RfVE9fKiogIGZ1bmN0aW9ucworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoraW5saW5lIGNvbnN0IENJRUNfVVNJTlQgQllURV9CQ0RfVE9fVVNJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19VU0lOVChzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4oKHBhVmFsIC8gMTYgKiAxMCkgKyAocGFWYWwgJSAxNikpKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBXT1JEX0JDRF9UT19VSU5UKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfVUlOVCgKKyAgICBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KEJZVEVfQkNEX1RPX1VTSU5UKENJRUNfQllURShzdGF0aWNfY2FzdDxURm9ydGVCeXRlPihwYVZhbCA+PiA4KSkpICogMTAwCisgICAgICArIEJZVEVfQkNEX1RPX1VTSU5UKENJRUNfQllURShzdGF0aWNfY2FzdDxURm9ydGVCeXRlPihwYVZhbCAmIDB4ZmYpKSkpKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVURJTlQgRFdPUkRfQkNEX1RPX1VESU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX1VESU5UKAorICAgIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4oV09SRF9CQ0RfVE9fVUlOVChDSUVDX1dPUkQoc3RhdGljX2Nhc3Q8VEZvcnRlV29yZD4ocGFWYWwgPj4gMTYpKSkgKiAxMDAwMAorICAgICAgKyBXT1JEX0JDRF9UT19VSU5UKENJRUNfV09SRChzdGF0aWNfY2FzdDxURm9ydGVXb3JkPihwYVZhbCAmIDB4ZmZmZikpKSkpOworfQorCisjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUworaW5saW5lIGNvbnN0IENJRUNfVUxJTlQgTFdPUkRfQkNEX1RPX1VMSU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfVUxJTlQoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDY0PihEV09SRF9CQ0RfVE9fVURJTlQoQ0lFQ19EV09SRChzdGF0aWNfY2FzdDxURm9ydGVEV29yZD4ocGFWYWwgPj4gMzIpKSkgKiAxMDAwMDAwMDAgKyBEV09SRF9CQ0RfVE9fVURJTlQoQ0lFQ19EV09SRChzdGF0aWNfY2FzdDxURm9ydGVEV29yZD4ocGFWYWwgJiAweGZmZmZmZmZmKSkpKSk7Cit9CisjZW5kaWYKKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICAqKl9UT19CQ0RfKiAgZnVuY3Rpb25zCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitpbmxpbmUgY29uc3QgQ0lFQ19CWVRFIFVTSU5UX1RPX0JDRF9CWVRFKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0JZVEUoc3RhdGljX2Nhc3Q8VEZvcnRlQnl0ZT4ocGFWYWwgLyAxMCAqIDE2ICsgcGFWYWwgJSAxMCkpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFVJTlRfVE9fQkNEX1dPUkQoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19XT1JEKAorICAgIHN0YXRpY19jYXN0PFRGb3J0ZVdvcmQ+KChzdGF0aWNfY2FzdDxURm9ydGVXb3JkPihVU0lOVF9UT19CQ0RfQllURShzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4ocGFWYWwgLyAxMDApKSkgPDwgOCkKKyAgICAgICsgc3RhdGljX2Nhc3Q8VEZvcnRlV29yZD4oVVNJTlRfVE9fQkNEX0JZVEUoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDg+KHBhVmFsICUgMTAwKSkpKSk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0RXT1JEIFVESU5UX1RPX0JDRF9EV09SRChjb25zdCBDSUVDX1VESU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19EV09SRCgKKyAgICBzdGF0aWNfY2FzdDxURm9ydGVEV29yZD4oKHN0YXRpY19jYXN0PFRGb3J0ZURXb3JkPihVSU5UX1RPX0JDRF9XT1JEKHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4ocGFWYWwgLyAxMDAwMCkpKSA8PCAxNikKKyAgICAgICsgc3RhdGljX2Nhc3Q8VEZvcnRlRFdvcmQ+KFVJTlRfVE9fQkNEX1dPUkQoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihwYVZhbCAlIDEwMDAwKSkpKSk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBVTElOVF9UT19CQ0RfTFdPUkQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19MV09SRChzdGF0aWNfY2FzdDxURm9ydGVMV29yZD4oKHN0YXRpY19jYXN0PFRGb3J0ZUxXb3JkPihVRElOVF9UT19CQ0RfRFdPUkQoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPihwYVZhbCAvIDEwMDAwMDAwMCkpKSA8PCAzMikgKyBzdGF0aWNfY2FzdDxURm9ydGVMV29yZD4oVURJTlRfVE9fQkNEX0RXT1JEKHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4ocGFWYWwgJSAxMDAwMDAwMDApKSkpKTsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfQkNEQ09OVkVSVEZVTkNUSU9OU19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvQm9vbFRvQ29udmVydEZ1bmN0aW9ucy5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvQm9vbFRvQ29udmVydEZ1bmN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMDM5NDMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9Cb29sVG9Db252ZXJ0RnVuY3Rpb25zLmgKQEAgLTAsMCArMSw5MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgVFUgVmllbm5hL0FDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgsCisgKiAgICAyMDE4LTIwMTkgVFUgVmllbm5hL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsIENhcm9seW4gT2F0ZXMsIFBhdHJpY2sgU21lamthbCwKKyAqICAgIE1hdHRoaWFzIFBsYXNjaCwKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBmaXhlcyBEVF9UT19UT0QKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gcmVtb3ZlcyBpbnZhbGlkIGNhc3RzLCB1cGRhdGUgaW1wbGVtZW50YXRpb24KKyAqICAgICB0byB1c2UgbmV3IGNhc3QgZnVuY3Rpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX0JPT0xUT0NPTlZFUlRGVU5DVElPTlNfSF8KKyNkZWZpbmUgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfQk9PTFRPQ09OVkVSVEZVTkNUSU9OU19IXworCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyAgIEJPT0xfVE9fKiAgZnVuY3Rpb25zCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitpbmxpbmUgY29uc3QgQ0lFQ19CWVRFIEJPT0xfVE9fQllURShjb25zdCBDSUVDX0JPT0wgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0JZVEU+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfRElOVCBCT09MX1RPX0RJTlQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0RXT1JEIEJPT0xfVE9fRFdPUkQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19JTlQgQk9PTF9UT19JTlQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xJTlQgQk9PTF9UT19MSU5UKGNvbnN0IENJRUNfQk9PTCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xXT1JEIEJPT0xfVE9fTFdPUkQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfU0lOVCBCT09MX1RPX1NJTlQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VESU5UIEJPT0xfVE9fVURJTlQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VRElOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VSU5UIEJPT0xfVE9fVUlOVChjb25zdCBDSUVDX0JPT0wgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VJTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIEJPT0xfVE9fVUxJTlQoY29uc3QgQ0lFQ19CT09MICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgQk9PTF9UT19VU0lOVChjb25zdCBDSUVDX0JPT0wgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VTSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1dPUkQgQk9PTF9UT19XT1JEKGNvbnN0IENJRUNfQk9PTCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgQk9PTF9UT19TVFJJTkcoY29uc3QgQ0lFQ19CT09MICZwYVZhbCkgeworICBDSUVDX1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKworI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIEJPT0xfVE9fV1NUUklORyhjb25zdCBDSUVDX0JPT0wgJnBhVmFsKXsKKyAgQ0lFQ19XU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9CT09MVE9DT05WRVJURlVOQ1RJT05TX0hfICovCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9CeXRlVG9Db252ZXJ0RnVuY3Rpb25zLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9CeXRlVG9Db252ZXJ0RnVuY3Rpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFjNTk4MAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0J5dGVUb0NvbnZlcnRGdW5jdGlvbnMuaApAQCAtMCwwICsxLDkyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfQllURVRPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9CWVRFVE9DT05WRVJURlVOQ1RJT05TX0hfCisKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vICAgQllURV9UT18qICBmdW5jdGlvbnMKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworaW5saW5lIGNvbnN0IENJRUNfRElOVCBCWVRFX1RPX0RJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0RXT1JEIEJZVEVfVE9fRFdPUkQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19JTlQgQllURV9UT19JTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xJTlQgQllURV9UT19MSU5UKGNvbnN0IENJRUNfQllURSAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xXT1JEIEJZVEVfVE9fTFdPUkQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfU0lOVCBCWVRFX1RPX1NJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VESU5UIEJZVEVfVE9fVURJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VRElOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VSU5UIEJZVEVfVE9fVUlOVChjb25zdCBDSUVDX0JZVEUgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VJTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIEJZVEVfVE9fVUxJTlQoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgQllURV9UT19VU0lOVChjb25zdCBDSUVDX0JZVEUgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VTSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1dPUkQgQllURV9UT19XT1JEKGNvbnN0IENJRUNfQllURSAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgQllURV9UT19TVFJJTkcoY29uc3QgQ0lFQ19CWVRFICZwYVZhbCkgeworICBDSUVDX1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKworI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIEJZVEVfVE9fV1NUUklORyhjb25zdCBDSUVDX0JZVEUgJnBhVmFsKXsKKyAgQ0lFQ19XU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCisKKworCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfQllURVRPQ09OVkVSVEZVTkNUSU9OU19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvQ01ha2VMaXN0cy50eHQgYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmU5YzJlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwxOCBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZHMgcGFja2FnZSBjb252ZXJ0IGluIGNvcmUvZGF0YXR5cGVzCisKKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIENvcmUvZGF0YXR5cGVzL2NvbnZlcnQKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitmb3J0ZV9hZGRfaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKK2ZvcnRlX2FkZF9zb3VyY2VmaWxlX2goY29udmVydF9mdW5jdGlvbnMuaCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9EYXRlQW5kVGltZVRvQ29udmVydEZ1bmN0aW9ucy5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvRGF0ZUFuZFRpbWVUb0NvbnZlcnRGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDBhZTNiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvRGF0ZUFuZFRpbWVUb0NvbnZlcnRGdW5jdGlvbnMuaApAQCAtMCwwICsxLDY0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfREFURUFORFRJTUVUT0NPTlZFUlRGVU5DVElPTlNfSF8KKyNkZWZpbmUgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfREFURUFORFRJTUVUT0NPTlZFUlRGVU5DVElPTlNfSF8KKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICBEVF9UT18qKiAgZnVuY3Rpb25zCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUworaW5saW5lIGNvbnN0IENJRUNfREFURSBEVF9UT19EQVRFKGNvbnN0IENJRUNfREFURV9BTkRfVElNRSAmcGFWYWwpeworICBURm9ydGVVSW50NjQgbkJ1ZmZlciA9IHBhVmFsOworICB0aW1lX3QgdCA9IHN0YXRpY19jYXN0PHRpbWVfdD4obkJ1ZmZlciAvIDEwMDApOworICBzdHJ1Y3QgdG0gKnB0bSA9IGZvcnRlX2xvY2FsdGltZSgmdCk7CisKKyAgaWYoMCA9PSBwdG0peworICAgIHJldHVybiBDSUVDX0RBVEUoMCk7CisgIH0KKworICBwdG0tPnRtX2hvdXIgPSAwOworICBwdG0tPnRtX21pbiA9IDA7CisgIHB0bS0+dG1fc2VjID0gMDsKKworICB0ID0gZm9ydGVfbWt0aW1lKHB0bSk7CisgIGlmKCh0aW1lX3QpIC0xID09IHQpeworICAgIHJldHVybiBDSUVDX0RBVEUoMCk7CisgIH0KKworICByZXR1cm4gQ0lFQ19EQVRFKHQgKiAxMDAwVUxMKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfREFURV9BTkRfVElNRSBEQVRFX1RPX0RUKGNvbnN0IENJRUNfREFURSAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19EQVRFX0FORF9USU1FKChURm9ydGVVSW50NjQpIHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVElNRV9PRl9EQVkgRFRfVE9fVE9EKGNvbnN0IENJRUNfREFURV9BTkRfVElNRSAmcGFWYWwpeworICBURm9ydGVVSW50NjQgbkJ1ZmZlciA9IHBhVmFsOworICB0aW1lX3QgdCA9IHN0YXRpY19jYXN0PHRpbWVfdD4obkJ1ZmZlciAvIDEwMDApOworICBzdHJ1Y3QgdG0gKnB0bSA9IGZvcnRlX2xvY2FsdGltZSgmdCk7CisKKyAgaWYoMCA9PSBwdG0peworICAgIHJldHVybiBDSUVDX1RJTUVfT0ZfREFZKDApOworICB9CisKKyAgcmV0dXJuIENJRUNfVElNRV9PRl9EQVkoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDY0PigocHRtLT50bV9ob3VyICogVUlOVDY0X0MoMzYwMCkgKyBwdG0tPnRtX21pbiAqIFVJTlQ2NF9DKDYwKSArIHB0bS0+dG1fc2VjKSAqIFVJTlQ2NF9DKDEwMDApICsgKG5CdWZmZXIgJSBVSU5UNjRfQygxMDAwKSkpKTsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfREFURUFORFRJTUVUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0RpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0RpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2UwZDhkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvRGludFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsMTAxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfRElOVFRPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9ESU5UVE9DT05WRVJURlVOQ1RJT05TX0hfCisKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vICAgRElOVF9UT18qICBmdW5jdGlvbnMKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK2lubGluZSBjb25zdCBDSUVDX0JZVEUgRElOVF9UT19CWVRFKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfQllURT4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19EV09SRCBESU5UX1RPX0RXT1JEKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfSU5UIERJTlRfVE9fSU5UKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfSU5UPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIERJTlRfVE9fTElOVChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOworfQorI2VuZGlmCisKKyNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX0xSRUFMIERJTlRfVE9fTFJFQUwoY29uc3QgQ0lFQ19ESU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xXT1JEIERJTlRfVE9fTFdPUkQoY29uc3QgQ0lFQ19ESU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19SRUFMIERJTlRfVE9fUkVBTChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX1NJTlQgRElOVF9UT19TSU5UKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfU0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBESU5UX1RPX1VESU5UKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBESU5UX1RPX1VJTlQoY29uc3QgQ0lFQ19ESU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VSU5UPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBESU5UX1RPX1VMSU5UKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX1VTSU5UIERJTlRfVE9fVVNJTlQoY29uc3QgQ0lFQ19ESU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIERJTlRfVE9fV09SRChjb25zdCBDSUVDX0RJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1dPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIERJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfRElOVCAmcGFWYWwpIHsKKyAgQ0lFQ19TVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBESU5UX1RPX1dTVFJJTkcoY29uc3QgQ0lFQ19ESU5UICZwYVZhbCl7CisgIENJRUNfV1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfRElOVFRPQ09OVkVSVEZVTkNUSU9OU19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvRHdvcmRUb0NvbnZlcnRGdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0R3b3JkVG9Db252ZXJ0RnVuY3Rpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQzZWNjOAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0R3b3JkVG9Db252ZXJ0RnVuY3Rpb25zLmgKQEAgLTAsMCArMSw5NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgVFUgVmllbm5hL0FDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgsCisgKiAgICAyMDE4LTIwMTkgVFUgVmllbm5hL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsIENhcm9seW4gT2F0ZXMsIFBhdHJpY2sgU21lamthbCwKKyAqICAgIE1hdHRoaWFzIFBsYXNjaCwKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBmaXhlcyBEVF9UT19UT0QKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gcmVtb3ZlcyBpbnZhbGlkIGNhc3RzLCB1cGRhdGUgaW1wbGVtZW50YXRpb24KKyAqICAgICB0byB1c2UgbmV3IGNhc3QgZnVuY3Rpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX0RXT1JEVE9DT05WRVJURlVOQ1RJT05TX0hfCisjZGVmaW5lIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX0RXT1JEVE9DT05WRVJURlVOQ1RJT05TX0hfCisKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vICAgRFdPUkRfVE9fKiAgZnVuY3Rpb25zCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitpbmxpbmUgY29uc3QgQ0lFQ19ESU5UIERXT1JEX1RPX0RJTlQoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRElOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19CWVRFIERXT1JEX1RPX0JZVEUoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfQllURT4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19JTlQgRFdPUkRfVE9fSU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0lOVD4ocGFWYWwpOworfQorCisjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUworaW5saW5lIGNvbnN0IENJRUNfTElOVCBEV09SRF9UT19MSU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOworfQorI2VuZGlmCisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBEV09SRF9UT19MV09SRChjb25zdCBDSUVDX0RXT1JEICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19SRUFMIERXT1JEX1RPX1JFQUwoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19SRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfU0lOVCBEV09SRF9UT19TSU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVURJTlQgRFdPUkRfVE9fVURJTlQoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBEV09SRF9UT19VSU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VJTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIERXT1JEX1RPX1VMSU5UKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUxJTlQ+KHBhVmFsKTsKK30KKyNlbmRpZgorCitpbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBEV09SRF9UT19VU0lOVChjb25zdCBDSUVDX0RXT1JEICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIERXT1JEX1RPX1dPUkQoY29uc3QgQ0lFQ19EV09SRCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgRFdPUkRfVE9fU1RSSU5HKGNvbnN0IENJRUNfRFdPUkQgJnBhVmFsKSB7CisgIENJRUNfU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorCisjaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgRFdPUkRfVE9fV1NUUklORyhjb25zdCBDSUVDX0RXT1JEICZwYVZhbCl7CisgIENJRUNfV1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfRFdPUkRUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0ludFRvQ29udmVydEZ1bmN0aW9ucy5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvSW50VG9Db252ZXJ0RnVuY3Rpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RkYzFhZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0ludFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsMTAxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfSU5UVE9DT05WRVJURlVOQ1RJT05TX0hfCisjZGVmaW5lIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX0lOVFRPQ09OVkVSVEZVTkNUSU9OU19IXworCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyAgIElOVF9UT18qICBmdW5jdGlvbnMKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK2lubGluZSBjb25zdCBDSUVDX0JZVEUgSU5UX1RPX0JZVEUoY29uc3QgQ0lFQ19JTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0JZVEU+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgSU5UX1RPX0RXT1JEKGNvbnN0IENJRUNfSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19ESU5UIElOVF9UT19ESU5UKGNvbnN0IENJRUNfSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIElOVF9UT19MSU5UKGNvbnN0IENJRUNfSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xJTlQ+KHBhVmFsKTsKK30KKyNlbmRpZgorCisjaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBJTlRfVE9fTFJFQUwoY29uc3QgQ0lFQ19JTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFJFQUw+KHBhVmFsKTsKK30KKyNlbmRpZgorCisjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUworaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgSU5UX1RPX0xXT1JEKGNvbnN0IENJRUNfSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19SRUFMIElOVF9UT19SRUFMKGNvbnN0IENJRUNfSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1JFQUw+KHBhVmFsKTsKK30KKyNlbmRpZgorCitpbmxpbmUgY29uc3QgQ0lFQ19TSU5UIElOVF9UT19TSU5UKGNvbnN0IENJRUNfSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VESU5UIElOVF9UT19VRElOVChjb25zdCBDSUVDX0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfSU5UIElOVF9UT19VSU5UKGNvbnN0IENJRUNfSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIElOVF9UT19VTElOVChjb25zdCBDSUVDX0lOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX1VTSU5UIElOVF9UT19VU0lOVChjb25zdCBDSUVDX0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfV09SRCBJTlRfVE9fV09SRChjb25zdCBDSUVDX0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgSU5UX1RPX1NUUklORyhjb25zdCBDSUVDX0lOVCAmcGFWYWwpIHsKKyAgQ0lFQ19TVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBJTlRfVE9fV1NUUklORyhjb25zdCBDSUVDX0lOVCAmcGFWYWwpeworICBDSUVDX1dTVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisjZW5kaWYKKworI2VuZGlmIC8qIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX0lOVFRPQ09OVkVSVEZVTkNUSU9OU19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvTGludFRvQ29udmVydEZ1bmN0aW9ucy5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvTGludFRvQ29udmVydEZ1bmN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MjM2NzIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9MaW50VG9Db252ZXJ0RnVuY3Rpb25zLmgKQEAgLTAsMCArMSwxMDEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IFRVIFZpZW5uYS9BQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILAorICogICAgMjAxOC0yMDE5IFRVIFZpZW5uYS9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLCBDYXJvbHluIE9hdGVzLCBQYXRyaWNrIFNtZWprYWwsCisgKiAgICBNYXR0aGlhcyBQbGFzY2gsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgRFRfVE9fVE9ECisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92ZXMgaW52YWxpZCBjYXN0cywgdXBkYXRlIGltcGxlbWVudGF0aW9uCisgKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9MSU5UVE9DT05WRVJURlVOQ1RJT05TX0hfCisjZGVmaW5lIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX0xJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8KKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICBMSU5UX1RPXyogIGZ1bmN0aW9ucworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKKworaW5saW5lIGNvbnN0IENJRUNfQllURSBMSU5UX1RPX0JZVEUoY29uc3QgQ0lFQ19MSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0JZVEU+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgTElOVF9UT19EV09SRChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfRElOVCBMSU5UX1RPX0RJTlQoY29uc3QgQ0lFQ19MSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfSU5UIExJTlRfVE9fSU5UKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfTFJFQUwgTElOVF9UT19MUkVBTChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTFJFQUw+KHBhVmFsKTsKK30KKyNlbmRpZgorCitpbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBMSU5UX1RPX0xXT1JEKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MV09SRD4ocGFWYWwpOworfQorCisjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX1JFQUwgTElOVF9UT19SRUFMKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19SRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfU0lOVCBMSU5UX1RPX1NJTlQoY29uc3QgQ0lFQ19MSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVURJTlQgTElOVF9UT19VRElOVChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBMSU5UX1RPX1VJTlQoY29uc3QgQ0lFQ19MSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUxJTlQgTElOVF9UT19VTElOVChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUxJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgTElOVF9UT19VU0lOVChjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfV09SRCBMSU5UX1RPX1dPUkQoY29uc3QgQ0lFQ19MSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1dPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIExJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfTElOVCAmcGFWYWwpeworICBDSUVDX1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKworI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIExJTlRfVE9fV1NUUklORyhjb25zdCBDSUVDX0xJTlQgJnBhVmFsKXsKKyAgQ0lFQ19XU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCisKKyNlbmRpZgorCisKKworI2VuZGlmIC8qIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX0xJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0xyZWFsVG9Db252ZXJ0RnVuY3Rpb25zLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9McmVhbFRvQ29udmVydEZ1bmN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZWI1NjcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9McmVhbFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsODUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IFRVIFZpZW5uYS9BQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILAorICogICAgMjAxOC0yMDE5IFRVIFZpZW5uYS9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLCBDYXJvbHluIE9hdGVzLCBQYXRyaWNrIFNtZWprYWwsCisgKiAgICBNYXR0aGlhcyBQbGFzY2gsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgRFRfVE9fVE9ECisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92ZXMgaW52YWxpZCBjYXN0cywgdXBkYXRlIGltcGxlbWVudGF0aW9uCisgKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9MUkVBTFRPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9MUkVBTFRPQ09OVkVSVEZVTkNUSU9OU19IXworCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyAgIExSRUFMX1RPXyogIGZ1bmN0aW9ucworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQorCitpbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBMUkVBTF9UT19MV09SRChjb25zdCBDSUVDX0xSRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfUkVBTCBMUkVBTF9UT19SRUFMKGNvbnN0IENJRUNfTFJFQUwgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX1VTSU5UIExSRUFMX1RPX1VTSU5UKGNvbnN0IENJRUNfTFJFQUwgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVURJTlQgTFJFQUxfVE9fVURJTlQoY29uc3QgQ0lFQ19MUkVBTCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VRElOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VSU5UIExSRUFMX1RPX1VJTlQoY29uc3QgQ0lFQ19MUkVBTCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIExSRUFMX1RPX1VMSU5UKGNvbnN0IENJRUNfTFJFQUwgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUxJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfTElOVCBMUkVBTF9UT19MSU5UKGNvbnN0IENJRUNfTFJFQUwgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19ESU5UIExSRUFMX1RPX0RJTlQoY29uc3QgQ0lFQ19MUkVBTCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1NJTlQgTFJFQUxfVE9fU0lOVChjb25zdCBDSUVDX0xSRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfSU5UIExSRUFMX1RPX0lOVChjb25zdCBDSUVDX0xSRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgTFJFQUxfVE9fU1RSSU5HKGNvbnN0IENJRUNfTFJFQUwgJnBhVmFsKXsKKyAgQ0lFQ19TVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBMUkVBTF9UT19XU1RSSU5HKGNvbnN0IENJRUNfTFJFQUwgJnBhVmFsKXsKKyAgQ0lFQ19XU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCisjZW5kaWYKKworCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfTFJFQUxUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L0x3b3JkVG9Db252ZXJ0RnVuY3Rpb25zLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9Md29yZFRvQ29udmVydEZ1bmN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlNGI1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9Md29yZFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsOTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IFRVIFZpZW5uYS9BQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILAorICogICAgMjAxOC0yMDE5IFRVIFZpZW5uYS9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLCBDYXJvbHluIE9hdGVzLCBQYXRyaWNrIFNtZWprYWwsCisgKiAgICBNYXR0aGlhcyBQbGFzY2gsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgRFRfVE9fVE9ECisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92ZXMgaW52YWxpZCBjYXN0cywgdXBkYXRlIGltcGxlbWVudGF0aW9uCisgKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9MV09SRFRPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9MV09SRFRPQ09OVkVSVEZVTkNUSU9OU19IXworCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyAgIExXT1JEX1RPXyogIGZ1bmN0aW9ucworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKKworaW5saW5lIGNvbnN0IENJRUNfRElOVCBMV09SRF9UT19ESU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRElOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19CWVRFIExXT1JEX1RPX0JZVEUoY29uc3QgQ0lFQ19MV09SRCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0lOVCBMV09SRF9UT19JTlQoY29uc3QgQ0lFQ19MV09SRCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfTElOVCBMV09SRF9UT19MSU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOworfQorCisjaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBMV09SRF9UT19MUkVBTChjb25zdCBDSUVDX0xXT1JEICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgTFdPUkRfVE9fRFdPUkQoY29uc3QgQ0lFQ19MV09SRCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TSU5UIExXT1JEX1RPX1NJTlQoY29uc3QgQ0lFQ19MV09SRCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VESU5UIExXT1JEX1RPX1VESU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBMV09SRF9UT19VSU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBMV09SRF9UT19VTElOVChjb25zdCBDSUVDX0xXT1JEICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VTSU5UIExXT1JEX1RPX1VTSU5UKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfV09SRCBMV09SRF9UT19XT1JEKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgTFdPUkRfVE9fU1RSSU5HKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgQ0lFQ19TVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBMV09SRF9UT19XU1RSSU5HKGNvbnN0IENJRUNfTFdPUkQgJnBhVmFsKXsKKyAgQ0lFQ19XU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCisKKyNlbmRpZgorCisKKworI2VuZGlmIC8qIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX0xXT1JEVE9DT05WRVJURlVOQ1RJT05TX0hfICovCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9SZWFsVG9Db252ZXJ0RnVuY3Rpb25zLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9SZWFsVG9Db252ZXJ0RnVuY3Rpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVjMTkzOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1JlYWxUb0NvbnZlcnRGdW5jdGlvbnMuaApAQCAtMCwwICsxLDgzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfUkVBTFRPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9SRUFMVE9DT05WRVJURlVOQ1RJT05TX0hfCisKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vICAgUkVBTF9UT18qICBmdW5jdGlvbnMKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQorI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xJTlQgUkVBTF9UT19MSU5UKGNvbnN0IENJRUNfUkVBTCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIFJFQUxfVE9fVUxJTlQoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0xSRUFMIFJFQUxfVE9fTFJFQUwoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfRElOVCBSRUFMX1RPX0RJTlQoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfU0lOVCBSRUFMX1RPX1NJTlQoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfSU5UIFJFQUxfVE9fSU5UKGNvbnN0IENJRUNfUkVBTCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgUkVBTF9UT19VU0lOVChjb25zdCBDSUVDX1JFQUwgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBSRUFMX1RPX1VJTlQoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVURJTlQgUkVBTF9UT19VRElOVChjb25zdCBDSUVDX1JFQUwgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIFJFQUxfVE9fU1RSSU5HKGNvbnN0IENJRUNfUkVBTCAmcGFWYWwpeworICBDSUVDX1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKworI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIFJFQUxfVE9fV1NUUklORyhjb25zdCBDSUVDX1JFQUwgJnBhVmFsKXsKKyAgQ0lFQ19XU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX0RXT1JEIFJFQUxfVE9fRFdPUkQoY29uc3QgQ0lFQ19SRUFMICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0RXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2VuZGlmIC8qIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX1JFQUxUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1NpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1NpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzJjN2YzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvU2ludFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsMTAxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfU0lOVFRPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9TSU5UVE9DT05WRVJURlVOQ1RJT05TX0hfCisKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vICAgU0lOVF9UT18qICBmdW5jdGlvbnMKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK2lubGluZSBjb25zdCBDSUVDX0JZVEUgU0lOVF9UT19CWVRFKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfQllURT4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19EV09SRCBTSU5UX1RPX0RXT1JEKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfRElOVCBTSU5UX1RPX0RJTlQoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFNJTlRfVE9fTElOVChjb25zdCBDSUVDX1NJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOworfQorI2VuZGlmCisKKyNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX0xSRUFMIFNJTlRfVE9fTFJFQUwoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xXT1JEIFNJTlRfVE9fTFdPUkQoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19SRUFMIFNJTlRfVE9fUkVBTChjb25zdCBDSUVDX1NJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX0lOVCBTSU5UX1RPX0lOVChjb25zdCBDSUVDX1NJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBTSU5UX1RPX1VESU5UKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBTSU5UX1RPX1VJTlQoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VSU5UPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBTSU5UX1RPX1VMSU5UKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX1VTSU5UIFNJTlRfVE9fVVNJTlQoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFNJTlRfVE9fV09SRChjb25zdCBDSUVDX1NJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1dPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIFNJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfU0lOVCAmcGFWYWwpIHsKKyAgQ0lFQ19TVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBTSU5UX1RPX1dTVFJJTkcoY29uc3QgQ0lFQ19TSU5UICZwYVZhbCl7CisgIENJRUNfV1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfU0lOVFRPQ09OVkVSVEZVTkNUSU9OU19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvU3RyaW5nVG9Db252ZXJ0RnVuY3Rpb25zLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9TdHJpbmdUb0NvbnZlcnRGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODU3MWY0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvU3RyaW5nVG9Db252ZXJ0RnVuY3Rpb25zLmgKQEAgLTAsMCArMSwxNTMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IFRVIFZpZW5uYS9BQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILAorICogICAgMjAxOC0yMDE5IFRVIFZpZW5uYS9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLCBDYXJvbHluIE9hdGVzLCBQYXRyaWNrIFNtZWprYWwsCisgKiAgICBNYXR0aGlhcyBQbGFzY2gsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgRFRfVE9fVE9ECisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92ZXMgaW52YWxpZCBjYXN0cywgdXBkYXRlIGltcGxlbWVudGF0aW9uCisgKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisjaWZuZGVmIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX1NUUklOR1RPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9TVFJJTkdUT0NPTlZFUlRGVU5DVElPTlNfSF8KKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICBTVFJJTkdfVE9fKiAgZnVuY3Rpb25zCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitpbmxpbmUgY29uc3QgQ0lFQ19JTlQgU1RSSU5HX1RPX0lOVChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpIHsKKyAgQ0lFQ19JTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VSU5UIFNUUklOR19UT19VSU5UKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCkgeworICBDSUVDX1VJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBTVFJJTkdfVE9fVVNJTlQoY29uc3QgQ0lFQ19TVFJJTkcgJnBhVmFsKSB7CisgIENJRUNfVVNJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TSU5UIFNUUklOR19UT19TSU5UKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCkgeworICBDSUVDX1NJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19ESU5UIFNUUklOR19UT19ESU5UKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCkgeworICBDSUVDX0RJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBTVFJJTkdfVE9fVURJTlQoY29uc3QgQ0lFQ19TVFJJTkcgJnBhVmFsKSB7CisgIENJRUNfVURJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19CT09MIFNUUklOR19UT19CT09MKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCkgeworICBDSUVDX0JPT0wgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19CWVRFIFNUUklOR19UT19CWVRFKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCkgeworICBDSUVDX0JZVEUgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFNUUklOR19UT19XT1JEKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCkgeworICBDSUVDX1dPUkQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19EV09SRCBTVFJJTkdfVE9fRFdPUkQoY29uc3QgQ0lFQ19TVFJJTkcgJnBhVmFsKSB7CisgIENJRUNfRFdPUkQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19USU1FIFNUUklOR19UT19USU1FKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCkgeworICBDSUVDX1RJTUUgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCisjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX1JFQUwgU1RSSU5HX1RPX1JFQUwoY29uc3QgQ0lFQ19TVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19SRUFMIHRlbXBWYWw7CisgIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7CisgIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOworICByZXR1cm4gdGVtcFZhbDsKK30KKyNlbmRpZgorCisjaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBTVFJJTkdfVE9fTFJFQUwoY29uc3QgQ0lFQ19TVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19MUkVBTCB0ZW1wVmFsOworICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOworICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsKKyAgcmV0dXJuIHRlbXBWYWw7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIFNUUklOR19UT19VTElOVChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpeworICBDSUVDX1VMSU5UIHRlbXBWYWw7CisgIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7CisgIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOworICByZXR1cm4gdGVtcFZhbDsKK30KKworaW5saW5lIGNvbnN0IENJRUNfTElOVCBTVFJJTkdfVE9fTElOVChjb25zdCBDSUVDX1NUUklORyAmcGFWYWwpeworICBDSUVDX0xJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBTVFJJTkdfVE9fTFdPUkQoY29uc3QgQ0lFQ19TVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19MV09SRCB0ZW1wVmFsOworICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOworICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsKKyAgcmV0dXJuIHRlbXBWYWw7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIFNUUklOR19UT19XU1RSSU5HKGNvbnN0IENJRUNfU1RSSU5HICZwYVZhbCl7CisgIENJRUNfV1NUUklORyB0ZW1wVmFsOworICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOworICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsKKyAgcmV0dXJuIHRlbXBWYWw7Cit9CisjZW5kaWYKKworI2VuZGlmIC8qIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX1NUUklOR1RPQ09OVkVSVEZVTkNUSU9OU19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvVGltZUluUmVzb2x1dGlvbkNvbnZlcnRGdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1RpbWVJblJlc29sdXRpb25Db252ZXJ0RnVuY3Rpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk2MWU5ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1RpbWVJblJlc29sdXRpb25Db252ZXJ0RnVuY3Rpb25zLmgKQEAgLTAsMCArMSwyNDEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgVmllbm5hL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBhZGRzIG5vbiBzdGFuZGFyZCB0aW1lIHRvIG51bWJlciBjb252ZXJzaW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVElNRUlOUkVTT0xVVElPTkNPTlZFUlRGVU5DVElPTlNfSF8KKyNkZWZpbmUgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVElNRUlOUkVTT0xVVElPTkNPTlZFUlRGVU5DVElPTlNfSF8KKworI2luY2x1ZGUgImllYzYxMTMxX2Nhc3RfaGVscGVyLmgiCisjaW5jbHVkZSAiZm9ydGVfY29uc3RhbnRzLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgVElNRV9JTl88UkVTT0xVVElPTj5fVE9fKiBmdW5jdGlvbnMgLSBjdXN0b20gbm9uLXN0YW5kYXJkIGZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCisKKy8qKgorICogQGJyaWVmIHRlbXBsYXRlIGZ1bmN0aW9uIGZvciBjb252ZXJ0aW5nIFRJTUUgaW4gc2Vjb25kcyB0byBBTllfTlVNIHR5cGUKKyAqCisgKiBUZW1wbGF0ZSBmdW5jdGlvbiBmb3IgY29udmVydGluZyBUSU1FIHZhbHVlcyBpbiBzZWNvbmRzIHRvIGEgQU5ZX05VTSB0eXBlCisgKiBBIHN0YXRpYyBjb21waWxlIGd1YXJkIGlzIGNoZWNraW5nIGlmIHRoZSBnb2FsIHR5cGUgaXMgYSBzdWJjbGFzcyBvZiBBTllfTlVNCisgKiB0byBwcmV2ZW50IGludmFsaWQgY29udmVyc2lvbgorICoKKyAqIEBwYXJhbSBwYVZhbHVlIFRJTUUgdmFsdWUgdG8gY29udmVydAorICogQHJldHVybiBUSU1FIHZhbHVlIGluIHNlY29uZHMKKyAqLwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSBjb25zdCBUIFRJTUVfSU5fU19UTyhjb25zdCBDSUVDX1RJTUUgJnBhVmFsdWUpIHsKKyAgRk9SVEVfU1RBVElDX0FTU0VSVCgoZm9ydGU6OmNvcmU6Om1wbDo6aXNfYmFzZV9vZjxDSUVDX0FOWV9OVU0sIFQ+Ojp2YWx1ZSksIFROb3RPZkFueU51bSk7CisgIGlmKGZvcnRlOjpjb3JlOjptcGw6OmlzX2Jhc2Vfb2Y8Q0lFQ19BTllfUkVBTCwgVD46OnZhbHVlKSB7CisgICAgcmV0dXJuIFQoCisgICAgICBzdGF0aWNfY2FzdDx0eXBlbmFtZSBUOjpUVmFsdWVUeXBlPihwYVZhbHVlLmdldEluTmFub1NlY29uZHMoKSkgLyBzdGF0aWNfY2FzdDx0eXBlbmFtZSBUOjpUVmFsdWVUeXBlPihmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTmFub3NlY29uZHNQZXJTZWNvbmQpKTsKKyAgfSBlbHNlIHsKKyAgICByZXR1cm4gVChzdGF0aWNfY2FzdDx0eXBlbmFtZSBUOjpUVmFsdWVUeXBlPihwYVZhbHVlLmdldEluU2Vjb25kcygpKSk7CisgIH0KK30KKworLyoqCisgKiBAYnJpZWYgdGVtcGxhdGUgZnVuY3Rpb24gZm9yIGNvbnZlcnRpbmcgVElNRSBpbiBtaWxsaXNlY29uZHMgdG8gQU5ZX05VTSB0eXBlCisgKgorICogVGVtcGxhdGUgZnVuY3Rpb24gZm9yIGNvbnZlcnRpbmcgVElNRSB2YWx1ZXMgaW4gbWlsbGlzZWNvbmRzIHRvIGEgQU5ZX05VTSB0eXBlCisgKiBBIHN0YXRpYyBjb21waWxlIGd1YXJkIGlzIGNoZWNraW5nIGlmIHRoZSBnb2FsIHR5cGUgaXMgYSBzdWJjbGFzcyBvZiBBTllfTlVNCisgKiB0byBwcmV2ZW50IGludmFsaWQgY29udmVyc2lvbgorICoKKyAqIEBwYXJhbSBwYVZhbHVlIFRJTUUgdmFsdWUgdG8gY29udmVydAorICogQHJldHVybiBUSU1FIHZhbHVlIGluIG1pbGxpc2Vjb25kcworICovCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgoraW5saW5lIGNvbnN0IFQgVElNRV9JTl9NU19UTyhjb25zdCBDSUVDX1RJTUUgJnBhVmFsdWUpIHsKKyAgRk9SVEVfU1RBVElDX0FTU0VSVCgoZm9ydGU6OmNvcmU6Om1wbDo6aXNfYmFzZV9vZjxDSUVDX0FOWV9OVU0sIFQ+Ojp2YWx1ZSksIFROb3RPZkFueU51bSk7CisgIGlmKGZvcnRlOjpjb3JlOjptcGw6OmlzX2Jhc2Vfb2Y8Q0lFQ19BTllfUkVBTCwgVD46OnZhbHVlKSB7CisgICAgcmV0dXJuIFQoCisgICAgICBzdGF0aWNfY2FzdDx0eXBlbmFtZSBUOjpUVmFsdWVUeXBlPihwYVZhbHVlLmdldEluTmFub1NlY29uZHMoKSkKKyAgICAgICAgKiAoc3RhdGljX2Nhc3Q8dHlwZW5hbWUgVDo6VFZhbHVlVHlwZT4oZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y01pbGxpc2Vjb25kc1BlclNlY29uZCkKKyAgICAgICAgICAvIHN0YXRpY19jYXN0PHR5cGVuYW1lIFQ6OlRWYWx1ZVR5cGU+KGZvcnRlOjpjb3JlOjpjb25zdGFudHM6OmNOYW5vc2Vjb25kc1BlclNlY29uZCkpKTsKKyAgfSBlbHNlIHsKKyAgICByZXR1cm4gVChzdGF0aWNfY2FzdDx0eXBlbmFtZSBUOjpUVmFsdWVUeXBlPihwYVZhbHVlLmdldEluTWlsbGlTZWNvbmRzKCkpKTsKKyAgfQorfQorCisvKioKKyAqIEBicmllZiB0ZW1wbGF0ZSBmdW5jdGlvbiBmb3IgY29udmVydGluZyBUSU1FIGluIG1pY3Jvc2Vjb25kcyB0byBBTllfTlVNIHR5cGUKKyAqCisgKiBUZW1wbGF0ZSBmdW5jdGlvbiBmb3IgY29udmVydGluZyBUSU1FIHZhbHVlcyBpbiBtaWNyb3NlY29uZHMgdG8gYSBBTllfTlVNIHR5cGUKKyAqIEEgc3RhdGljIGNvbXBpbGUgZ3VhcmQgaXMgY2hlY2tpbmcgaWYgdGhlIGdvYWwgdHlwZSBpcyBhIHN1YmNsYXNzIG9mIEFOWV9OVU0KKyAqIHRvIHByZXZlbnQgaW52YWxpZCBjb252ZXJzaW9uCisgKgorICogQHBhcmFtIHBhVmFsdWUgVElNRSB2YWx1ZSB0byBjb252ZXJ0CisgKiBAcmV0dXJuIFRJTUUgdmFsdWUgaW4gbWljcm9zZWNvbmRzCisgKi8KK3RlbXBsYXRlPHR5cGVuYW1lIFQ+CitpbmxpbmUgY29uc3QgVCBUSU1FX0lOX1VTX1RPKGNvbnN0IENJRUNfVElNRSAmcGFWYWx1ZSkgeworICBGT1JURV9TVEFUSUNfQVNTRVJUKChmb3J0ZTo6Y29yZTo6bXBsOjppc19iYXNlX29mPENJRUNfQU5ZX05VTSwgVD46OnZhbHVlKSwgVE5vdE9mQW55TnVtKTsKKyAgaWYoZm9ydGU6OmNvcmU6Om1wbDo6aXNfYmFzZV9vZjxDSUVDX0FOWV9SRUFMLCBUPjo6dmFsdWUpIHsKKyAgICByZXR1cm4gVCgKKyAgICAgIHN0YXRpY19jYXN0PHR5cGVuYW1lIFQ6OlRWYWx1ZVR5cGU+KHBhVmFsdWUuZ2V0SW5OYW5vU2Vjb25kcygpKQorICAgICAgICAqIChzdGF0aWNfY2FzdDx0eXBlbmFtZSBUOjpUVmFsdWVUeXBlPihmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTWljcm9zZWNvbmRzUGVyU2Vjb25kKQorICAgICAgICAgIC8gc3RhdGljX2Nhc3Q8dHlwZW5hbWUgVDo6VFZhbHVlVHlwZT4oZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kKSkpOworICB9IGVsc2UgeworICAgIHJldHVybiBUKHN0YXRpY19jYXN0PHR5cGVuYW1lIFQ6OlRWYWx1ZVR5cGU+KHBhVmFsdWUuZ2V0SW5NaWNyb1NlY29uZHMoKSkpOworICB9Cit9CisKKy8qKgorICogQGJyaWVmIHRlbXBsYXRlIGZ1bmN0aW9uIGZvciBjb252ZXJ0aW5nIFRJTUUgaW4gbmFub3NlY29uZHMgdG8gQU5ZX05VTSB0eXBlCisgKgorICogVGVtcGxhdGUgZnVuY3Rpb24gZm9yIGNvbnZlcnRpbmcgVElNRSB2YWx1ZXMgaW4gbmFub3NlY29uZHMgdG8gYSBBTllfTlVNIHR5cGUKKyAqIEEgc3RhdGljIGNvbXBpbGUgZ3VhcmQgaXMgY2hlY2tpbmcgaWYgdGhlIGdvYWwgdHlwZSBpcyBhIHN1YmNsYXNzIG9mIEFOWV9OVU0KKyAqIHRvIHByZXZlbnQgaW52YWxpZCBjb252ZXJzaW9uCisgKgorICogQHBhcmFtIHBhVmFsdWUgVElNRSB2YWx1ZSB0byBjb252ZXJ0CisgKiBAcmV0dXJuIFRJTUUgdmFsdWUgaW4gbmFub3NlY29uZHMKKyAqLwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2lubGluZSBjb25zdCBUIFRJTUVfSU5fTlNfVE8oY29uc3QgQ0lFQ19USU1FICZwYVZhbHVlKSB7CisgIEZPUlRFX1NUQVRJQ19BU1NFUlQoKGZvcnRlOjpjb3JlOjptcGw6OmlzX2Jhc2Vfb2Y8Q0lFQ19BTllfTlVNLCBUPjo6dmFsdWUpLCBUTm90T2ZBbnlOdW0pOworICByZXR1cm4gVChzdGF0aWNfY2FzdDx0eXBlbmFtZSBUOjpUVmFsdWVUeXBlPihwYVZhbHVlLmdldEluTmFub1NlY29uZHMoKSkpOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICBUT19MSU5UIGZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqCisgKiBAYnJpZWYgY29udmVyc2lvbiBmdW5jdGlvbiBmcm9tIFRJTUUgdG8gTElOVCBpbiBzZWNvbmRzCisgKgorICoKKyAqIEBwYXJhbSBwYVZhbHVlIFRJTUUgdmFsdWUgdG8gY29udmVydAorICogQHJldHVybiBUSU1FIHZhbHVlIGluIHNlY29uZHMKKyAqLworaW5saW5lIGNvbnN0IENJRUNfTElOVCBUSU1FX0lOX1NfVE9fTElOVChjb25zdCBDSUVDX1RJTUUgJnBhVmFsdWUpIHsKKyAgcmV0dXJuIFRJTUVfSU5fU19UTzxDSUVDX0xJTlQ+KHBhVmFsdWUpOworfQorCisvKioKKyAqIEBicmllZiBjb252ZXJzaW9uIGZ1bmN0aW9uIGZyb20gVElNRSB0byBMSU5UIGluIG1pbGxpc2Vjb25kcworICoKKyAqIEBwYXJhbSBwYVZhbHVlIFRJTUUgdmFsdWUgdG8gY29udmVydAorICogQHJldHVybiBUSU1FIHZhbHVlIGluIG1pbGxpc2Vjb25kcworICovCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFRJTUVfSU5fTVNfVE9fTElOVChjb25zdCBDSUVDX1RJTUUgJnBhVmFsdWUpIHsKKyAgcmV0dXJuIFRJTUVfSU5fTVNfVE88Q0lFQ19MSU5UPihwYVZhbHVlKTsKK30KKworLyoqCisgKiBAYnJpZWYgY29udmVyc2lvbiBmdW5jdGlvbiBmcm9tIFRJTUUgdG8gTElOVCBpbiBtaWNyb3NlY29uZHMKKyAqCisgKiBAcGFyYW0gcGFWYWx1ZSBUSU1FIHZhbHVlIHRvIGNvbnZlcnQKKyAqIEByZXR1cm4gVElNRSB2YWx1ZSBpbiBtaWNyb3NlY29uZHMKKyAqLworaW5saW5lIGNvbnN0IENJRUNfTElOVCBUSU1FX0lOX1VTX1RPX0xJTlQoY29uc3QgQ0lFQ19USU1FICZwYVZhbHVlKSB7CisgIHJldHVybiBUSU1FX0lOX1VTX1RPPENJRUNfTElOVD4ocGFWYWx1ZSk7Cit9CisKKy8qKgorICogQGJyaWVmIGNvbnZlcnNpb24gZnVuY3Rpb24gZnJvbSBUSU1FIHRvIExJTlQgaW4gbmFub3NlY29uZHMKKyAqCisgKiBAcGFyYW0gcGFWYWx1ZSBUSU1FIHZhbHVlIHRvIGNvbnZlcnQKKyAqIEByZXR1cm4gVElNRSB2YWx1ZSBpbiBuYW5vc2Vjb25kcworICovCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFRJTUVfSU5fTlNfVE9fTElOVChjb25zdCBDSUVDX1RJTUUgJnBhVmFsdWUpIHsKKyAgcmV0dXJuIFRJTUVfSU5fTlNfVE88Q0lFQ19MSU5UPihwYVZhbHVlKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgVE9fVUxJTlQgZnVuY3Rpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKgorICogQGJyaWVmIGNvbnZlcnNpb24gZnVuY3Rpb24gZnJvbSBUSU1FIHRvIFVMSU5UIGluIHNlY29uZHMKKyAqCisgKiBAcGFyYW0gcGFWYWx1ZSBUSU1FIHZhbHVlIHRvIGNvbnZlcnQKKyAqIEByZXR1cm4gVElNRSB2YWx1ZSBpbiBzZWNvbmRzCisgKi8KK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIFRJTUVfSU5fU19UT19VTElOVChjb25zdCBDSUVDX1RJTUUgJnBhVmFsdWUpIHsKKyAgcmV0dXJuIFRJTUVfSU5fU19UTzxDSUVDX1VMSU5UPihwYVZhbHVlKTsKK30KKworLyoqCisgKiBAYnJpZWYgY29udmVyc2lvbiBmdW5jdGlvbiBmcm9tIFRJTUUgdG8gVUxJTlQgaW4gbWlsbGlzZWNvbmRzCisgKgorICogQHBhcmFtIHBhVmFsdWUgVElNRSB2YWx1ZSB0byBjb252ZXJ0CisgKiBAcmV0dXJuIFRJTUUgdmFsdWUgaW4gbWlsbGlzZWNvbmRzCisgKi8KK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIFRJTUVfSU5fTVNfVE9fVUxJTlQoY29uc3QgQ0lFQ19USU1FICZwYVZhbHVlKSB7CisgIHJldHVybiBUSU1FX0lOX01TX1RPPENJRUNfVUxJTlQ+KHBhVmFsdWUpOworfQorCisvKioKKyAqIEBicmllZiBjb252ZXJzaW9uIGZ1bmN0aW9uIGZyb20gVElNRSB0byBVTElOVCBpbiBtaWNyb3NlY29uZHMKKyAqCisgKiBAcGFyYW0gcGFWYWx1ZSBUSU1FIHZhbHVlIHRvIGNvbnZlcnQKKyAqIEByZXR1cm4gVElNRSB2YWx1ZSBpbiBtaWNyb3NlY29uZHMKKyAqLworaW5saW5lIGNvbnN0IENJRUNfVUxJTlQgVElNRV9JTl9VU19UT19VTElOVChjb25zdCBDSUVDX1RJTUUgJnBhVmFsdWUpIHsKKyAgcmV0dXJuIFRJTUVfSU5fVVNfVE88Q0lFQ19VTElOVD4ocGFWYWx1ZSk7Cit9CisKKy8qKgorICogQGJyaWVmIGNvbnZlcnNpb24gZnVuY3Rpb24gZnJvbSBUSU1FIHRvIFVMSU5UIGluIG5hbm9zZWNvbmRzCisgKgorICogQHBhcmFtIHBhVmFsdWUgVElNRSB2YWx1ZSB0byBjb252ZXJ0CisgKiBAcmV0dXJuIFRJTUUgdmFsdWUgaW4gbmFub3NlY29uZHMKKyAqLworaW5saW5lIGNvbnN0IENJRUNfVUxJTlQgVElNRV9JTl9OU19UT19VTElOVChjb25zdCBDSUVDX1RJTUUgJnBhVmFsdWUpIHsKKyAgcmV0dXJuIFRJTUVfSU5fTlNfVE88Q0lFQ19VTElOVD4ocGFWYWx1ZSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogIFRPX0xSRUFMIGZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKioKKyAqIEBicmllZiBjb252ZXJzaW9uIGZ1bmN0aW9uIGZyb20gVElNRSB0byBMUkVBTCBpbiBzZWNvbmRzCisgKgorICogQHBhcmFtIHBhVmFsdWUgVElNRSB2YWx1ZSB0byBjb252ZXJ0CisgKiBAcmV0dXJuIFRJTUUgdmFsdWUgaW4gc2Vjb25kcworICovCitpbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBUSU1FX0lOX1NfVE9fTFJFQUwoY29uc3QgQ0lFQ19USU1FICZwYVZhbHVlKSB7CisgIHJldHVybiBUSU1FX0lOX1NfVE88Q0lFQ19MUkVBTD4ocGFWYWx1ZSk7Cit9CisKKy8qKgorICogQGJyaWVmIGNvbnZlcnNpb24gZnVuY3Rpb24gZnJvbSBUSU1FIHRvIExSRUFMIGluIG1pbGxpc2Vjb25kcworICoKKyAqIEBwYXJhbSBwYVZhbHVlIFRJTUUgdmFsdWUgdG8gY29udmVydAorICogQHJldHVybiBUSU1FIHZhbHVlIGluIG1pbGxpc2Vjb25kcworICovCitpbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBUSU1FX0lOX01TX1RPX0xSRUFMKGNvbnN0IENJRUNfVElNRSAmcGFWYWx1ZSkgeworICByZXR1cm4gVElNRV9JTl9NU19UTzxDSUVDX0xSRUFMPihwYVZhbHVlKTsKK30KKworLyoqCisgKiBAYnJpZWYgY29udmVyc2lvbiBmdW5jdGlvbiBmcm9tIFRJTUUgdG8gTFJFQUwgaW4gbWljcm9zZWNvbmRzCisgKgorICogQHBhcmFtIHBhVmFsdWUgVElNRSB2YWx1ZSB0byBjb252ZXJ0CisgKiBAcmV0dXJuIFRJTUUgdmFsdWUgaW4gbWljcm9zZWNvbmRzCisgKi8KK2lubGluZSBjb25zdCBDSUVDX0xSRUFMIFRJTUVfSU5fVVNfVE9fTFJFQUwoY29uc3QgQ0lFQ19USU1FICZwYVZhbHVlKSB7CisgIHJldHVybiBUSU1FX0lOX1VTX1RPPENJRUNfTFJFQUw+KHBhVmFsdWUpOworfQorCisvKioKKyAqIEBicmllZiBjb252ZXJzaW9uIGZ1bmN0aW9uIGZyb20gVElNRSB0byBMUkVBTCBpbiBuYW5vc2Vjb25kcworICoKKyAqIEBwYXJhbSBwYVZhbHVlIFRJTUUgdmFsdWUgdG8gY29udmVydAorICogQHJldHVybiBUSU1FIHZhbHVlIGluIG5hbm9zZWNvbmRzCisgKi8KK2lubGluZSBjb25zdCBDSUVDX0xSRUFMIFRJTUVfSU5fTlNfVE9fTFJFQUwoY29uc3QgQ0lFQ19USU1FICZwYVZhbHVlKSB7CisgIHJldHVybiBUSU1FX0lOX05TX1RPPENJRUNfTFJFQUw+KHBhVmFsdWUpOworfQorCisjZW5kaWYgLyogRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUyAqLworCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVElNRUlOUkVTT0xVVElPTkNPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1RpbWVUb0NvbnZlcnRGdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1RpbWVUb0NvbnZlcnRGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2IyZjliCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvVGltZVRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IFRVIFZpZW5uYS9BQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILAorICogICAgMjAxOC0yMDE5IFRVIFZpZW5uYS9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLCBDYXJvbHluIE9hdGVzLCBQYXRyaWNrIFNtZWprYWwsCisgKiAgICBNYXR0aGlhcyBQbGFzY2gsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgRFRfVE9fVE9ECisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92ZXMgaW52YWxpZCBjYXN0cywgdXBkYXRlIGltcGxlbWVudGF0aW9uCisgKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9USU1FVE9DT05WRVJURlVOQ1RJT05TX0hfCisjZGVmaW5lIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX1RJTUVUT0NPTlZFUlRGVU5DVElPTlNfSF8KKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICBUSU1FX1RPXyogIGZ1bmN0aW9ucworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoraW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIFRJTUVfVE9fU1RSSU5HKGNvbnN0IENJRUNfVElNRSAmcGFWYWwpIHsKKyAgQ0lFQ19TVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBUSU1FX1RPX1dTVFJJTkcoY29uc3QgQ0lFQ19USU1FICZwYVZhbCl7CisgIENJRUNfV1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKyNlbmRpZgorCisKKworI2VuZGlmIC8qIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX1RJTUVUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1VkaW50VG9Db252ZXJ0RnVuY3Rpb25zLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9VZGludFRvQ29udmVydEZ1bmN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkZDVkMzcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9VZGludFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsMTAxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVURJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8KKyNkZWZpbmUgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVURJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8KKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICBVRElOVF9UT18qICBmdW5jdGlvbnMKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK2lubGluZSBjb25zdCBDSUVDX0RJTlQgVURJTlRfVE9fRElOVChjb25zdCBDSUVDX1VESU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0JZVEUgVURJTlRfVE9fQllURShjb25zdCBDSUVDX1VESU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0lOVCBVRElOVF9UT19JTlQoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfSU5UPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFVESU5UX1RPX0xJTlQoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfTFJFQUwgVURJTlRfVE9fTFJFQUwoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MUkVBTD4ocGFWYWwpOworfQorI2VuZGlmCisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBVRElOVF9UT19MV09SRChjb25zdCBDSUVDX1VESU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19SRUFMIFVESU5UX1RPX1JFQUwoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19SRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfU0lOVCBVRElOVF9UT19TSU5UKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgVURJTlRfVE9fRFdPUkQoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBVRElOVF9UT19VSU5UKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VJTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIFVESU5UX1RPX1VMSU5UKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUxJTlQ+KHBhVmFsKTsKK30KKyNlbmRpZgorCitpbmxpbmUgY29uc3QgQ0lFQ19VU0lOVCBVRElOVF9UT19VU0lOVChjb25zdCBDSUVDX1VESU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFVESU5UX1RPX1dPUkQoY29uc3QgQ0lFQ19VRElOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgVURJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfVURJTlQgJnBhVmFsKSB7CisgIENJRUNfU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorCisjaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgVURJTlRfVE9fV1NUUklORyhjb25zdCBDSUVDX1VESU5UICZwYVZhbCl7CisgIENJRUNfV1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVURJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1VpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1VpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDU1ODVlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvVWludFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsMTAxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVUlOVFRPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9VSU5UVE9DT05WRVJURlVOQ1RJT05TX0hfCisKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vICAgVUlOVF9UT18qICBmdW5jdGlvbnMKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK2lubGluZSBjb25zdCBDSUVDX0RJTlQgVUlOVF9UT19ESU5UKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRElOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19JTlQgVUlOVF9UT19JTlQoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfQllURSBVSU5UX1RPX0JZVEUoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFVJTlRfVE9fTElOVChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOworfQorI2VuZGlmCisKKyNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX0xSRUFMIFVJTlRfVE9fTFJFQUwoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xXT1JEIFVJTlRfVE9fTFdPUkQoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19SRUFMIFVJTlRfVE9fUkVBTChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfUkVBTD4ocGFWYWwpOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX1NJTlQgVUlOVF9UT19TSU5UKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfU0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19EV09SRCBVSU5UX1RPX0RXT1JEKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVURJTlQgVUlOVF9UT19VRElOVChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VESU5UPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19VTElOVCBVSU5UX1RPX1VMSU5UKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VTElOVD4ocGFWYWwpOworfQorI2VuZGlmCisKK2lubGluZSBjb25zdCBDSUVDX1VTSU5UIFVJTlRfVE9fVVNJTlQoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19VU0lOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFVJTlRfVE9fV09SRChjb25zdCBDSUVDX1VJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1dPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfU1RSSU5HIFVJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfVUlOVCAmcGFWYWwpIHsKKyAgQ0lFQ19TVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBVSU5UX1RPX1dTVFJJTkcoY29uc3QgQ0lFQ19VSU5UICZwYVZhbCl7CisgIENJRUNfV1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVUlOVFRPQ09OVkVSVEZVTkNUSU9OU19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvVWxpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1VsaW50VG9Db252ZXJ0RnVuY3Rpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTc0MGQ0YgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1VsaW50VG9Db252ZXJ0RnVuY3Rpb25zLmgKQEAgLTAsMCArMSw5OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgVFUgVmllbm5hL0FDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgsCisgKiAgICAyMDE4LTIwMTkgVFUgVmllbm5hL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsIENhcm9seW4gT2F0ZXMsIFBhdHJpY2sgU21lamthbCwKKyAqICAgIE1hdHRoaWFzIFBsYXNjaCwKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBmaXhlcyBEVF9UT19UT0QKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gcmVtb3ZlcyBpbnZhbGlkIGNhc3RzLCB1cGRhdGUgaW1wbGVtZW50YXRpb24KKyAqICAgICB0byB1c2UgbmV3IGNhc3QgZnVuY3Rpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9VTElOVFRPQ09OVkVSVEZVTkNUSU9OU19IXworI2RlZmluZSBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9VTElOVFRPQ09OVkVSVEZVTkNUSU9OU19IXworCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyAgIFVMSU5UX1RPXyogIGZ1bmN0aW9ucworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKKworaW5saW5lIGNvbnN0IENJRUNfRElOVCBVTElOVF9UT19ESU5UKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRElOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19CWVRFIFVMSU5UX1RPX0JZVEUoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0lOVCBVTElOVF9UT19JTlQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfTElOVCBVTElOVF9UT19MSU5UKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfTElOVD4ocGFWYWwpOworfQorCisjaWZkZWYgRk9SVEVfVVNFX0xSRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBVTElOVF9UT19MUkVBTChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xSRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgVUxJTlRfVE9fRFdPUkQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOworfQorCisjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX1JFQUwgVUxJTlRfVE9fUkVBTChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1JFQUw+KHBhVmFsKTsKK30KKyNlbmRpZgorCitpbmxpbmUgY29uc3QgQ0lFQ19TSU5UIFVMSU5UX1RPX1NJTlQoY29uc3QgQ0lFQ19VTElOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VESU5UIFVMSU5UX1RPX1VESU5UKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVUlOVCBVTElOVF9UT19VSU5UKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBVTElOVF9UT19MV09SRChjb25zdCBDSUVDX1VMSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VTSU5UIFVMSU5UX1RPX1VTSU5UKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVVNJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfV09SRCBVTElOVF9UT19XT1JEKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgVUxJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsKKyAgQ0lFQ19TVFJJTkcgc3RyaW5nOworICBzdHJpbmdDb252ZXJ0ZXIoc3RyaW5nLCBwYVZhbCk7CisgIHJldHVybiBzdHJpbmc7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfV1NUUklORyBVTElOVF9UT19XU1RSSU5HKGNvbnN0IENJRUNfVUxJTlQgJnBhVmFsKXsKKyAgQ0lFQ19XU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVUxJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1VzaW50VG9Db252ZXJ0RnVuY3Rpb25zLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9Vc2ludFRvQ29udmVydEZ1bmN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0MmIxOGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9Vc2ludFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsMTAxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSBUVSBWaWVubmEvQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwKKyAqICAgIDIwMTgtMjAxOSBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLAorICogICAgTWF0dGhpYXMgUGxhc2NoLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRAorICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmVzIGludmFsaWQgY2FzdHMsIHVwZGF0ZSBpbXBsZW1lbnRhdGlvbgorICogICAgIHRvIHVzZSBuZXcgY2FzdCBmdW5jdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVVNJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8KKyNkZWZpbmUgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVVNJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8KKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICBVU0lOVF9UT18qICBmdW5jdGlvbnMKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK2lubGluZSBjb25zdCBDSUVDX0RJTlQgVVNJTlRfVE9fRElOVChjb25zdCBDSUVDX1VTSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0JZVEUgVVNJTlRfVE9fQllURShjb25zdCBDSUVDX1VTSU5UICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19CWVRFPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0lOVCBVU0lOVF9UT19JTlQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfSU5UPihwYVZhbCk7Cit9CisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFVTSU5UX1RPX0xJTlQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQoraW5saW5lIGNvbnN0IENJRUNfTFJFQUwgVVNJTlRfVE9fTFJFQUwoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MUkVBTD4ocGFWYWwpOworfQorI2VuZGlmCisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MV09SRCBVU0lOVF9UT19MV09SRChjb25zdCBDSUVDX1VTSU5UICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19SRUFMIFVTSU5UX1RPX1JFQUwoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19SRUFMPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfU0lOVCBVU0lOVF9UT19TSU5UKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1NJTlQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfRFdPUkQgVVNJTlRfVE9fRFdPUkQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfRFdPUkQ+KHBhVmFsKTsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVURJTlQgVVNJTlRfVE9fVURJTlQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIFVTSU5UX1RPX1VMSU5UKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKXsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUxJTlQ+KHBhVmFsKTsKK30KKyNlbmRpZgorCitpbmxpbmUgY29uc3QgQ0lFQ19VSU5UIFVTSU5UX1RPX1VJTlQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFVTSU5UX1RPX1dPUkQoY29uc3QgQ0lFQ19VU0lOVCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgVVNJTlRfVE9fU1RSSU5HKGNvbnN0IENJRUNfVVNJTlQgJnBhVmFsKSB7CisgIENJRUNfU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorCisjaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX1dTVFJJTkcgVVNJTlRfVE9fV1NUUklORyhjb25zdCBDSUVDX1VTSU5UICZwYVZhbCl7CisgIENJRUNfV1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKyNlbmRpZgorCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfVVNJTlRUT0NPTlZFUlRGVU5DVElPTlNfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1dvcmRUb0NvbnZlcnRGdW5jdGlvbnMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L1dvcmRUb0NvbnZlcnRGdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDE0NDhkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvV29yZFRvQ29udmVydEZ1bmN0aW9ucy5oCkBAIC0wLDAgKzEsOTEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IFRVIFZpZW5uYS9BQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILAorICogICAgMjAxOC0yMDE5IFRVIFZpZW5uYS9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLCBDYXJvbHluIE9hdGVzLCBQYXRyaWNrIFNtZWprYWwsCisgKiAgICBNYXR0aGlhcyBQbGFzY2gsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgRFRfVE9fVE9ECisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92ZXMgaW52YWxpZCBjYXN0cywgdXBkYXRlIGltcGxlbWVudGF0aW9uCisgKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9XT1JEVE9DT05WRVJURlVOQ1RJT05TX0hfCisjZGVmaW5lIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX1dPUkRUT0NPTlZFUlRGVU5DVElPTlNfSF8KKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICBXT1JEX1RPXyogIGZ1bmN0aW9ucworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoraW5saW5lIGNvbnN0IENJRUNfRElOVCBXT1JEX1RPX0RJTlQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19ESU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0JZVEUgV09SRF9UT19CWVRFKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfQllURT4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19JTlQgV09SRF9UT19JTlQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19JTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xJTlQgV09SRF9UT19MSU5UKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19MSU5UPihwYVZhbCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX0xXT1JEIFdPUkRfVE9fTFdPUkQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX0xXT1JEPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfU0lOVCBXT1JEX1RPX1NJTlQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19TSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0RXT1JEIFdPUkRfVE9fRFdPUkQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCkgeworICByZXR1cm4gQ0lFQ19BTlk6OmNhc3Q8Q0lFQ19EV09SRD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VRElOVCBXT1JEX1RPX1VESU5UKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVURJTlQ+KHBhVmFsKTsKK30KKworI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIFdPUkRfVE9fVUxJTlQoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCl7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VMSU5UPihwYVZhbCk7Cit9CisjZW5kaWYKKworaW5saW5lIGNvbnN0IENJRUNfVVNJTlQgV09SRF9UT19VU0lOVChjb25zdCBDSUVDX1dPUkQgJnBhVmFsKSB7CisgIHJldHVybiBDSUVDX0FOWTo6Y2FzdDxDSUVDX1VTSU5UPihwYVZhbCk7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VJTlQgV09SRF9UT19VSU5UKGNvbnN0IENJRUNfV09SRCAmcGFWYWwpIHsKKyAgcmV0dXJuIENJRUNfQU5ZOjpjYXN0PENJRUNfVUlOVD4ocGFWYWwpOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgV09SRF9UT19TVFJJTkcoY29uc3QgQ0lFQ19XT1JEICZwYVZhbCkgeworICBDSUVDX1NUUklORyBzdHJpbmc7CisgIHN0cmluZ0NvbnZlcnRlcihzdHJpbmcsIHBhVmFsKTsKKyAgcmV0dXJuIHN0cmluZzsKK30KKworI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19XU1RSSU5HIFdPUkRfVE9fV1NUUklORyhjb25zdCBDSUVDX1dPUkQgJnBhVmFsKXsKKyAgQ0lFQ19XU1RSSU5HIHN0cmluZzsKKyAgc3RyaW5nQ29udmVydGVyKHN0cmluZywgcGFWYWwpOworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCisKKworCisjZW5kaWYgLyogU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfV09SRFRPQ09OVkVSVEZVTkNUSU9OU19IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvV3N0cmluZ1RvQ29udmVydEZ1bmN0aW9ucy5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvV3N0cmluZ1RvQ29udmVydEZ1bmN0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiOGVjNjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9Xc3RyaW5nVG9Db252ZXJ0RnVuY3Rpb25zLmgKQEAgLTAsMCArMSwxNTQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1IFRVIFZpZW5uYS9BQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILAorICogICAgMjAxOC0yMDE5IFRVIFZpZW5uYS9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLCBDYXJvbHluIE9hdGVzLCBQYXRyaWNrIFNtZWprYWwsCisgKiAgICBNYXR0aGlhcyBQbGFzY2gsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gZml4ZXMgRFRfVE9fVE9ECisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92ZXMgaW52YWxpZCBjYXN0cywgdXBkYXRlIGltcGxlbWVudGF0aW9uCisgKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9XU1RSSU5HVE9DT05WRVJURlVOQ1RJT05TX0hfCisjZGVmaW5lIFNSQ19DT1JFX0RBVEFUWVBFU19DT05WRVJUX1dTVFJJTkdUT0NPTlZFUlRGVU5DVElPTlNfSF8KKworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8gICBXU1RSSU5HX1RPXyogIGZ1bmN0aW9ucworLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorI2lmZGVmIEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFCitpbmxpbmUgY29uc3QgQ0lFQ19CT09MIFdTVFJJTkdfVE9fQk9PTChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19CT09MIHRlbXBWYWw7CisgIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7CisgIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOworICByZXR1cm4gdGVtcFZhbDsKK30KKworaW5saW5lIGNvbnN0IENJRUNfQllURSBXU1RSSU5HX1RPX0JZVEUoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7CisgIENJRUNfQllURSB0ZW1wVmFsOworICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOworICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsKKyAgcmV0dXJuIHRlbXBWYWw7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0RXT1JEIFdTVFJJTkdfVE9fRFdPUkQoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7CisgIENJRUNfRFdPUkQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19XT1JEIFdTVFJJTkdfVE9fV09SRChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19XT1JEIHRlbXBWYWw7CisgIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7CisgIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOworICByZXR1cm4gdGVtcFZhbDsKK30KKworaW5saW5lIGNvbnN0IENJRUNfRElOVCBXU1RSSU5HX1RPX0RJTlQoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7CisgIENJRUNfRElOVCB0ZW1wVmFsOworICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOworICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsKKyAgcmV0dXJuIHRlbXBWYWw7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX0lOVCBXU1RSSU5HX1RPX0lOVChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19JTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19VSU5UIFdTVFJJTkdfVE9fVUlOVChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19VSU5UIHRlbXBWYWw7CisgIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7CisgIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOworICByZXR1cm4gdGVtcFZhbDsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVURJTlQgV1NUUklOR19UT19VRElOVChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19VRElOVCB0ZW1wVmFsOworICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOworICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsKKyAgcmV0dXJuIHRlbXBWYWw7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VTSU5UIFdTVFJJTkdfVE9fVVNJTlQoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7CisgIENJRUNfVVNJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCitpbmxpbmUgY29uc3QgQ0lFQ19TVFJJTkcgV1NUUklOR19UT19TVFJJTkcoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7CisgIENJRUNfU1RSSU5HIHRlbXBWYWw7CisgIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7CisgIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOworICByZXR1cm4gdGVtcFZhbDsKK30KKworaW5saW5lIGNvbnN0IENJRUNfVElNRSBXU1RSSU5HX1RPX1RJTUUoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7CisgIENJRUNfVElNRSB0ZW1wVmFsOworICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOworICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsKKyAgcmV0dXJuIHRlbXBWYWw7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1NJTlQgV1NUUklOR19UT19TSU5UKGNvbnN0IENJRUNfV1NUUklORyAmcGFWYWwpeworICBDSUVDX1NJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorCisjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX1JFQUwgV1NUUklOR19UT19SRUFMKGNvbnN0IENJRUNfV1NUUklORyAmcGFWYWwpeworICBDSUVDX1JFQUwgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorI2VuZGlmCisKKyNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUKK2lubGluZSBjb25zdCBDSUVDX0xSRUFMIFdTVFJJTkdfVE9fTFJFQUwoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7CisgIENJRUNfTFJFQUwgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorI2VuZGlmCisKKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCitpbmxpbmUgY29uc3QgQ0lFQ19MSU5UIFdTVFJJTkdfVE9fTElOVChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19MSU5UIHRlbXBWYWw7CisgIGNvbnN0IGNoYXIgKnBhY0J1ZmZlciA9IHBhVmFsLmdldFZhbHVlKCk7CisgIHRlbXBWYWwuZnJvbVN0cmluZyhwYWNCdWZmZXIpOworICByZXR1cm4gdGVtcFZhbDsKK30KKworaW5saW5lIGNvbnN0IENJRUNfTFdPUkQgV1NUUklOR19UT19MV09SRChjb25zdCBDSUVDX1dTVFJJTkcgJnBhVmFsKXsKKyAgQ0lFQ19MV09SRCB0ZW1wVmFsOworICBjb25zdCBjaGFyICpwYWNCdWZmZXIgPSBwYVZhbC5nZXRWYWx1ZSgpOworICB0ZW1wVmFsLmZyb21TdHJpbmcocGFjQnVmZmVyKTsKKyAgcmV0dXJuIHRlbXBWYWw7Cit9CisKK2lubGluZSBjb25zdCBDSUVDX1VMSU5UIFdTVFJJTkdfVE9fVUxJTlQoY29uc3QgQ0lFQ19XU1RSSU5HICZwYVZhbCl7CisgIENJRUNfVUxJTlQgdGVtcFZhbDsKKyAgY29uc3QgY2hhciAqcGFjQnVmZmVyID0gcGFWYWwuZ2V0VmFsdWUoKTsKKyAgdGVtcFZhbC5mcm9tU3RyaW5nKHBhY0J1ZmZlcik7CisgIHJldHVybiB0ZW1wVmFsOworfQorI2VuZGlmCisjZW5kaWYKKworCisKKyNlbmRpZiAvKiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9XU1RSSU5HVE9DT05WRVJURlVOQ1RJT05TX0hfICovCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvY29udmVydC9jb252ZXJ0X2Z1bmN0aW9ucy5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvY29udmVydF9mdW5jdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWNjNGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvY29udmVydF9mdW5jdGlvbnMuaApAQCAtMCwwICsxLDg5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgVFUgVmllbm5hL0FDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgsDQorICogICAgMjAxOC0yMDE5IFRVIFZpZW5uYS9BQ0lODQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwgQ2Fyb2x5biBPYXRlcywgUGF0cmljayBTbWVqa2FsLA0KKyAqICAgIE1hdHRoaWFzIFBsYXNjaCwNCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKiAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGZpeGVzIERUX1RPX1RPRA0KKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gcmVtb3ZlcyBpbnZhbGlkIGNhc3RzLCB1cGRhdGUgaW1wbGVtZW50YXRpb24NCisgKiAgICAgdG8gdXNlIG5ldyBjYXN0IGZ1bmN0aW9uDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorI2lmbmRlZiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9DT05WRVJUX0ZVTkNUSU9OU19IXw0KKyNkZWZpbmUgU1JDX0NPUkVfREFUQVRZUEVTX0NPTlZFUlRfQ09OVkVSVF9GVU5DVElPTlNfSF8NCisNCisjaW5jbHVkZSAiZm9ydGVfYW55LmgiDQorI2luY2x1ZGUgImZvcnRlX2Jvb2wuaCINCisjaW5jbHVkZSAiZm9ydGVfYnl0ZS5oIg0KKyNpbmNsdWRlICJmb3J0ZV9kaW50LmgiDQorI2luY2x1ZGUgImZvcnRlX2R3b3JkLmgiDQorI2luY2x1ZGUgImZvcnRlX2ludC5oIg0KKyNpbmNsdWRlICJmb3J0ZV9saW50LmgiDQorI2luY2x1ZGUgImZvcnRlX2xyZWFsLmgiDQorI2luY2x1ZGUgImZvcnRlX2x3b3JkLmgiDQorI2luY2x1ZGUgImZvcnRlX3JlYWwuaCINCisjaW5jbHVkZSAiZm9ydGVfc2ludC5oIg0KKyNpbmNsdWRlICJmb3J0ZV91ZGludC5oIg0KKyNpbmNsdWRlICJmb3J0ZV91aW50LmgiDQorI2luY2x1ZGUgImZvcnRlX3VsaW50LmgiDQorI2luY2x1ZGUgImZvcnRlX3VzaW50LmgiDQorI2luY2x1ZGUgImZvcnRlX3dvcmQuaCINCisjaW5jbHVkZSAiZm9ydGVfc3RyaW5nLmgiDQorI2luY2x1ZGUgImZvcnRlX3dzdHJpbmcuaCINCisjaW5jbHVkZSAiZm9ydGVfdGltZS5oIg0KKyNpbmNsdWRlICJmb3J0ZV90aW1lX29mX2RheS5oIg0KKyNpbmNsdWRlICJmb3J0ZV9kYXRlX2FuZF90aW1lLmgiDQorI2luY2x1ZGUgImZvcnRlX2RhdGUuaCINCisjaW5jbHVkZSAiZm9ydGVfc3RydWN0LmgiDQorI2luY2x1ZGUgImZvcnRlX2FycmF5LmgiDQorI2luY2x1ZGUgPG1hdGguaD4NCisNCisvL3NvbWUgY29tcGlsZXJzIGRvbid0IGhhdmUgdGhpcyBkZWZpbml0aW9uIG9yIGlzIGJlaGluZCBfX1NURENfQ09OU1RBTlRfTUFDUk9TLg0KKy8vc2luY2UgdGhpcyBkZWZpbml0aW9uIGlzIG9ubHkgdXNlZCBoZXJlLCB3ZSBkZWZpbmUgaXQgaW5zdGVhZCBvZiBlbmFibGluZyBfX1NURENfQ09OU1RBTlRfTUFDUk9TIGdsb2JhbGx5LA0KKy8vYmVjYXVzZSBpdCdzIG5vdCBlYXN5IHRvIGRldGVjdCB3aGljaCBjb21waWxlcnMgd2lsbCBvciBub3QgaGF2ZSB0aGlzIGRlZmluaXRpb24NCisjaWZuZGVmIFVJTlQ2NF9DDQorIyBkZWZpbmUgVUlOVDY0X0MoeCkgICAoeCMjVUxMKQ0KKyNlbmRpZg0KKw0KKy8qISBcZmlsZQ0KKyAqIFRoaXMgZmlsZSBpbXBsZW1lbnRzIHRoZSB0eXBlIGNvbnZlcnNpb24gZnVuY3Rpb25zIGFzIGRlZmluZWQgYnkgSUVDIDYxMTMxLTMgaW4gc3ViY2xhdXNlIDIuNS4xLjUuMQ0KKyAqLw0KKw0KK2lubGluZSB2b2lkIHN0cmluZ0NvbnZlcnRlcihDSUVDX0FOWV9TVFJJTkcgJnBhU3RyaW5nLCBjb25zdCBDSUVDX0FOWSAmcGFWYWwpIHsNCisgIFRGb3J0ZVVJbnQxNiBidWZmZXJTaXplID0gQ0lFQ19BTlk6OmNzbVN0cmluZ0J1ZmZlclNpemVbcGFWYWwuZ2V0RGF0YVR5cGVJRCgpXTsNCisgIHBhU3RyaW5nLnJlc2VydmUoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihidWZmZXJTaXplKSk7DQorICBjaGFyICpwYWNCdWZmZXIgPSBwYVN0cmluZy5nZXRWYWx1ZSgpOw0KKyAgaW50IG5Xcml0dGVuQnl0ZXMgPSBwYVZhbC50b1N0cmluZyhwYWNCdWZmZXIsIGJ1ZmZlclNpemUpOw0KKyAgbldyaXR0ZW5CeXRlcyA9IG5Xcml0dGVuQnl0ZXMgPiAtMSA/IG5Xcml0dGVuQnl0ZXMgOiAwOw0KKyAgcGFTdHJpbmcuYXNzaWduKHBhY0J1ZmZlciwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihuV3JpdHRlbkJ5dGVzKSk7DQorfQ0KKw0KKyNpbmNsdWRlICJEYXRlQW5kVGltZVRvQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJXc3RyaW5nVG9Db252ZXJ0RnVuY3Rpb25zLmgiDQorI2luY2x1ZGUgIlN0cmluZ1RvQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJMcmVhbFRvQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJSZWFsVG9Db252ZXJ0RnVuY3Rpb25zLmgiDQorI2luY2x1ZGUgIlRpbWVUb0NvbnZlcnRGdW5jdGlvbnMuaCINCisjaW5jbHVkZSAiQm9vbFRvQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJCeXRlVG9Db252ZXJ0RnVuY3Rpb25zLmgiDQorI2luY2x1ZGUgIkRpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaCINCisjaW5jbHVkZSAiRHdvcmRUb0NvbnZlcnRGdW5jdGlvbnMuaCINCisjaW5jbHVkZSAiTHdvcmRUb0NvbnZlcnRGdW5jdGlvbnMuaCINCisjaW5jbHVkZSAiVWRpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaCINCisjaW5jbHVkZSAiVWludFRvQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJVbGludFRvQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJVc2ludFRvQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJXb3JkVG9Db252ZXJ0RnVuY3Rpb25zLmgiDQorI2luY2x1ZGUgIkludFRvQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJMaW50VG9Db252ZXJ0RnVuY3Rpb25zLmgiDQorI2luY2x1ZGUgIlNpbnRUb0NvbnZlcnRGdW5jdGlvbnMuaCINCisjaW5jbHVkZSAiQmNkQ29udmVydEZ1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICJUaW1lSW5SZXNvbHV0aW9uQ29udmVydEZ1bmN0aW9ucy5oIg0KKw0KKyNlbmRpZiAvKiBTUkNfQ09SRV9EQVRBVFlQRVNfQ09OVkVSVF9DT05WRVJUX0ZVTkNUSU9OU19IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnkuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueS5jcHAKaW5kZXggZWVkOTU4MS4uNWFiYWUwMyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueS5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueS5jcHAKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTMgQUNJTiwgbnh0Y29udHJvbCBHbWJILCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBTdGFuaXNsYXYgTWVkdW5hLA0KLSAgKiAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTMgQUNJTiwgbnh0Y29udHJvbCBHbWJILCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIFN0YW5pc2xhdiBNZWR1bmEsDQorICogICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgImZvcnRlX2FueS5oIg0KICNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFANCiAjaW5jbHVkZSAiZm9ydGVfYW55X2dlbi5jcHAiDQpAQCAtMjAsNyArMjIsNyBAQAogDQogY29uc3QgQ1R5cGVMaWI6OkNEYXRhVHlwZUVudHJ5IENJRUNfQU5ZOjpjc21GaXJtd2FyZURhdGFUeXBlRW50cnlfQ0lFQ19BTlkoZ19uU3RyaW5nSWRBTlksIENJRUNfQU5ZOjpjcmVhdGVEYXRhVHlwZSk7DQogDQotY29uc3QgY2hhciAqIGNvbnN0IENJRUNfQU5ZOjpzY21BbnlUb1N0cmluZ1Jlc3BvbnNlID0gIk5EIChBTlkpIjsNCitjb25zdCBjaGFyIENJRUNfQU5ZOjpzY21BbnlUb1N0cmluZ1Jlc3BvbnNlW10gPSAiTkQgKEFOWSkiOw0KIA0KIGludCBDSUVDX0FOWTo6ZHVtbXlJbml0KCl7DQogICByZXR1cm4gMDsNCkBAIC03MywxMyArNzUsMTEgQEAKICAgICBjb25zdCBjaGFyICphY0hhc2hQb3MgPSBzdHJjaHIocGFfcGFjVmFsdWUsICcjJyk7DQogICAgIGlmKDAgIT0gYWNIYXNoUG9zKXsNCiAgICAgICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIG5UeXBlTmFtZUlkID0gcGFyc2VUeXBlTmFtZShwYV9wYWNWYWx1ZSwgYWNIYXNoUG9zKTsNCi0gICAgICBpZihDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQgIT0gblR5cGVOYW1lSWQpew0KLSAgICAgICAgaWYoMCAhPSBDVHlwZUxpYjo6Y3JlYXRlRGF0YVR5cGVJbnN0YW5jZShuVHlwZU5hbWVJZCwgKFRGb3J0ZUJ5dGUgKikgdGhpcykpew0KLSAgICAgICAgICBuUmV0VmFsID0gZnJvbVN0cmluZyhwYV9wYWNWYWx1ZSk7ICAgIC8vc29tZSBvZiB0aGUgZGF0YXR5cGVzIHJlcXVpcmUgdGhlIHR5cGUgdXBmcm9udCBmb3IgY29ycmVjdCBwYXJzaW5nIGUuZy4sIHRpbWUNCi0gICAgICAgICAgaWYoMCA+IG5SZXRWYWwpew0KLSAgICAgICAgICAgIC8vaWYgaXQgZGlkbid0IHdvcmsgY2hhbmdlIHVzIGJhY2sgdG8gYW4gYW55DQotICAgICAgICAgICAgQ0lFQ19BTlk6OmNyZWF0ZURhdGFUeXBlKChURm9ydGVCeXRlICopdGhpcyk7DQotICAgICAgICAgIH0NCisgICAgICBpZihDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQgIT0gblR5cGVOYW1lSWQgJiYgMCAhPSBDVHlwZUxpYjo6Y3JlYXRlRGF0YVR5cGVJbnN0YW5jZShuVHlwZU5hbWVJZCwgKFRGb3J0ZUJ5dGUgKikgdGhpcykpIHsNCisgICAgICAgIG5SZXRWYWwgPSBmcm9tU3RyaW5nKHBhX3BhY1ZhbHVlKTsgLy9zb21lIG9mIHRoZSBkYXRhdHlwZXMgcmVxdWlyZSB0aGUgdHlwZSB1cGZyb250IGZvciBjb3JyZWN0IHBhcnNpbmcgZS5nLiwgdGltZQ0KKyAgICAgICAgaWYoMCA+IG5SZXRWYWwpIHsNCisgICAgICAgICAgLy9pZiBpdCBkaWRuJ3Qgd29yayBjaGFuZ2UgdXMgYmFjayB0byBhbiBhbnkNCisgICAgICAgICAgQ0lFQ19BTlk6OmNyZWF0ZURhdGFUeXBlKChURm9ydGVCeXRlICopIHRoaXMpOw0KICAgICAgICAgfQ0KICAgICAgIH0NCiAgICAgfQ0KQEAgLTEwMSwxMiArMTAxLDE0IEBACiAgIHJldHVybiBuUmV0VmFsOw0KIH0NCiANCi1pbnQgQ0lFQ19BTlk6OnRvU3RyaW5nKGNoYXIqIHBhX3BhY1ZhbHVlLCB1bnNpZ25lZCBpbnQgcGFfbkJ1ZmZlclNpemUpIGNvbnN0ew0KK2ludCBDSUVDX0FOWTo6dG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgc2l6ZV90IHBhQnVmZmVyU2l6ZSkgY29uc3Qgew0KICAgaW50IG5SZXRWYWwgPSAtMTsNCi0gIGlmKChzdHJsZW4oc2NtQW55VG9TdHJpbmdSZXNwb25zZSkgKzEpIDw9IHBhX25CdWZmZXJTaXplKXsNCi0gICAgblJldFZhbCA9IHN0YXRpY19jYXN0PGludD4oc3RybGVuKHNjbUFueVRvU3RyaW5nUmVzcG9uc2UpKTsNCi0gICAgbWVtY3B5KHBhX3BhY1ZhbHVlLCBzY21BbnlUb1N0cmluZ1Jlc3BvbnNlLCBuUmV0VmFsKTsNCi0gICAgcGFfcGFjVmFsdWVbblJldFZhbF0gPSAnXDAnOw0KKyAgaWYoc2l6ZW9mKHNjbUFueVRvU3RyaW5nUmVzcG9uc2UpIDw9IHBhQnVmZmVyU2l6ZSkgew0KKyAgICAgblJldFZhbCA9IHNpemVvZihzY21BbnlUb1N0cmluZ1Jlc3BvbnNlKSAtIDE7DQorDQorICAgIC8vZG9uJ3QgdXNlIHNucHJpbnRmIGhlcmUgc2luY2UgaXQgYnJpbmdzIGJpZyB1c2FnZSBhbmQgcGVyZm9ybWFuY2Ugb3ZlcmhlYWRzDQorICAgIG1lbWNweShwYVZhbHVlLCBzY21BbnlUb1N0cmluZ1Jlc3BvbnNlLCBuUmV0VmFsKTsNCisgICAgcGFWYWx1ZVtuUmV0VmFsXSA9ICdcMCc7DQogICB9DQogICByZXR1cm4gblJldFZhbDsNCiB9DQpAQCAtMjIzLDcgKzIyNSw3IEBACiAgICAgICAgIDY1IC8qZV9MV09SRCAoMCwgMTYjRkZGRiBGRkZGIEZGRkYgRkZGRikqLywNCiAgICAgICAgIDExIC8qZV9EQVRFIChkIzAwMDEtMDEtMDEpKi8sDQogICAgICAgICAgOSAvKmVfVElNRV9PRl9EQVkgKHRvZCMwMDowMDowMCkqLywNCi0gICAgICAgIDIwIC8qZV9EQVRFX0FORF9USU1FIChkdCMwMDAxLTAxLTAxLTAwOjAwOjAwKSovLA0KKyAgICAgICAgMjQgLyplX0RBVEVfQU5EX1RJTUUgKGR0IzAwMDEtMDEtMDEtMDA6MDA6MDAuMDAwKSovLA0KICAgICAgICAgMjcgLyplX1RJTUUgKHQjMCkqLywNCiAgICAgICAgIDE0IC8qZV9SRUFMICgzMmJpdCA9IDFiaXQgc2lnbiwgOGJpdCBleHBvbmVudCwgMjNiaXQgZnJhY3Rpb24pKi8sDQogICAgICAgICAyMyAvKmVfTFJFQUwgKDY0Yml0ID0gMWJpdCBzaWduLCAxMWJpdCBleHBvbmVudCwgNTJiaXQgZnJhY3Rpb24pKi8sDQpAQCAtMjM5LDYgKzI0MSw2IEBACiAgICAgICAgICAwIC8qZV9NYXgqLw0KICAgICB9Ow0KIA0KLXVuc2lnbmVkIGludCBDSUVDX0FOWTo6Z2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgY29uc3R7DQorc2l6ZV90IENJRUNfQU5ZOjpnZXRUb1N0cmluZ0J1ZmZlclNpemUoKSBjb25zdCB7DQogICByZXR1cm4gY3NtU3RyaW5nQnVmZmVyU2l6ZVtnZXREYXRhVHlwZUlEKCldOw0KIH0NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55LmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55LmgKaW5kZXggNDZhZDAwYi4uNmE3NjgzMyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueS5oCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnkuaApAQCAtMSwxNiArMSwxOCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOLCBueHRjb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwKLSAgKiAgICBJbmdvIEhlZ255LCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgU3RhbmlzbGF2IE1lZHVuYSwgTW9uaWthIFdlbmdlcgotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gdGVtcGxhdGVkIGNhc3QgZmFjdG9yeSBmdW5jdGlvbgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTiwgbnh0Y29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgsIDIwMTggVFUgVmllbm5hL0FDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsCisgKiAgICBJbmdvIEhlZ255LCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgU3RhbmlzbGF2IE1lZHVuYSwgTW9uaWthIFdlbmdlcgorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIHRlbXBsYXRlZCBjYXN0IGZhY3RvcnkgZnVuY3Rpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfQU5ZX0hfCiAjZGVmaW5lIF9BTllfSF8KIApAQCAtMTc0LDcgKzE3Niw3IEBACiAgICAgICogICBccmV0dXJuIG51bWJlciBvZiBieXRlcyB1c2VkIGluIHRoZSBidWZmZXIgd2l0aG91dCB0cmFpbGluZyAweDAwCiAgICAgICogICAgICAgICAgIC0xIG9uIGVycm9yCiAgICAgICovCi0gICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFfcGFjVmFsdWUsIHVuc2lnbmVkIGludCBwYV9uQnVmZmVyU2l6ZSkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgc2l6ZV90IHBhQnVmZmVyU2l6ZSkgY29uc3Q7CiAKICAgICAvKiEgXGJyaWVmIGRldGVybWluZSB3aGV0aGVyIHdlIGNhbiBjYXN0IHRoZSBzb3VyY2UgdG8gdGhlIGRlc3RpbmF0aW9uIGFuZCB3aGF0IGtpbmQgb2YgY2FzdCBpdCBpcwogICAgICAqLwpAQCAtMTkwLDcgKzE5Miw3IEBACiAKICAgICAvKiEgXGJyaWVmIGNhbGN1bGF0ZXMgYnVmZmVyIHNpemUgbmVlZGVkIGZvciB0b1N0cmluZyBjb252ZXJzaW9uCiAgICAgICAgICAqLwotICAgIHZpcnR1YWwgdW5zaWduZWQgaW50IGdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgc2l6ZV90IGdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpIGNvbnN0OwogCiAjaWZkZWYgRk9SVEVfU1VQUE9SVF9DVVNUT01fU0VSSUFMSVpBQkxFX0RBVEFUWVBFUwogICAgIC8qISBcYnJpZWYgdGhlIGZvbGxvd2luZyBtZXRob2RzIGhhdmUgdG8gYmUgaW1wbGVtZW50ZWQgaWYgYSBjdXN0b20gZGF0YXR5cGUgaXMgYWRkZWQgdG8gdGhlIGZvcnRlIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGRlZmF1bHQgc2VyYWxpemUgbWVjaGFuaXNtLiAqLwpAQCAtNDA4LDcgKzQxMCw3IEBACiAKICAgcHJpdmF0ZToKICAgICBjb25zdCBzdGF0aWMgaW50IHNjbU1heFR5cGVOYW1lTGVuZ3RoID0gMTQ7Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21BbnlUb1N0cmluZ1Jlc3BvbnNlOworICAgIHN0YXRpYyBjb25zdCBjaGFyIHNjbUFueVRvU3RyaW5nUmVzcG9uc2VbXTsKIAogICAgIC8vIWRlY2xhcmVkIGJ1dCB1bmRlZmluZWQgY29weSBjb25zdHJ1Y3RvciBhcyB3ZSBkb24ndCB3YW50IEFOWXMgdG8gYmUgZGlyZWN0bHkgY29waWVkLgogICAgIENJRUNfQU5ZKGNvbnN0IENJRUNfQU5ZJik7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2JpdC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2JpdC5jcHAKaW5kZXggMWQ0OGEyNi4uYjY3ZmMyMCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9iaXQuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfYml0LmNwcApAQCAtMSwxMyArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE1IFRVIFdpZW4gQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2ggLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMsIDIwMTUgVFUgV2llbiBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaW5jbHVkZSAiZm9ydGVfYW55X2JpdC5oIg0KIA0KIERFRklORV9GSVJNV0FSRV9EQVRBVFlQRShBTllfQklULCBnX25TdHJpbmdJZEFOWV9CSVQpDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9iaXQuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfYml0LmgKaW5kZXggNTg1ZDVmMy4uNjFkMzUwZiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9iaXQuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2JpdC5oCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBNb25pa2EgV2VuZ2VyLA0KLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucw0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lODQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIsDQorICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMNCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfQU5ZX0JJVF9IXw0KICNkZWZpbmUgX0FOWV9CSVRfSF8NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2RhdGUuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9kYXRlLmNwcAppbmRleCA1OWIzYWZmLi5jYzY4MzdiIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2RhdGUuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfZGF0ZS5jcHAKQEAgLTEsMTMgKzEsMTUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSCwgbnh0Q29udHJvbCBHbWJICi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBNb25pa2EgV2VuZXIsIEFsb2lzIFpvaXRsLCBTdGFuc2lsYXYgTWVkdW5hCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJILCBueHRDb250cm9sIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIE1vbmlrYSBXZW5lciwgQWxvaXMgWm9pdGwsIFN0YW5zaWxhdiBNZWR1bmEKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgImZvcnRlX2FueV9kYXRlLmgiCkBAIC0yMSwxMCArMjMsMTEgQEAKICAgICB0aW1lX3QgdCA9IDI0ICogNjAgKiA2MDsgLy8gMi4gMS4gMTk3MCAwMDowMDowMCBmb3IgVVRDCiAKICAgICBzdHJ1Y3QgdG0gKnB0bSA9IGZvcnRlX2xvY2FsdGltZSgmdCk7Ci0gICAgaWYocHRtLT50bV9tZGF5IDwgMikKKyAgICBpZihwdG0tPnRtX21kYXkgPCAyKSB7CiAgICAgICBzbV9uVGltZVpvbmVPZmZzZXQgPSA2MCAqIHB0bS0+dG1faG91ciArIHB0bS0+dG1fbWluIC0gMjQgKiA2MDsKLSAgICBlbHNlCisgICAgfSBlbHNlIHsKICAgICAgIHNtX25UaW1lWm9uZU9mZnNldCA9IDYwICogcHRtLT50bV9ob3VyICsgcHRtLT50bV9taW47CisgICAgfQogICB9CiAKICAgcmV0dXJuIHNtX25UaW1lWm9uZU9mZnNldDsKQEAgLTM3LDggKzQwLDkgQEAKICAgdGltZV90IG5UaW1lOwogICBuVGltZSA9IGZvcnRlX21rdGltZSgmcGFfcnN0VE0pOwogCi0gIGlmKG5UaW1lID09ICh0aW1lX3QpIC0xKQorICBpZihuVGltZSA9PSAodGltZV90KSAtMSkgewogICAgIHJldHVybiBmYWxzZTsKKyAgfQogCiAgIHNldFRVSU5UNjQoblRpbWUgKiAxMDAwVUxMICsgcGFfdW5NaWxsaVNlYyk7CiAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9kYXRlLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2RhdGUuaAppbmRleCAzNzVkOTUzLi5kYThmMWNmIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2RhdGUuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2RhdGUuaApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTiwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgNCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEFsb2lzIFpvaXRsLA0KLSAgKiAgICBNb25pa2EgV2VuZ2VyLCBTdGFuc2lsYXYgTWVkdW5hDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOLCBueHRDb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBBbG9pcyBab2l0bCwNCisgKiAgICBNb25pa2EgV2VuZ2VyLCBTdGFuc2lsYXYgTWVkdW5hDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfQU5ZX0RBVF9IXw0KICNkZWZpbmUgX0FOWV9EQVRfSF8NCiANCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2Rlcml2ZWQuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfZGVyaXZlZC5oCmluZGV4IGU0NDcyODQuLmZkYzI3MjUgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfZGVyaXZlZC5oCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfZGVyaXZlZC5oCkBAIC0xLDE1ICsxLDE3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBBbG9pcyBab2l0bCwNCi0gICogICAgTW9uaWthIFdlbmdlcg0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBBbG9pcyBab2l0bCwNCisgKiAgICBNb25pa2EgV2VuZ2VyDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfQU5ZX0RFUl9IXw0KICNkZWZpbmUgX0FOWV9ERVJfSF8NCiANCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2VsZW1lbnRhcnkuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9lbGVtZW50YXJ5LmNwcAppbmRleCA4MDA0ZmMwLi5iMWNhOTc2IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2VsZW1lbnRhcnkuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfZWxlbWVudGFyeS5jcHAKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILCBueHRDb250cm9sIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIEFsb2lzIFpvaXRsLCBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gsIE1hcnRpbiBNZWxpayBNYXJrdW1pYW5zLAotICAqICAgIEluZ28gSGVnbnksIFN0YW5pc2xhdiBNZWR1bmEKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwgbnh0Q29udHJvbCBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoLCBNYXJ0aW4gTWVsaWsgTWFya3VtaWFucywKKyAqICAgIEluZ28gSGVnbnksIFN0YW5pc2xhdiBNZWR1bmEKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiZm9ydGVfYW55X2VsZW1lbnRhcnkuaCIKICNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKICNpbmNsdWRlICJmb3J0ZV9hbnlfZWxlbWVudGFyeV9nZW4uY3BwIgpAQCAtNDAsNyArNDIsNyBAQAogICAgIENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCwgLy9lX01heAogICAgIH07CiAKLWludCBDSUVDX0FOWV9FTEVNRU5UQVJZOjp0b1N0cmluZyhjaGFyKiBwYV9hY1ZhbHVlLCB1bnNpZ25lZCBpbnQgcGFfbkJ1ZmZlclNpemUpIGNvbnN0eworaW50IENJRUNfQU5ZX0VMRU1FTlRBUlk6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0IHsKICAgaW50IG5SZXRWYWwgPSAwOwogCiAgIFRMYXJnZXN0VUludFZhbHVlVHlwZSBuRGl2aXNvciA9IDA7CkBAIC01MCw2NyArNTIsNTggQEAKICAgYm9vbCBiU2lnbmVkID0gdHJ1ZTsKIAogICBzd2l0Y2ggKGdldERhdGFUeXBlSUQoKSl7Ci0gICAgY2FzZSBlX1NJTlQ6IHsKKyAgICBjYXNlIGVfU0lOVDoKICAgICAgIG5TQnVmZmVyID0gZ2V0VElOVDgoKTsKICAgICAgIG5EaXZpc29yID0gMTAwOwogICAgICAgYnJlYWs7Ci0gICAgfQogICAgIGNhc2UgZV9VU0lOVDoKLSAgICBjYXNlIGVfQllURTogeworICAgIGNhc2UgZV9CWVRFOgogICAgICAgblVCdWZmZXIgPSBnZXRUVUlOVDgoKTsKICAgICAgIG5EaXZpc29yID0gMTAwOwogICAgICAgYlNpZ25lZCA9IGZhbHNlOwogICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgZV9JTlQ6IHsKKyAgICBjYXNlIGVfSU5UOgogICAgICAgblNCdWZmZXIgPSBnZXRUSU5UMTYoKTsKICAgICAgIG5EaXZpc29yID0gMTAwMDA7CiAgICAgICBicmVhazsKLSAgICB9CiAgICAgY2FzZSBlX1VJTlQ6Ci0gICAgY2FzZSBlX1dPUkQ6IHsKKyAgICBjYXNlIGVfV09SRDoKICAgICAgIG5VQnVmZmVyID0gZ2V0VFVJTlQxNigpOwogICAgICAgbkRpdmlzb3IgPSAxMDAwMDsKICAgICAgIGJTaWduZWQgPSBmYWxzZTsKICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIGVfRElOVDogeworICAgIGNhc2UgZV9ESU5UOgogICAgICAgblNCdWZmZXIgPSBnZXRUSU5UMzIoKTsKICAgICAgIG5EaXZpc29yID0gMTAwMDAwMDAwMEw7CiAgICAgICBicmVhazsKLSAgICB9CiAgICAgY2FzZSBlX1VESU5UOgotICAgIGNhc2UgZV9EV09SRDogeworICAgIGNhc2UgZV9EV09SRDoKICAgICAgIG5VQnVmZmVyID0gZ2V0VFVJTlQzMigpOwogICAgICAgbkRpdmlzb3IgPSAxMDAwMDAwMDAwTDsKICAgICAgIGJTaWduZWQgPSBmYWxzZTsKICAgICAgIGJyZWFrOwotICAgIH0KICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCi0gICAgY2FzZSBlX0xJTlQ6IHsKKyAgICAgIGNhc2UgZV9MSU5UOgogICAgICAgblNCdWZmZXIgPSBnZXRUSU5UNjQoKTsKICAgICAgIG5EaXZpc29yID0gMTAwMDAwMDAwMDAwMDAwMDAwMExMOwogICAgICAgYnJlYWs7Ci0gICAgfQogICAgIGNhc2UgZV9VTElOVDoKLSAgICBjYXNlIGVfTFdPUkQ6IHsKKyAgICAgIGNhc2UgZV9MV09SRDoKICAgICAgIG5VQnVmZmVyID0gZ2V0VFVJTlQ2NCgpOwogICAgICAgbkRpdmlzb3IgPSAxMDAwMDAwMDAwMDAwMDAwMDAwMFVMTDsKICAgICAgIGJTaWduZWQgPSBmYWxzZTsKICAgICAgIGJyZWFrOwotICAgIH0KICNlbmRpZgotICAgIGRlZmF1bHQ6IHsKLSAgICAgIHJldHVybiBDSUVDX0FOWTo6dG9TdHJpbmcocGFfYWNWYWx1ZSwgcGFfbkJ1ZmZlclNpemUpOwotICAgIH0KKyAgICBkZWZhdWx0OgorICAgICAgcmV0dXJuIENJRUNfQU5ZOjp0b1N0cmluZyhwYVZhbHVlLCBwYUJ1ZmZlclNpemUpOwogICB9CiAKICAgaWYodHJ1ZSA9PSBiU2lnbmVkKXsKICAgICBpZihuU0J1ZmZlciA8IDApewotICAgICAgaWYoblJldFZhbCA+PSAoaW50KSBwYV9uQnVmZmVyU2l6ZSl7CisgICAgICBpZihuUmV0VmFsID49IHN0YXRpY19jYXN0PGludD4ocGFCdWZmZXJTaXplKSkgewogICAgICAgICByZXR1cm4gLTE7CiAgICAgICB9Ci0gICAgICBwYV9hY1ZhbHVlW25SZXRWYWxdID0gJy0nOworICAgICAgcGFWYWx1ZVtuUmV0VmFsXSA9ICctJzsKICAgICAgIG5SZXRWYWwrKzsKICAgICAgIG5TQnVmZmVyICo9IC0xOwogICAgIH0KQEAgLTEyNiwyNiArMTE5LDI2IEBACiAgICAgZWxzZXsKICAgICAgIGJMZWFkaW5nWmVyb3MgPSBmYWxzZTsKICAgICB9Ci0gICAgaWYoblJldFZhbCA+PSAoaW50KSBwYV9uQnVmZmVyU2l6ZSl7CisgICAgaWYoblJldFZhbCA+PSBzdGF0aWNfY2FzdDxpbnQ+KHBhQnVmZmVyU2l6ZSkpIHsKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICBwYV9hY1ZhbHVlW25SZXRWYWxdID0gc3RhdGljX2Nhc3Q8Y2hhcj4oc3RhdGljX2Nhc3Q8Y2hhcj4oblVCdWZmZXIgLyBuRGl2aXNvcikgKyAnMCcpOwotICAgIG5VQnVmZmVyID0gblVCdWZmZXIgLSAocGFfYWNWYWx1ZVtuUmV0VmFsXSAtICcwJykgKiBuRGl2aXNvcjsKKyAgICBwYVZhbHVlW25SZXRWYWxdID0gc3RhdGljX2Nhc3Q8Y2hhcj4oc3RhdGljX2Nhc3Q8Y2hhcj4oblVCdWZmZXIgLyBuRGl2aXNvcikgKyAnMCcpOworICAgIG5VQnVmZmVyID0gblVCdWZmZXIgLSAocGFWYWx1ZVtuUmV0VmFsXSAtICcwJykgKiBuRGl2aXNvcjsKICAgICBuRGl2aXNvciAvPSAxMDsKICAgICBuUmV0VmFsKys7CiAgIH0gd2hpbGUobkRpdmlzb3IgPiAxKTsKIAotICBpZihuUmV0VmFsID49IChpbnQpIHBhX25CdWZmZXJTaXplKXsKKyAgaWYoblJldFZhbCA+PSBzdGF0aWNfY2FzdDxpbnQ+KHBhQnVmZmVyU2l6ZSkpIHsKICAgICByZXR1cm4gLTE7CiAgIH0KLSAgcGFfYWNWYWx1ZVtuUmV0VmFsXSA9IHN0YXRpY19jYXN0PGNoYXI+KHN0YXRpY19jYXN0PGNoYXI+KG5VQnVmZmVyIC8gbkRpdmlzb3IpICsgJzAnKTsKKyAgcGFWYWx1ZVtuUmV0VmFsXSA9IHN0YXRpY19jYXN0PGNoYXI+KHN0YXRpY19jYXN0PGNoYXI+KG5VQnVmZmVyIC8gbkRpdmlzb3IpICsgJzAnKTsKICAgblJldFZhbCsrOwogCi0gIGlmKG5SZXRWYWwgPj0gKGludCkgcGFfbkJ1ZmZlclNpemUpeworICBpZihuUmV0VmFsID49IHN0YXRpY19jYXN0PGludD4ocGFCdWZmZXJTaXplKSkgewogICAgIHJldHVybiAtMTsKICAgfQotICBwYV9hY1ZhbHVlW25SZXRWYWxdID0gJ1wwJzsKKyAgcGFWYWx1ZVtuUmV0VmFsXSA9ICdcMCc7CiAKICAgcmV0dXJuIG5SZXRWYWw7CiB9CkBAIC0yMDQsNzAgKzE5Nyw1NiBAQAogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgfQotICAgICAgZWxzZQorICAgICAgfSBlbHNlIHsKICAgICAgICAgcmV0dXJuIC0xOworICAgICAgfQogICAgICAgcGFjUnVubmVyID0gcGFjUnVubmVyICsgMzsKICAgICB9CiAKICAgICBFRGF0YVR5cGVJRCBlSUQgPSBnZXREYXRhVHlwZUlEKCk7CiAgICAgc3dpdGNoIChlSUQpewotICAgICAgY2FzZSBlX1NJTlQ6IHsKKyAgICAgIGNhc2UgZV9TSU5UOgogICAgICAgICBuU1VwcGVyQm91bmQgPSBDSUVDX1NJTlQ6OnNjbV9uTWF4VmFsOwogICAgICAgICBuU0xvd2VyQm91bmQgPSBDSUVDX1NJTlQ6OnNjbV9uTWluVmFsOwogICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGNhc2UgZV9JTlQ6IHsKKyAgICAgIGNhc2UgZV9JTlQ6CiAgICAgICAgIG5TVXBwZXJCb3VuZCA9IENJRUNfSU5UOjpzY21fbk1heFZhbDsKICAgICAgICAgblNMb3dlckJvdW5kID0gQ0lFQ19JTlQ6OnNjbV9uTWluVmFsOwogICAgICAgICBicmVhazsKLSAgICAgIH0KLSAgICAgIGNhc2UgZV9ESU5UOiB7CisgICAgICBjYXNlIGVfRElOVDoKICAgICAgICAgblNVcHBlckJvdW5kID0gQ0lFQ19ESU5UOjpzY21fbk1heFZhbDsKICAgICAgICAgblNMb3dlckJvdW5kID0gQ0lFQ19ESU5UOjpzY21fbk1pblZhbDsKICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0KICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCi0gICAgICBjYXNlIGVfTElOVDogeworICAgICAgICBjYXNlIGVfTElOVDoKICAgICAgICAgblNVcHBlckJvdW5kID0gQ0lFQ19MSU5UOjpzY21fbk1heFZhbDsKICAgICAgICAgblNMb3dlckJvdW5kID0gQ0lFQ19MSU5UOjpzY21fbk1pblZhbDsKICAgICAgICAgYnJlYWs7Ci0gICAgICB9CiAjZW5kaWYKICAgICAgIGNhc2UgZV9VU0lOVDoKLSAgICAgIGNhc2UgZV9CWVRFOiB7CisgICAgICBjYXNlIGVfQllURToKICAgICAgICAgblVVcHBlckJvdW5kID0gQ0lFQ19VU0lOVDo6c2NtX25NYXhWYWw7CiAgICAgICAgIGJTaWduZWQgPSBmYWxzZTsKICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0KICAgICAgIGNhc2UgZV9VSU5UOgotICAgICAgY2FzZSBlX1dPUkQ6IHsKKyAgICAgIGNhc2UgZV9XT1JEOgogICAgICAgICBuVVVwcGVyQm91bmQgPSBDSUVDX1VJTlQ6OnNjbV9uTWF4VmFsOwogICAgICAgICBiU2lnbmVkID0gZmFsc2U7CiAgICAgICAgIGJyZWFrOwotICAgICAgfQotCiAgICAgICBjYXNlIGVfVURJTlQ6Ci0gICAgICBjYXNlIGVfRFdPUkQ6IHsKKyAgICAgIGNhc2UgZV9EV09SRDoKICAgICAgICAgblVVcHBlckJvdW5kID0gQ0lFQ19VRElOVDo6c2NtX25NYXhWYWw7CiAgICAgICAgIGJTaWduZWQgPSBmYWxzZTsKICAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0KICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTCiAgICAgICBjYXNlIGVfVUxJTlQ6Ci0gICAgICBjYXNlIGVfTFdPUkQ6IHsKKyAgICAgIGNhc2UgZV9MV09SRDoKICAgICAgICAgblVVcHBlckJvdW5kID0gQ0lFQ19VTElOVDo6c2NtX25NYXhWYWw7CiAgICAgICAgIGJTaWduZWQgPSBmYWxzZTsKICAgICAgICAgYnJlYWs7Ci0gICAgICB9CiAjZW5kaWYKLQotICAgICAgZGVmYXVsdDogeworICAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgfQogICAgIH0KIAogICAgIGlmKChiU2lnbmVkKSAmJiAoMTAgIT0gbk11bHRpcGxpZXIpKXsKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfZWxlbWVudGFyeS5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9lbGVtZW50YXJ5LmgKaW5kZXggNTE0MzFmOS4uMzE1ODdlZSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9lbGVtZW50YXJ5LmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9lbGVtZW50YXJ5LmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIG54dENvbnRyb2wgR21iSCwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBBbG9pcyBab2l0bCwNCi0gICogICAgTW9uaWthIFdlbmdlciwgU3RhbnNpbGF2IE1lZHVuYQ0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOLCBueHRDb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBBbG9pcyBab2l0bCwNCisgKiAgICBNb25pa2EgV2VuZ2VyLCBTdGFuc2lsYXYgTWVkdW5hDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpZm5kZWYgX0FOWV9FTEVfSF8NCiAjZGVmaW5lIF9BTllfRUxFX0hfDQpAQCAtMzcsNyArMzksNyBAQAogICAgICAgcmV0dXJuIENJRUNfQU5ZOjplX0FOWTsNCiAgICAgfQ0KIA0KLSAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYV9hY1ZhbHVlLCB1bnNpZ25lZCBpbnQgcGFfbkJ1ZmZlclNpemUpIGNvbnN0Ow0KKyAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCBzaXplX3QgcGFCdWZmZXJTaXplKSBjb25zdDsNCiAgICAgdmlydHVhbCBpbnQgZnJvbVN0cmluZyhjb25zdCBjaGFyICpwYV9yc1ZhbHVlKTsNCiANCiAgIHByb3RlY3RlZDoNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2ludC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2ludC5jcHAKaW5kZXggODE3NjExZi4uYWRjNDY3MSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9pbnQuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfaW50LmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bA0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgImZvcnRlX2FueV9pbnQuaCINCiANCiBERUZJTkVfRklSTVdBUkVfREFUQVRZUEUoQU5ZX0lOVCwgZ19uU3RyaW5nSWRBTllfSU5UKQ0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfaW50LmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X2ludC5oCmluZGV4IDE4NjYxYWIuLjcxODU4NjYgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfaW50LmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9pbnQuaApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNCBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBNb25pa2EgV2VuZ2VyLA0KLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWFya3VtaWFucw0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNCBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIsDQorICogICAgTWFydGluIE1lbGlrIE1hcmt1bWlhbnMNCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaWZuZGVmIF9BTllfSU5UX0hfDQogI2RlZmluZSBfQU5ZX0lOVF9IXw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfbWFnbml0dWRlLmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfbWFnbml0dWRlLmNwcAppbmRleCA5MzFkNzRmLi40NzM3ZDM5IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X21hZ25pdHVkZS5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9tYWduaXR1ZGUuY3BwCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgICBNb25pa2EgV2VuZ2VyDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgIE1vbmlrYSBXZW5nZXINCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaW5jbHVkZSAiZm9ydGVfYW55X21hZ25pdHVkZS5oIg0KIA0KIERFRklORV9GSVJNV0FSRV9EQVRBVFlQRShBTllfTUFHTklUVURFLCBnX25TdHJpbmdJZEFOWV9NQUdOSVRVREUpDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9tYWduaXR1ZGUuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfbWFnbml0dWRlLmgKaW5kZXggZjY0NGI0ZC4uMTJkNmE2OCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9tYWduaXR1ZGUuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X21hZ25pdHVkZS5oCkBAIC0xLDE1ICsxLDE3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDExIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciwNCi0gICogICAgTWFydGluIE1lbGlrIE1hcmt1bWlhbnMNCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTEgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIsDQorICogICAgTWFydGluIE1lbGlrIE1hcmt1bWlhbnMNCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaWZuZGVmIF9BTllfTUFHX0hfDQogI2RlZmluZSBfQU5ZX01BR19IXw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfbnVtLmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfbnVtLmNwcAppbmRleCBjOTE4NmI1Li42NDZjNDNiIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X251bS5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9udW0uY3BwCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgICBNb25pa2EgV2VuZ2VyDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgIE1vbmlrYSBXZW5nZXINCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaW5jbHVkZSAiZm9ydGVfYW55X251bS5oIg0KIA0KIERFRklORV9GSVJNV0FSRV9EQVRBVFlQRShBTllfTlVNLCBnX25TdHJpbmdJZEFOWV9OVU0pDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9udW0uaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfbnVtLmgKaW5kZXggNGNhZmEyYi4uZjYyYWJmZCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9udW0uaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X251bS5oCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDExIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciwNCi0gICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMNCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMSBQcm9mYWN0b3IgR21iSCwgQUNJTg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciwNCisgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucw0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaWZuZGVmIF9BTllfTlVNX0hfDQogI2RlZmluZSBfQU5ZX05VTV9IXw0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfcmVhbC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X3JlYWwuY3BwCmluZGV4IDE0ZTY4MGEuLjlmMjdiMWEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfcmVhbC5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9yZWFsLmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICAgTW9uaWthIFdlbmdlcg0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgICBNb25pa2EgV2VuZ2VyDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgImZvcnRlX2FueV9yZWFsLmgiDQogDQogREVGSU5FX0ZJUk1XQVJFX0RBVEFUWVBFKEFOWV9SRUFMLCBnX25TdHJpbmdJZEFOWV9SRUFMKQ0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfcmVhbC5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9yZWFsLmgKaW5kZXggMmRhYmIxNy4uZGI4Njg1NyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9yZWFsLmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9yZWFsLmgKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIsDQotICAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgNCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIsDQorICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMNCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaWZuZGVmIF9BTllfUkVBX0hfDQogI2RlZmluZSBfQU5ZX1JFQV9IXw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfc3RyaW5nLmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfc3RyaW5nLmNwcAppbmRleCA1MDU2ZGJhLi4wNjI4ZjBkIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X3N0cmluZy5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9zdHJpbmcuY3BwCkBAIC0xLDE3ICsxLDE5IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE1IG54dENvbnRyb2wgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotICAqICAgMjAxOCBUVSBXaWVuL0FDSU4NCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBTdGFuc2lsYXYgTWVkdW5hLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlcg0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMNCi0gICogICAgICAtIGZpeGVzIGJlaGF2aW9yIGZvciBnZXRUb1N0cmluZ0J1ZmZlclNpemUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNSBueHRDb250cm9sIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSA0KKyAqICAgICAgICAgICAgICAgMjAxOCBUVSBXaWVuL0FDSU4NCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIFN0YW5zaWxhdiBNZWR1bmEsIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMNCisgKiAgICAgIC0gZml4ZXMgYmVoYXZpb3IgZm9yIGdldFRvU3RyaW5nQnVmZmVyU2l6ZQ0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpbmNsdWRlIDxmb3J0ZW5ldy5oPg0KICNpbmNsdWRlICJmb3J0ZV9hbnlfc3RyaW5nLmgiDQogI2luY2x1ZGUgInVuaWNvZGVfdXRpbHMuaCINCkBAIC00NCwxMSArNDYsOSBAQAogDQogdm9pZCBDSUVDX0FOWV9TVFJJTkc6OmFzc2lnbihjb25zdCBjaGFyICpwYV9wb0RhdGEsIFRGb3J0ZVVJbnQxNiBwYV9uTGVuKSB7DQogICBpZiAoMCAhPSBwYV9wb0RhdGEpew0KLSAgICBpZigwICE9IHBhX25MZW4pew0KLSAgICAgIGlmKHBhX3BvRGF0YSAhPSBnZXRWYWx1ZSgpKXsNCi0gICAgICAgIHJlc2VydmUocGFfbkxlbik7DQotICAgICAgICBtZW1jcHkoZ2V0VmFsdWUoKSwgcGFfcG9EYXRhLCBwYV9uTGVuKTsNCi0gICAgICB9DQorICAgIGlmKDAgIT0gcGFfbkxlbiAmJiBwYV9wb0RhdGEgIT0gZ2V0VmFsdWUoKSkgew0KKyAgICAgIHJlc2VydmUocGFfbkxlbik7DQorICAgICAgbWVtY3B5KGdldFZhbHVlKCksIHBhX3BvRGF0YSwgcGFfbkxlbik7DQogICAgIH0NCiAgICAgaWYoMCAhPSBnZXRWYWx1ZSgpKXsNCiAgICAgICBzZXRMZW5ndGgocGFfbkxlbik7DQpAQCAtMTEzLDggKzExMyw5IEBACiAgICAgaWYoJyQnID09ICpwYWNSdW5uZXIpew0KICAgICAgIFRGb3J0ZVVJbnQxNiBuRHVtbXk7DQogICAgICAgKytwYWNSdW5uZXI7DQotICAgICAgaWYgKCpwYWNSdW5uZXIgPT0gJ1wwJykNCisgICAgICBpZigqcGFjUnVubmVyID09ICdcMCcpIHsNCiAgICAgICAgIGJyZWFrOw0KKyAgICAgIH0NCiAgICAgICBpZighaGFuZGxlRG9sbGFyRXNjYXBlZENoYXIoJnBhY1J1bm5lciwgKHBhX2NEZWxpbWl0ZXIgPT0gJyInKSwgbkR1bW15KSl7DQogICAgICAgICBjb250aW51ZTsgLy8gSXQgaXMgaW52YWxpZCBidXQgd2UgbmVlZCB0aGUgcmVhbCBlbmQNCiAgICAgICB9DQpAQCAtMjI3LDE1ICsyMjgsMTYgQEAKICAgICAgIGlmIChwYV9iV2lkZSkgew0KICAgICAgICAgcGFfcm5WYWx1ZSA9IFRGb3J0ZVVJbnQxNihwYV9yblZhbHVlIDw8IDgpOw0KIA0KLSAgICAgICAgaWYgKGZvcnRlOjpjb3JlOjp1dGlsOjppc0hleERpZ2l0KCgqcGFfcGFjVmFsdWUpWzJdKSkNCisgICAgICAgIGlmKGZvcnRlOjpjb3JlOjp1dGlsOjppc0hleERpZ2l0KCgqcGFfcGFjVmFsdWUpWzJdKSkgew0KICAgICAgICAgICBwYV9yblZhbHVlID0gVEZvcnRlVUludDE2KHBhX3JuVmFsdWUgfCBmb3J0ZTo6Y29yZTo6dXRpbDo6Y2hhckhleERpZ2l0VG9JbnQoKCpwYV9wYWNWYWx1ZSlbMl0pIDw8IDQpOw0KLSAgICAgICAgZWxzZQ0KKyAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KLQ0KLSAgICAgICAgaWYgKGZvcnRlOjpjb3JlOjp1dGlsOjppc0hleERpZ2l0KCgqcGFfcGFjVmFsdWUpWzNdKSkNCisgICAgICAgIH0NCisgICAgICAgIGlmKGZvcnRlOjpjb3JlOjp1dGlsOjppc0hleERpZ2l0KCgqcGFfcGFjVmFsdWUpWzNdKSkgew0KICAgICAgICAgICBwYV9yblZhbHVlID0gVEZvcnRlVUludDE2KHBhX3JuVmFsdWUgfCBmb3J0ZTo6Y29yZTo6dXRpbDo6Y2hhckhleERpZ2l0VG9JbnQoKCpwYV9wYWNWYWx1ZSlbM10pKTsNCi0gICAgICAgIGVsc2UNCisgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgIHJldHVybiBmYWxzZTsNCisgICAgICAgIH0NCiAgICAgICB9DQogDQogICAgICAgKnBhX3BhY1ZhbHVlICs9IHBhX2JXaWRlID8gMyA6IDE7DQpAQCAtMjYxLDI0ICsyNjMsMjYgQEAKICAgd2hpbGUoKCpwYWNSdW5uZXIgIT0gJ1wwJykgJiYgKG5MZW4gIT0gc2NtX3VuTWF4U3RyaW5nTGVuKSl7DQogICAgIGlmKCckJyA9PSAqcGFjUnVubmVyKXsNCiAgICAgICArK3BhY1J1bm5lcjsNCi0gICAgICBpZiAoKnBhY1J1bm5lciA9PSAnXDAnKQ0KKyAgICAgIGlmKCpwYWNSdW5uZXIgPT0gJ1wwJykgew0KICAgICAgICAgYnJlYWs7DQorICAgICAgfQ0KICAgICAgIGlmKCFoYW5kbGVEb2xsYXJFc2NhcGVkQ2hhcigmcGFjUnVubmVyLCBiV2lkZSwgblZhbHVlKSl7DQogICAgICAgICByZXR1cm4gLTE7DQogICAgICAgfQ0KIA0KICNpZmRlZiBGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KICAgICAgIGlmICghIGJXaWRlKQ0KLSNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFDQogICAgICAgICBhY1ZhbHVlW25MZW5dID0gKGNoYXIpIG5WYWx1ZTsNCiAjaWZkZWYgRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUNCiAgICAgICBlbHNlIHsNCiAgICAgICAgIGludCBuRW5jTGVuID0gQ1VuaWNvZGVVdGlsaXRpZXM6OmVuY29kZVVURjhDb2RlcG9pbnQocmVpbnRlcnByZXRfY2FzdDxURm9ydGVCeXRlICo+KGFjVmFsdWUgKyBuTGVuKSwgMywgblZhbHVlKTsNCi0gICAgICAgIGlmIChuRW5jTGVuIDwgMCkNCisgICAgICAgIGlmIChuRW5jTGVuIDwgMCkgew0KICAgICAgICAgICByZXR1cm4gLTE7DQorICAgICAgICB9DQogICAgICAgICBuTGVuID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihuTGVuICsgbkVuY0xlbiAtIDEpOw0KICAgICAgIH0NCi0jZW5kaWYNCisjZW5kaWYgLy9GT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRQ0KICAgICB9DQogICAgIGVsc2V7DQogICAgICAgaWYocGFfY0RlbGltaXRlciA9PSAqcGFjUnVubmVyKXsNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X3N0cmluZy5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FueV9zdHJpbmcuaAppbmRleCBkNmMwY2E3Li5mZGY0ZTE3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYW55X3N0cmluZy5oCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hbnlfc3RyaW5nLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgNCiAgKiAgIDIwMTggVFUgV2llbi9BQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEsIE1vbmlrYSBXZW5nZXIsIEluZ28gSGVnbnkNCkBAIC0xMjcsNyArMTI4LDkgQEAKICAgICAgKiAgIFxyZXR1cm4gbnVtYmVyIG9mIGJ5dGVzIHVzZWQgaW4gdGhlIGJ1ZmZlcg0KICAgICAgKiAgICAgICAgICAgLTEgb24gZXJyb3INCiAgICAgICovDQotICAgIHZpcnR1YWwgaW50IHRvVVRGOChjaGFyKiwgdW5zaWduZWQgaW50LCBib29sKSBjb25zdHtyZXR1cm4gMDt9DQorICAgIHZpcnR1YWwgaW50IHRvVVRGOChjaGFyKiwgc2l6ZV90LCBib29sKSBjb25zdCB7DQorICAgICAgcmV0dXJuIDA7DQorICAgIH0NCiAjZW5kaWYNCiANCiAgIHByb3RlY3RlZDoNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYXJyYXkuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FycmF5LmNwcAppbmRleCA4MDA5ZjcxLi43YTI1NDUzIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYXJyYXkuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hcnJheS5jcHAKQEAgLTEsMTMgKzEsMTUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxNSBBQ0lOLCBueHRDb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIFN0YW5zaWxhdiBNZWR1bmEKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTUgQUNJTiwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBTdGFuc2lsYXYgTWVkdW5hCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpbmNsdWRlICJmb3J0ZV9hcnJheS5oIgogI2luY2x1ZGUgPHN0ZGxpYi5oPgpAQCAtMTQ0LDcgKzE0Niw3IEBACiAgIH0KIH0KIAotaW50IENJRUNfQVJSQVk6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHVuc2lnbmVkIGludCBwYUJ1ZmZlclNpemUpIGNvbnN0IHsKK2ludCBDSUVDX0FSUkFZOjp0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCBzaXplX3QgcGFCdWZmZXJTaXplKSBjb25zdCB7CiAgIGludCBuQnl0ZXNVc2VkID0gLTE7CiAKICAgaWYocGFCdWZmZXJTaXplKSB7CkBAIC0xODYsOCArMTg4LDggQEAKICAgcmV0dXJuIG5CeXRlc1VzZWQ7CiB9CiAKLXVuc2lnbmVkIGludCBDSUVDX0FSUkFZOjpnZXRUb1N0cmluZ0J1ZmZlclNpemUoKSBjb25zdCB7Ci0gIHVuc2lnbmVkIGludCByZXRWYWwgPSAzOyAvLyAyIGJ5dGVzIGZvciB0aGUgb3BlbiBhbmQgY2xvc2luZyBicmFja2V0cyBhbmQgb25lIGZvciB0aGUgJ1wwJworc2l6ZV90IENJRUNfQVJSQVk6OmdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpIGNvbnN0IHsKKyAgc2l6ZV90IHJldFZhbCA9IDM7IC8vIDIgYnl0ZXMgZm9yIHRoZSBvcGVuIGFuZCBjbG9zaW5nIGJyYWNrZXRzIGFuZCBvbmUgZm9yIHRoZSAnXDAnCiAgIFRGb3J0ZVVJbnQxNiBuU2l6ZSA9IHNpemUoKTsKICAgcmV0VmFsICs9IChuU2l6ZSA+IDEpID8gKG5TaXplIC0gMSkgOiAwOyAvL2ZvciB0aGUgY29tbWFzIGJldHdlZW4gdGhlIGVsZW1lbnRzCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9hcnJheS5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FycmF5LmgKaW5kZXggODQzYjJiNS4uNzBlNTI3NiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FycmF5LmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2FycmF5LmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMyBBQ0lOLCBueHRDb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIFN0YW5zaWxhdiBNZWR1bmEsIE1vbmlrYSBXZW5nZXIKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTMgQUNJTiwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBTdGFuc2lsYXYgTWVkdW5hLCBNb25pa2EgV2VuZ2VyCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfRk9SVEVfQVJSQVlfSF8KICNkZWZpbmUgX0ZPUlRFX0FSUkFZX0hfCiAKQEAgLTk4LDkgKzEwMCw5IEBACiAgICAgICogICBccmV0dXJuIG51bWJlciBvZiBieXRlcyB1c2VkIGluIHRoZSBidWZmZXIKICAgICAgKiAgICAgICAgICAgLTEgb24gZXJyb3IKICAgICAgKi8KLSAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCB1bnNpZ25lZCBpbnQgcGFCdWZmZXJTaXplKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCBzaXplX3QgcGFCdWZmZXJTaXplKSBjb25zdDsKIAotICAgIHZpcnR1YWwgdW5zaWduZWQgaW50IGdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgc2l6ZV90IGdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpIGNvbnN0OwogCiAgIHByaXZhdGU6CiAgICAgLy9UaGlzIGNvbnN0cnVjdG9yIGlzIG9ubHkgdG8gYmUgdXNlZCBieSB0aGUgY3JlYXRlIGluc3RhbmNlIG1ldGhvZApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2Jvb2wuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2Jvb2wuY3BwCmluZGV4IDk2YmNhNjIuLmQyODEwNmEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9ib29sLmNwcAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYm9vbC5jcHAKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMsDQotICAqICAgIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgNCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMsDQorICogICAgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXINCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaW5jbHVkZSAiZm9ydGVfYm9vbC5oIg0KICNpbmNsdWRlIDxzdGRsaWIuaD4NCiANCkBAIC01OCw3ICs2MCw3IEBACiAgIHJldHVybiBuUmV0VmFsOw0KIH0NCiANCi1pbnQgQ0lFQ19CT09MOjp0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCB1bnNpZ25lZCBpbnQgcGFCdWZmZXJTaXplKSAgY29uc3Qgew0KK2ludCBDSUVDX0JPT0w6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0IHsNCiAgIGludCBuUmV0dmFsID0gLTE7DQogICBpZihwYUJ1ZmZlclNpemUgPj0gY3NtU3RyaW5nQnVmZmVyU2l6ZVtlX0JPT0xdKXsNCiAgICAgaWYoZ2V0VEJPT0w4KCkpew0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9ib29sLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYm9vbC5oCmluZGV4IDhjNzQwOGIuLjlhODcxNTcgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9ib29sLmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2Jvb2wuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwNCkBAIC05Myw3ICs5NCw3IEBACiAgICAgICogICBccmV0dXJuIG51bWJlciBvZiBieXRlcyB1c2VkIGluIHRoZSBidWZmZXIgd2l0aG91dCB0cmFpbGluZyAweDAwDQogICAgICAqICAgICAgICAgICAtMSBvbiBlcnJvcg0KICAgICAgKi8NCi0gICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgdW5zaWduZWQgaW50IHBhQnVmZmVyU2l6ZSkgY29uc3Q7DQorICAgIHZpcnR1YWwgaW50IHRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0Ow0KIA0KICAgcHJpdmF0ZToNCiB9Ow0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9ieXRlLmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9ieXRlLmNwcAppbmRleCA4MjEwNjU5Li43MjI5OWZjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYnl0ZS5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2J5dGUuY3BwCkBAIC0xLDE1ICsxLDE3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwKLSAgKiAgICBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsCisgKiAgICBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgImZvcnRlX2J5dGUuaCIKIAogREVGSU5FX0ZJUk1XQVJFX0RBVEFUWVBFKEJZVEUsIGdfblN0cmluZ0lkQllURSkKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9ieXRlLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfYnl0ZS5oCmluZGV4IGM4Yzg5MzIuLjk2M2ViMDIgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9ieXRlLmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2J5dGUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kYXRlLmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kYXRlLmNwcAppbmRleCA2YTkzZmRkLi5lYWI5OTJhIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGF0ZS5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2RhdGUuY3BwCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTUgbnh0Q29udHJvbCBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFN0YW5pc2xhdiBNZWR1bmEsIEFsb2lzIFpvaXRsLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucwotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxNSBueHRDb250cm9sIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgU3RhbmlzbGF2IE1lZHVuYSwgQWxvaXMgWm9pdGwsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KQEAgLTY4LDE1ICs3MCwxNSBAQAogICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihhY0J1ZmZlciAtIHBhVmFsdWUpOwogfQogCi1pbnQgQ0lFQ19EQVRFOjp0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCB1bnNpZ25lZCBpbnQgcGFCdWZmZXJTaXplKSBjb25zdHsKK2ludCBDSUVDX0RBVEU6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0IHsKICAgaW50IG5SZXRWYWwgPSAtMTsKICAgc3RydWN0IHRtICpwdG0gPSBnZXRUaW1lU3RydWN0KCk7CiAKLSAgaWYgKHB0bSA9PSAwKQorICBpZihwdG0gPT0gMCkgewogICAgIHJldHVybiAtMTsKLQorICB9CiAgIG5SZXRWYWwgPSBmb3J0ZV9zbnByaW50ZihwYVZhbHVlLCBwYUJ1ZmZlclNpemUsICIlMDRkLSUwMmQtJTAyZCIsIDE5MDAgKyBwdG0tPnRtX3llYXIsIHB0bS0+dG1fbW9uICsgMSwgcHRtLT50bV9tZGF5KTsKLSAgaWYoKG5SZXRWYWwgPCAtMSkgfHwgKG5SZXRWYWwgPj0gKGludCkgcGFCdWZmZXJTaXplKSl7CisgIGlmKChuUmV0VmFsIDwgLTEpIHx8IChuUmV0VmFsID49IHN0YXRpY19jYXN0PGludD4ocGFCdWZmZXJTaXplKSkpIHsKICAgICBuUmV0VmFsID0gLTE7CiAgIH0KICAgcmV0dXJuIG5SZXRWYWw7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGF0ZS5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2RhdGUuaAppbmRleCAwOGM2NzcxLi5iYjQxMzY1IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGF0ZS5oCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kYXRlLmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTMgbnh0Q29udHJvbCBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBTdGFuaXNsYXYgTWVkdW5hLCBBbG9pcyBab2l0bCwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIE1vbmlrYSBXZW5nZXINCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTMgbnh0Q29udHJvbCBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgNCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIFN0YW5pc2xhdiBNZWR1bmEsIEFsb2lzIFpvaXRsLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgTW9uaWthIFdlbmdlcg0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpZm5kZWYgX0ZPUlRFX0RBVEVfSF8NCiAjZGVmaW5lIF9GT1JURV9EQVRFX0hfDQogDQpAQCAtMTA1LDcgKzEwNyw3IEBACiAgICAgICogICBccmV0dXJuIG51bWJlciBvZiBieXRlcyB1c2VkIGluIHRoZSBidWZmZXIgd2l0aG91dCB0cmFpbGluZyAweDAwDQogICAgICAqICAgICAgICAgICAtMSBvbiBlcnJvcg0KICAgICAgKi8NCi0gICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgdW5zaWduZWQgaW50IHBhQnVmZmVyU2l6ZSkgY29uc3Q7DQorICAgIHZpcnR1YWwgaW50IHRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0Ow0KIH07DQogDQogI2VuZGlmIC8qICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTICovDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2RhdGVfYW5kX3RpbWUuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2RhdGVfYW5kX3RpbWUuY3BwCmluZGV4IGJhYWJkZGEuLjQzOGQwYTAgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kYXRlX2FuZF90aW1lLmNwcAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGF0ZV9hbmRfdGltZS5jcHAKQEAgLTEsMTMgKzEsMTUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxNSBueHRDb250cm9sIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgU3RhbmlzbGF2IE1lZHVuYSwgQWxvaXMgWm9pdGwsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBNb25pa2EgV2VuZ2VyCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggLSAyMDE1IG54dENvbnRyb2wgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBTdGFuaXNsYXYgTWVkdW5hLCBBbG9pcyBab2l0bCwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIE1vbmlrYSBXZW5nZXIKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CkBAIC03OSwxMyArODEsMTQgQEAKICAgICAgICAgICAgICAgICAgICsrbk51bXM7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYobk51bXMgPCAzKXsKLSAgICAgICAgICAgICAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IG5OdW1zOyBpIDwgMzsgKytpKQorICAgICAgICAgICAgICAgIGlmKG5OdW1zIDwgMykgeworICAgICAgICAgICAgICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gbk51bXM7IGkgPCAzOyArK2kpIHsKICAgICAgICAgICAgICAgICAgICAgbXNlYyAqPSAxMDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZXsKLSAgICAgICAgICAgICAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAobk51bXMgLSAzKTsgKytpKQorICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgKG5OdW1zIC0gMyk7ICsraSkgewogICAgICAgICAgICAgICAgICAgICBtc2VjIC89IDEwOworICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBuUmV0VmFsID0gc3RhdGljX2Nhc3Q8aW50PihhY0J1ZmZlciAtIHBhVmFsdWUpOwpAQCAtOTYsMjMgKzk5LDIxIEBACiAgICAgfQogICB9CiAKLSAgaWYoLTEgIT0gblJldFZhbCl7Ci0gICAgaWYoIXNldERhdGVBbmRUaW1lKHRtLCBtc2VjKSl7Ci0gICAgICBuUmV0VmFsID0gLTE7Ci0gICAgfQorICBpZigtMSAhPSBuUmV0VmFsICYmICFzZXREYXRlQW5kVGltZSh0bSwgbXNlYykpIHsKKyAgICBuUmV0VmFsID0gLTE7CiAgIH0KIAogICByZXR1cm4gblJldFZhbDsKIH0KIAotaW50IENJRUNfREFURV9BTkRfVElNRTo6dG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgdW5zaWduZWQgaW50IHBhQnVmZmVyU2l6ZSkgY29uc3R7CitpbnQgQ0lFQ19EQVRFX0FORF9USU1FOjp0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCBzaXplX3QgcGFCdWZmZXJTaXplKSBjb25zdCB7CiAgIGludCBuUmV0VmFsID0gLTE7CiAKICAgc3RydWN0IHRtICpwdG0gPSBnZXRUaW1lU3RydWN0KCk7CiAKICAgaWYoMCAhPSBwdG0pewogICAgIG5SZXRWYWwgPSBmb3J0ZV9zbnByaW50ZihwYVZhbHVlLCBwYUJ1ZmZlclNpemUsICIlMDRkLSUwMmQtJTAyZC0lMDJkOiUwMmQ6JTAyZC4lMDN1IiwgMTkwMCArIHB0bS0+dG1feWVhciwgcHRtLT50bV9tb24gKyAxLCBwdG0tPnRtX21kYXksIHB0bS0+dG1faG91ciwgcHRtLT50bV9taW4sIHB0bS0+dG1fc2VjLCBnZXRNaWxsaVNlY29uZHMoKSk7Ci0gICAgaWYoKG5SZXRWYWwgPCAtMSkgfHwgKG5SZXRWYWwgPj0gKGludCkgcGFCdWZmZXJTaXplKSl7CisgICAgaWYoKG5SZXRWYWwgPCAtMSkgfHwgKG5SZXRWYWwgPj0gc3RhdGljX2Nhc3Q8aW50PihwYUJ1ZmZlclNpemUpKSkgewogICAgICAgblJldFZhbCA9IC0xOwogICAgIH0KICAgfQpAQCAtMTI0LDkgKzEyNSw5IEBACiAgIHRpbWVfdCB0ID0gc3RhdGljX2Nhc3Q8dGltZV90PihuVG9TdHJpbmdCdWZmZXIgLyAxMDAwKTsKIAogICBzdHJ1Y3QgdG0gKnB0bSA9IGZvcnRlX2dtdGltZSgmdCk7Ci0gIGlmIChwdG0gPT0gMCkKKyAgaWYocHRtID09IDApIHsKICAgICByZXR1cm4gLTE7Ci0KKyAgfQogICBpbnQgblJldFZhbCA9IGZvcnRlX3NucHJpbnRmKHBhVmFsdWUsIHBhQnVmZmVyU2l6ZSwgIiUwNGQtJTAyZC0lMDJkLSUwMmQ6JTAyZDolMDJkLiUwM2QiLCAxOTAwICsgcHRtLT50bV95ZWFyLCBwdG0tPnRtX21vbiArIDEsIHB0bS0+dG1fbWRheSwgcHRtLT50bV9ob3VyLCBwdG0tPnRtX21pbiwgcHRtLT50bV9zZWMsIChpbnQpIChuVG9TdHJpbmdCdWZmZXIgJSAxMDAwKSk7CiAgIGlmKChuUmV0VmFsIDwgLTEpIHx8IChuUmV0VmFsID49IChpbnQpIHBhQnVmZmVyU2l6ZSkpewogICAgIG5SZXRWYWwgPSAtMTsKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kYXRlX2FuZF90aW1lLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGF0ZV9hbmRfdGltZS5oCmluZGV4IGRhN2ExNGUuLmNjYTEzMjcgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kYXRlX2FuZF90aW1lLmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2RhdGVfYW5kX3RpbWUuaApAQCAtMSwxMyArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxMyBueHRDb250cm9sIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIFN0YW5pc2xhdiBNZWR1bmEsIEFsb2lzIFpvaXRsLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgTW9uaWthIFdlbmdlcg0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggLSAyMDEzIG54dENvbnRyb2wgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBTdGFuaXNsYXYgTWVkdW5hLCBBbG9pcyBab2l0bCwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIE1vbmlrYSBXZW5nZXINCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfRk9SVEVfREFURV9BTkRfVElNRV9IXw0KICNkZWZpbmUgX0ZPUlRFX0RBVEVfQU5EX1RJTUVfSF8NCkBAIC0xMDEsNyArMTAzLDcgQEAKICAgICAgICAqICAgXHJldHVybiBudW1iZXIgb2YgYnl0ZXMgdXNlZCBpbiB0aGUgYnVmZmVyIHdpdGhvdXQgdHJhaWxpbmcgMHgwMA0KICAgICAgICAqICAgICAgICAgICAtMSBvbiBlcnJvcg0KICAgICAgICAqLw0KLSAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCB1bnNpZ25lZCBpbnQgcGFCdWZmZXJTaXplKSBjb25zdCA7DQorICAgIHZpcnR1YWwgaW50IHRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0Ow0KIA0KICAgICAgIC8qISBcYnJpZWYgQ29udmVydHMgZGF0YSB0eXBlIHZhbHVlIHRvIHN0cmluZyAtIHVzZSBHTVQgdGltZQ0KICAgICAgICAqICAgXHBhcmFtIHBhVmFsdWUgUG9pbnRlciB0byB0aGUgcHJvdmlkZWQgYnVmZmVyDQpAQCAtMTEwLDEyICsxMTIsNiBAQAogICAgICAgICogICAgICAgICAgIC0xIG9uIGVycm9yDQogICAgICAgICovDQogICAgIHZpcnR1YWwgaW50IHRvR01UU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHVuc2lnbmVkIGludCBwYUJ1ZmZlclNpemUpIGNvbnN0IDsNCi0NCi0gICAgLyohIFxicmllZiBTZXQgdGhlIHZhcmlhYmxlIHRvIGN1cnJlbnQgdGltZQ0KLSAgICAqLw0KLSAgICB2b2lkIHNldEN1cnJlbnRUaW1lKCl7DQotICAgICAgc2V0VFVJTlQ2NChmb3J0ZV90aW1lKDApICogMTAwMFVMTCk7DQotICAgIH07DQogfTsNCiANCiAjZW5kaWYgLyogI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMgKi8NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGludC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGludC5jcHAKaW5kZXggNDAwYTdhMS4uNzE5ZjU5MSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2RpbnQuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kaW50LmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpbmNsdWRlICJmb3J0ZV9kaW50LmgiCiAKIERFRklORV9GSVJNV0FSRV9EQVRBVFlQRShESU5ULCBnX25TdHJpbmdJZERJTlQpCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGludC5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2RpbnQuaAppbmRleCBhZmM0OWQyLi41YWFhNWQ3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZGludC5oCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kaW50LmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kd29yZC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZHdvcmQuY3BwCmluZGV4IDU4YjZkZDYuLjdiNDJiZDQgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9kd29yZC5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2R3b3JkLmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsCi0gICogICAgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlcgotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLAorICogICAgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlcgorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiZm9ydGVfZHdvcmQuaCIKIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2R3b3JkLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZHdvcmQuaAppbmRleCAyYTZlMjIzLi42YTI4OTVjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZHdvcmQuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfZHdvcmQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlcgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2ludC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfaW50LmNwcAppbmRleCAyZjM1OTZhLi41ZWJjZDhjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfaW50LmNwcAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfaW50LmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsCi0gICogICAgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlcgotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLAorICogICAgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlcgorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiZm9ydGVfaW50LmgiCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9pbnQuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9pbnQuaAppbmRleCAxYzk2YzIwLi4wOGQ5OThiIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfaW50LmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2ludC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbGludC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbGludC5jcHAKaW5kZXggOGU2ZjY4ZC4uZWE2Y2QzYyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2xpbnQuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9saW50LmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLAotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOCisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiZm9ydGVfbGludC5oIgogCiAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2xpbnQuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9saW50LmgKaW5kZXggN2ZiZDEyNi4uNmJhMDU4MCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2xpbnQuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbGludC5oCkBAIC0xLDEzICsxLDE1IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9GT1JURV9MSU5UX0hfCiAjZGVmaW5lIF9GT1JURV9MSU5UX0hfCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbHJlYWwuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2xyZWFsLmNwcAppbmRleCA4YzU2NjUxLi5mYjI5OWMxIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbHJlYWwuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9scmVhbC5jcHAKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwNCi0gICogICAgSW5nbyBIZWdueSwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIE1vbmlrYSBXZW5nZXINCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLA0KKyAqICAgIEluZ28gSGVnbnksIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBNb25pa2EgV2VuZ2VyDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgPG1hdGguaD4NCiAjaW5jbHVkZSA8c3RyaW5nLmg+DQogI2luY2x1ZGUgPHN0ZGxpYi5oPg0KQEAgLTQ0LDEwICs0NiwxMCBAQAogICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihwY0VuZCAtIHBhVmFsdWUpOw0KIH0NCiANCi1pbnQgQ0lFQ19MUkVBTDo6dG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgdW5zaWduZWQgaW50IHBhQnVmZmVyU2l6ZSkgY29uc3R7DQoraW50IENJRUNfTFJFQUw6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0IHsNCiAgIGludCBuUmV0VmFsOw0KICAgblJldFZhbCA9IGZvcnRlX3NucHJpbnRmKHBhVmFsdWUsIHBhQnVmZmVyU2l6ZSwgIiUuKmciLCAxNSwgZ2V0VERGTE9BVCgpKTsNCi0gIGlmKChuUmV0VmFsIDwgLTEpIHx8IChuUmV0VmFsID49IChpbnQpIHBhQnVmZmVyU2l6ZSkpew0KKyAgaWYoKG5SZXRWYWwgPCAtMSkgfHwgKG5SZXRWYWwgPj0gc3RhdGljX2Nhc3Q8aW50PihwYUJ1ZmZlclNpemUpKSkgew0KICAgICBuUmV0VmFsID0gLTE7DQogICB9DQogICByZXR1cm4gblJldFZhbDsNCkBAIC02MCwxMyArNjIsMTMgQEAKICAgICAgIHNldFZhbHVlU2ltcGxlKHBhVmFsdWUpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIGVfUkVBTDoNCi0gICAgICAoKnRoaXMpID0gKCgoQ0lFQ19SRUFMICYpIHBhVmFsdWUpKS5vcGVyYXRvciBURm9ydGVGbG9hdCgpOw0KKyAgICAgICgqdGhpcykgPSBzdGF0aWNfY2FzdDxjb25zdCBDSUVDX1JFQUwgJj4ocGFWYWx1ZSkub3BlcmF0b3IgVEZvcnRlRmxvYXQoKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBlX1NUUklORzoNCi0gICAgICAoKnRoaXMpLmZyb21TdHJpbmcoKChDSUVDX1NUUklORyYpIHBhVmFsdWUpLmdldFZhbHVlKCkpOw0KKyAgICAgICgqdGhpcykuZnJvbVN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IENJRUNfU1RSSU5HJj4ocGFWYWx1ZSkuZ2V0VmFsdWUoKSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgZV9XU1RSSU5HOg0KLSAgICAgICgqdGhpcykuZnJvbVN0cmluZygoKENJRUNfV1NUUklORyYpIHBhVmFsdWUpLmdldFZhbHVlKCkpOw0KKyAgICAgICgqdGhpcykuZnJvbVN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IENJRUNfV1NUUklORyY+KHBhVmFsdWUpLmdldFZhbHVlKCkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIGVfU0lOVDoNCiAgICAgY2FzZSBlX0lOVDoNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbHJlYWwuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9scmVhbC5oCmluZGV4IDhiOGI5YzkuLjBjYWIxMTMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9scmVhbC5oCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9scmVhbC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsCkBAIC05Niw3ICs5Nyw3IEBACiAgICAgICogICBccmV0dXJuIG51bWJlciBvZiBieXRlcyB1c2VkIGluIHRoZSBidWZmZXIgd2l0aG91dCB0cmFpbGluZyAweDAwCiAgICAgICogICAgICAgICAgIC0xIG9uIGVycm9yCiAgICAgICovCi0gICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgdW5zaWduZWQgaW50IHBhQnVmZmVyU2l6ZSkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgc2l6ZV90IHBhQnVmZmVyU2l6ZSkgY29uc3Q7CiAKICAgICAvKiEgXGJyaWVmIENhc3RzIFRGb3J0ZURGbG9hdCB2YWx1ZXMgdG8gQ0lFQyBkYXRhIHR5cGVzCiAgICAgICogIFxwYXJhbSBwYVNyY1ZhbHVlIFNvdXJjZSB2YWx1ZSBmb3IgdGhlIGNhc3QKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9sd29yZC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbHdvcmQuY3BwCmluZGV4IDIzOWViZDkuLjhlODk5ZjUgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9sd29yZC5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2x3b3JkLmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDEzIEFDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIE1hcnRpbiBNZWxpayBNZXJraXVtaWFucywgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTMgQUNJTgorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgTWFydGluIE1lbGlrIE1lcmtpdW1pYW5zLCBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlcgorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpbmNsdWRlICJmb3J0ZV9sd29yZC5oIgogCiAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2x3b3JkLmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbHdvcmQuaAppbmRleCA0NzMyNTk3Li44M2NlNGZjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbHdvcmQuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfbHdvcmQuaApAQCAtMSwxMyArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDEzIEFDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIE1hcnRpbiBNZWxpayBNZXJraXVtaWFucywgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTMgQUNJTgorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgTWFydGluIE1lbGlrIE1lcmtpdW1pYW5zLCBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlcgorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9GT1JURV9MV09SRF9IXwogI2RlZmluZSBfRk9SVEVfTFdPUkRfSF8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9yZWFsLmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9yZWFsLmNwcAppbmRleCA2OTliNDY5Li41NDViMzhkIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfcmVhbC5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3JlYWwuY3BwCkBAIC0xLDE2ICsxLDE5IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBueHRDb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwNCi0gICogICAgSW5nbyBIZWdueSwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIE1vbmlrYSBXZW5nZXIsIFN0YW5pc2xhdiBNZWR1bmEsDQotICAqICAgIE1hdHRoaWFzIFBsYXNjaA0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxOSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwNCisgKiAgICBJbmdvIEhlZ255LCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgTW9uaWthIFdlbmdlciwgU3RhbmlzbGF2IE1lZHVuYSwNCisgKiAgICBNYXR0aGlhcyBQbGFzY2gNCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKiAgICBKb3NlIENhYnJhbA0KKyAqICAgICAgLSBNb3ZlIGFyY2ggZGVwZW5kYW50IGNvZGUgKHN0cnRvZCkgdG8gdGhlIGFyY2ggZm9sZGVyDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgPG1hdGguaD4NCiAjaW5jbHVkZSA8c3RyaW5nLmg+DQogI2luY2x1ZGUgPHN0ZGxpYi5oPg0KQEAgLTE5LDYgKzIyLDcgQEAKICNpbmNsdWRlICJmb3J0ZV9scmVhbC5oIg0KIA0KICNpbmNsdWRlIDxmb3J0ZV9wcmludGVyLmg+DQorI2luY2x1ZGUgIi4uLy4uL2FyY2gvZm9ydGVfcmVhbEZ1bmN0aW9ucy5oIg0KIA0KIERFRklORV9GSVJNV0FSRV9EQVRBVFlQRShSRUFMLCBnX25TdHJpbmdJZFJFQUwpDQogDQpAQCAtMjYsMzMgKzMwLDI5IEBACiAgIGNoYXIgKnBjRW5kOw0KICAgY29uc3QgY2hhciAqcGFjUnVubmVyID0gcGFWYWx1ZTsNCiAgIFRGb3J0ZUZsb2F0IHJlYWx2YWwgPSAwLjA7DQotICBjb25zdCBURm9ydGVGbG9hdCBURkxPQVRfbWluID0gMy40ZS0zOGY7IC8vIGxvd2VyIHByZWNpc2lvbiBib3VuZGFyeQ0KLSAgY29uc3QgVEZvcnRlRmxvYXQgVEZMT0FUX21heCA9IDMuNGUzOGY7IC8vIHVwcGVyIHByZWNpc2lvbiBib3VuZGFyeQ0KKyAgY29uc3QgVEZvcnRlRmxvYXQgVEZMT0FUX21pbiA9IDMuNGUtMzhGOyAvLyBsb3dlciBwcmVjaXNpb24gYm91bmRhcnkNCisgIGNvbnN0IFRGb3J0ZUZsb2F0IFRGTE9BVF9tYXggPSAzLjRlMzhGOyAvLyB1cHBlciBwcmVjaXNpb24gYm91bmRhcnkNCiANCiAgIGlmKDAgPT0gc3RybmNtcChwYWNSdW5uZXIsICJSRUFMIyIsIDUpKXsNCiAgICAgcGFjUnVubmVyICs9IDU7DQogICB9DQogDQotICANCi0gICNpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9fRUNPUykgfHwgZGVmaW5lZChWWFdPUktTKQ0KLSAgcmVhbHZhbCA9IHN0YXRpY19jYXN0PFRGb3J0ZUZsb2F0PihzdHJ0b2QocGFjUnVubmVyLCAmcGNFbmQpKTsNCi0gICNlbHNlDQotICByZWFsdmFsID0gc3RydG9mKHBhY1J1bm5lciwgJnBjRW5kKTsNCi0gICNlbmRpZg0KKyAgcmVhbHZhbCA9IGZvcnRlX3N0cmluZ1RvRmxvYXQocGFjUnVubmVyLCAmcGNFbmQpOw0KIA0KICAgaWYoKChmYWJzKHJlYWx2YWwpIDwgVEZMT0FUX21pbikgJiYgKHJlYWx2YWwgIT0gMCkpIHx8ICgoZmFicyhyZWFsdmFsKSA+IFRGTE9BVF9tYXgpICYmIChyZWFsdmFsICE9IDApKSB8fA0KLSAgICAgIChwYWNSdW5uZXIgPT0gcGNFbmQpKQ0KKyAgICAgIChwYWNSdW5uZXIgPT0gcGNFbmQpKSB7DQogICAgIHJldHVybiAtMTsNCisgIH0NCiANCiAgIHNldFRGTE9BVCgoVEZvcnRlRmxvYXQpIHJlYWx2YWwpOw0KICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4ocGNFbmQgLSBwYVZhbHVlKTsNCiB9DQogDQotaW50IENJRUNfUkVBTDo6dG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgdW5zaWduZWQgaW50IHBhQnVmZmVyU2l6ZSkgY29uc3R7DQoraW50IENJRUNfUkVBTDo6dG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgc2l6ZV90IHBhQnVmZmVyU2l6ZSkgY29uc3Qgew0KICAgaW50IG5SZXRWYWw7DQogICBuUmV0VmFsID0gZm9ydGVfc25wcmludGYocGFWYWx1ZSwgcGFCdWZmZXJTaXplLCAiJWciLCBnZXRURkxPQVQoKSk7DQotICBpZigoblJldFZhbCA8IC0xKSB8fCAoblJldFZhbCA+PSAoaW50KSBwYUJ1ZmZlclNpemUpKXsNCi0gICAgblJldFZhbCA9IC0xOyAgDQorICBpZigoblJldFZhbCA8IC0xKSB8fCAoblJldFZhbCA+PSBzdGF0aWNfY2FzdDxpbnQ+KHBhQnVmZmVyU2l6ZSkpKSB7DQorICAgIG5SZXRWYWwgPSAtMTsNCiAgIH0NCiAgIHJldHVybiBuUmV0VmFsOw0KIH0NCkBAIC0xMTAsMTAgKzExMCwxMCBAQAogICAgIGNhc2UgQ0lFQ19BTlk6OmVfTElOVDogew0KICAgICAgIENJRUNfUkVBTDo6VFZhbHVlVHlwZSBmbG9hdFZhbHVlID0gc3RhdGljX2Nhc3Q8Q0lFQ19SRUFMOjpUVmFsdWVUeXBlPihwYVNyY1ZhbHVlKTsNCiAgICAgICBpZigwIDwgZmxvYXRWYWx1ZSl7DQotICAgICAgICBmbG9hdFZhbHVlICs9IDAuNWY7DQorICAgICAgICBmbG9hdFZhbHVlICs9IDAuNUY7DQogICAgICAgfQ0KICAgICAgIGlmKDAgPiBmbG9hdFZhbHVlKXsNCi0gICAgICAgIGZsb2F0VmFsdWUgLT0gMC41ZjsNCisgICAgICAgIGZsb2F0VmFsdWUgLT0gMC41RjsNCiAgICAgICB9DQogICAgICAgKigoQ0lFQ19BTlk6OlRMYXJnZXN0SW50VmFsdWVUeXBlICopIHBhRGVzdFZhbHVlLmdldERhdGFQdHIoKSkgPSBzdGF0aWNfY2FzdDxDSUVDX0FOWTo6VExhcmdlc3RJbnRWYWx1ZVR5cGU+KGZsb2F0VmFsdWUpOw0KICAgICB9DQpAQCAtMTIzLDEyICsxMjMsMTIgQEAKICAgICAgIC8vc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkgYmVjYXVzZSBvZiBjb25uZWN0IGZ1bmN0aW9uLCBidXQgd2hvIGtub3dzLg0KICAgICAgIENJRUNfUkVBTDo6VFZhbHVlVHlwZSBmbG9hdFZhbHVlID0gc3RhdGljX2Nhc3Q8Q0lFQ19SRUFMOjpUVmFsdWVUeXBlPihwYVNyY1ZhbHVlKTsNCiAgICAgICBpZigwIDwgZmxvYXRWYWx1ZSl7DQotICAgICAgICBmbG9hdFZhbHVlICs9IDAuNWY7DQorICAgICAgICBmbG9hdFZhbHVlICs9IDAuNUY7DQogICAgICAgfQ0KICAgICAgIGlmKDAgPiBmbG9hdFZhbHVlKXsNCi0gICAgICAgIGZsb2F0VmFsdWUgLT0gMC41ZjsNCisgICAgICAgIGZsb2F0VmFsdWUgLT0gMC41RjsNCiAgICAgICB9DQotICAgICAgKigoQ0lFQ19BTlk6OlRMYXJnZXN0VUludFZhbHVlVHlwZSAqKSBwYURlc3RWYWx1ZS5nZXREYXRhUHRyKCkpID0gc3RhdGljX2Nhc3Q8Q0lFQ19BTlk6OlRMYXJnZXN0VUludFZhbHVlVHlwZT4oZmxvYXRWYWx1ZSk7DQorICAgICAgKihyZWludGVycHJldF9jYXN0PENJRUNfQU5ZOjpUTGFyZ2VzdFVJbnRWYWx1ZVR5cGUqPihwYURlc3RWYWx1ZS5nZXREYXRhUHRyKCkpKSA9IHN0YXRpY19jYXN0PENJRUNfQU5ZOjpUTGFyZ2VzdFVJbnRWYWx1ZVR5cGU+KGZsb2F0VmFsdWUpOw0KICAgICB9DQogICAgICAgYnJlYWs7DQogICB9DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3JlYWwuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9yZWFsLmgKaW5kZXggMGFmNjBlZS4uZGI5OGI4NSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3JlYWwuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfcmVhbC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByM2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsCkBAIC05OCw3ICs5OSw3IEBACiAgICAgICogICBccmV0dXJuIG51bWJlciBvZiBieXRlcyB1c2VkIGluIHRoZSBidWZmZXIgd2l0aG91dCB0cmFpbGluZyAweDAwCiAgICAgICogICAgICAgICAgIC0xIG9uIGVycm9yCiAgICAgICovCi0gICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgdW5zaWduZWQgaW50IHBhQnVmZmVyU2l6ZSkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgc2l6ZV90IHBhQnVmZmVyU2l6ZSkgY29uc3Q7CiAKICAgICAvKiEgXGJyaWVmIENhc3RzIFRGb3J0ZUZsb2F0IHZhbHVlcyB0byBDSUVDIGRhdGEgdHlwZXMKICAgICAgKiAgXHBhcmFtIHBhU3JjVmFsdWUgU291cmNlIHZhbHVlIGZvciB0aGUgY2FzdApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3NpbnQuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3NpbnQuY3BwCmluZGV4IDBmYWViZGUuLmVmYmM0M2UgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9zaW50LmNwcAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc2ludC5jcHAKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLAotICAqICAgIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwKKyAqICAgIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiZm9ydGVfc2ludC5oIgogCiBERUZJTkVfRklSTVdBUkVfREFUQVRZUEUoU0lOVCwgZ19uU3RyaW5nSWRTSU5UKQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3NpbnQuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9zaW50LmgKaW5kZXggNTg0YTA2NS4uNjAwZTRkZiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3NpbnQuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc2ludC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3N0cmluZy5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc3RyaW5nLmNwcAppbmRleCBiNTU0YTE5Li4yMjE2NzJjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc3RyaW5nLmNwcAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc3RyaW5nLmNwcApAQCAtMSwxOCArMSwyMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgNCi0gICogICAyMDE4IFRVIFdpZW4vQUNJTg0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBSZW5lIFNtb2RpYywgQWxvaXMgWm9pdGwsDQotICAqICAgIEluZ28gSGVnbnksIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBTdGFuaXNsYXYgTWVkdW5hDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIGZpeGVzIHRvU3RyaW5nIGJlaGF2aW9yIGZvciAwIHNpemUgYnVmZmVyDQotICAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gZml4ZXMgYmVoYXZpb3IgZm9yIGdldFRvU3RyaW5nQnVmZmVyU2l6ZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBueHRDb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSA0KKyAqICAgICAgICAgICAgICAgMjAxOCBUVSBXaWVuL0FDSU4NCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBSZW5lIFNtb2RpYywgQWxvaXMgWm9pdGwsDQorICogICAgSW5nbyBIZWdueSwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIFN0YW5pc2xhdiBNZWR1bmENCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCisgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIGZpeGVzIHRvU3RyaW5nIGJlaGF2aW9yIGZvciAwIHNpemUgYnVmZmVyDQorICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBmaXhlcyBiZWhhdmlvciBmb3IgZ2V0VG9TdHJpbmdCdWZmZXJTaXplDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgImZvcnRlX3N0cmluZy5oIg0KICNpbmNsdWRlIDxkZXZsb2cuaD4NCiAjaW5jbHVkZSAiZm9ydGVfdWludC5oIg0KQEAgLTMwLDE0ICszMiwxNiBAQAogICAgICAgblNyY0NhcHBlZExlbmd0aCAtPSA3Ow0KICAgICB9DQogDQotICAgIGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG5TcmNMZW4pID4gc2NtX3VuTWF4U3RyaW5nTGVuKQ0KKyAgICBpZihzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG5TcmNMZW4pID4gc2NtX3VuTWF4U3RyaW5nTGVuKSB7DQogICAgICAgblNyY0NhcHBlZExlbmd0aCA9IHNjbV91bk1heFN0cmluZ0xlbjsNCisgICAgfQ0KIA0KIA0KICAgICBpZiAoKnBhX3BhY1ZhbHVlID09ICdcJycpIHsNCiAgICAgICByZXNlcnZlKHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oblNyY0NhcHBlZExlbmd0aCkpOw0KLSAgICAgIGlmICh1bmVzY2FwZUZyb21TdHJpbmcocGFfcGFjVmFsdWUsICdcJycpIDwgMCkNCisgICAgICBpZih1bmVzY2FwZUZyb21TdHJpbmcocGFfcGFjVmFsdWUsICdcJycpIDwgMCkgew0KICAgICAgICAgcmV0dXJuIC0xOw0KKyAgICAgIH0NCiAgICAgfSBlbHNlIHsNCiAgICAgICBhc3NpZ24ocGFfcGFjVmFsdWUsIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oblNyY0NhcHBlZExlbmd0aCkpOw0KICAgICB9DQpAQCAtNDYsMTggKzUwLDE4IEBACiAgIHJldHVybiBuU3JjTGVuOw0KIH0NCiANCi1pbnQgQ0lFQ19TVFJJTkc6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHVuc2lnbmVkIGludCBwYUJ1ZmZlclNpemUpIGNvbnN0IHsNCitpbnQgQ0lFQ19TVFJJTkc6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0IHsNCiAgIGludCBuUmV0VmFsID0gLTE7DQogICBpZigwICE9IHBhVmFsdWUgJiYgZ2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgPD0gcGFCdWZmZXJTaXplKXsNCiAgICAgKnBhVmFsdWUgPSAnXCcnOw0KICAgICBwYVZhbHVlKys7DQogICAgIFRGb3J0ZVVJbnQxNiBuTGVuID0gbGVuZ3RoKCk7DQotICAgIGludCBuVXNlZEJ5dGVzID0gMDsNCisgICAgc2l6ZV90IG5Vc2VkQnl0ZXMgPSAwOw0KICAgICBwYUJ1ZmZlclNpemUgLT0gMjsNCiAgICAgaWYoMCA8IG5MZW4pew0KICAgICAgIGNvbnN0IGNoYXIgKiBhY1ZhbHVlID0gZ2V0VmFsdWUoKTsNCiAgICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbkxlbjsgKytpKXsNCi0gICAgICAgIGlmKHN0YXRpY19jYXN0PHVuc2lnbmVkIGludCA+KG5Vc2VkQnl0ZXMpID49IHBhQnVmZmVyU2l6ZSl7DQorICAgICAgICBpZihuVXNlZEJ5dGVzID49IHBhQnVmZmVyU2l6ZSkgew0KICAgICAgICAgICByZXR1cm4gLTE7DQogICAgICAgICB9DQogICAgICAgICBuVXNlZEJ5dGVzICs9IGRvbGxhckVzY2FwZUNoYXIocGFWYWx1ZStuVXNlZEJ5dGVzLCBhY1ZhbHVlW2ldLCAyKTsNCkBAIC02Niw3ICs3MCw3IEBACiAgICAgfSBlbHNlew0KICAgICAgICpwYVZhbHVlID0gJ1wwJzsNCiAgICAgfQ0KLSAgICBuUmV0VmFsID0gblVzZWRCeXRlczsNCisgICAgblJldFZhbCA9IHN0YXRpY19jYXN0PGludD4oblVzZWRCeXRlcyk7DQogICAgIHBhVmFsdWVbblJldFZhbF0gPSAnXCcnOw0KICAgICBwYVZhbHVlW25SZXRWYWwgKyAxXSA9ICdcMCc7DQogICAgIG5SZXRWYWwgKz0gMjsNCkBAIC03NCw5ICs3OCw5IEBACiAgIHJldHVybiBuUmV0VmFsOw0KIH0NCiANCi11bnNpZ25lZCBpbnQgQ0lFQ19TVFJJTkc6OmdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpIGNvbnN0ew0KK3NpemVfdCBDSUVDX1NUUklORzo6Z2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgY29uc3Qgew0KICAgY29uc3QgY2hhciAqIGNvbnN0IHN0cmluZ1ZhbHVlID0gZ2V0VmFsdWUoKTsNCi0gIHVuc2lnbmVkIGludCBuZWVkZWRCdWZmZXJTaXplID0gMDsNCisgIHNpemVfdCBuZWVkZWRCdWZmZXJTaXplID0gMDsNCiAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGgoKTsgKytpKXsNCiAgICAgaWYoaXNwcmludChzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzdHJpbmdWYWx1ZVtpXSkpICYmICckJyAhPSBzdHJpbmdWYWx1ZVtpXSAmJiAnXCcnICE9IHN0cmluZ1ZhbHVlW2ldKXsNCiAgICAgICArK25lZWRlZEJ1ZmZlclNpemU7DQpAQCAtMTAzLDcgKzEwNyw3IEBACiANCiAjaWZkZWYgRk9SVEVfVU5JQ09ERV9TVVBQT1JUDQogaW50IENJRUNfU1RSSU5HOjpmcm9tVVRGOChjb25zdCBjaGFyICpwYV9wYWNWYWx1ZSwgaW50IHBhX25MZW4sIGJvb2wgcGFfYlVuZXNjYXBlKSB7DQotICANCisNCiAgIGludCBuU3JjTGVuID0gcGFfbkxlbiA+PSAwID8gcGFfbkxlbiA6IChwYV9iVW5lc2NhcGUgPyBkZXRlcm1pbmVFc2NhcGVkU3RyaW5nTGVuZ3RoKHBhX3BhY1ZhbHVlLCAnXCcnKSA6IHN0YXRpY19jYXN0PGludD4oc3RybGVuKHBhX3BhY1ZhbHVlKSkpOw0KICAgaW50IG5TcmNDYXBwZWRMZW5ndGggPSBuU3JjTGVuOw0KIA0KQEAgLTEzMSw4ICsxMzUsOSBAQAogICAgIH0NCiANCiAgICAgcmVzZXJ2ZShzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KG5MZW5ndGgpKTsNCi0gICAgaWYgKDAgPT0gZ2V0R2VuRGF0YSgpKQ0KKyAgICBpZiAoMCA9PSBnZXRHZW5EYXRhKCkpIHsNCiAgICAgICByZXR1cm4gLTE7DQorICAgIH0NCiANCiAgICAgVEZvcnRlVUludDMyIG5Db2RlcG9pbnQ7DQogICAgIGNvbnN0IGNoYXIgKnBSdW5uZXIgPSBwYV9wYWNWYWx1ZTsNCkBAIC0xNDMsMTAgKzE0OCwxMiBAQAogICAgICAgaW50IG5SZXM7DQogICAgICAgblJlcyA9IENVbmljb2RlVXRpbGl0aWVzOjpwYXJzZVVURjhDb2RlcG9pbnQoKGNvbnN0IFRGb3J0ZUJ5dGUgKikgcFJ1bm5lciwgbkNvZGVwb2ludCk7DQogICAgICAgcFJ1bm5lciArPSBuUmVzOw0KLSAgICAgIGlmIChuQ29kZXBvaW50ID09IENVbmljb2RlVXRpbGl0aWVzOjpzY21fdW5CT01NYXJrZXIpDQorICAgICAgaWYgKG5Db2RlcG9pbnQgPT0gQ1VuaWNvZGVVdGlsaXRpZXM6OnNjbV91bkJPTU1hcmtlcikgew0KICAgICAgICAgY29udGludWU7DQotICAgICAgaWYgKG5Db2RlcG9pbnQgPj0gMHgxMDApDQorICAgICAgfQ0KKyAgICAgIGlmIChuQ29kZXBvaW50ID49IDB4MTAwKSB7DQogICAgICAgICBuQ29kZXBvaW50ID0gJz8nOw0KKyAgICAgIH0NCiAgICAgICAqcEVuY1J1bm5lcisrID0gKFRGb3J0ZUJ5dGUpIG5Db2RlcG9pbnQ7DQogICAgIH0NCiANCkBAIC0xNTUsNTkgKzE2Miw2NyBAQAogDQogICAgIGlmIChwYV9iVW5lc2NhcGUpIHsNCiAgICAgICBuTGVuZ3RoID0gdW5lc2NhcGVGcm9tU3RyaW5nKGdldFZhbHVlKCksICdcJycpOw0KLSAgICAgIGlmIChuTGVuZ3RoIDwgMCkNCisgICAgICBpZiAobkxlbmd0aCA8IDApIHsNCiAgICAgICAgIHJldHVybiAtMTsNCisgICAgICB9DQogICAgIH0NCiAgIH0NCiAgIHJldHVybiBuU3JjTGVuOw0KIH0NCiANCi1pbnQgQ0lFQ19TVFJJTkc6OnRvVVRGOChjaGFyKiBwYV9wYWNCdWZmZXIsIHVuc2lnbmVkIGludCBwYV9uQnVmZmVyU2l6ZSwgYm9vbCBwYV9iRXNjYXBlKSBjb25zdCB7DQoraW50IENJRUNfU1RSSU5HOjp0b1VURjgoY2hhciogcGFCdWZmZXIsIHNpemVfdCBwYUJ1ZmZlclNpemUsIGJvb2wgcGFFc2NhcGUpIGNvbnN0IHsNCiAgIC8vIENvdW50IHRoZSBuZWVkZWQgc3BhY2UNCi0gIHVuc2lnbmVkIGludCBuTmVlZGVkTGVuZ3RoID0gcGFfYkVzY2FwZSA/IDIgOiAwOyAvLyBMZWFkaW5nIGFuZCB0cmFpbGluZyBkZWxpbWl0ZXINCisgIHNpemVfdCBuTmVlZGVkTGVuZ3RoID0gcGFFc2NhcGUgPyAyIDogMDsgLy8gTGVhZGluZyBhbmQgdHJhaWxpbmcgZGVsaW1pdGVyDQogICBpbnQgblJlczsNCiANCiAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBSdW5uZXIgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKSBnZXRWYWx1ZSgpOw0KICAgd2hpbGUgKCpwUnVubmVyKSB7DQogICAgIG5SZXMgPSBDVW5pY29kZVV0aWxpdGllczo6ZW5jb2RlVVRGOENvZGVwb2ludCgwLCAwLCAoVEZvcnRlVUludDMyKSAqcFJ1bm5lcik7DQotICAgIGlmIChuUmVzIDwgMCkNCisgICAgaWYgKG5SZXMgPCAwKSB7DQogICAgICAgcmV0dXJuIC0xOw0KKyAgICB9DQogICAgIG5OZWVkZWRMZW5ndGggKz0gblJlczsNCi0gICAgaWYgKG5SZXMgPT0gMSAmJiBwYV9iRXNjYXBlICYmIGRvbGxhckVzY2FwZUNoYXIoMCwgKnBSdW5uZXIsIDApID09IDIpDQorICAgIGlmIChuUmVzID09IDEgJiYgcGFFc2NhcGUgJiYgZG9sbGFyRXNjYXBlQ2hhcigwLCAqcFJ1bm5lciwgMCkgPT0gMikgew0KICAgICAgIG5OZWVkZWRMZW5ndGgrKzsNCisgICAgfQ0KICAgICArK3BSdW5uZXI7DQogICB9DQogDQotICBpZiAocGFfcGFjQnVmZmVyID09IDApDQotICAgIHJldHVybiBuTmVlZGVkTGVuZ3RoOw0KKyAgaWYoMCA9PSBwYUJ1ZmZlcikgew0KKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihuTmVlZGVkTGVuZ3RoKTsNCisgIH0NCiANCi0gIGlmIChuTmVlZGVkTGVuZ3RoKzEgPiBwYV9uQnVmZmVyU2l6ZSkNCisgIGlmKG5OZWVkZWRMZW5ndGggKyAxID4gcGFCdWZmZXJTaXplKSB7DQogICAgIHJldHVybiAtMTsNCisgIH0NCiANCi0gIGNoYXIgKnBFbmNSdW5uZXIgPSBwYV9wYWNCdWZmZXI7DQotICBjaGFyICpwRGF0YUVuZCA9IHBhX3BhY0J1ZmZlciArIG5OZWVkZWRMZW5ndGg7DQorICBjaGFyICpwRW5jUnVubmVyID0gcGFCdWZmZXI7DQorICBjaGFyICpwRGF0YUVuZCA9IHBhQnVmZmVyICsgbk5lZWRlZExlbmd0aDsNCiANCi0gIGlmIChwYV9iRXNjYXBlKQ0KKyAgaWYocGFFc2NhcGUpIHsNCiAgICAgKnBFbmNSdW5uZXIrKyA9ICdcJyc7DQorICB9DQogDQogICBwUnVubmVyID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgZ2V0VmFsdWUoKTsNCiAgIHdoaWxlICgqcFJ1bm5lcikgew0KICAgICBuUmVzID0gQ1VuaWNvZGVVdGlsaXRpZXM6OmVuY29kZVVURjhDb2RlcG9pbnQoKFRGb3J0ZUJ5dGUgKikgcEVuY1J1bm5lciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihwRGF0YUVuZCAtIHBFbmNSdW5uZXIpLCAoVEZvcnRlVUludDMyKSAqcFJ1bm5lcik7DQotICAgIGlmIChuUmVzID09IDEgJiYgcGFfYkVzY2FwZSkNCisgICAgaWYoblJlcyA9PSAxICYmIHBhRXNjYXBlKSB7DQogICAgICAgblJlcyA9IGRvbGxhckVzY2FwZUNoYXIocEVuY1J1bm5lciwgKnBSdW5uZXIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4ocERhdGFFbmQgLSBwRW5jUnVubmVyKSk7DQotDQotICAgIGlmIChuUmVzIDwgMCkNCisgICAgfQ0KKyAgICBpZihuUmVzIDwgMCkgew0KICAgICAgIHJldHVybiAtMTsNCisgICAgfQ0KIA0KICAgICBwRW5jUnVubmVyICs9IG5SZXM7DQogICAgICsrcFJ1bm5lcjsNCiAgIH0NCiANCi0gIGlmIChwYV9iRXNjYXBlKQ0KKyAgaWYocGFFc2NhcGUpIHsNCiAgICAgKnBFbmNSdW5uZXIrKyA9ICdcJyc7DQorICB9DQogICAqcEVuY1J1bm5lciA9ICdcMCc7DQogDQotICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihwRW5jUnVubmVyIC0gcGFfcGFjQnVmZmVyKTsNCisgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHBFbmNSdW5uZXIgLSBwYUJ1ZmZlcik7DQogfQ0KIA0KICNlbmRpZg0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9zdHJpbmcuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9zdHJpbmcuaAppbmRleCA4MmRmOTFhLi4zOWMyYjc4IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc3RyaW5nLmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3N0cmluZy5oCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTiwgbnh0Q29udHJvbCBHbWJICiAgKiAgIDIwMTggVFUgV2llbi9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgUmVuZSBTbW9kaWMsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlcgpAQCAtNzAsNyArNzEsNyBAQAogICAgICAqICAgXHJldHVybiBudW1iZXIgb2YgYnl0ZXMgdXNlZCBpbiB0aGUgYnVmZmVyIHdpdGhvdXQgdHJhaWxpbmcgMHgwMAogICAgICAqICAgICAgICAgICAtMSBvbiBlcnJvcgogICAgICAqLwotICAgIHZpcnR1YWwgaW50IHRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHVuc2lnbmVkIGludCBwYUJ1ZmZlclNpemUpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0OwogCiAgICAgLyohIFxicmllZiBDb252ZXJ0cyBhIFVURi04IGVuY29kZWQgc3RyaW5nIHRvIGEgU1RSSU5HIChJU08gMTA2NDYgUm93IDAwIGludGVybmFsbHkpCiAgICAgICoKQEAgLTk3LDcgKzk4LDcgQEAKICAgICAgKiAgICAgICAgICAgLTEgb24gZXJyb3IKICAgICAgKi8KICNpZmRlZiBGT1JURV9VTklDT0RFX1NVUFBPUlQKLSAgICB2aXJ0dWFsIGludCB0b1VURjgoY2hhciogcGFfcGFjQnVmZmVyLCB1bnNpZ25lZCBpbnQgcGFfbkJ1ZmZlclNpemUsIGJvb2wgcGFfYkVzY2FwZSkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgdG9VVEY4KGNoYXIqIHBhQnVmZmVyLCBzaXplX3QgcGFCdWZmZXJTaXplLCBib29sIHBhRXNjYXBlKSBjb25zdDsKICNlbmRpZgogCiAgICAgLyohIFxicmllZiBSZXR1cm5zIHRoZSBhbW91bnQgb2YgYnl0ZXMgbmVlZGVkIHRvIGNyZWF0ZSB0aGUgSUVDIDYxMTMxIGxpdGVyYWwgc3RyaW5nCkBAIC0xMDksNyArMTEwLDcgQEAKICAgICAgKgogICAgICAqIFxyZXR1cm4gTmVlZGVkIGJ1ZmZlciBzaXplIGZvciBsaXRlcmFsIHN0cmluZyB3aXRob3V0IHR5cGUgZGVsYXJhdG9yIGUuZy4sIFNUUklORyMKICAgICAgKi8KLSAgICB2aXJ0dWFsIHVuc2lnbmVkIGludCBnZXRUb1N0cmluZ0J1ZmZlclNpemUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHNpemVfdCBnZXRUb1N0cmluZ0J1ZmZlclNpemUoKSBjb25zdDsKIAogICBwcm90ZWN0ZWQ6CiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9zdHJ1Y3QuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3N0cnVjdC5jcHAKaW5kZXggMGYyMWE5NS4uZjhmYzRlZiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3N0cnVjdC5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3N0cnVjdC5jcHAKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgQUNJTiwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwNCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTUgQUNJTiwgZm9ydGlzcyBHbWJIDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBJbmdvIEhlZ255LCBBbG9pcyBab2l0bA0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpbmNsdWRlICJmb3J0ZV9zdHJ1Y3QuaCINCiAjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQDQogI2luY2x1ZGUgImZvcnRlX3N0cnVjdF9nZW4uY3BwIg0KQEAgLTE5Nyw3ICsxOTksNyBAQAogICByZXR1cm4gdW5FbGVtZW50TmFtZUlkOw0KIH0NCiANCi1pbnQgQ0lFQ19TVFJVQ1Q6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHVuc2lnbmVkIGludCBwYUJ1ZmZlclNpemUpIGNvbnN0ew0KK2ludCBDSUVDX1NUUlVDVDo6dG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgc2l6ZV90IHBhQnVmZmVyU2l6ZSkgY29uc3Qgew0KICAgaW50IG5CeXRlc1VzZWQgPSAtMTsNCiANCiAgIGlmKHBhQnVmZmVyU2l6ZSkgew0KQEAgLTIyMiw3ICsyMjQsNyBAQAogICAgICAgcGFWYWx1ZSsrOw0KICAgICAgICpwYVZhbHVlID0gJz0nOw0KICAgICAgIHBhVmFsdWUrKzsNCi0gICAgICBwYUJ1ZmZlclNpemUgLT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzdHJsZW4oYWNNZW1iZXJOYW1lKSArIDIpOw0KKyAgICAgIHBhQnVmZmVyU2l6ZSAtPSBzdHJsZW4oYWNNZW1iZXJOYW1lKSArIDI7DQogICAgICAgbkJ5dGVzVXNlZCArPSBzdGF0aWNfY2FzdDxpbnQ+KHN0cmxlbihhY01lbWJlck5hbWUpICsgMik7DQogDQogICAgICAgblVzZWRCeXRlc0J5RWxlbWVudCA9IHBvTWVtYmVycy0+dG9TdHJpbmcocGFWYWx1ZSwgcGFCdWZmZXJTaXplKTsNCkBAIC0yNzAsOCArMjcyLDggQEAKICAgcmV0dXJuIHBvUmV0VmFsOw0KIH0NCiANCi11bnNpZ25lZCBpbnQgQ0lFQ19TVFJVQ1Q6OmdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpIGNvbnN0IHsNCi0gIHVuc2lnbmVkIGludCByZXRWYWwgPSAzOyAvLyAyIGJ5dGVzIGZvciB0aGUgb3BlbiBhbmQgY2xvc2luZyBicmFja2V0cyBvbmUgZm9yIHRoZSAnXDAnDQorc2l6ZV90IENJRUNfU1RSVUNUOjpnZXRUb1N0cmluZ0J1ZmZlclNpemUoKSBjb25zdCB7DQorICBzaXplX3QgcmV0VmFsID0gMzsgLy8gMiBieXRlcyBmb3IgdGhlIG9wZW4gYW5kIGNsb3NpbmcgYnJhY2tldHMgb25lIGZvciB0aGUgJ1wwJw0KICAgVEZvcnRlVUludDE2IG5TaXplID0gZ2V0U3RydWN0U2l6ZSgpOw0KICAgcmV0VmFsICs9IChuU2l6ZSA+IDEpID8gKG5TaXplIC0gMSkgOiAwOyAvL2ZvciB0aGUgY29tbWFzIGJldHdlZW4gdGhlIGVsZW1lbnRzDQogICByZXRWYWwgKz0gKG5TaXplICogMik7IC8vZm9yIHRoZSA6PSBvZiBlYWNoIGVsZW1lbnQNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc3RydWN0LmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc3RydWN0LmgKaW5kZXggMjNkZDRjMS4uMTIwNDQzZiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3N0cnVjdC5oCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV9zdHJ1Y3QuaApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDEzIEFDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBNb25pa2EgV2VuZ2VyCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDEzIEFDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBNb25pa2EgV2VuZ2VyCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfRk9SVEVfU1RSVUNUX0hfCiAjZGVmaW5lIF9GT1JURV9TVFJVQ1RfSF8KIApAQCAtMTAyLDcgKzEwNCw3IEBACiAgICAgICogICBccmV0dXJuIG51bWJlciBvZiBieXRlcyB1c2VkIGluIHRoZSBidWZmZXIKICAgICAgKiAgICAgICAgICAgLTEgb24gZXJyb3IKICAgICAgKi8KLSAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCB1bnNpZ25lZCBpbnQgcGFCdWZmZXJTaXplKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCBzaXplX3QgcGFCdWZmZXJTaXplKSBjb25zdDsKIAogICAgIENJRUNfQU5ZICpnZXRNZW1iZXJzKCl7CiAgICAgICByZXR1cm4gKDAgIT0gZ2V0U3BlY3MoKSkgPyBnZXRTcGVjcygpLT5tTWVtYmVycyA6IHN0YXRpY19jYXN0PENJRUNfQU5ZICo+KDApOwpAQCAtMTE5LDcgKzEyMSw3IEBACiAgICAgICovCiAgICAgQ0lFQ19BTlkgKmdldE1lbWJlck5hbWVkKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFNZW1iZXJOYW1lSWQpOwogCi0gICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgZ2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBzaXplX3QgZ2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgY29uc3Q7CiAKICAgcHJvdGVjdGVkOgogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZS5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZS5jcHAKaW5kZXggMjBiYjAzMS4uOGNhYzljNCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3RpbWUuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV90aW1lLmNwcApAQCAtMSw4MSArMSwxMDIgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwNCi0gICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIE1vbmlrYSBXZW5nZXINCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSCwNCisgKiAgMjAxOSBUVSBXaWVuL0FDSU4NCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwNCisgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgTW9uaWthIFdlbmdlcg0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gYWRkZWQgcGFyc2luZyBmb3Igc2lnbmVkIHRpbWUgbGl0ZXJhbHMNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaW5jbHVkZSAiZm9ydGVfdGltZS5oIg0KIA0KICNpbmNsdWRlICIuLi8uLi9hcmNoL3RpbWVyaGEuaCINCiAjaW5jbHVkZSA8c3RkbGliLmg+DQogI2luY2x1ZGUgPGN0eXBlLmg+DQogDQorI2luY2x1ZGUgImZvcnRlX2NvbnN0YW50cy5oIg0KKw0KICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotICAjaW5jbHVkZSAiZm9ydGVfbGludC5oIg0KKyMgaW5jbHVkZSAiZm9ydGVfbGludC5oIg0KICNlbHNlDQotICAjaW5jbHVkZSAiZm9ydGVfZGludC5oIg0KKyMgaW5jbHVkZSAiZm9ydGVfZGludC5oIg0KICNlbmRpZg0KIA0KLQ0KLSNkZWZpbmUgTUlMSVNFQ09ORFNfUEVSX1NFQ09ORCAxMDAwDQotI2RlZmluZSBNSUNST1NFQ09ORFNfUEVSX1NFQ09ORCAxMDAwMDAwDQotDQogREVGSU5FX0ZJUk1XQVJFX0RBVEFUWVBFKFRJTUUsIGdfblN0cmluZ0lkVElNRSkNCiANCi1pbnQgQ0lFQ19USU1FOjpmcm9tU3RyaW5nKGNvbnN0IGNoYXIgKnBhVmFsdWUpew0KK2ludCBDSUVDX1RJTUU6OmZyb21TdHJpbmcoY29uc3QgY2hhciAqcGFWYWx1ZSkgew0KICAgaW50IG5SZXRWYWwgPSAtMTsNCiAgIGNoYXIqIHBjRW5kOw0KIA0KICAgVFZhbHVlVHlwZSBuSW50VmFsID0gMDsNCiANCi0gIGlmKChwYVZhbHVlWzBdID09ICdUJykgfHwgKHBhVmFsdWVbMF0gPT0gJ3QnKSl7DQorICBpZigndCcgPT0gdG9sb3dlcihwYVZhbHVlWzBdKSkgew0KICAgICBuUmV0VmFsID0gMTsNCiAgICAgcGFWYWx1ZSsrOw0KLSAgICBpZigoJ2knID09IHRvbG93ZXIocGFWYWx1ZVswXSkpICYmICgnbScgPT0gdG9sb3dlcihwYVZhbHVlWzFdKSkgJiYgKCdlJyA9PSB0b2xvd2VyKHBhVmFsdWVbMl0pKSl7DQorICAgIGlmKCgnaScgPT0gdG9sb3dlcihwYVZhbHVlWzBdKSkgJiYgKCdtJyA9PSB0b2xvd2VyKHBhVmFsdWVbMV0pKSAmJiAoJ2UnID09IHRvbG93ZXIocGFWYWx1ZVsyXSkpKSB7DQogICAgICAgcGFWYWx1ZSArPSAzOw0KICAgICAgIG5SZXRWYWwgKz0gMzsNCiAgICAgfQ0KIA0KLSAgICBpZigqcGFWYWx1ZSA9PSAnIycpeyAvLyB0aGUgc3RyaW5nIGhhcyB0byBzdGFydCB3aXRoIFQjDQorICAgIGlmKCcjJyA9PSAqcGFWYWx1ZSkgeyAvLyB0aGUgc3RyaW5nIGhhcyB0byBzdGFydCB3aXRoIFQjDQogICAgICAgcGFWYWx1ZSsrOw0KICAgICAgIG5SZXRWYWwrKzsNCi0gICAgICBsb25nIG5UaW1lRmFjdG9yID0gMTsNCisgICAgICBUVmFsdWVUeXBlIG5UaW1lU2lnbkZhY3RvciA9IDE7DQorICAgICAgaWYoJysnID09ICpwYVZhbHVlIHx8ICctJyA9PSAqcGFWYWx1ZSkgew0KKyAgICAgICAgaWYoJy0nID09ICpwYVZhbHVlKSB7DQorICAgICAgICAgIG5UaW1lU2lnbkZhY3RvciA9IC0xOw0KKyAgICAgICAgfQ0KKyAgICAgICAgcGFWYWx1ZSsrOw0KKyAgICAgICAgblJldFZhbCsrOw0KKyAgICAgIH0NCisgICAgICBUVmFsdWVUeXBlIG5UaW1lRmFjdG9yID0gMTsNCiAgICAgICBib29sIGJFbmQgPSBmYWxzZTsNCi0gICAgICBkb3sNCi0gICAgICAgIGxvbmcgbkJ1ZiA9IGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b2wocGFWYWx1ZSwgJnBjRW5kLCAxMCk7DQotICAgICAgICBzd2l0Y2ggKHRvbG93ZXIoKnBjRW5kKSl7DQorICAgICAgZG8gew0KKyAgICAgICAgVFZhbHVlVHlwZSBuQnVmID0gZm9ydGU6OmNvcmU6OnV0aWw6OnN0cnRvbChwYVZhbHVlLCAmcGNFbmQsIDEwKTsNCisgICAgICAgIHN3aXRjaCh0b2xvd2VyKCpwY0VuZCkpew0KICAgICAgICAgICBjYXNlICdkJzoNCi0gICAgICAgICAgICBuVGltZUZhY3RvciA9IDg2NDAwMDAwOw0KKyAgICAgICAgICAgIG5UaW1lRmFjdG9yID0gMjQgKiA2MCAqIDYwICogY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQ7DQogICAgICAgICAgICAgYnJlYWs7DQogDQogICAgICAgICAgIGNhc2UgJ2gnOg0KLSAgICAgICAgICAgIG5UaW1lRmFjdG9yID0gMzYwMDAwMDsNCisgICAgICAgICAgICBuVGltZUZhY3RvciA9IDYwICogNjAgKiBjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZDsNCiAgICAgICAgICAgICBicmVhazsNCiANCiAgICAgICAgICAgY2FzZSAnbSc6DQotICAgICAgICAgICAgaWYoJ3MnID09ICoocGNFbmQgKyAxKSB8fCAnUycgPT0gKihwY0VuZCArIDEpKXsNCi0gICAgICAgICAgICAgIG5UaW1lRmFjdG9yID0gMTsNCisgICAgICAgICAgICBpZigncycgPT0gdG9sb3dlcigqKHBjRW5kICsgMSkpKSB7DQorICAgICAgICAgICAgICBuVGltZUZhY3RvciA9IGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kIC8gZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y01pbGxpc2Vjb25kc1BlclNlY29uZDsNCiAgICAgICAgICAgICAgICsrcGNFbmQ7DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIGVsc2V7DQotICAgICAgICAgICAgICBuVGltZUZhY3RvciA9IDYwMDAwOw0KKyAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICBuVGltZUZhY3RvciA9IDYwICogY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQ7DQogICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIGJyZWFrOw0KLQ0KKyAgICAgICAgICBjYXNlICduJzoNCisgICAgICAgICAgICBpZigncycgPT0gdG9sb3dlcigqKHBjRW5kICsgMSkpKSB7DQorICAgICAgICAgICAgICBuVGltZUZhY3RvciA9IGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kIC8gZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kOw0KKyAgICAgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgICAgICBiRW5kID0gdHJ1ZTsNCisgICAgICAgICAgICB9DQorICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgIGNhc2UgJ3MnOg0KLSAgICAgICAgICAgIG5UaW1lRmFjdG9yID0gMTAwMDsNCisgICAgICAgICAgICBuVGltZUZhY3RvciA9IGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kOw0KKyAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICBjYXNlICd1JzoNCisgICAgICAgICAgICBpZigncycgPT0gdG9sb3dlcigqKHBjRW5kICsgMSkpKSB7DQorICAgICAgICAgICAgICBuVGltZUZhY3RvciA9IGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kIC8gZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y01pY3Jvc2Vjb25kc1BlclNlY29uZDsNCisgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAgYkVuZCA9IHRydWU7DQorICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICBjYXNlICdfJzoNCiAgICAgICAgICAgICAvL2lnbm9yZSBsZWFkaW5nIHVuZGVyc2NvcmVzDQogICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgIGRlZmF1bHQ6DQotICAgICAgICAgICAgaWYocGFWYWx1ZSA9PSBwY0VuZCl7DQorICAgICAgICAgICAgaWYocGFWYWx1ZSA9PSBwY0VuZCkgew0KICAgICAgICAgICAgICAgLy93ZSBjb3VsZG4ndCBwYXJzZSBhbnl0aGluZw0KICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KICAgICAgICAgICAgIH0NCkBAIC04Myw1NyArMTA0LDU0IEBACiAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgIH0NCiAgICAgICAgIG5SZXRWYWwgKz0gc3RhdGljX2Nhc3Q8aW50PihwY0VuZCAtIHBhVmFsdWUpOw0KLSAgICAgICAgaWYoIWJFbmQpew0KKyAgICAgICAgaWYoIWJFbmQpIHsNCiAgICAgICAgICAgKytuUmV0VmFsOw0KICAgICAgICAgfQ0KICAgICAgICAgcGFWYWx1ZSA9IHBjRW5kICsgMTsNCi0gICAgICAgIG5JbnRWYWwgKz0gKG5CdWYgKiBuVGltZUZhY3Rvcik7DQorICAgICAgICBuSW50VmFsICs9IChuQnVmICogblRpbWVGYWN0b3IgKiBuVGltZVNpZ25GYWN0b3IpOw0KICAgICAgIH0gd2hpbGUoKCdcMCcgIT0gKnBhVmFsdWUpICYmICghYkVuZCkpOw0KLSAgICB9DQotICAgIGVsc2V7DQorICAgIH0gZWxzZSB7DQogICAgICAgcmV0dXJuIC0xOw0KICAgICB9DQotICB9DQotICBlbHNlew0KKyAgfSBlbHNlIHsNCiAgICAgbkludFZhbCA9IGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b2wocGFWYWx1ZSwgJnBjRW5kLCAxMCk7DQogICAgIG5SZXRWYWwgPSBzdGF0aWNfY2FzdDxpbnQ+KHBjRW5kIC0gcGFWYWx1ZSk7DQogICB9DQogDQotICAvL3RoZSBpbnR2YWwgaXMgcmVwcmVzZW50ZWQgaW4gbXMNCi0gIHNldEZyb21NaWxpU2Vjb25kcyhuSW50VmFsKTsNCisgICp0aGlzID0gbkludFZhbDsNCiAgIHJldHVybiBuUmV0VmFsOw0KIA0KIH0NCiANCi1pbnQgQ0lFQ19USU1FOjp0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCB1bnNpZ25lZCBpbnQgcGFCdWZmZXJTaXplKSBjb25zdHsNCitpbnQgQ0lFQ19USU1FOjp0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCBzaXplX3QgcGFCdWZmZXJTaXplKSBjb25zdCB7DQogICBpbnQgblJldFZhbCA9IC0xOw0KLSAgaWYocGFCdWZmZXJTaXplID4gNCl7DQorICBpZihwYUJ1ZmZlclNpemUgPiA0KSB7DQogI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCi0gICAgQ0lFQ19MSU5UIHRpbWVWYWwoZ2V0SW5NaWxpU2Vjb25kcygpKTsNCi0jZWxzZQ0KLSAgICBDSUVDX0RJTlQgdGltZVZhbChnZXRJbk1pbGlTZWNvbmRzKCkpOw0KLSNlbmRpZg0KKyAgICBDSUVDX0xJTlQgdGltZVZhbChnZXRJbk1pbGxpU2Vjb25kcygpKTsNCisjZWxzZSAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCisgICAgQ0lFQ19ESU5UIHRpbWVWYWwoZ2V0SW5NaWxsaVNlY29uZHMoKSk7DQorI2VuZGlmIC8vRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICBuUmV0VmFsID0gdGltZVZhbC50b1N0cmluZyhwYVZhbHVlICsgMiwgcGFCdWZmZXJTaXplIC0gNCk7DQotICAgIGlmKC0xICE9IG5SZXRWYWwpew0KKyAgICBpZigtMSAhPSBuUmV0VmFsKSB7DQogICAgICAgcGFWYWx1ZVswXSA9ICdUJzsNCiAgICAgICBwYVZhbHVlWzFdID0gJyMnOw0KICAgICAgIG5SZXRWYWwgKz0gMjsNCiAgICAgICB0aW1lVmFsID0gZ2V0SW5NaWNyb1NlY29uZHMoKTsNCiAgICAgICB0aW1lVmFsID0gdGltZVZhbCAlIDEwMDA7IC8vd2Ugb25seSB3YW50IHRoZSBtaWNyb3NlY29uZHMNCi0gICAgICBpZigwICE9IHRpbWVWYWwpew0KKyAgICAgIGlmKDAgIT0gdGltZVZhbCkgew0KICAgICAgICAgLy9JZiB3ZSBoYXZlIGEgbWljcm9zZWNvbmQgdmFsdWUgYWRkIGl0IHRvIHRoZSBsaXRlcmFsDQogICAgICAgICBwYVZhbHVlW25SZXRWYWxdID0gJy4nOw0KICAgICAgICAgKytuUmV0VmFsOw0KLSAgICAgICAgaWYodGltZVZhbCA8IDEwMCl7DQorICAgICAgICBpZih0aW1lVmFsIDwgMTAwKSB7DQogICAgICAgICAgIHBhVmFsdWVbblJldFZhbF0gPSAnMCc7DQogICAgICAgICAgICsrblJldFZhbDsNCi0gICAgICAgICAgaWYodGltZVZhbCA8IDEwKXsNCisgICAgICAgICAgaWYodGltZVZhbCA8IDEwKSB7DQogICAgICAgICAgICAgcGFWYWx1ZVtuUmV0VmFsXSA9ICcwJzsNCiAgICAgICAgICAgICArK25SZXRWYWw7DQogICAgICAgICAgIH0NCiAgICAgICAgIH0NCiAgICAgICAgIGludCBzaXplID0gdGltZVZhbC50b1N0cmluZyhwYVZhbHVlICsgblJldFZhbCwgcGFCdWZmZXJTaXplIC0gblJldFZhbCk7DQotICAgICAgICBpZigtMSA9PSBzaXplKXsNCisgICAgICAgIGlmKC0xID09IHNpemUpIHsNCiAgICAgICAgICAgcmV0dXJuIHNpemU7DQogICAgICAgICB9DQogICAgICAgICBuUmV0VmFsICs9IHNpemU7DQpAQCAtMTQ4LDQ2ICsxNjYsNTEgQEAKIH0NCiANCiBDSUVDX1RJTUU6OlRWYWx1ZVR5cGUgQ0lFQ19USU1FOjpnZXRJblNlY29uZHMoKSBjb25zdCB7DQotICByZXR1cm4gKFRWYWx1ZVR5cGUpICp0aGlzIC8gRk9SVEVfVElNRV9CQVNFX1VOSVRTX1BFUl9TRUNPTkQ7DQorICByZXR1cm4gc3RhdGljX2Nhc3Q8VFZhbHVlVHlwZT4oKnRoaXMpIC8gc3RhdGljX2Nhc3Q8VFZhbHVlVHlwZT4oY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQpOw0KIH0NCiANCi1DSUVDX1RJTUU6OlRWYWx1ZVR5cGUgQ0lFQ19USU1FOjpnZXRJbk1pbGlTZWNvbmRzKCkgY29uc3R7DQotICBUVmFsdWVUeXBlIG5SZXRWYWw7DQotICAjaWYgTUlMSVNFQ09ORFNfUEVSX1NFQ09ORCA8IEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EDQotICAgIG5SZXRWYWwgPSAoVFZhbHVlVHlwZSkgKnRoaXMgLyAoRk9SVEVfVElNRV9CQVNFX1VOSVRTX1BFUl9TRUNPTkQgLyBNSUxJU0VDT05EU19QRVJfU0VDT05EKTsNCi0gICNlbHNlDQotICAgIG5SZXRWYWwgPSAoVFZhbHVlVHlwZSkgKnRoaXMgKiAoTUlMSVNFQ09ORFNfUEVSX1NFQ09ORCAvIEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EKTsNCi0gICNlbmRpZg0KLSAgcmV0dXJuIG5SZXRWYWw7DQorQ0lFQ19USU1FOjpUVmFsdWVUeXBlIENJRUNfVElNRTo6Z2V0SW5NaWxsaVNlY29uZHMoKSBjb25zdCB7DQorICByZXR1cm4NCisgICAgICAoZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y01pbGxpc2Vjb25kc1BlclNlY29uZCA8IGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kKSA/DQorICAgICAgICBzdGF0aWNfY2FzdDxUVmFsdWVUeXBlPigqdGhpcykgLyAoc3RhdGljX2Nhc3Q8VFZhbHVlVHlwZT4oY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQpIC8gZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y01pbGxpc2Vjb25kc1BlclNlY29uZCkgOg0KKyAgICAgICAgc3RhdGljX2Nhc3Q8VFZhbHVlVHlwZT4oKnRoaXMpICogKGZvcnRlOjpjb3JlOjpjb25zdGFudHM6OmNNaWxsaXNlY29uZHNQZXJTZWNvbmQgLyBjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCk7DQogfQ0KIA0KLUNJRUNfVElNRTo6VFZhbHVlVHlwZSBDSUVDX1RJTUU6OmdldEluTWljcm9TZWNvbmRzKCkgY29uc3R7DQotICBUVmFsdWVUeXBlIG5SZXRWYWw7DQotICAjaWYgTUlDUk9TRUNPTkRTX1BFUl9TRUNPTkQgPCBGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORA0KLSAgICBuUmV0VmFsID0gKFRWYWx1ZVR5cGUpICp0aGlzIC8gKEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EIC8gMTAwMDAwMCk7DQotICAjZWxzZQ0KLSAgICBuUmV0VmFsID0gKFRWYWx1ZVR5cGUpICp0aGlzICogKE1JQ1JPU0VDT05EU19QRVJfU0VDT05EIC8gRk9SVEVfVElNRV9CQVNFX1VOSVRTX1BFUl9TRUNPTkQpOw0KLSAgI2VuZGlmDQotICAgIC8vZnByaW50ZihzdGRlcnIsInRpbWUgdXM6ICVsbGRcbiIsblJldFZhbCk7DQotICByZXR1cm4gblJldFZhbDsNCitDSUVDX1RJTUU6OlRWYWx1ZVR5cGUgQ0lFQ19USU1FOjpnZXRJbk1pY3JvU2Vjb25kcygpIGNvbnN0IHsNCisgIHJldHVybg0KKyAgICAgIChmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTWljcm9zZWNvbmRzUGVyU2Vjb25kIDwgY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQpID8NCisgICAgICAgIHN0YXRpY19jYXN0PFRWYWx1ZVR5cGU+KCp0aGlzKSAvIChzdGF0aWNfY2FzdDxUVmFsdWVUeXBlPihjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCkgLyBmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTWljcm9zZWNvbmRzUGVyU2Vjb25kKSA6DQorICAgICAgICBzdGF0aWNfY2FzdDxUVmFsdWVUeXBlPigqdGhpcykgKiAoZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y01pY3Jvc2Vjb25kc1BlclNlY29uZCAvIGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kKTsNCiB9DQogDQotdm9pZCBDSUVDX1RJTUU6OnNldEZyb21TZWNvbmRzKFRWYWx1ZVR5cGUgcGFWYWx1ZSl7DQotICAqdGhpcyA9IHBhVmFsdWUgKiBGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORDsNCitDSUVDX1RJTUU6OlRWYWx1ZVR5cGUgQ0lFQ19USU1FOjpnZXRJbk5hbm9TZWNvbmRzKCkgY29uc3Qgew0KKyAgcmV0dXJuDQorICAgICAgKGZvcnRlOjpjb3JlOjpjb25zdGFudHM6OmNOYW5vc2Vjb25kc1BlclNlY29uZCA8IGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kKSA/DQorICAgICAgICBzdGF0aWNfY2FzdDxUVmFsdWVUeXBlPigqdGhpcykgLyAoc3RhdGljX2Nhc3Q8VFZhbHVlVHlwZT4oY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQpIC8gZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kKSA6DQorICAgICAgICBzdGF0aWNfY2FzdDxUVmFsdWVUeXBlPigqdGhpcykgKiAoZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kIC8gY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQpOw0KIH0NCiANCi12b2lkIENJRUNfVElNRTo6c2V0RnJvbU1pbGlTZWNvbmRzKFRWYWx1ZVR5cGUgcGFWYWx1ZSl7DQotICAjaWYgTUlMSVNFQ09ORFNfUEVSX1NFQ09ORCA8IEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EDQotICAgICp0aGlzID0gcGFWYWx1ZSAqIChGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCAvIE1JTElTRUNPTkRTX1BFUl9TRUNPTkQpOw0KLSAgI2Vsc2UNCi0gICAgKnRoaXMgPSBwYVZhbHVlIC8gKE1JTElTRUNPTkRTX1BFUl9TRUNPTkQgLyBGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCk7DQotICAjZW5kaWYNCit2b2lkIENJRUNfVElNRTo6c2V0RnJvbVNlY29uZHMoVFZhbHVlVHlwZSBwYVZhbHVlKSB7DQorICAqdGhpcyA9IHBhVmFsdWUgKiBjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZDsNCiB9DQogDQotdm9pZCBDSUVDX1RJTUU6OnNldEZyb21NaWNyb1NlY29uZHMoVFZhbHVlVHlwZSBwYVZhbHVlKXsNCi0gICNpZiBNSUNST1NFQ09ORFNfUEVSX1NFQ09ORCA8IEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EDQotICAgICp0aGlzID0gcGFWYWx1ZSAqIChGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCAvIE1JQ1JPU0VDT05EU19QRVJfU0VDT05EKTsNCi0gICNlbHNlDQotICAgICp0aGlzID0gcGFWYWx1ZSAvIChNSUNST1NFQ09ORFNfUEVSX1NFQ09ORCAvIEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EKTsNCi0gICNlbmRpZg0KK3ZvaWQgQ0lFQ19USU1FOjpzZXRGcm9tTWlsbGlTZWNvbmRzKFRWYWx1ZVR5cGUgcGFWYWx1ZSkgew0KKyAgKnRoaXMgPQ0KKyAgICAgIChmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTWlsbGlzZWNvbmRzUGVyU2Vjb25kIDwgY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQpID8NCisgICAgICAgIHBhVmFsdWUgKiAoY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQgLyBmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTWlsbGlzZWNvbmRzUGVyU2Vjb25kKSA6DQorICAgICAgICBwYVZhbHVlIC8gKGZvcnRlOjpjb3JlOjpjb25zdGFudHM6OmNNaWxsaXNlY29uZHNQZXJTZWNvbmQgLyBjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCk7DQorfQ0KKw0KK3ZvaWQgQ0lFQ19USU1FOjpzZXRGcm9tTWljcm9TZWNvbmRzKFRWYWx1ZVR5cGUgcGFWYWx1ZSkgew0KKyAgKnRoaXMgPQ0KKyAgICAgIChmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTWljcm9zZWNvbmRzUGVyU2Vjb25kIDwgY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQpID8NCisgICAgICAgIHBhVmFsdWUgKiAoY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQgLyBmb3J0ZTo6Y29yZTo6Y29uc3RhbnRzOjpjTWljcm9zZWNvbmRzUGVyU2Vjb25kKSA6DQorICAgICAgICBwYVZhbHVlIC8gKGZvcnRlOjpjb3JlOjpjb25zdGFudHM6OmNNaWNyb3NlY29uZHNQZXJTZWNvbmQgLyBjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCk7DQorfQ0KKw0KK3ZvaWQgQ0lFQ19USU1FOjpzZXRGcm9tTmFub1NlY29uZHMoVFZhbHVlVHlwZSBwYVZhbHVlKSB7DQorICAqdGhpcyA9DQorICAgICAgKGZvcnRlOjpjb3JlOjpjb25zdGFudHM6OmNOYW5vc2Vjb25kc1BlclNlY29uZCA8IGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kKSA/DQorICAgICAgICBwYVZhbHVlICogKGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kIC8gZm9ydGU6OmNvcmU6OmNvbnN0YW50czo6Y05hbm9zZWNvbmRzUGVyU2Vjb25kKSA6DQorICAgICAgICBwYVZhbHVlIC8gKGZvcnRlOjpjb3JlOjpjb25zdGFudHM6OmNOYW5vc2Vjb25kc1BlclNlY29uZCAvIGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kKTsNCiB9DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3RpbWUuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV90aW1lLmgKaW5kZXggMmY4ZjY4ZC4uZDFhNWY3OCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3RpbWUuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZS5oCkBAIC0xLDE0ICsxLDE4IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU47IDIwMTkgVFUgV2llbi9BQ0lODQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLA0KICAqICAgIE1vbmlrYSBXZW5nZXIsIEluZ28gSGVnbnksIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLA0KICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gYWRkZWQgZ2V0SW5OYW5vU2Vjb25kcywgc2V0RnJvbU5hbm9TZWNvbmRzLA0KKyAqICAgICAgY2hhbmdlZCBkZWZpbmVzIHRvIGNvbnN0YW50cywgYWRkZWQgbGl0ZXJhbCBwYXJzaW5nIGZvciBtaWNybyBhbmQNCisgKiAgICAgIG5hbm9zZWNvbmRzDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfRk9SVEVfVElNRV9IXw0KICNkZWZpbmUgX0ZPUlRFX1RJTUVfSF8NCkBAIC05NSwxNSArOTksMTcgQEAKICAgICAgKiAgIFxyZXR1cm4gbnVtYmVyIG9mIGJ5dGVzIHVzZWQgaW4gdGhlIGJ1ZmZlciB3aXRob3V0IHRyYWlsaW5nIDB4MDANCiAgICAgICogICAgICAgICAgIC0xIG9uIGVycm9yDQogICAgICAqLw0KLSAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCB1bnNpZ25lZCBpbnQgcGFCdWZmZXJTaXplKSBjb25zdDsNCisgICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgc2l6ZV90IHBhQnVmZmVyU2l6ZSkgY29uc3Q7DQogDQogICAgIFRWYWx1ZVR5cGUgZ2V0SW5TZWNvbmRzKCkgY29uc3Q7DQotICAgIFRWYWx1ZVR5cGUgZ2V0SW5NaWxpU2Vjb25kcygpIGNvbnN0Ow0KKyAgICBUVmFsdWVUeXBlIGdldEluTWlsbGlTZWNvbmRzKCkgY29uc3Q7DQogICAgIFRWYWx1ZVR5cGUgZ2V0SW5NaWNyb1NlY29uZHMoKSBjb25zdDsNCisgICAgVFZhbHVlVHlwZSBnZXRJbk5hbm9TZWNvbmRzKCkgY29uc3Q7DQogDQogICAgIHZvaWQgc2V0RnJvbVNlY29uZHMoVFZhbHVlVHlwZSBwYVZhbHVlKTsNCi0gICAgdm9pZCBzZXRGcm9tTWlsaVNlY29uZHMoVFZhbHVlVHlwZSBwYVZhbHVlKTsNCisgICAgdm9pZCBzZXRGcm9tTWlsbGlTZWNvbmRzKFRWYWx1ZVR5cGUgcGFWYWx1ZSk7DQogICAgIHZvaWQgc2V0RnJvbU1pY3JvU2Vjb25kcyhUVmFsdWVUeXBlIHBhVmFsdWUpOw0KKyAgICB2b2lkIHNldEZyb21OYW5vU2Vjb25kcyhUVmFsdWVUeXBlIHBhVmFsdWUpOw0KIH07DQogDQogI2VuZGlmIC8qX01USU1FX0hfKi8NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZV9vZl9kYXkuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3RpbWVfb2ZfZGF5LmNwcAppbmRleCBiOTlkZDU2Li4xZTA5NTc3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZV9vZl9kYXkuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV90aW1lX29mX2RheS5jcHAKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxNSBueHRDb250cm9sIEdtYkgsIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFN0YW5pc2xhdiBNZWR1bmEsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTUgbnh0Q29udHJvbCBHbWJILCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBTdGFuaXNsYXYgTWVkdW5hLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8bWF0aC5oPgpAQCAtNjMsMTMgKzY1LDE0IEBACiAgICAgICAgICAgICArK25OdW1zOwogICAgICAgICAgIH0KIAotICAgICAgICAgIGlmKG5OdW1zIDwgMyl7Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGludCBpPW5OdW1zOyBpIDwgMzsgKytpKQorICAgICAgICAgIGlmKG5OdW1zIDwgMykgeworICAgICAgICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gbk51bXM7IGkgPCAzOyArK2kpIHsKICAgICAgICAgICAgICAgbXNlYyAqPSAxMDsKLSAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZXsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgKG5OdW1zIC0gMyk7ICsraSkKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IChuTnVtcyAtIDMpOyArK2kpIHsKICAgICAgICAgICAgICAgbXNlYyAvPSAxMDsKKyAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgIH0KQEAgLTg5LDcgKzkyLDcgQEAKICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4oYWNCdWZmZXIgLSBwYVZhbHVlKTsKIH0KIAotaW50IENJRUNfVElNRV9PRl9EQVk6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHVuc2lnbmVkIGludCBwYUJ1ZmZlclNpemUpIGNvbnN0eworaW50IENJRUNfVElNRV9PRl9EQVk6OnRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHNpemVfdCBwYUJ1ZmZlclNpemUpIGNvbnN0IHsKICAgVEZvcnRlVUludDY0IG50b1N0aW5nQnVmZmVyID0gZ2V0VFVJTlQ2NCgpOwogICB0aW1lX3QgdCA9IHN0YXRpY19jYXN0PHRpbWVfdD4obnRvU3RpbmdCdWZmZXIgLyAxMDAwKTsKIApAQCAtOTgsNyArMTAxLDcgQEAKICAgICAgIChpbnQpICgodCAlIDM2MDApIC8gNjApLAogICAgICAgKGludCkgKHQgJSA2MCksCiAgICAgICAoaW50KSAobnRvU3RpbmdCdWZmZXIgJSAxMDAwKSk7Ci0gIGlmKChuUmV0VmFsIDwgLTEpIHx8IChuUmV0VmFsID49IChpbnQpIHBhQnVmZmVyU2l6ZSkpeworICBpZigoblJldFZhbCA8IC0xKSB8fCAoblJldFZhbCA+PSBzdGF0aWNfY2FzdDxpbnQ+KHBhQnVmZmVyU2l6ZSkpKSB7CiAgICAgblJldFZhbCA9IC0xOwogICB9CiAgIHJldHVybiBuUmV0VmFsOwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3RpbWVfb2ZfZGF5LmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZV9vZl9kYXkuaAppbmRleCAyMDUxMTQ3Li41NGY1ZmUxIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZV9vZl9kYXkuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdGltZV9vZl9kYXkuaApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxMyBueHRDb250cm9sIEdtYkgsIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBTdGFuaXNsYXYgTWVkdW5hLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLA0KLSAgKiAgICBNb25pa2EgV2VuZ2VyDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggLSAyMDEzIG54dENvbnRyb2wgR21iSCwgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgU3RhbmlzbGF2IE1lZHVuYSwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywNCisgKiAgICBNb25pa2EgV2VuZ2VyDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfRk9SVEVfVE9EX0hfDQogI2RlZmluZSBfRk9SVEVfVE9EX0hfDQogDQpAQCAtMTA4LDE0ICsxMTAsNyBAQAogICAgICAqICAgXHJldHVybiBudW1iZXIgb2YgYnl0ZXMgdXNlZCBpbiB0aGUgYnVmZmVyIHdpdGhvdXQgdHJhaWxpbmcgMHgwMA0KICAgICAgKiAgICAgICAgICAgLTEgb24gZXJyb3INCiAgICAgICovDQotICAgIHZpcnR1YWwgaW50IHRvU3RyaW5nKGNoYXIqIHBhVmFsdWUsIHVuc2lnbmVkIGludCBwYUJ1ZmZlclNpemUpIGNvbnN0Ow0KLQ0KLSAgICAvKiEgXGJyaWVmIFNldCB0aGUgdmFyaWFibGUgdG8gY3VycmVudCB0aW1lDQotICAgICAqLw0KLSAgICB2b2lkIHNldEN1cnJlbnRUaW1lKCl7DQotICAgICAgc2V0VFVJTlQ2NChmb3J0ZV90aW1lKDApICogMTAwMFVMTCk7DQotICAgIH0NCi0gICAgOw0KKyAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCBzaXplX3QgcGFCdWZmZXJTaXplKSBjb25zdDsNCiB9Ow0KIA0KICNlbmRpZiAvKiAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91ZGludC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdWRpbnQuY3BwCmluZGV4IDRmNjBjZTkuLmEwYTcyOWQgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91ZGludC5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VkaW50LmNwcApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljLCBJbmdvIEhlZ255LAotICAqICAgIE1vbmlrYSBXZW5nZXIKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMsIEluZ28gSGVnbnksCisgKiAgICBNb25pa2EgV2VuZ2VyCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgImZvcnRlX3VkaW50LmgiCiAKIERFRklORV9GSVJNV0FSRV9EQVRBVFlQRShVRElOVCwgZ19uU3RyaW5nSWRVRElOVCkKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91ZGludC5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VkaW50LmgKaW5kZXggOTE5ZDlhNS4uZTg3NTc1ZSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VkaW50LmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VkaW50LmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdWludC5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdWludC5jcHAKaW5kZXggOTc0YWUzNC4uMmE4MWJlYSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VpbnQuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91aW50LmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgImZvcnRlX3VpbnQuaCIKIAogREVGSU5FX0ZJUk1XQVJFX0RBVEFUWVBFKFVJTlQsIGdfblN0cmluZ0lkVUlOVCkKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91aW50LmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdWludC5oCmluZGV4IGFlOTUwODguLmFlMTk4MjMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91aW50LmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VpbnQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VsaW50LmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91bGludC5jcHAKaW5kZXggM2VjMjg2Ny4uMTNiMWZlOSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VsaW50LmNwcAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdWxpbnQuY3BwCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTgorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiZm9ydGVfdWxpbnQuaCIKIAogI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91bGludC5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VsaW50LmgKaW5kZXggYzM2Y2ExYy4uYmZmNDI3NyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VsaW50LmgKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VsaW50LmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9GT1JURV9VTElOVF9IXwogI2RlZmluZSBfRk9SVEVfVUxJTlRfSF8KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VzaW50LmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV91c2ludC5jcHAKaW5kZXggZTk2YjUyMS4uMDgyNGQ0MCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VzaW50LmNwcAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdXNpbnQuY3BwCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgIE1vbmlrYSBXZW5nZXIKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgIE1vbmlrYSBXZW5nZXIKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiZm9ydGVfdXNpbnQuaCIKIAogREVGSU5FX0ZJUk1XQVJFX0RBVEFUWVBFKFVTSU5ULCBnX25TdHJpbmdJZFVTSU5UKQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3VzaW50LmggYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdXNpbnQuaAppbmRleCA4NjExNjA2Li4zZDI5YzM4IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdXNpbnQuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfdXNpbnQuaApAQCAtMSwxNSArMSwxNyBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsCi0gICogICAgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgVGhvbWFzIFN0cmFzc2VyLCBJbmdvbWFyIE3DvGxsZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwKKyAqICAgIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfRk9SVEVfVVNJTlRfSF8KICNkZWZpbmUgX0ZPUlRFX1VTSU5UX0hfCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV93b3JkLmNwcCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV93b3JkLmNwcAppbmRleCBlNDhhNWUxLi42NDhhZWIwIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfd29yZC5jcHAKKysrIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3dvcmQuY3BwCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaW5jbHVkZSAiZm9ydGVfd29yZC5oIgogCiBERUZJTkVfRklSTVdBUkVfREFUQVRZUEUoV09SRCwgZ19uU3RyaW5nSWRXT1JEKQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3dvcmQuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV93b3JkLmgKaW5kZXggMmMwMDg1OC4uYjIzOTlhYiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3dvcmQuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfd29yZC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEluZ29tYXIgTcO8bGxlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3dzdHJpbmcuY3BwIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3dzdHJpbmcuY3BwCmluZGV4IDM5NDM2MDkuLjIzNjM1M2EgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV93c3RyaW5nLmNwcAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfd3N0cmluZy5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgNCiAgKiAgIDIwMTggVFUgV2llbi9BQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgU3RhbmlzbGF2IE1lZHVuYQ0KQEAgLTM2LDggKzM3LDkgQEAKIA0KICAgLy8gQ2hlY2sgdGhlIEJPTSwgZGVmYXVsdCB0byBiaWcgZW5kaWFuDQogICBuUmVzID0gQ1VuaWNvZGVVdGlsaXRpZXM6OnBhcnNlVVRGMTZDb2RlcG9pbnQocGFfcGFjQnVmZmVyLCBuQ29kZXBvaW50LCBmYWxzZSk7DQotICBpZihuUmVzIDwgMCkNCisgIGlmKG5SZXMgPCAwKSB7DQogICAgIHJldHVybiBmYWxzZTsNCisgIH0NCiAgIGlmKG5SZXMgPT0gMil7DQogICAgIGlmKG5Db2RlcG9pbnQgPT0gQ1VuaWNvZGVVdGlsaXRpZXM6OnNjbV91bkJPTU1hcmtlclN3YXBwZWQpew0KICAgICAgIGJMaXR0bGVFbmRpYW4gPSB0cnVlOw0KQEAgLTU2LDIzICs1OCwyNyBAQAogICB1bnNpZ25lZCBpbnQgbk5lZWRlZExlbmd0aCA9IDA7DQogICB3aGlsZShpIDwgblJlbUxlbil7DQogICAgIG5SZXMgPSBDVW5pY29kZVV0aWxpdGllczo6cGFyc2VVVEYxNkNvZGVwb2ludChwUnVubmVyLCBuQ29kZXBvaW50LCBiTGl0dGxlRW5kaWFuKTsNCi0gICAgaWYoblJlcyA8IDAgfHwgblJlcyArIGkgPiBuUmVtTGVuKQ0KKyAgICBpZihuUmVzIDwgMCB8fCBuUmVzICsgaSA+IG5SZW1MZW4pIHsNCiAgICAgICByZXR1cm4gZmFsc2U7DQorICAgIH0NCiAgICAgaSArPSBuUmVzOw0KICAgICBwUnVubmVyICs9IG5SZXM7DQogICAgIG5SZXMgPSBDVW5pY29kZVV0aWxpdGllczo6ZW5jb2RlVVRGOENvZGVwb2ludCgwLCAwLCBuQ29kZXBvaW50KTsNCi0gICAgaWYoblJlcyA8IDApDQorICAgIGlmKG5SZXMgPCAwKSB7DQogICAgICAgcmV0dXJuIGZhbHNlOw0KKyAgICB9DQogICAgIG5OZWVkZWRMZW5ndGggKz0gblJlczsNCiAgIH0NCiANCi0gIGlmKG5OZWVkZWRMZW5ndGggPiBzY21fdW5NYXhTdHJpbmdMZW4pDQorICBpZihuTmVlZGVkTGVuZ3RoID4gc2NtX3VuTWF4U3RyaW5nTGVuKSB7DQogICAgIHJldHVybiBmYWxzZTsNCisgIH0NCiANCiAgIC8vIFJlc2VydmUgYW5kIGVuY29kZQ0KICAgcmVzZXJ2ZShzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KG5OZWVkZWRMZW5ndGgpKTsNCi0gIGlmKGdldEdlbkRhdGEoKSA9PSAwKQ0KKyAgaWYoZ2V0R2VuRGF0YSgpID09IDApIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KKyAgfQ0KIA0KICAgVEZvcnRlQnl0ZSAqcEVuY1J1bm5lciA9IChURm9ydGVCeXRlICopIGdldFZhbHVlKCk7DQogICBURm9ydGVCeXRlICpwRGF0YUVuZCA9IHBFbmNSdW5uZXIgKyBuTmVlZGVkTGVuZ3RoOw0KQEAgLTEwMiwyNCArMTA4LDI4IEBACiANCiAgIHdoaWxlKGkgPCBuUmVtTGVuKXsNCiAgICAgblJlcyA9IENVbmljb2RlVXRpbGl0aWVzOjpwYXJzZVVURjhDb2RlcG9pbnQocFJ1bm5lciwgbkNvZGVwb2ludCk7DQotICAgIGlmKG5SZXMgPCAwIHx8IG5SZXMgKyBpID4gblJlbUxlbikNCisgICAgaWYoblJlcyA8IDAgfHwgblJlcyArIGkgPiBuUmVtTGVuKSB7DQogICAgICAgcmV0dXJuIC0xOw0KKyAgICB9DQogICAgIGkgKz0gblJlczsNCiAgICAgcFJ1bm5lciArPSBuUmVzOw0KICAgICAvLyBTa2lwIHRoZSBCT00gaWYgcHJlc2VudA0KICAgICBpZihuQ29kZXBvaW50ICE9IENVbmljb2RlVXRpbGl0aWVzOjpzY21fdW5CT01NYXJrZXIpew0KICAgICAgIG5SZXMgPSBDVW5pY29kZVV0aWxpdGllczo6ZW5jb2RlVVRGMTZDb2RlcG9pbnQoMCwgMCwgbkNvZGVwb2ludCwgZmFsc2UpOw0KLSAgICAgIGlmKG5SZXMgPCAwKQ0KKyAgICAgIGlmKG5SZXMgPCAwKSB7DQogICAgICAgICByZXR1cm4gLTE7DQorICAgICAgfQ0KICAgICAgIG5OZWVkZWRMZW5ndGggKz0gblJlczsNCiAgICAgfQ0KICAgfQ0KIA0KLSAgaWYocGFfcGFjQnVmZmVyID09IDApDQorICBpZihwYV9wYWNCdWZmZXIgPT0gMCkgew0KICAgICByZXR1cm4gbk5lZWRlZExlbmd0aDsNCisgIH0NCiANCi0gIGlmKG5OZWVkZWRMZW5ndGggPiBwYV9uQnVmZmVyU2l6ZSkNCisgIGlmKG5OZWVkZWRMZW5ndGggPiBwYV9uQnVmZmVyU2l6ZSkgew0KICAgICByZXR1cm4gLTE7DQorICB9DQogDQogICBURm9ydGVCeXRlICpwRW5jUnVubmVyID0gcGFfcGFjQnVmZmVyOw0KICAgVEZvcnRlQnl0ZSAqcERhdGFFbmQgPSBwYV9wYWNCdWZmZXIgKyBuTmVlZGVkTGVuZ3RoOw0KQEAgLTEyOSwxNCArMTM5LDE2IEBACiAgIGkgPSAwOw0KICAgd2hpbGUoaSA8IG5SZW1MZW4pew0KICAgICBuUmVzID0gQ1VuaWNvZGVVdGlsaXRpZXM6OnBhcnNlVVRGOENvZGVwb2ludChwUnVubmVyLCBuQ29kZXBvaW50KTsNCi0gICAgaWYoblJlcyA8IDAgfHwgblJlcyArIGkgPiBuUmVtTGVuKQ0KKyAgICBpZihuUmVzIDwgMCB8fCBuUmVzICsgaSA+IG5SZW1MZW4pIHsNCiAgICAgICByZXR1cm4gLTE7DQorICAgIH0NCiAgICAgaSArPSBuUmVzOw0KICAgICBwUnVubmVyICs9IG5SZXM7DQogICAgIGlmKG5Db2RlcG9pbnQgIT0gQ1VuaWNvZGVVdGlsaXRpZXM6OnNjbV91bkJPTU1hcmtlcil7DQogICAgICAgblJlcyA9IENVbmljb2RlVXRpbGl0aWVzOjplbmNvZGVVVEYxNkNvZGVwb2ludChwRW5jUnVubmVyLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHBEYXRhRW5kIC0gcEVuY1J1bm5lciksIG5Db2RlcG9pbnQsIGZhbHNlKTsNCi0gICAgICBpZihuUmVzIDwgMCkNCisgICAgICBpZihuUmVzIDwgMCkgew0KICAgICAgICAgcmV0dXJuIC0xOw0KKyAgICAgIH0NCiAgICAgICBwRW5jUnVubmVyICs9IG5SZXM7DQogICAgIH0NCiAgIH0NCkBAIC0xNTYsOCArMTY4LDggQEAKICAgcmV0dXJuICgtMSA9PSBuVVRGOFJlc3VsdCkgPyAtMSA6IChuUmV0VmFsICsgblVURjhSZXN1bHQpOw0KIH0NCiANCi1pbnQgQ0lFQ19XU1RSSU5HOjp0b1N0cmluZyhjaGFyKiBwYV9hY1ZhbHVlLCB1bnNpZ25lZCBpbnQgcGFfbkJ1ZmZlclNpemUpIGNvbnN0ew0KLSAgcmV0dXJuIHRvVVRGOChwYV9hY1ZhbHVlLCBwYV9uQnVmZmVyU2l6ZSwgdHJ1ZSk7DQoraW50IENJRUNfV1NUUklORzo6dG9TdHJpbmcoY2hhciogcGFWYWx1ZSwgc2l6ZV90IHBhQnVmZmVyU2l6ZSkgY29uc3Qgew0KKyAgcmV0dXJuIHRvVVRGOChwYVZhbHVlLCBwYUJ1ZmZlclNpemUsIHRydWUpOw0KIH0NCiANCiBpbnQgQ0lFQ19XU1RSSU5HOjpmcm9tVVRGOChjb25zdCBjaGFyICpwYV9wYWNWYWx1ZSwgaW50IHBhX25MZW4sIGJvb2wgcGFfYlVuZXNjYXBlKXsNCkBAIC0yMTIsMTMgKzIyNCwxNiBAQAogICAgICAgICBpbnQgblJlczsNCiAgICAgICAgIG5SZXMgPSBDVW5pY29kZVV0aWxpdGllczo6cGFyc2VVVEY4Q29kZXBvaW50KHBSdW5uZXIsIG5Db2RlcG9pbnQpOw0KICAgICAgICAgcFJ1bm5lciArPSBuUmVzOw0KLSAgICAgICAgaWYobkNvZGVwb2ludCA9PSBDVW5pY29kZVV0aWxpdGllczo6c2NtX3VuQk9NTWFya2VyKQ0KKyAgICAgICAgaWYobkNvZGVwb2ludCA9PSBDVW5pY29kZVV0aWxpdGllczo6c2NtX3VuQk9NTWFya2VyKSB7DQogICAgICAgICAgIGNvbnRpbnVlOw0KLSAgICAgICAgaWYobkNvZGVwb2ludCA+PSAweDEwMDAwKQ0KKyAgICAgICAgfQ0KKyAgICAgICAgaWYobkNvZGVwb2ludCA+PSAweDEwMDAwKSB7DQogICAgICAgICAgIG5Db2RlcG9pbnQgPSAnPyc7DQorICAgICAgICB9DQogICAgICAgICBuUmVzID0gQ1VuaWNvZGVVdGlsaXRpZXM6OmVuY29kZVVURjhDb2RlcG9pbnQocEVuY1J1bm5lciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihuU3JjQ2FwcGVkTGVuZ3RoIC0gKHBFbmNSdW5uZXIgLSBwRW5jQnVmZmVyKSksIG5Db2RlcG9pbnQpOw0KLSAgICAgICAgaWYoblJlcyA8IDEpDQorICAgICAgICBpZihuUmVzIDwgMSkgew0KICAgICAgICAgICBicmVhazsNCisgICAgICAgIH0NCiAgICAgICAgIHBFbmNSdW5uZXIgKz0gblJlczsNCiAgICAgICB9DQogDQpAQCAtMjM2LDE4ICsyNTEsMTkgQEAKICAgcmV0dXJuIG5TcmNMZW47DQogfQ0KIA0KLWludCBDSUVDX1dTVFJJTkc6OnRvVVRGOChjaGFyKiBwYV9wYWNCdWZmZXIsIHVuc2lnbmVkIGludCBwYV9uQnVmZmVyU2l6ZSwgYm9vbCBwYV9iRXNjYXBlKSBjb25zdHsNCi0gIGlmKChURm9ydGVVSW50MzIpIGxlbmd0aCgpICsgKHBhX2JFc2NhcGUgPyAyIDogMCkgKyAxID4gcGFfbkJ1ZmZlclNpemUpDQoraW50IENJRUNfV1NUUklORzo6dG9VVEY4KGNoYXIqIHBhQnVmZmVyLCBzaXplX3QgcGFCdWZmZXJTaXplLCBib29sIHBhRXNjYXBlKSBjb25zdCB7DQorICBpZigoVEZvcnRlVUludDMyKSBsZW5ndGgoKSArIChwYUVzY2FwZSA/IDIgOiAwKSArIDEgPiBwYUJ1ZmZlclNpemUpIHsNCiAgICAgcmV0dXJuIC0xOw0KKyAgfQ0KIA0KLSAgaWYoIXBhX2JFc2NhcGUpew0KLSAgICBtZW1jcHkocGFfcGFjQnVmZmVyLCBnZXRWYWx1ZSgpLCBsZW5ndGgoKSArIDEpOw0KKyAgaWYoIXBhRXNjYXBlKXsNCisgICAgbWVtY3B5KHBhQnVmZmVyLCBnZXRWYWx1ZSgpLCBsZW5ndGgoKSArIDEpOw0KICAgICByZXR1cm4gbGVuZ3RoKCk7DQogICB9DQogDQogICBjb25zdCBjaGFyICpwUnVubmVyOw0KLSAgY2hhciAqcEVuY1J1bm5lciA9IHBhX3BhY0J1ZmZlcjsNCi0gIGNoYXIgKnBEYXRhRW5kID0gcGFfcGFjQnVmZmVyICsgcGFfbkJ1ZmZlclNpemU7DQorICBjaGFyICpwRW5jUnVubmVyID0gcGFCdWZmZXI7DQorICBjaGFyICpwRGF0YUVuZCA9IHBhQnVmZmVyICsgcGFCdWZmZXJTaXplOw0KIA0KICAgKnBFbmNSdW5uZXIrKyA9ICdcIic7DQogDQpAQCAtMjU1LDI1ICsyNzEsMjcgQEAKICAgd2hpbGUoKnBSdW5uZXIpew0KICAgICBpbnQgblJlcyA9IGRvbGxhckVzY2FwZUNoYXIocEVuY1J1bm5lciwgKnBSdW5uZXIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4ocERhdGFFbmQgLSBwRW5jUnVubmVyKSk7DQogDQotICAgIGlmKG5SZXMgPCAwKQ0KKyAgICBpZihuUmVzIDwgMCkgew0KICAgICAgIHJldHVybiAtMTsNCisgICAgfQ0KIA0KICAgICBwRW5jUnVubmVyICs9IG5SZXM7DQogICAgICsrcFJ1bm5lcjsNCiAgIH0NCiANCi0gIGlmKHBEYXRhRW5kIC0gcEVuY1J1bm5lciA8IDIpDQorICBpZihwRGF0YUVuZCAtIHBFbmNSdW5uZXIgPCAyKSB7DQogICAgIHJldHVybiAtMTsNCisgIH0NCiANCiAgICpwRW5jUnVubmVyKysgPSAnXCInOw0KICAgKnBFbmNSdW5uZXIgPSAnXDAnOw0KIA0KLSAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4ocEVuY1J1bm5lciAtIHBhX3BhY0J1ZmZlcik7DQorICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihwRW5jUnVubmVyIC0gcGFCdWZmZXIpOw0KIH0NCiANCi11bnNpZ25lZCBpbnQgQ0lFQ19XU1RSSU5HOjpnZXRUb1N0cmluZ0J1ZmZlclNpemUoKSBjb25zdHsNCitzaXplX3QgQ0lFQ19XU1RSSU5HOjpnZXRUb1N0cmluZ0J1ZmZlclNpemUoKSBjb25zdCB7DQogICBjb25zdCBjaGFyICogY29uc3Qgc3RyaW5nVmFsdWUgPSBnZXRWYWx1ZSgpOw0KLSAgdW5zaWduZWQgaW50IG5lZWRlZEJ1ZmZlclNpemUgPSAwOw0KKyAgc2l6ZV90IG5lZWRlZEJ1ZmZlclNpemUgPSAwOw0KICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IGxlbmd0aCgpOyArK2kpew0KICAgICBpZihpc3ByaW50KHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN0cmluZ1ZhbHVlW2ldKSkgJiYgJyQnICE9IHN0cmluZ1ZhbHVlW2ldICYmICdcIicgIT0gc3RyaW5nVmFsdWVbaV0pew0KICAgICAgICsrbmVlZGVkQnVmZmVyU2l6ZTsNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfd3N0cmluZy5oIGIvc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3dzdHJpbmcuaAppbmRleCA0ZjIzZDI3Li4zNDIyOWZiIDEwMDY0NAotLS0gYS9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfd3N0cmluZy5oCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy9mb3J0ZV93c3RyaW5nLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOLCBueHRDb250cm9sIEdtYkgKICAqICAgMjAxOCBUVSBXaWVuL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIFRob21hcyBTdHJhc3NlciwgSW5nb21hciBNw7xsbGVyLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgU3RhbmlzbGF2IE1lZHVuYQpAQCAtNzEsNyArNzIsNyBAQAogICAgICAqICAgXHJldHVybiBudW1iZXIgb2YgYnl0ZXMgdXNlZCBpbiB0aGUgYnVmZmVyCiAgICAgICogICAgICAgICAgIC0xIG9uIGVycm9yCiAgICAgICovCi0gICAgdmlydHVhbCBpbnQgdG9VVEY4KGNoYXIqIHBhX3BhY0J1ZmZlciwgdW5zaWduZWQgaW50IHBhX25CdWZmZXJTaXplLCBib29sIHBhX2JFc2NhcGUpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHRvVVRGOChjaGFyKiBwYUJ1ZmZlciwgc2l6ZV90IHBhQnVmZmVyU2l6ZSwgYm9vbCBwYUVzY2FwZSkgY29uc3Q7CiAKICAgICAvKiEgXGJyaWVmIENvbnZlcnRzIGEgVVRGLTE2IGVuY29kZWQgc3RyaW5nIHRvIGEgV1NUUklORyAoVVRGLTggaW50ZXJuYWxseSkKICAgICAgKgpAQCAtMTMxLDcgKzEzMiw3IEBACiAgICAgICogICBccmV0dXJuIG51bWJlciBvZiBieXRlcyB1c2VkIGluIHRoZSBidWZmZXIgd2l0aG91dCB0cmFpbGluZyAweDAwCiAgICAgICogICAgICAgICAgIC0xIG9uIGVycm9yCiAgICAgICovCi0gICAgdmlydHVhbCBpbnQgdG9TdHJpbmcoY2hhciogcGFfYWNWYWx1ZSwgdW5zaWduZWQgaW50IHBhX25CdWZmZXJTaXplKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCB0b1N0cmluZyhjaGFyKiBwYVZhbHVlLCBzaXplX3QgcGFCdWZmZXJTaXplKSBjb25zdDsKIAogICAgIC8qISBcYnJpZWYgUmV0dXJucyB0aGUgYW1vdW50IG9mIGJ5dGVzIG5lZWRlZCB0byBjcmVhdGUgdGhlIElFQyA2MTEzMSBsaXRlcmFsIHN0cmluZwogICAgICAqCkBAIC0xNDIsNyArMTQzLDcgQEAKICAgICAgKgogICAgICAqIFxyZXR1cm4gTmVlZGVkIGJ1ZmZlciBzaXplIGZvciBsaXRlcmFsIHN0cmluZyB3aXRob3V0IHR5cGUgZGVsYXJhdG9yIGUuZy4sIFdTVFJJTkcjCiAgICAgICovCi0gICAgdmlydHVhbCB1bnNpZ25lZCBpbnQgZ2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBzaXplX3QgZ2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgY29uc3Q7CiAKICAgcHJvdGVjdGVkOgogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9kYXRhdHlwZXMvdW5pY29kZV91dGlscy5jcHAgYi9zcmMvY29yZS9kYXRhdHlwZXMvdW5pY29kZV91dGlscy5jcHAKaW5kZXggMDgwZTYxZC4uNmI3YTU0YiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL3VuaWNvZGVfdXRpbHMuY3BwCisrKyBiL3NyYy9jb3JlL2RhdGF0eXBlcy91bmljb2RlX3V0aWxzLmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDExIG54dENvbnRyb2wgR21iSCwgQUNJTg0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIFN0YW5pc2xhdiBNZWR1bmEsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEgbnh0Q29udHJvbCBHbWJILCBBQ0lODQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBTdGFuaXNsYXYgTWVkdW5hLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bA0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpbmNsdWRlICJ1bmljb2RlX3V0aWxzLmgiDQogI2luY2x1ZGUgPHN0cmluZy5oPg0KIA0KQEAgLTI5LDI4ICszMSwzMSBAQAogICAgIHBhX3JWYWx1ZSA9IChwYV9wYWNDb2RlcG9pbnRbMF0gJiAweDdmKTsNCiAgICAgcmV0dXJuIDE7DQogICB9IGVsc2UgaWYgKChwYV9wYWNDb2RlcG9pbnRbMF0gJiAweGUwKSA9PSAweGMwKSB7DQotICAgIGlmICgocGFfcGFjQ29kZXBvaW50WzFdICYgMHhjMCkgIT0gMHg4MCkNCisgICAgaWYoKHBhX3BhY0NvZGVwb2ludFsxXSAmIDB4YzApICE9IDB4ODApIHsNCiAgICAgICByZXR1cm4gLTE7DQorICAgIH0NCiAgICAgcGFfclZhbHVlID0gKChwYV9wYWNDb2RlcG9pbnRbMF0gJiAweDFmKSA8PCA2KSB8DQotICAgICAgICAgICAgICAgICgocGFfcGFjQ29kZXBvaW50WzFdICYgMHgzZikgICAgICk7DQorICAgICAgICAgICAgICAgIChwYV9wYWNDb2RlcG9pbnRbMV0gJiAweDNmKTsNCiAgICAgcmV0dXJuIDI7DQogICB9IGVsc2UgaWYgKChwYV9wYWNDb2RlcG9pbnRbMF0gJiAweGYwKSA9PSAweGUwKSB7DQogICAgIGlmICgocGFfcGFjQ29kZXBvaW50WzFdICYgMHhjMCkgIT0gMHg4MCB8fA0KLSAgICAgICAgKHBhX3BhY0NvZGVwb2ludFsyXSAmIDB4YzApICE9IDB4ODApDQorICAgICAgICAocGFfcGFjQ29kZXBvaW50WzJdICYgMHhjMCkgIT0gMHg4MCkgew0KICAgICAgIHJldHVybiAtMTsNCisgICAgfQ0KICAgICBwYV9yVmFsdWUgPSAoKHBhX3BhY0NvZGVwb2ludFswXSAmIDB4MGYpIDw8IDEyKSB8DQogICAgICAgICAgICAgICAgICgocGFfcGFjQ29kZXBvaW50WzFdICYgMHgzZikgPDwgIDYpIHwNCi0gICAgICAgICAgICAgICAgKChwYV9wYWNDb2RlcG9pbnRbMl0gJiAweDNmKSAgICAgICk7DQorICAgICAgICAgICAgICAgIChwYV9wYWNDb2RlcG9pbnRbMl0gJiAweDNmKTsNCiAgICAgcmV0dXJuIDM7DQogICB9IGVsc2UgaWYgKChwYV9wYWNDb2RlcG9pbnRbMF0gJiAweGY4KSA9PSAweGYwKSB7DQogICAgIGlmICgocGFfcGFjQ29kZXBvaW50WzFdICYgMHhjMCkgIT0gMHg4MCB8fA0KICAgICAgICAgKHBhX3BhY0NvZGVwb2ludFsyXSAmIDB4YzApICE9IDB4ODAgfHwNCi0gICAgICAgIChwYV9wYWNDb2RlcG9pbnRbM10gJiAweGMwKSAhPSAweDgwKQ0KKyAgICAgICAgKHBhX3BhY0NvZGVwb2ludFszXSAmIDB4YzApICE9IDB4ODApIHsNCiAgICAgICByZXR1cm4gLTE7DQorICAgIH0NCiAgICAgcGFfclZhbHVlID0gKChwYV9wYWNDb2RlcG9pbnRbMF0gJiAweDA3KSA8PCAxOCkgfA0KICAgICAgICAgICAgICAgICAoKHBhX3BhY0NvZGVwb2ludFsxXSAmIDB4M2YpIDw8IDEyKSB8DQogICAgICAgICAgICAgICAgICgocGFfcGFjQ29kZXBvaW50WzJdICYgMHgzZikgPDwgIDYpIHwNCi0gICAgICAgICAgICAgICAgKChwYV9wYWNDb2RlcG9pbnRbM10gJiAweDNmKSAgICAgICk7DQorICAgICAgICAgICAgICAgIChwYV9wYWNDb2RlcG9pbnRbM10gJiAweDNmKTsNCiAgICAgcmV0dXJuIDQ7DQogICB9DQogDQpAQCAtNjEsMjMgKzY2LDI2IEBACiBpbnQgQ1VuaWNvZGVVdGlsaXRpZXM6OmVuY29kZVVURjhDb2RlcG9pbnQoVEZvcnRlQnl0ZSAqcGFfcGFjQ29kZXBvaW50LCB1bnNpZ25lZCBpbnQgcGFfbkJ1ZmZlclNpemUsIFRGb3J0ZVVJbnQzMiBwYV9uVmFsdWUpIHsNCiAgIGlmIChwYV9uVmFsdWUgPCAweDgwKSB7DQogICAgIGlmIChwYV9wYWNDb2RlcG9pbnQpIHsNCi0gICAgICBpZiAocGFfbkJ1ZmZlclNpemUgPCAxKQ0KKyAgICAgIGlmKHBhX25CdWZmZXJTaXplIDwgMSkgew0KICAgICAgICAgcmV0dXJuIC0xOw0KKyAgICAgIH0NCiAgICAgICBwYV9wYWNDb2RlcG9pbnRbMF0gPSAoVEZvcnRlQnl0ZSkgcGFfblZhbHVlOw0KICAgICB9DQogICAgIHJldHVybiAxOw0KICAgfSBlbHNlIGlmIChwYV9uVmFsdWUgPCAweDgwMCkgew0KICAgICBpZiAocGFfcGFjQ29kZXBvaW50KSB7DQotICAgICAgaWYgKHBhX25CdWZmZXJTaXplIDwgMikNCisgICAgICBpZihwYV9uQnVmZmVyU2l6ZSA8IDIpIHsNCiAgICAgICAgIHJldHVybiAtMTsNCisgICAgICB9DQogICAgICAgcGFfcGFjQ29kZXBvaW50WzBdID0gKFRGb3J0ZUJ5dGUpICgweGMwIHwgKChwYV9uVmFsdWUgPj4gNikgJiAweDFmKSk7DQogICAgICAgcGFfcGFjQ29kZXBvaW50WzFdID0gKFRGb3J0ZUJ5dGUpICgweDgwIHwgKChwYV9uVmFsdWUgICAgICkgJiAweDNmKSk7DQogICAgIH0NCiAgICAgcmV0dXJuIDI7DQogICB9IGVsc2UgaWYgKHBhX25WYWx1ZSA8IDB4MTAwMDApIHsNCiAgICAgaWYgKHBhX3BhY0NvZGVwb2ludCkgew0KLSAgICAgIGlmIChwYV9uQnVmZmVyU2l6ZSA8IDMpDQorICAgICAgaWYocGFfbkJ1ZmZlclNpemUgPCAzKSB7DQogICAgICAgICByZXR1cm4gLTE7DQorICAgICAgfQ0KICAgICAgIHBhX3BhY0NvZGVwb2ludFswXSA9IChURm9ydGVCeXRlKSAoMHhlMCB8ICgocGFfblZhbHVlID4+IDEyKSAmIDB4MWYpKTsNCiAgICAgICBwYV9wYWNDb2RlcG9pbnRbMV0gPSAoVEZvcnRlQnl0ZSkgKDB4ODAgfCAoKHBhX25WYWx1ZSA+PiAgNikgJiAweDNmKSk7DQogICAgICAgcGFfcGFjQ29kZXBvaW50WzJdID0gKFRGb3J0ZUJ5dGUpICgweDgwIHwgKChwYV9uVmFsdWUgICAgICApICYgMHgzZikpOw0KQEAgLTg1LDggKzkzLDkgQEAKICAgICByZXR1cm4gMzsNCiAgIH0gZWxzZSBpZiAocGFfblZhbHVlIDwgMHgxMTAwMDApIHsNCiAgICAgaWYgKHBhX3BhY0NvZGVwb2ludCkgew0KLSAgICAgIGlmIChwYV9uQnVmZmVyU2l6ZSA8IDQpDQorICAgICAgaWYocGFfbkJ1ZmZlclNpemUgPCA0KSB7DQogICAgICAgICByZXR1cm4gLTE7DQorICAgICAgfQ0KICAgICAgIHBhX3BhY0NvZGVwb2ludFswXSA9IChURm9ydGVCeXRlKSAoMHhmMCB8ICgocGFfblZhbHVlID4+IDE4KSAmIDB4MWYpKTsNCiAgICAgICBwYV9wYWNDb2RlcG9pbnRbMV0gPSAoVEZvcnRlQnl0ZSkgKDB4ODAgfCAoKHBhX25WYWx1ZSA+PiAxMikgJiAweDNmKSk7DQogICAgICAgcGFfcGFjQ29kZXBvaW50WzJdID0gKFRGb3J0ZUJ5dGUpICgweDgwIHwgKChwYV9uVmFsdWUgPj4gIDYpICYgMHgzZikpOw0KQEAgLTExNyw4ICsxMjYsOSBAQAogICAgICAgKHBhX3BhY0NvZGVwb2ludFsyXSB8IChwYV9wYWNDb2RlcG9pbnRbM10gPDwgOCkpIDoNCiAgICAgICAoKHBhX3BhY0NvZGVwb2ludFsyXSA8PCA4KSB8IHBhX3BhY0NvZGVwb2ludFszXSkpOw0KIA0KLSAgICBpZiAoKG5TZWNvbmRXb3JkICYgMHhmYzAwKSAhPSAweGRjMDApDQorICAgIGlmKChuU2Vjb25kV29yZCAmIDB4ZmMwMCkgIT0gMHhkYzAwKSB7DQogICAgICAgcmV0dXJuIC0xOw0KKyAgICB9DQogDQogICAgIHBhX3JWYWx1ZSA9IDB4MTAwMDAgKyAoKChuRmlyc3RXb3JkICYgMHgzZmYpIDw8IDEwKSB8IChuU2Vjb25kV29yZCAmIDB4M2ZmKSk7DQogDQpAQCAtMTMyLDEzICsxNDIsMTUgQEAKIA0KIA0KIGludCBDVW5pY29kZVV0aWxpdGllczo6ZW5jb2RlVVRGMTZDb2RlcG9pbnQoVEZvcnRlQnl0ZSAqcGFfcGFjQ29kZXBvaW50LCB1bnNpZ25lZCBpbnQgcGFfbkJ1ZmZlclNpemUsIFRGb3J0ZVVJbnQzMiBwYV9uVmFsdWUsIGJvb2wgcGFfYkxpdHRsZUVuZGlhbikgew0KLSAgaWYgKChwYV9uVmFsdWUgPj0gMHhkODAwICYmIHBhX25WYWx1ZSA8IDB4ZTAwMCkgfHwgcGFfblZhbHVlID49IDB4MTEwMDAwKQ0KKyAgaWYoKHBhX25WYWx1ZSA+PSAweGQ4MDAgJiYgcGFfblZhbHVlIDwgMHhlMDAwKSB8fCBwYV9uVmFsdWUgPj0gMHgxMTAwMDApIHsNCiAgICAgcmV0dXJuIC0xOw0KKyAgfQ0KIA0KICAgaWYgKHBhX25WYWx1ZSA8IDB4MTAwMDApIHsNCiAgICAgaWYgKHBhX3BhY0NvZGVwb2ludCkgew0KLSAgICAgIGlmIChwYV9uQnVmZmVyU2l6ZSA8IDIpDQorICAgICAgaWYocGFfbkJ1ZmZlclNpemUgPCAyKSB7DQogICAgICAgICByZXR1cm4gLTE7DQorICAgICAgfQ0KICAgICAgIGlmIChwYV9iTGl0dGxlRW5kaWFuKSB7DQogICAgICAgICBwYV9wYWNDb2RlcG9pbnRbMF0gPSAoVEZvcnRlQnl0ZSkgKChwYV9uVmFsdWUgICAgICkgJiAweGZmKTsNCiAgICAgICAgIHBhX3BhY0NvZGVwb2ludFsxXSA9IChURm9ydGVCeXRlKSAoKHBhX25WYWx1ZSA+PiA4KSAmIDB4ZmYpOw0KQEAgLTE1NCw4ICsxNjYsOSBAQAogICAgICAgVEZvcnRlVUludDE2IG5IaWdoU3Vycm9nYXRlID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PigweGQ4MDAgfCAoKG5WYWwgPj4gMTApICYgMHgzZmYpKTsNCiAgICAgICBURm9ydGVVSW50MTYgbkxvd1N1cnJvZ2F0ZSAgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KDB4ZGMwMCB8ICgoblZhbCAgICAgICkgJiAweDNmZikpOw0KIA0KLSAgICAgIGlmIChwYV9uQnVmZmVyU2l6ZSA8IDQpDQorICAgICAgaWYocGFfbkJ1ZmZlclNpemUgPCA0KSB7DQogICAgICAgICByZXR1cm4gLTE7DQorICAgICAgfQ0KIA0KICAgICAgIGlmIChwYV9iTGl0dGxlRW5kaWFuKSB7DQogICAgICAgICBwYV9wYWNDb2RlcG9pbnRbMF0gPSAoVEZvcnRlQnl0ZSkgKChuSGlnaFN1cnJvZ2F0ZSAgICAgKSAmIDB4ZmYpOw0KQEAgLTE4NiwxMyArMTk5LDE0IEBACiAgICAgaWYgKG5SZXMgPCAwIHx8IG5SZXMgKyBpID4gblJlbUxlbikgew0KICAgICAgIHJldHVybiAtMTsNCiAgICAgfQ0KLSAgICBpZiAobkNvZGVwb2ludCAhPSBDVW5pY29kZVV0aWxpdGllczo6c2NtX3VuQk9NTWFya2VyKSB7DQotICAgICAgaWYgKG5Db2RlcG9pbnQgPj0gMHgxMDAwMCkNCisgICAgaWYobkNvZGVwb2ludCAhPSBDVW5pY29kZVV0aWxpdGllczo6c2NtX3VuQk9NTWFya2VyKSB7DQorICAgICAgaWYobkNvZGVwb2ludCA+PSAweDEwMDAwKSB7DQogICAgICAgICBwYV9ybk1heFdpZHRoID0gMjE7DQotICAgICAgZWxzZSBpZiAobkNvZGVwb2ludCA+PSAweDEwMCAmJiBwYV9ybk1heFdpZHRoIDwgMTYpDQorICAgICAgfSBlbHNlIGlmKG5Db2RlcG9pbnQgPj0gMHgxMDAgJiYgcGFfcm5NYXhXaWR0aCA8IDE2KSB7DQogICAgICAgICBwYV9ybk1heFdpZHRoID0gMTY7DQotICAgICAgZWxzZSBpZiAobkNvZGVwb2ludCA+PSAweDgwICYmIHBhX3JuTWF4V2lkdGggPCA4KQ0KKyAgICAgIH0gZWxzZSBpZihuQ29kZXBvaW50ID49IDB4ODAgJiYgcGFfcm5NYXhXaWR0aCA8IDgpIHsNCiAgICAgICAgIHBhX3JuTWF4V2lkdGggPSA4Ow0KKyAgICAgIH0NCiAgICAgfQ0KIA0KICAgICBpICs9IG5SZXM7DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGF0YXR5cGVzL3VuaWNvZGVfdXRpbHMuaCBiL3NyYy9jb3JlL2RhdGF0eXBlcy91bmljb2RlX3V0aWxzLmgKaW5kZXggZDU2ZmYyOC4uMGJkNzhmMCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGF0YXR5cGVzL3VuaWNvZGVfdXRpbHMuaAorKysgYi9zcmMvY29yZS9kYXRhdHlwZXMvdW5pY29kZV91dGlscy5oCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAxMSBueHRDb250cm9sIEdtYkgsIEFDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFN0YW5pc2xhdiBNZWR1bmEsIEluZ28gSGVnbnkKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAxMSBueHRDb250cm9sIEdtYkgsIEFDSU4KKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFN0YW5pc2xhdiBNZWR1bmEsIEluZ28gSGVnbnkKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9VTklDT0RFX1VUSUxTX0hfCiAjZGVmaW5lIF9VTklDT0RFX1VUSUxTX0hfCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2RldmV4ZWMuY3BwIGIvc3JjL2NvcmUvZGV2ZXhlYy5jcHAKaW5kZXggOGVhNmE5OC4uNmRkMDcxYyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGV2ZXhlYy5jcHAKKysrIGIvc3JjL2NvcmUvZGV2ZXhlYy5jcHAKQEAgLTEsMTQgKzEsMTUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMiBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgSW5nbyBIZWdueQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMiBBQ0lOLCBQcm9mYWN0b3IgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyLCBJbmdvIEhlZ255CisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgImRldmV4ZWMuaCIKICNpbmNsdWRlICJlc2ZiLmgiCiAjaW5jbHVkZSAiZWNldC5oIgpAQCAtMTYsMjQgKzE3LDE3IEBACiAjaW5jbHVkZSAiLi4vYXJjaC90aW1lcmhhLmgiCiAjaW5jbHVkZSAiLi4vYXJjaC9kZXZsb2cuaCIKIAotQ0RldmljZUV4ZWN1dGlvbjo6Q0RldmljZUV4ZWN1dGlvbigpewotICBtZW1zZXQobVJlZ2lzdGVyZWRFdmVudEhhbmRsZXJzLCAgMCwgc2l6ZW9mKFNFdmVudEhhbmRsZXJFbGVtZW50KSAqIGNnX3VuTnVtYmVyT2ZIYW5kbGVycyk7CitDRGV2aWNlRXhlY3V0aW9uOjpDRGV2aWNlRXhlY3V0aW9uKCkgeworICBtZW1zZXQobVJlZ2lzdGVyZWRFdmVudEhhbmRsZXJzLCAwLCBzaXplb2YoU0V2ZW50SGFuZGxlckVsZW1lbnQpICogY2dfdW5OdW1iZXJPZkhhbmRsZXJzKTsKIAogICBDRGV2aWNlRXhlY3V0aW9uOjpjcmVhdGVIYW5kbGVycygqdGhpcyk7CiAKICAgZ2V0VGltZXIoKS5lbmFibGVIYW5kbGVyKCk7Ci0gIGlmKDAgPT0gQ1RpbWVySGFuZGxlcjo6c21GT1JURVRpbWVyKXsKLSAgICBDVGltZXJIYW5kbGVyOjpzbUZPUlRFVGltZXIgPSAmZ2V0VGltZXIoKTsgLy91c2VkIGZvciBkZXZlbG9nLCBDSUVDX1RJTUUoKSBhbmQgaW4gTW9kYnVzCi0gIH0KIH0KIAotQ0RldmljZUV4ZWN1dGlvbjo6fkNEZXZpY2VFeGVjdXRpb24oKXsKLSAgaWYoQ1RpbWVySGFuZGxlcjo6c21GT1JURVRpbWVyID09ICgmZ2V0VGltZXIoKSkpewotICAgIENUaW1lckhhbmRsZXI6OnNtRk9SVEVUaW1lciA9IDA7Ci0gIH0KLQotICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgY2dfdW5OdW1iZXJPZkhhbmRsZXJzOyBpKyspewotICAgIGlmKDAgIT0gbVJlZ2lzdGVyZWRFdmVudEhhbmRsZXJzW2ldLm1IYW5kbGVyKXsgLy9mb3IgdGhlIHRlc3QgY2FzZXMsIG9ubHkgdGhlIHRpbWVyIGhhbmRsZXIgaXMgY3JlYXRlZAorQ0RldmljZUV4ZWN1dGlvbjo6fkNEZXZpY2VFeGVjdXRpb24oKSB7CisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBjZ191bk51bWJlck9mSGFuZGxlcnM7IGkrKykgeworICAgIGlmKDAgIT0gbVJlZ2lzdGVyZWRFdmVudEhhbmRsZXJzW2ldLm1IYW5kbGVyKSB7IC8vZm9yIHRoZSB0ZXN0IGNhc2VzLCBvbmx5IHRoZSB0aW1lciBoYW5kbGVyIGlzIGNyZWF0ZWQKICAgICAgIG1SZWdpc3RlcmVkRXZlbnRIYW5kbGVyc1tpXS5tSGFuZGxlci0+ZGlzYWJsZUhhbmRsZXIoKTsKICAgICAgIGRlbGV0ZSBtUmVnaXN0ZXJlZEV2ZW50SGFuZGxlcnNbaV0ubUhhbmRsZXI7CiAgICAgICBtUmVnaXN0ZXJlZEV2ZW50SGFuZGxlcnNbaV0ubUhhbmRsZXIgPSAwOwpAQCAtNDEsMjQgKzM1LDMyIEBACiAgIH0KIH0KIAotdm9pZCBDRGV2aWNlRXhlY3V0aW9uOjpzdGFydE5ld0V2ZW50Q2hhaW4oQ0V2ZW50U291cmNlRkIgKnBhX3BvRUNTdGFydEZCKXsKK3ZvaWQgQ0RldmljZUV4ZWN1dGlvbjo6c3RhcnROZXdFdmVudENoYWluKENFdmVudFNvdXJjZUZCICpwYUVDU3RhcnRGQikgewogICAvLyBtYXliZSBpbiB0aGUgZnV0dXJlIGhlcmUgaGFzIHRvIGJlIGFkZGVkIHNvbWV0aGluZyBmb3IgaGFuZGxpbmcgcHJpb3JpdHkgYWRhcHRpb24gYW5kIHN0dWZmIGxpa2UgdGhpcy4KLSAgaWYoMCAhPSBwYV9wb0VDU3RhcnRGQil7Ci0gICAgQ0V2ZW50Q2hhaW5FeGVjdXRpb25UaHJlYWQgKnBvRXZlbnRDaGFpbkV4ZWN1dG9yID0gcGFfcG9FQ1N0YXJ0RkItPmdldEV2ZW50Q2hhaW5FeGVjdXRvcigpOwotICAgIGlmKDAgIT0gcG9FdmVudENoYWluRXhlY3V0b3IpewotICAgICAgcG9FdmVudENoYWluRXhlY3V0b3ItPnN0YXJ0RXZlbnRDaGFpbihwYV9wb0VDU3RhcnRGQi0+Z2V0RXZlbnRTb3VyY2VFdmVudEVudHJ5KCkpOwotICAgIH1lbHNleworICBpZigwICE9IHBhRUNTdGFydEZCKSB7CisgICAgQ0V2ZW50Q2hhaW5FeGVjdXRpb25UaHJlYWQgKnBvRXZlbnRDaGFpbkV4ZWN1dG9yID0gcGFFQ1N0YXJ0RkItPmdldEV2ZW50Q2hhaW5FeGVjdXRvcigpOworICAgIGlmKDAgIT0gcG9FdmVudENoYWluRXhlY3V0b3IpIHsKKyAgICAgIHBvRXZlbnRDaGFpbkV4ZWN1dG9yLT5zdGFydEV2ZW50Q2hhaW4ocGFFQ1N0YXJ0RkItPmdldEV2ZW50U291cmNlRXZlbnRFbnRyeSgpKTsKKyAgICB9IGVsc2UgewogICAgICAgREVWTE9HX0VSUk9SKCJbQ0RldmljZUV4ZWN1dGlvbl0gQ291bGRuJ3Qgc3RhcnQgbmV3IGV2ZW50IGNoYWluIGJlY2F1c2UgdGhlIGV2ZW50IGhhcyBubyBDRXZlbnRDaGFpbkV4ZWN1dGlvblRocmVhZCIpOwogICAgIH0KLSAgfWVsc2V7CisgIH0gZWxzZSB7CiAgICAgREVWTE9HX0VSUk9SKCJbQ0RldmljZUV4ZWN1dGlvbl0gQ291bGRuJ3Qgc3RhcnQgbmV3IGV2ZW50IGNoYWluIGJlY2F1c2UgdGhlIGV2ZW50IHNvdXJjZSB3YXMgbnVsbCIpOwogICB9CiB9CiAKLUNFeHRlcm5hbEV2ZW50SGFuZGxlciogQ0RldmljZUV4ZWN1dGlvbjo6Z2V0RXh0RXZIYW5kbGVyKHNpemVfdCBwYUlkZW50aWZlcikgY29uc3R7CitDRXh0ZXJuYWxFdmVudEhhbmRsZXIqIENEZXZpY2VFeGVjdXRpb246OmdldEV4dEV2SGFuZGxlcihzaXplX3QgcGFJZGVudGlmZXIpIGNvbnN0IHsKICAgcmV0dXJuIG1SZWdpc3RlcmVkRXZlbnRIYW5kbGVyc1twYUlkZW50aWZlcl0ubUhhbmRsZXI7CiB9CiAKLUNUaW1lckhhbmRsZXImIENEZXZpY2VFeGVjdXRpb246OmdldFRpbWVyKCkgY29uc3R7CitDVGltZXJIYW5kbGVyJiBDRGV2aWNlRXhlY3V0aW9uOjpnZXRUaW1lcigpIGNvbnN0IHsKICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDVGltZXJIYW5kbGVyKj4obVJlZ2lzdGVyZWRFdmVudEhhbmRsZXJzWzBdLm1IYW5kbGVyKTsKIH0KKwordm9pZCBDRGV2aWNlRXhlY3V0aW9uOjpkaXNhYmxlSGFuZGxlcnMoKSB7CisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBjZ191bk51bWJlck9mSGFuZGxlcnM7IGkrKykgeworICAgIGlmKDAgIT0gbVJlZ2lzdGVyZWRFdmVudEhhbmRsZXJzW2ldLm1IYW5kbGVyKSB7CisgICAgICBtUmVnaXN0ZXJlZEV2ZW50SGFuZGxlcnNbaV0ubUhhbmRsZXItPmRpc2FibGVIYW5kbGVyKCk7CisgICAgfQorICB9Cit9CmRpZmYgLS1naXQgYS9zcmMvY29yZS9kZXZleGVjLmggYi9zcmMvY29yZS9kZXZleGVjLmgKaW5kZXggMDVmYzBlNi4uZjliMmNlZCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGV2ZXhlYy5oCisrKyBiL3NyYy9jb3JlL2RldmV4ZWMuaApAQCAtMSwxNCArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgSW5nbyBIZWdueQ0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyLCBJbmdvIEhlZ255DQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfREVWRVhFQ19IDQogI2RlZmluZSBfREVWRVhFQ19IDQogDQpAQCAtMjEsNzAgKzIyLDcxIEBACiAjaW5jbHVkZSA8Zm9ydGVfY29uZmlnLmg+DQogDQogLyoqXGluZ3JvdXAgQ09SRQ0KLSAgSGFuZGxlcyBhbGwgdGhlIElFQyA2MTQ5OSBleGVjdXRpb24gcmVxdWVzdHMgYW5kIGFzcGVjdHMgd2l0aGluIG9uZSBkZXZpY2UNCisgSGFuZGxlcyBhbGwgdGhlIElFQyA2MTQ5OSBleGVjdXRpb24gcmVxdWVzdHMgYW5kIGFzcGVjdHMgd2l0aGluIG9uZSBkZXZpY2UNCiANCi0gIEBhdXRob3IgYXoNCi0qLw0KLWNsYXNzIENEZXZpY2VFeGVjdXRpb257DQotcHVibGljOg0KKyBAYXV0aG9yIGF6DQorICovDQorY2xhc3MgQ0RldmljZUV4ZWN1dGlvbiB7DQorICBwdWJsaWM6DQogICAgIENEZXZpY2VFeGVjdXRpb24oKTsNCiANCiAgICAgfkNEZXZpY2VFeGVjdXRpb24oKTsNCiANCi0vKiFcYnJpZWYgTm90aWZpZXMgdGhlIENFeHRlcm5hbEV2ZW50SGFuZGxlck1hbmFnZXIgdGhhdCBvbmUgdGljayBpbiB0aGUgdGltZSBoYXMgcGFzc2VkIGJ5Lg0KLSAqDQotICogXHBhcmFtIHBhQ3VycmVudFRpbWUgdGhlIGN1cnJlbnQgdGltZSBpbiB0aWNrcyBzaW5jZSB0aGUgbGFzdCBzdGFydCBvZiB0aGUgcnVudGltZS4NCi0gKi8NCi0gICAgdm9pZCBub3RpZnlUaW1lKHVpbnRfZmFzdDY0X3QgKXsNCisgICAgLyohXGJyaWVmIE5vdGlmaWVzIHRoZSBDRXh0ZXJuYWxFdmVudEhhbmRsZXJNYW5hZ2VyIHRoYXQgb25lIHRpY2sgaW4gdGhlIHRpbWUgaGFzIHBhc3NlZCBieS4NCisgICAgICoNCisgICAgICogXHBhcmFtIHBhQ3VycmVudFRpbWUgdGhlIGN1cnJlbnQgdGltZSBpbiB0aWNrcyBzaW5jZSB0aGUgbGFzdCBzdGFydCBvZiB0aGUgcnVudGltZS4NCisgICAgICovDQorICAgIHZvaWQgbm90aWZ5VGltZSh1aW50X2Zhc3Q2NF90KSB7DQogICAgIH0NCiANCi0vKiFcYnJpZWYgYW4gZXh0ZXJuYWwgZXZlbnQgb2NjdXJyZWQgYXQgYW4gRVMgYW5kIGEgbmV3IGV2ZW50IHNvdXJjZSBpcyB0byBzdGFydC4NCi0gKg0KLSAqIEluIHRoaXMgZnVuY3Rpb24gdGhlIENEZXZpY2VFeGVjdXRpb24gZG9lcyBhbGwgbWVhbnMgbmVjZXNzYXJ5IHRoYXQgdGhlIG5ldyBldmVudCBjaGFpbiB3aWxsIGJlIGV4ZWN1dGVkIGNvcnJlY3RseS4NCi0gKiBccGFyYW0gcGFfcG9FQ1N0YXJ0RkIgVGhlIHN0YXJ0IEZCIG9mIHRoZSBldmVudCBjaGFpbg0KLSAqLw0KLSAgICB2b2lkIHN0YXJ0TmV3RXZlbnRDaGFpbihDRXZlbnRTb3VyY2VGQiAqcGFfcG9FQ1N0YXJ0RkIpOw0KLS8qIVxicmllZiBDaGVjayBpZiBhbiBvY2N1cnJlbmNlIG9mIHRoZSBnaXZlbiBldmVudCBoYW5kbGVyIGlzIGN1cnJlbnRseSBhbGxvd2VkLg0KLSAqDQotICogV2l0aCB0aGlzIGZ1bmN0aW9uIHRoZSBkZXZpY2UgZXhlY3V0aW9uIGNhbiBkaXNhYmxlIG9yIGVuYWJsZSB0aGUgbm90aWZpY2F0aW9uIG9uIGV4dGVybmFsIGV2ZW50cy4NCi0gKiBOZWNlc3NhcnkgdG8gaG9sZCB0aW1pbmcgY29uc3RyYWludHMuIFRoZSBub3RpZnlUaW1lKCktZnVuY3Rpb24gd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSBpZiBkaWZmZXJlbnQgZXh0ZXJuYWwgZXZlbnQNCi0gKiBoYW5kbGVycyBhcmUgdG8gYmUgZW5hYmxlZCBhZ2Fpbi4NCi0gKiBccGFyYW0gcGFfbkV4dEV2SGFuZGxlciBJRCBvZiB0aGUgZXh0ZXJuYWwgZXZlbnQgaGFuZGxlciBnaXZlbiBieSB0aGUgQ0RldmljZUV4ZWN1dGlvbiBvbiByZWdpc3RlckV4dGVybmFsRXZuZXRIYW5kbGVyKCkNCi0gKiBccmV0dXJuIHRydWUgaWYgdGhlIGV4dGVybmFsIGV2ZW50IGhhbmRsZXIgaXMgYWxsb3dlZCB0byBzdGFydCBuZXcgZXZlbnQgY2hhaW5zLg0KLSAqLw0KLSAgICBib29sIGV4dEV2SGFuZGxlcklzQWxsb3dlZChpbnQgKXsNCisgICAgLyohXGJyaWVmIGFuIGV4dGVybmFsIGV2ZW50IG9jY3VycmVkIGF0IGFuIEVTIGFuZCBhIG5ldyBldmVudCBzb3VyY2UgaXMgdG8gc3RhcnQuDQorICAgICAqDQorICAgICAqIEluIHRoaXMgZnVuY3Rpb24gdGhlIENEZXZpY2VFeGVjdXRpb24gZG9lcyBhbGwgbWVhbnMgbmVjZXNzYXJ5IHRoYXQgdGhlIG5ldyBldmVudCBjaGFpbiB3aWxsIGJlIGV4ZWN1dGVkIGNvcnJlY3RseS4NCisgICAgICogXHBhcmFtIHBhRUNTdGFydEZCIFRoZSBzdGFydCBGQiBvZiB0aGUgZXZlbnQgY2hhaW4NCisgICAgICovDQorICAgIHZvaWQgc3RhcnROZXdFdmVudENoYWluKENFdmVudFNvdXJjZUZCICpwYUVDU3RhcnRGQik7DQorICAgIC8qIVxicmllZiBDaGVjayBpZiBhbiBvY2N1cnJlbmNlIG9mIHRoZSBnaXZlbiBldmVudCBoYW5kbGVyIGlzIGN1cnJlbnRseSBhbGxvd2VkLg0KKyAgICAgKg0KKyAgICAgKiBXaXRoIHRoaXMgZnVuY3Rpb24gdGhlIGRldmljZSBleGVjdXRpb24gY2FuIGRpc2FibGUgb3IgZW5hYmxlIHRoZSBub3RpZmljYXRpb24gb24gZXh0ZXJuYWwgZXZlbnRzLg0KKyAgICAgKiBOZWNlc3NhcnkgdG8gaG9sZCB0aW1pbmcgY29uc3RyYWludHMuIFRoZSBub3RpZnlUaW1lKCktZnVuY3Rpb24gd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSBpZiBkaWZmZXJlbnQgZXh0ZXJuYWwgZXZlbnQNCisgICAgICogaGFuZGxlcnMgYXJlIHRvIGJlIGVuYWJsZWQgYWdhaW4uDQorICAgICAqIFxwYXJhbSBwYV9uRXh0RXZIYW5kbGVyIElEIG9mIHRoZSBleHRlcm5hbCBldmVudCBoYW5kbGVyIGdpdmVuIGJ5IHRoZSBDRGV2aWNlRXhlY3V0aW9uIG9uIHJlZ2lzdGVyRXh0ZXJuYWxFdm5ldEhhbmRsZXIoKQ0KKyAgICAgKiBccmV0dXJuIHRydWUgaWYgdGhlIGV4dGVybmFsIGV2ZW50IGhhbmRsZXIgaXMgYWxsb3dlZCB0byBzdGFydCBuZXcgZXZlbnQgY2hhaW5zLg0KKyAgICAgKi8NCisgICAgYm9vbCBleHRFdkhhbmRsZXJJc0FsbG93ZWQoc2l6ZV90KSB7DQogICAgICAgcmV0dXJuIHRydWU7DQogICAgIH0NCiANCiAgICAgQ1RpbWVySGFuZGxlciYgZ2V0VGltZXIoKSBjb25zdDsNCiANCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4NCi0gICAgVCYgZ2V0RXh0RXZIYW5kbGVyKCl7DQorICAgIFQmIGdldEV4dEV2SGFuZGxlcigpIHsNCiAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VCY+KCpnZXRFeHRFdkhhbmRsZXIoVDo6bUhhbmRsZXJJZGVudGlmaWVyKSk7DQogICAgIH0NCiANCi0gICAgYm9vbCBpc0V4dEV2SGFuZGxlclZhbGlkKHNpemVfdCBwYUlkZW50aWZpZXIpew0KKyAgICBib29sIGlzRXh0RXZIYW5kbGVyVmFsaWQoc2l6ZV90IHBhSWRlbnRpZmllcikgew0KICAgICAgIHJldHVybiAoMCAhPSBnZXRFeHRFdkhhbmRsZXIocGFJZGVudGlmaWVyKSk7DQogICAgIH0NCiANCi0gIHByb3RlY3RlZDoNCisgICAgdm9pZCBkaXNhYmxlSGFuZGxlcnMoKTsNCisNCiAgIHByaXZhdGU6DQogICAgIC8qIVxicmllZiBTdHJ1Y3R1cmUgZm9yIGhvbGRpbmcgdGhlIGluZm9ybWF0aW9uIGJlbG9uZ2luZyB0byBvbmUgZXh0ZXJuYWwgZXZlbnQuDQogICAgICAqLw0KLSAgICBzdHJ1Y3QgU0V2ZW50SGFuZGxlckVsZW1lbnR7DQotICAgICAgYm9vbCBtT2NjdXJlZDsgLy8hPGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZSBleHRlcm5hbCBldmVudCBoYXMgb2NjdXJyZWQgYmV0d2VlbiB0aGUgbGFzdCBpbnZvY2F0aW9uLg0KLSAgICAgIENFeHRlcm5hbEV2ZW50SGFuZGxlciAqbUhhbmRsZXI7IC8vITwgcG9pbnRlciB0byB0aGUgZXh0ZXJuYWwgZXZlbnQgaGFuZGxlciBpbnN0YW5jZS4NCisgICAgc3RydWN0IFNFdmVudEhhbmRsZXJFbGVtZW50IHsNCisgICAgICAgIGJvb2wgbU9jY3VyZWQ7IC8vITxmbGFnIGluZGljYXRpbmcgdGhhdCB0aGUgZXh0ZXJuYWwgZXZlbnQgaGFzIG9jY3VycmVkIGJldHdlZW4gdGhlIGxhc3QgaW52b2NhdGlvbi4NCisgICAgICAgIENFeHRlcm5hbEV2ZW50SGFuZGxlciAqbUhhbmRsZXI7IC8vITwgcG9pbnRlciB0byB0aGUgZXh0ZXJuYWwgZXZlbnQgaGFuZGxlciBpbnN0YW5jZS4NCiAgICAgfTsNCiANCiAgICAgQ0V4dGVybmFsRXZlbnRIYW5kbGVyKiBnZXRFeHRFdkhhbmRsZXIoc2l6ZV90IHBhSWRlbnRpZmVyKSBjb25zdDsNCiANCi0gICAgc3RhdGljIHZvaWQgY3JlYXRlSGFuZGxlcnMoQ0RldmljZUV4ZWN1dGlvbiYgRGV2aWNlRXhlY3V0aW9uKTsNCisgICAgc3RhdGljIHZvaWQgY3JlYXRlSGFuZGxlcnMoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pOw0KIA0KICAgICAvKiFcYnJpZWYgTGlzdCBvZiBjdXJyZW50bHkgYXZhaWxhYmxlIGV4dGVybmFsIGV2ZW50IHNvdXJjZXMuDQotICAgICAgKg0KLSAgICAgICogVGhlIGVsZW1lbnQgMCBpcyBhbHdheXMgdGhlIHRpbWVyIGV2ZW50IHNvdXJjZS4NCi0gICAgICAqLw0KLSAgICBTRXZlbnRIYW5kbGVyRWxlbWVudCBtUmVnaXN0ZXJlZEV2ZW50SGFuZGxlcnMgWyBjZ191bk51bWJlck9mSGFuZGxlcnMgXTsNCisgICAgICoNCisgICAgICogVGhlIGVsZW1lbnQgMCBpcyBhbHdheXMgdGhlIHRpbWVyIGV2ZW50IHNvdXJjZS4NCisgICAgICovDQorICAgIFNFdmVudEhhbmRsZXJFbGVtZW50IG1SZWdpc3RlcmVkRXZlbnRIYW5kbGVyc1tjZ191bk51bWJlck9mSGFuZGxlcnNdOw0KIA0KIH07DQogDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGV2aWNlLmNwcCBiL3NyYy9jb3JlL2RldmljZS5jcHAKaW5kZXggY2QyNDdjYy4uYWQ4ZGY1ZCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZGV2aWNlLmNwcAorKysgYi9zcmMvY29yZS9kZXZpY2UuY3BwCkBAIC0xLDMyICsxLDQxIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXIsIEdlcmhhcmQgRWJlbmhvZmVyLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgImRldmljZS5oIgogI2luY2x1ZGUgImlmMmluZGNvLmgiCiAjaW5jbHVkZSAiZWNldC5oIgogI2luY2x1ZGUgPHN0cmluZy5oPgogCi1FTUdNUmVzcG9uc2UgQ0RldmljZTo6ZXhlY3V0ZU1HTUNvbW1hbmQoZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYV9vQ29tbWFuZCl7CitFTUdNUmVzcG9uc2UgQ0RldmljZTo6ZXhlY3V0ZU1HTUNvbW1hbmQoZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpewogICBFTUdNUmVzcG9uc2UgcmV0dmFsID0gZV9JTlZBTElEX0RTVDsKIAotICBpZihDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQgPT0gcGFfb0NvbW1hbmQubURlc3RpbmF0aW9uKXsKLSAgICByZXR2YWwgPSBDUmVzb3VyY2U6OmV4ZWN1dGVNR01Db21tYW5kKHBhX29Db21tYW5kKTsKKyAgaWYoQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkID09IHBhQ29tbWFuZC5tRGVzdGluYXRpb24peworICAgIHJldHZhbCA9IENSZXNvdXJjZTo6ZXhlY3V0ZU1HTUNvbW1hbmQocGFDb21tYW5kKTsKICAgfQogICBlbHNlewotICAgIENSZXNvdXJjZSAqcmVzID0gc3RhdGljX2Nhc3Q8Q1Jlc291cmNlICo+KENGQkNvbnRhaW5lcjo6Z2V0RkIocGFfb0NvbW1hbmQubURlc3RpbmF0aW9uKSk7CisgICAgQ1Jlc291cmNlICpyZXMgPSBzdGF0aWNfY2FzdDxDUmVzb3VyY2UgKj4oQ0ZCQ29udGFpbmVyOjpnZXRGQihwYUNvbW1hbmQubURlc3RpbmF0aW9uKSk7CiAgICAgaWYoMCAhPSByZXMpewotICAgICAgcGFfb0NvbW1hbmQubURlc3RpbmF0aW9uID0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkOwotICAgICAgcmV0dmFsID0gcmVzLT5leGVjdXRlTUdNQ29tbWFuZChwYV9vQ29tbWFuZCk7CisgICAgICBwYUNvbW1hbmQubURlc3RpbmF0aW9uID0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkOworICAgICAgcmV0dmFsID0gcmVzLT5leGVjdXRlTUdNQ29tbWFuZChwYUNvbW1hbmQpOwogICAgIH0KICAgfQogICByZXR1cm4gcmV0dmFsOwogfQorCitFTUdNUmVzcG9uc2UgQ0RldmljZTo6Y2hhbmdlRkJFeGVjdXRpb25TdGF0ZShFTUdNQ29tbWFuZFR5cGUgcGFDb21tYW5kKXsKKyAgaWYoY2dfbk1HTV9DTURfS2lsbCA9PSBwYUNvbW1hbmQpeworICAgIG1EZXZpY2VFeGVjdXRpb24uZGlzYWJsZUhhbmRsZXJzKCk7CisgIH0KKyAgcmV0dXJuIENSZXNvdXJjZTo6Y2hhbmdlRkJFeGVjdXRpb25TdGF0ZShwYUNvbW1hbmQpOworfQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGV2aWNlLmggYi9zcmMvY29yZS9kZXZpY2UuaAppbmRleCBmMzY5ZmVhLi5lNTk0YmI4IDEwMDY0NAotLS0gYS9zcmMvY29yZS9kZXZpY2UuaAorKysgYi9zcmMvY29yZS9kZXZpY2UuaApAQCAtMSwxNCArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgVGhvbWFzIFN0cmFzc2VyLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucwotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgVGhvbWFzIFN0cmFzc2VyLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX0RFVklDRV9ICiAjZGVmaW5lIF9ERVZJQ0VfSAogCkBAIC0xNiw2NiArMTcsNzcgQEAKICNpbmNsdWRlICJkZXZleGVjLmgiCiAKIC8qIVxpbmdyb3VwIENPUkUgQ0RldmljZSByZXByZXNlbnRzIGEgZGV2aWNlIGFjY29yZGluZyB0byBJRUMgNjE0OTkuIENEZXZpY2UgY29udGFpbnMKLSAgICAgIC0gb25lIG9yIG1vcmUgSUVDIDYxNDk5IGNvbXBsaWFudCByZXNvdXJjZXMgKENSZXNvdXJjZSksCi0gICAgICAtICBhIGRldmljZSBtYW5hZ2VtZW50IChDRGV2aWNlQWRtaW5pc3RyYXRvcikKLSAgICAgIC0gIGEgZnVuY3Rpb24gYmxvY2sgZXhlY3V0aW9uIGVudmlyb25tZW50IChDRkJORXhlY3V0aW9uKQotICAgICAgLSAgYSBsaWJyYXJ5IChDVHlwZUxpYikgd2hpY2ggYWRtaW5pc3RyYXRlcyB0aGUgdHlwZXMgdGhlIDE0OTkgZGV2aWNlIGlzCi0gICAgICAgIGNhcGFibGUgb2YKLSAgICAgIC0gRXh0ZXJuYWwgZXZlbnQgaW50ZXJmYWNlIGZvciBoYW5kbGluZyBpbnRlcnJ1cHRzIGFuZCBvdGhlciBleHRlcm5hbCBub3RpZmljYXRpb25zLgotICAgICAgLSAgRk9SVEUtSEFMOiBGT1JURSBIYXJkd2FyZSBBYnN0cmFjdGlvbiBMYXllcgorIC0gb25lIG9yIG1vcmUgSUVDIDYxNDk5IGNvbXBsaWFudCByZXNvdXJjZXMgKENSZXNvdXJjZSksCisgLSAgYSBkZXZpY2UgbWFuYWdlbWVudCAoQ0RldmljZUFkbWluaXN0cmF0b3IpCisgLSAgYSBmdW5jdGlvbiBibG9jayBleGVjdXRpb24gZW52aXJvbm1lbnQgKENGQk5FeGVjdXRpb24pCisgLSAgYSBsaWJyYXJ5IChDVHlwZUxpYikgd2hpY2ggYWRtaW5pc3RyYXRlcyB0aGUgdHlwZXMgdGhlIDE0OTkgZGV2aWNlIGlzCisgY2FwYWJsZSBvZgorIC0gRXh0ZXJuYWwgZXZlbnQgaW50ZXJmYWNlIGZvciBoYW5kbGluZyBpbnRlcnJ1cHRzIGFuZCBvdGhlciBleHRlcm5hbCBub3RpZmljYXRpb25zLgorIC0gIEZPUlRFLUhBTDogRk9SVEUgSGFyZHdhcmUgQWJzdHJhY3Rpb24gTGF5ZXIKIAotICAgIFRoZXJlIGFyZSBkaWZmZXJlbnQgZGV2aWNlIHR5cGUncyBhdmFpbGFibGUgKGUuZy4gcmVtb3RlIGRldmljZSBSTVRfREVWKQotICAgIGZvciBkaWZmZXJlbnQgdGFza3Mgd2hpY2ggaGF2ZSBkaWZmZXJlbnQgZGV2aWNlIGNvbmZpZ3VyYXRpb25zCi0gICAgKHJlc291cmNlcyBmdW5jdGlvbiBibG9ja3MpIGFuZCBkZXZpY2UgcGFyYW1ldGVycy4KLSovCi1jbGFzcyBDRGV2aWNlIDogcHVibGljIENSZXNvdXJjZXsKLSAgcHJpdmF0ZToKLS8qISBcYnJpZWYKLSAqCisgVGhlcmUgYXJlIGRpZmZlcmVudCBkZXZpY2UgdHlwZSdzIGF2YWlsYWJsZSAoZS5nLiByZW1vdGUgZGV2aWNlIFJNVF9ERVYpCisgZm9yIGRpZmZlcmVudCB0YXNrcyB3aGljaCBoYXZlIGRpZmZlcmVudCBkZXZpY2UgY29uZmlndXJhdGlvbnMKKyAocmVzb3VyY2VzIGZ1bmN0aW9uIGJsb2NrcykgYW5kIGRldmljZSBwYXJhbWV0ZXJzLgogICovCi0gICAgQ0RldmljZUV4ZWN1dGlvbiBtX29EZXZpY2VFeGVjdXRpb247CitjbGFzcyBDRGV2aWNlIDogcHVibGljIENSZXNvdXJjZSB7CisgIHByaXZhdGU6CisgICAgLyohIFxicmllZgorICAgICAqCisgICAgICovCisgICAgQ0RldmljZUV4ZWN1dGlvbiBtRGV2aWNlRXhlY3V0aW9uOwogCiAgIHByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCApe307CisgICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVFdmVudChpbnQpIHsKKyAgICB9CiAKICAgcHVibGljOgotLyohIFxicmllZiBTZXRzIHVwIGFsbCB0aGUgbmVjZXNzYXJ5IGRhdGEgYW5kIGNsYXNzZXMgbmVjZXNzYXJ5IGZvciBleGVjdXRpb24uCi0gKgotICovCi0gICAgQ0RldmljZShjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICAgICAgICAgIFRGb3J0ZUJ5dGUgKnBhX2FjRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFfYWNGQlZhcnNEYXRhKToKLSAgICAgICAgICAgIENSZXNvdXJjZShwYV9wc3RJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIHBhX2FjRkJDb25uRGF0YSwgcGFfYWNGQlZhcnNEYXRhKSwKLSAgICAgICAgIG1fb0RldmljZUV4ZWN1dGlvbigpewotICAgIH07Ci0gICAgdmlydHVhbCB+Q0RldmljZSgpe307CisgICAgLyohIFxicmllZiBTZXRzIHVwIGFsbCB0aGUgbmVjZXNzYXJ5IGRhdGEgYW5kIGNsYXNzZXMgbmVjZXNzYXJ5IGZvciBleGVjdXRpb24uCisgICAgICoKKyAgICAgKi8KKyAgICBDRGV2aWNlKGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsCisgICAgICAgIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSkgOgorICAgICAgICBDUmVzb3VyY2UocGFfcHN0SW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLCBwYV9hY0ZCQ29ubkRhdGEsIHBhX2FjRkJWYXJzRGF0YSksIG1EZXZpY2VFeGVjdXRpb24oKSB7CisgICAgfQogCi0gICAgdmlydHVhbCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGdldEZCVHlwZUlkKHZvaWQpIGNvbnN0IHsgcmV0dXJuIENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZDsgfTsKKyAgICB2aXJ0dWFsIH5DRGV2aWNlKCkgeworICAgIH0KIAotLyohIFxicmllZiBTdGFydHMgdG8gZXhlY3V0ZSBGQk5zLgotICoKLSAqICBUaGlzIGZ1bmN0aW9uIHdpbGwgc2VuZCBhIElFQyA2MTQ5OSBzdGFydCBjb21tYW5kIHRvIGFsbCBleGlzdGluZyByZXNvdXJjZXMgaW4gdGhlIGRldmljZSAoaWYgYW55KS4KLSAqICBUaGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYWZ0ZXIgdGhlIHN0YXJ0LiBUaGUgRm9ydGUgSEFMIGhhcyB0byBlbnN1cmUgdGhhdCBpdCBpcyB3YWl0ZWQgdGlsbCB0aGUgZGV2aWNlCi0gKiAgZmluaXNoZXMgaXRzIGV4ZWN1dGlvbi4KLSAqICBccmV0dXJuIDAgb24gc3VjY2VzcyAtMSBvbiBlcnJvcgotICovCi0gICAgdmlydHVhbCBpbnQgc3RhcnREZXZpY2Uodm9pZCl7CisKKyAgICB2aXJ0dWFsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgZ2V0RkJUeXBlSWQodm9pZCkgY29uc3QgeworICAgICAgcmV0dXJuIENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZDsKKyAgICB9CisKKworICAgIC8qISBcYnJpZWYgU3RhcnRzIHRvIGV4ZWN1dGUgRkJOcy4KKyAgICAgKgorICAgICAqICBUaGlzIGZ1bmN0aW9uIHdpbGwgc2VuZCBhIElFQyA2MTQ5OSBzdGFydCBjb21tYW5kIHRvIGFsbCBleGlzdGluZyByZXNvdXJjZXMgaW4gdGhlIGRldmljZSAoaWYgYW55KS4KKyAgICAgKiAgVGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFmdGVyIHRoZSBzdGFydC4gVGhlIEZvcnRlIEhBTCBoYXMgdG8gZW5zdXJlIHRoYXQgaXQgaXMgd2FpdGVkIHRpbGwgdGhlIGRldmljZQorICAgICAqICBmaW5pc2hlcyBpdHMgZXhlY3V0aW9uLgorICAgICAqICBccmV0dXJuIDAgb24gc3VjY2VzcyAtMSBvbiBlcnJvcgorICAgICAqLworICAgIHZpcnR1YWwgaW50IHN0YXJ0RGV2aWNlKHZvaWQpIHsKICAgICAgIGNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfU3RhcnQpOwogICAgICAgcmV0dXJuIDE7Ci0gICAgfTsKLS8qIVxicmllZiBFeGVjdXRlIHRoZSBnaXZlbiBtYW5hZ2VtZW50IGNvbW1hbmQKLSAqCi0gKiBFdmFsdWF0ZXMgdGhlIG1fc0Rlc3RpbmF0aW9uIHBhcmFtZXRlciBvZiB0aGUgY29tbWFuZCBpZiBlbXB0eSB0aGlzIGNsYXNzIHRyaWVzIHRvIGV4ZWN1dGUgdGhlIG1hbmFnZW1lbnQgY29tbWFuZCBpZiBub3QKLSAqIHRoZSByZWZlcmVuY2VkIHJlc291cmNlIGlzIGNhbGxlZCBmb3IgaGFuZGxpbmcgdGhlIGNvbW1hbmQuCi0gKiBccGFyYW0gcGFfb0NvbW1hbmQgRk9SVEUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgY29tbWFuZAotICogXHJldHVybiByZXNwb25zZSBvZiB0aGUgTUdNQ29tbWFuZCBleGVjdXRpb24gYXMgZGVmaW5lZCBpbiBJRUMgNjE0OTkKLSAqLwotICAgIHZpcnR1YWwgRU1HTVJlc3BvbnNlIGV4ZWN1dGVNR01Db21tYW5kKGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFfb0NvbW1hbmQpOworICAgIH0KIAotLy8hIFJldHJpZXZlIHRoZSBkZXZpY2UgZXhlY3V0aW9uIG9mIHRoaXMgZGV2aWNlCi0gICAgQ0RldmljZUV4ZWN1dGlvbiAmZ2V0RGV2aWNlRXhlY3V0aW9uKHZvaWQpIHtyZXR1cm4gbV9vRGV2aWNlRXhlY3V0aW9uOyB9OworICAgIC8qIVxicmllZiBFeGVjdXRlIHRoZSBnaXZlbiBtYW5hZ2VtZW50IGNvbW1hbmQKKyAgICAgKgorICAgICAqIEV2YWx1YXRlcyB0aGUgbV9zRGVzdGluYXRpb24gcGFyYW1ldGVyIG9mIHRoZSBjb21tYW5kIGlmIGVtcHR5IHRoaXMgY2xhc3MgdHJpZXMgdG8gZXhlY3V0ZSB0aGUgbWFuYWdlbWVudCBjb21tYW5kIGlmIG5vdAorICAgICAqIHRoZSByZWZlcmVuY2VkIHJlc291cmNlIGlzIGNhbGxlZCBmb3IgaGFuZGxpbmcgdGhlIGNvbW1hbmQuCisgICAgICogXHBhcmFtIHBhX29Db21tYW5kIEZPUlRFIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IGNvbW1hbmQKKyAgICAgKiBccmV0dXJuIHJlc3BvbnNlIG9mIHRoZSBNR01Db21tYW5kIGV4ZWN1dGlvbiBhcyBkZWZpbmVkIGluIElFQyA2MTQ5OQorICAgICAqLworICAgIHZpcnR1YWwgRU1HTVJlc3BvbnNlIGV4ZWN1dGVNR01Db21tYW5kKGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKTsKIAotICAgIENUaW1lckhhbmRsZXImIGdldFRpbWVyKCkgY29uc3R7Ci0gICAgICByZXR1cm4gbV9vRGV2aWNlRXhlY3V0aW9uLmdldFRpbWVyKCk7CisgICAgdmlydHVhbCBFTUdNUmVzcG9uc2UgY2hhbmdlRkJFeGVjdXRpb25TdGF0ZShFTUdNQ29tbWFuZFR5cGUgcGFDb21tYW5kKTsKKworICAgIC8vISBSZXRyaWV2ZSB0aGUgZGV2aWNlIGV4ZWN1dGlvbiBvZiB0aGlzIGRldmljZQorICAgIENEZXZpY2VFeGVjdXRpb24gJmdldERldmljZUV4ZWN1dGlvbih2b2lkKSB7CisgICAgICByZXR1cm4gbURldmljZUV4ZWN1dGlvbjsKKyAgICB9CisKKyAgICBDVGltZXJIYW5kbGVyJiBnZXRUaW1lcigpIGNvbnN0IHsKKyAgICAgIHJldHVybiBtRGV2aWNlRXhlY3V0aW9uLmdldFRpbWVyKCk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZGV2aWNlRXhlY3V0aW9uSGFuZGxlcnMuY3BwLmluIGIvc3JjL2NvcmUvZGV2aWNlRXhlY3V0aW9uSGFuZGxlcnMuY3BwLmluCmluZGV4IDY1MjM4YmMuLmEyMDMyNDggMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2RldmljZUV4ZWN1dGlvbkhhbmRsZXJzLmNwcC5pbgorKysgYi9zcmMvY29yZS9kZXZpY2VFeGVjdXRpb25IYW5kbGVycy5jcHAuaW4KQEAgLTEsMTcgKzEsMTkgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSCAKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGhhbmRsZXIgaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2luY2x1ZGUgPGRldmV4ZWMuaD4KKyAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkggCisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBoYW5kbGVyIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgPHRpbWVyaGEuaD4KKyNpbmNsdWRlIDxkZXZleGVjLmg+CisKICR7SEFORExFUk1BTkFHRVJfSU5DTFVERX0KIAogY29uc3Qgc2l6ZV90IENUaW1lckhhbmRsZXI6Om1IYW5kbGVySWRlbnRpZmllciA9IDA7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9lY2V0LmNwcCBiL3NyYy9jb3JlL2VjZXQuY3BwCmluZGV4IDZiNzc2YjMuLmJiNTE0MjIgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2VjZXQuY3BwCisrKyBiL3NyYy9jb3JlL2VjZXQuY3BwCkBAIC0xLDE1ICsxLDE3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgUmVuZSBTbW9kaWMsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255Ci0gICogICAgTWljaGVhbCBIb2ZtYW5uCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXIsIFJlbmUgU21vZGljLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueQorICogICAgTWljaGVhbCBIb2ZtYW5uCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgPGZvcnRlX2NvbmZpZy5oPgogI2luY2x1ZGUgPGZvcnRlbmV3Lmg+CiAjaW5jbHVkZSAiZWNldC5oIgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZWNldC5oIGIvc3JjL2NvcmUvZWNldC5oCmluZGV4IGM1OWUxZmEuLjhkYjAxMzEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2VjZXQuaAorKysgYi9zcmMvY29yZS9lY2V0LmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBBbG9pcyBab2l0bCwgR3VubmFyIEdyYWJtYWllciwgVGhvbWFzIFN0cmFzc2VyLCBSZW5lIFNtb2RpYywgSW5nbyBIZWdueQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bCwgR3VubmFyIEdyYWJtYWllciwgVGhvbWFzIFN0cmFzc2VyLCBSZW5lIFNtb2RpYywgSW5nbyBIZWdueQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX0VDRVRfSF8KICNkZWZpbmUgX0VDRVRfSF8KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZWNldEZhY3RvcnkuY3BwIGIvc3JjL2NvcmUvZWNldEZhY3RvcnkuY3BwCmluZGV4IGFiMDY2ZGQuLjRlZmI5MDUgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2VjZXRGYWN0b3J5LmNwcAorKysgYi9zcmMvY29yZS9lY2V0RmFjdG9yeS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2VzZmIuaCBiL3NyYy9jb3JlL2VzZmIuaAppbmRleCA1MTM3NWNmLi4wOGVmMjZlIDEwMDY0NAotLS0gYS9zcmMvY29yZS9lc2ZiLmgKKysrIGIvc3JjL2NvcmUvZXNmYi5oCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTQgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIKLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTQgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9FU0ZCX0hfCiAjZGVmaW5lIF9FU0ZCX0hfCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2V2ZW50LmggYi9zcmMvY29yZS9ldmVudC5oCmluZGV4IDRhOWM4YTkuLjhlYTJhNDUgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2V2ZW50LmgKKysrIGIvc3JjL2NvcmUvZXZlbnQuaApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgR3VubmFyIEdyYWJtYWllciwgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bA0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJIDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBHdW5uYXIgR3JhYm1haWVyLCBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2lmbmRlZiBfRVZFTlRfSF8NCiAjZGVmaW5lIF9FVkVOVF9IXw0KIA0KQEAgLTIyLDcgKzI0LDcgQEAKICAqLw0KIHR5cGVkZWYgVEZvcnRlVUludDggVEV2ZW50SUQ7DQogDQotc3RydWN0IFNDb25uZWN0aW9uUG9pbnQ7DQorY2xhc3MgQ0Nvbm5lY3Rpb25Qb2ludDsNCiANCiAvLyFcaW5ncm91cCBDT1JFIENvbnN0YW50IGZvciB0aGUgaW52YWxpZCBldmVudCBpbnB1dCBpZA0KIGNvbnN0IFRFdmVudElEIGNnX25JbnZhbGlkRXZlbnRJRCA9IGNnX3VuSW52YWxpZFBvcnRJZDsNCkBAIC0zNiw3ICszOCw3IEBACiANCiAvKiFcaW5ncm91cCBDT1JFIFxicmllZiBTdHJ1Y3R1cmUgdG8gaG9sZCB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIGZvciBkZWxpdmVyaW5nIGlucHV0IGV2ZW50cyB0byBGQnMuDQogKi8NCi10eXBlZGVmIFNDb25uZWN0aW9uUG9pbnQgU0V2ZW50RW50cnk7DQordHlwZWRlZiBDQ29ubmVjdGlvblBvaW50IFNFdmVudEVudHJ5Ow0KIA0KIHR5cGVkZWYgU0V2ZW50RW50cnkgKlRFdmVudEVudHJ5UHRyOw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2V2ZW50Y29ubi5jcHAgYi9zcmMvY29yZS9ldmVudGNvbm4uY3BwCmluZGV4IDJmYmUzYmEuLmVkODA0MzcgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2V2ZW50Y29ubi5jcHAKKysrIGIvc3JjL2NvcmUvZXZlbnRjb25uLmNwcApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2luY2x1ZGUgImV2ZW50Y29ubi5oIgogI2luY2x1ZGUgImVjZXQuaCIKICNpbmNsdWRlICJmdW5jYmxvYy5oIgpAQCAtMjUsNyArMjcsNyBAQAogICBUUG9ydElkIG5FSUlEID0gcGFEc3RGQi0+Z2V0RUlJRChwYURzdFBvcnROYW1lSWQpOwogCiAgIGlmKGNnX25JbnZhbGlkRXZlbnRJRCAhPSBuRUlJRCl7Ci0gICAgcmV0dmFsID0gQ0Nvbm5lY3Rpb246OmFkZERlc3RpbmF0aW9uKFNDb25uZWN0aW9uUG9pbnQocGFEc3RGQiwgbkVJSUQpKTsKKyAgICByZXR2YWwgPSBDQ29ubmVjdGlvbjo6YWRkRGVzdGluYXRpb24oQ0Nvbm5lY3Rpb25Qb2ludChwYURzdEZCLCBuRUlJRCkpOwogICB9CiAgIHJldHVybiByZXR2YWw7CiB9CkBAIC0zNiwyNCArMzgsMjAgQEAKIAogICBpZihjZ19uSW52YWxpZEV2ZW50SUQgIT0gbkVPSUQpewogICAgIG5FT0lEIHw9IGNnSW50ZXJuYWwySW50ZXJmYWNlTWFya2VyOwotICAgIHJldHZhbCA9IENDb25uZWN0aW9uOjphZGREZXN0aW5hdGlvbihTQ29ubmVjdGlvblBvaW50KHBhRHN0RkIsIG5FT0lEKSk7CisgICAgcmV0dmFsID0gQ0Nvbm5lY3Rpb246OmFkZERlc3RpbmF0aW9uKENDb25uZWN0aW9uUG9pbnQocGFEc3RGQiwgbkVPSUQpKTsKICAgfQogICByZXR1cm4gcmV0dmFsOwogfQogCi0KLQotI2lmbmRlZiBGT1JURV9DTEFTU18wCiBFTUdNUmVzcG9uc2UgQ0V2ZW50Q29ubmVjdGlvbjo6ZGlzY29ubmVjdChDRnVuY3Rpb25CbG9jayAqcGFEc3RGQiwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYURzdFBvcnROYW1lSWQpewogICBFTUdNUmVzcG9uc2UgcmV0dmFsID0gZV9OT19TVUNIX09CSkVDVDsKICAgVEV2ZW50SUQgbkVJSUQgPSBwYURzdEZCLT5nZXRFSUlEKHBhRHN0UG9ydE5hbWVJZCk7CiAKICAgaWYoY2dfbkludmFsaWRFdmVudElEICE9IG5FSUlEKXsKLSAgICByZXR2YWwgPSBDQ29ubmVjdGlvbjo6cmVtb3ZlRGVzdGluYXRpb24oU0Nvbm5lY3Rpb25Qb2ludChwYURzdEZCLCBuRUlJRCkpOworICAgIHJldHZhbCA9IENDb25uZWN0aW9uOjpyZW1vdmVEZXN0aW5hdGlvbihDQ29ubmVjdGlvblBvaW50KHBhRHN0RkIsIG5FSUlEKSk7CiAgIH0KICAgcmV0dXJuIHJldHZhbDsKIH0KLSNlbmRpZgogCiB2b2lkIENFdmVudENvbm5lY3Rpb246OnRyaWdnZXJFdmVudChDRXZlbnRDaGFpbkV4ZWN1dGlvblRocmVhZCAmcGFfcG9FeGVjRW52KXsKICAgZm9yKFREZXN0aW5hdGlvbklkTGlzdDo6SXRlcmF0b3IgaXQgPSBtRGVzdGluYXRpb25JZHMuYmVnaW4oKTsKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2V2ZW50Y29ubi5oIGIvc3JjL2NvcmUvZXZlbnRjb25uLmgKaW5kZXggMjc1NzM3NS4uZWY3ZDE5YyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZXZlbnRjb25uLmgKKysrIGIvc3JjL2NvcmUvZXZlbnRjb25uLmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLAotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgQUNJTiwgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX0VWRU5DT05OX0hfCiAjZGVmaW5lIF9FVkVOQ09OTl9IXwogCkBAIC0yOSw5ICszMSw3IEBACiAKICAgICB2aXJ0dWFsIEVNR01SZXNwb25zZSBjb25uZWN0VG9DRkJJbnRlcmZhY2UoQ0Z1bmN0aW9uQmxvY2sgKnBhRHN0RkIsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFEc3RQb3J0TmFtZUlkKTsKIAotI2lmbmRlZiBGT1JURV9DTEFTU18wCiAgICAgdmlydHVhbCBFTUdNUmVzcG9uc2UgZGlzY29ubmVjdChDRnVuY3Rpb25CbG9jayAqcGFEc3RGQiwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYURzdFBvcnROYW1lSWQpOwotI2VuZGlmCiAKICAgICAvKiEgXGJyaWVmIFRyaWdnZXJzIHRoZSBldmVudCBjb25uZWN0aW9uIGFuZCBhbGwgZGVzdGluYXRpb25zIGFyZSBub3RpZmllZC4KICAgICAgKgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZXh0ZXZoYW4uY3BwIGIvc3JjL2NvcmUvZXh0ZXZoYW4uY3BwCmluZGV4IGRjODNkMTkuLjg0MmJmNmIgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2V4dGV2aGFuLmNwcAorKysgYi9zcmMvY29yZS9leHRldmhhbi5jcHAKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwNCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBBbG9pcyBab2l0bA0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpbmNsdWRlICJleHRldmhhbi5oIg0KICNpbmNsdWRlICIuLi9yZXNvdXJjZS5oIg0KICNpbmNsdWRlICIuLi9kZXZpY2UuaCINCmRpZmYgLS1naXQgYS9zcmMvY29yZS9leHRldmhhbi5oIGIvc3JjL2NvcmUvZXh0ZXZoYW4uaAppbmRleCA3YTY4NmNiLi40ZWIyZWIwIDEwMDY0NAotLS0gYS9zcmMvY29yZS9leHRldmhhbi5oCisrKyBiL3NyYy9jb3JlL2V4dGV2aGFuLmgKQEAgLTEsMTMgKzEsMTUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICAqDQotICAqIENvbnRyaWJ1dG9yczoNCi0gICogICAgQWxvaXMgWm9pdGwNCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgNCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIEFsb2lzIFpvaXRsDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQogICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpZm5kZWYgX0VYVEVWSEFOX0hfDQogI2RlZmluZSBfRVhURVZIQU5fSF8NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mYmNvbnRhaW5lci5jcHAgYi9zcmMvY29yZS9mYmNvbnRhaW5lci5jcHAKaW5kZXggNTEyZTgwYy4uOTZiNjlkNSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZmJjb250YWluZXIuY3BwCisrKyBiL3NyYy9jb3JlL2ZiY29udGFpbmVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTYgZm9ydGlzcyBHbWJILCAyMDE4IFRVIFdpZW4vQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgICBBbG9pcyBab2l0bA0KQEAgLTE4MCwxMyArMTgxLDEwIEBACiANCiBDRkJDb250YWluZXIgKkNGQkNvbnRhaW5lcjo6ZmluZE9yQ3JlYXRlQ29udGFpbmVyKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFDb250YWluZXJOYW1lKXsNCiAgIENGQkNvbnRhaW5lciAqcmV0VmFsID0gZ2V0RkJDb250YWluZXIocGFDb250YWluZXJOYW1lKTsNCi0gIGlmKDAgPT0gcmV0VmFsKXsNCi0gICAgLy90aGUgY29udGFpbmVyIHdpdGggdGhlIGdpdmVuIG5hbWUgZG9lcyBub3QgZXhpc3QgY3JlYXRlIGEgbmV3IG9uZQ0KLSAgICBpZigwID09IGdldEZCKHBhQ29udGFpbmVyTmFtZSkpew0KLSAgICAgIC8vb25seSBjcmVhdGUgaXQgaWYgdGhlcmUgaXMgbm8gRkIgd2l0aCB0aGUgc2FtZSBuYW1lLg0KLSAgICAgIHJldFZhbCA9IG5ldyBDRkJDb250YWluZXIocGFDb250YWluZXJOYW1lLCB0aGlzKTsNCi0gICAgICBtU3ViQ29udGFpbmVycy5wdXNoQmFjayhyZXRWYWwpOw0KLSAgICB9DQorICBpZigwID09IHJldFZhbCAmJiAwID09IGdldEZCKHBhQ29udGFpbmVyTmFtZSkpIHsNCisgICAgLy90aGUgY29udGFpbmVyIHdpdGggdGhlIGdpdmVuIG5hbWUgZG9lcyBub3QgZXhpc3QgYnV0IG9ubHkgY3JlYXRlIGl0IGlmIHRoZXJlIGlzIG5vIEZCIHdpdGggdGhlIHNhbWUgbmFtZS4NCisgICAgcmV0VmFsID0gbmV3IENGQkNvbnRhaW5lcihwYUNvbnRhaW5lck5hbWUsIHRoaXMpOw0KKyAgICBtU3ViQ29udGFpbmVycy5wdXNoQmFjayhyZXRWYWwpOw0KICAgfQ0KICAgcmV0dXJuIHJldFZhbDsNCiB9DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZmJjb250YWluZXIuaCBiL3NyYy9jb3JlL2ZiY29udGFpbmVyLmgKaW5kZXggZTNhNWQ5Mi4uNWYzYWUwYyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZmJjb250YWluZXIuaAorKysgYi9zcmMvY29yZS9mYmNvbnRhaW5lci5oCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAxNSBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIEFsb2lzIFpvaXRsCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBBbG9pcyBab2l0bAorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX0ZCQ09OVEFJTkVSX0hfCiAjZGVmaW5lIF9GQkNPTlRBSU5FUl9IXwogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvQ01ha2VMaXN0cy50eHQgYi9zcmMvY29yZS9mbWkvQ01ha2VMaXN0cy50eHQKaW5kZXggZDhmNDFmZC4uZGNmZWZkNyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm1pL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9jb3JlL2ZtaS9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTYsMjAxNyBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgSm9zZSBDYWJyYWwKKyMgQ29weXJpZ2h0IChjKSAyMDE2LDIwMTcgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgSm9zZSBDYWJyYWwKICMgKiAgICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZm1pL2NvbW0vQ01ha2VMaXN0cy50eHQgYi9zcmMvY29yZS9mbWkvY29tbS9DTWFrZUxpc3RzLnR4dAppbmRleCA1OGZiZWNjLi5lYmUwODZlIDEwMDY0NAotLS0gYS9zcmMvY29yZS9mbWkvY29tbS9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvY29yZS9mbWkvY29tbS9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIEpvc2UgQ2FicmFsCisjIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbAogIyAqICAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvY29tbS9mbXVDb21MYXllci5jcHAgYi9zcmMvY29yZS9mbWkvY29tbS9mbXVDb21MYXllci5jcHAKaW5kZXggZTlmMzlmNS4uNThiZTNhOSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm1pL2NvbW0vZm11Q29tTGF5ZXIuY3BwCisrKyBiL3NyYy9jb3JlL2ZtaS9jb21tL2ZtdUNvbUxheWVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZm1pL2NvbW0vZm11Q29tTGF5ZXIuaCBiL3NyYy9jb3JlL2ZtaS9jb21tL2ZtdUNvbUxheWVyLmgKaW5kZXggYTE0ZTdhMS4uZGY1NTI0MSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm1pL2NvbW0vZm11Q29tTGF5ZXIuaAorKysgYi9zcmMvY29yZS9mbWkvY29tbS9mbXVDb21MYXllci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvY29tbS9mbXVIYW5kbGVyLmNwcCBiL3NyYy9jb3JlL2ZtaS9jb21tL2ZtdUhhbmRsZXIuY3BwCmluZGV4IGJmNmU0MWMuLmZmZTBlMGQgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2ZtaS9jb21tL2ZtdUhhbmRsZXIuY3BwCisrKyBiL3NyYy9jb3JlL2ZtaS9jb21tL2ZtdUhhbmRsZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvY29tbS9mbXVIYW5kbGVyLmggYi9zcmMvY29yZS9mbWkvY29tbS9mbXVIYW5kbGVyLmgKaW5kZXggMWJhMzYzZS4uMzA4NGQ5MSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm1pL2NvbW0vZm11SGFuZGxlci5oCisrKyBiL3NyYy9jb3JlL2ZtaS9jb21tL2ZtdUhhbmRsZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZm1pL2ZtaUludGVyZmFjZS5jcHAgYi9zcmMvY29yZS9mbWkvZm1pSW50ZXJmYWNlLmNwcAppbmRleCBmNzQyOWEwLi4wNTE1ZTQyIDEwMDY0NAotLS0gYS9zcmMvY29yZS9mbWkvZm1pSW50ZXJmYWNlLmNwcAorKysgYi9zcmMvY29yZS9mbWkvZm1pSW50ZXJmYWNlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE0LDgxICsxNSw5NiBAQAogCiBmbWkyU3RyaW5nIGxvZ2dpbmdOYW1lc1tdID0geyAibG9nQWxsIiwgImxvZ0NhbGxzIiwgImxvZ0Vycm9yIiB9OwogCisjZGVmaW5lIENIRUNLX1JFRl9BTkRfVkFMVUUoKSBcCisgIGlmKG52ciA+IDAgJiYgKCF2ciB8fCAhdmFsdWUpKSB7IFwKKyAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIk9uZSBvciBib3RoIG9mIHRoZSBhcnJheXMgdnJbXSBhbmQgdmFsdWVbXSB3ZXJlIGludmFsaWQuIikgXAorICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9FUlJPUik7IFwKKyAgICByZXR1cm4gZm1pMkVycm9yOyBcCisgIH0KKworI2RlZmluZSBDSEVDS19SRUZfSU5fSU8oKSBcCisgIGlmKHZyW2ldID49IGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuc2l6ZSgpKSB7IFwKKyAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIlRoZSByZWZlcmVuY2UgJWQgaXMgb3V0IG9mIHJhbmdlLiBUaGUgbW9kZWwgc3VwcG9ydHMgdXAgdG8gJWQuIiwgdnJbaV0sIGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuc2l6ZSgpIC0gMSkgXAorICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9FUlJPUik7IFwKKyAgICByZXR1cm4gZm1pMkVycm9yOyBcCisgIH0KKwogZXh0ZXJuICJDIiB7CiAKICAgZm1pMlN0YXR1cyBmdW5jdGlvbk5vdFN1cHBvcnRlZChmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGNoYXIgKmZ1bmN0aW9uTmFtZSk7CiAgIHZvaWQgZnJlZUluc3RhbmNlSW50ZXJuYWwoZm1pMkNvbXBvbmVudCBjKTsKIAotICBjb25zdCBjaGFyKiBmbWkyR2V0VHlwZXNQbGF0Zm9ybSgpeworICBjb25zdCBjaGFyKiBmbWkyR2V0VHlwZXNQbGF0Zm9ybSgpIHsKICAgICByZXR1cm4gZm1pMlR5cGVzUGxhdGZvcm07CiAgIH0KIAotICBjb25zdCBjaGFyKiBmbWkyR2V0VmVyc2lvbigpeworICBjb25zdCBjaGFyKiBmbWkyR2V0VmVyc2lvbigpIHsKICAgICByZXR1cm4gZm1pMlZlcnNpb247CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJTZXREZWJ1Z0xvZ2dpbmcoZm1pMkNvbXBvbmVudCBjLCBmbWkyQm9vbGVhbiBsb2dnaW5nT24sIHNpemVfdCBuQ2F0ZWdvcmllcywgY29uc3QgZm1pMlN0cmluZyBjYXRlZ29yaWVzW10peworICBmbWkyU3RhdHVzIGZtaTJTZXREZWJ1Z0xvZ2dpbmcoZm1pMkNvbXBvbmVudCBjLCBmbWkyQm9vbGVhbiBsb2dnaW5nT24sIHNpemVfdCBuQ2F0ZWdvcmllcywgY29uc3QgZm1pMlN0cmluZyBjYXRlZ29yaWVzW10pIHsKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX1NFVF9ERUJVR19MT0dHSU5HKQogCi0gICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IE5VTUJFUl9PRl9MT0dfQ0FURUdPUklFUzsgaSsrKXsKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgTlVNQkVSX09GX0xPR19DQVRFR09SSUVTOyBpKyspIHsKICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRMb2dnaW5nQ2F0ZWdvcmllcygpW2ldID0gZm1pMkZhbHNlOwogICAgIH0KIAotICAgIGlmKGZtaTJUcnVlID09IGxvZ2dpbmdPbil7Ci0gICAgICBpZihuQ2F0ZWdvcmllcyA+IDApewotICAgICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbkNhdGVnb3JpZXM7IGkrKyl7CisgICAgaWYoZm1pMlRydWUgPT0gbG9nZ2luZ09uKSB7CisgICAgICBpZihuQ2F0ZWdvcmllcyA+IDApIHsKKyAgICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG5DYXRlZ29yaWVzOyBpKyspIHsKICAgICAgICAgICBmbWkyQm9vbGVhbiBjYXRlZ29yeUZvdW5kID0gZm1pMkZhbHNlOwotICAgICAgICAgIGZvcih1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBOVU1CRVJfT0ZfTE9HX0NBVEVHT1JJRVM7IGorKyl7Ci0gICAgICAgICAgICBpZihzdHJjbXAobG9nZ2luZ05hbWVzW2pdLCBjYXRlZ29yaWVzW2ldKSA9PSAwKXsKKyAgICAgICAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgTlVNQkVSX09GX0xPR19DQVRFR09SSUVTOyBqKyspIHsKKyAgICAgICAgICAgIGlmKHN0cmNtcChsb2dnaW5nTmFtZXNbal0sIGNhdGVnb3JpZXNbaV0pID09IDApIHsKICAgICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UtPmdldExvZ2dpbmdDYXRlZ29yaWVzKClbal0gPSBmbWkyVHJ1ZTsKICAgICAgICAgICAgICAgY2F0ZWdvcnlGb3VuZCA9IGZtaTJUcnVlOwogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9Ci0gICAgICAgICAgaWYoIWNhdGVnb3J5Rm91bmQpewotICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UtPmdldENhbGxiYWNrRnVuY3Rpb25zKCktPmxvZ2dlcihjb21wb25lbnRJbnN0YW5jZS0+Z2V0Q2FsbGJhY2tGdW5jdGlvbnMoKS0+Y29tcG9uZW50RW52aXJvbm1lbnQsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRJbnN0YW5jZU5hbWUoKS5nZXRWYWx1ZSgpLAotICAgICAgICAgICAgICAgIGZtaTJXYXJuaW5nLCBsb2dnaW5nTmFtZXNbTE9HX0VSUk9SXSwgIlRoZSBjYXRlZ29yeSAlcyBpcyBub3Qgc3VwcG9ydGVkLiIsIGNhdGVnb3JpZXNbaV0pOworICAgICAgICAgIGlmKCFjYXRlZ29yeUZvdW5kKSB7CisgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS0+Z2V0Q2FsbGJhY2tGdW5jdGlvbnMoKS0+bG9nZ2VyKGNvbXBvbmVudEluc3RhbmNlLT5nZXRDYWxsYmFja0Z1bmN0aW9ucygpLT5jb21wb25lbnRFbnZpcm9ubWVudCwKKyAgICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UtPmdldEluc3RhbmNlTmFtZSgpLmdldFZhbHVlKCksIGZtaTJXYXJuaW5nLCBsb2dnaW5nTmFtZXNbTE9HX0VSUk9SXSwgIlRoZSBjYXRlZ29yeSAlcyBpcyBub3Qgc3VwcG9ydGVkLiIsIGNhdGVnb3JpZXNbaV0pOwogICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgfQotICAgICAgZWxzZXsKKyAgICAgIH0gZWxzZSB7CiAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRMb2dnaW5nQ2F0ZWdvcmllcygpW0xPR19BTExdID0gZm1pMlRydWU7CiAgICAgICB9CiAgICAgfQogCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgImZtaTJTZXREZWJ1Z0xvZ2dpbmcgLSBHVUlEID0gJXMiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMk9LKQorICAgIHJldHVybiBmbWkyT0s7CiAgIH0KIAotICBmbWkyQ29tcG9uZW50IGZtaTJJbnN0YW50aWF0ZShmbWkyU3RyaW5nIGluc3RhbmNlTmFtZSwgZm1pMlR5cGUgZm11VHlwZSwgZm1pMlN0cmluZyBmbXVHVUlELCBmbWkyU3RyaW5nIGZtdVJlc291cmNlTG9jYXRpb24sIGNvbnN0IGZtaTJDYWxsYmFja0Z1bmN0aW9ucyogZnVuY3Rpb25zLCBmbWkyQm9vbGVhbiB2aXNpYmxlLCBmbWkyQm9vbGVhbiBsb2dnaW5nT24pewotICAgTk9UX1VTRUQodmlzaWJsZSkKLSAgIGZtdUluc3RhbmNlICpjb21wb25lbnRJbnN0YW5jZSA9IDA7CisgIGZtaTJDb21wb25lbnQgZm1pMkluc3RhbnRpYXRlKGZtaTJTdHJpbmcgaW5zdGFuY2VOYW1lLCBmbWkyVHlwZSBmbXVUeXBlLCBmbWkyU3RyaW5nIGZtdUdVSUQsIGZtaTJTdHJpbmcgZm11UmVzb3VyY2VMb2NhdGlvbiwKKyAgICAgIGNvbnN0IGZtaTJDYWxsYmFja0Z1bmN0aW9ucyogZnVuY3Rpb25zLCBmbWkyQm9vbGVhbiB2aXNpYmxlLCBmbWkyQm9vbGVhbiBsb2dnaW5nT24pIHsKKyAgICBOT1RfVVNFRCh2aXNpYmxlKQorICAgIGZtdUluc3RhbmNlICpjb21wb25lbnRJbnN0YW5jZSA9IDA7CiAKLSAgICBpZighZnVuY3Rpb25zIHx8ICFmdW5jdGlvbnMtPmxvZ2dlcil7IC8vbG9nZ2VyIG11c3QgYmUgY2FsbGVkIGlmIGluc3RhbnRpYXRpb24gZmFpbGVkLCBzbyBsb2dnZXIgc2hvdWxkIGV4aXN0cworICAgIGlmKCFmdW5jdGlvbnMgfHwgIWZ1bmN0aW9ucy0+bG9nZ2VyKSB7IC8vbG9nZ2VyIG11c3QgYmUgY2FsbGVkIGlmIGluc3RhbnRpYXRpb24gZmFpbGVkLCBzbyBsb2dnZXIgc2hvdWxkIGV4aXN0cwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYoIWluc3RhbmNlTmFtZSB8fCAwID09IHN0cmxlbihpbnN0YW5jZU5hbWUpIHx8IHN0cmNtcChpbnN0YW5jZU5hbWUsICIgIikgPT0gMCl7CisgICAgaWYoIWluc3RhbmNlTmFtZSB8fCAwID09IHN0cmxlbihpbnN0YW5jZU5hbWUpIHx8IHN0cmNtcChpbnN0YW5jZU5hbWUsICIgIikgPT0gMCkgewogICAgICAgZnVuY3Rpb25zLT5sb2dnZXIoZnVuY3Rpb25zLT5jb21wb25lbnRFbnZpcm9ubWVudCwgIi0iLCBmbWkyRXJyb3IsIGxvZ2dpbmdOYW1lc1tMT0dfRVJST1JdLCAiVGhlIGluc3RhbmNlTmFtZSBpcyBub3QgdmFsaWQuIik7CiAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBpZihmbWkyQ29TaW11bGF0aW9uICE9IGZtdVR5cGUpeyAvL0ZPUlRFIG9ubHkgc3VwcG9ydHMgY28tc2ltdWxhdGlvbgorICAgIGlmKGZtaTJDb1NpbXVsYXRpb24gIT0gZm11VHlwZSkgeyAvL0ZPUlRFIG9ubHkgc3VwcG9ydHMgY28tc2ltdWxhdGlvbgogICAgICAgZnVuY3Rpb25zLT5sb2dnZXIoZnVuY3Rpb25zLT5jb21wb25lbnRFbnZpcm9ubWVudCwgaW5zdGFuY2VOYW1lLCBmbWkyRXJyb3IsIGxvZ2dpbmdOYW1lc1tMT0dfRVJST1JdLCAiRk9SVEUgb25seSBzdXBwb3J0cyBjby1zaW11bGF0aW9uLiIpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYoIWZtdUdVSUQgfHwgMCA9PSBzdHJsZW4oZm11R1VJRCkpeworICAgIGlmKCFmbXVHVUlEIHx8IDAgPT0gc3RybGVuKGZtdUdVSUQpKSB7CiAgICAgICBmdW5jdGlvbnMtPmxvZ2dlcihmdW5jdGlvbnMtPmNvbXBvbmVudEVudmlyb25tZW50LCBpbnN0YW5jZU5hbWUsIGZtaTJFcnJvciwgbG9nZ2luZ05hbWVzW0xPR19FUlJPUl0sICJUaGUgR1VJRCBpcyBub3QgdmFsaWQuIik7CiAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBpZihzdHJjbXAoZm11R1VJRCwgTU9ERUxfR1VJRCkpewotICAgICAgZnVuY3Rpb25zLT5sb2dnZXIoZnVuY3Rpb25zLT5jb21wb25lbnRFbnZpcm9ubWVudCwgaW5zdGFuY2VOYW1lLCBmbWkyV2FybmluZywgbG9nZ2luZ05hbWVzW0xPR19FUlJPUl0sICJUaGUgZ2l2ZW4gR1VJRDogJXMgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBtb2RlbCdzIEdVSUQ6ICVzLiIsIGZtdUdVSUQsIE1PREVMX0dVSUQpOworICAgIGlmKHN0cmNtcChmbXVHVUlELCBNT0RFTF9HVUlEKSkgeworICAgICAgZnVuY3Rpb25zLT5sb2dnZXIoZnVuY3Rpb25zLT5jb21wb25lbnRFbnZpcm9ubWVudCwgaW5zdGFuY2VOYW1lLCBmbWkyV2FybmluZywgbG9nZ2luZ05hbWVzW0xPR19FUlJPUl0sCisgICAgICAgICJUaGUgZ2l2ZW4gR1VJRDogJXMgaXMgbm90IHRoZSBzYW1lIGFzIHRoZSBtb2RlbCdzIEdVSUQ6ICVzLiIsIGZtdUdVSUQsIE1PREVMX0dVSUQpOwogICAgICAgLy9yZXR1cm4gMDsgLy9UT0RPOiBNT0RFTF9HVUlEIGlzIHRoZSBvbmx5IG5vdCBmdWxseSBzdXBwb3J0ZWQgY2hhcmFjdGVyaXN0aWMgYnkgYm9vdGluZyB0aGUgaW5zdGFuY2UgZnJvbSBhIGZpbGUKICAgICB9CiAKLSAgICBpZighZm11UmVzb3VyY2VMb2NhdGlvbiB8fCAwID09IHN0cmxlbihmbXVSZXNvdXJjZUxvY2F0aW9uKSl7CisgICAgaWYoIWZtdVJlc291cmNlTG9jYXRpb24gfHwgMCA9PSBzdHJsZW4oZm11UmVzb3VyY2VMb2NhdGlvbikpIHsKICAgICAgIGZ1bmN0aW9ucy0+bG9nZ2VyKGZ1bmN0aW9ucy0+Y29tcG9uZW50RW52aXJvbm1lbnQsIGluc3RhbmNlTmFtZSwgZm1pMkVycm9yLCBsb2dnaW5nTmFtZXNbTE9HX0VSUk9SXSwgIlRoZSBmbXVSZXNvdXJjZUxvY2F0aW9uIHN0cmluZyBpcyBub3QgdmFsaWQuIik7CiAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC05NiwzOSArMTEyLDQwIEBACiAgICAgZnVuY3Rpb25zLT5sb2dnZXIoZnVuY3Rpb25zLT5jb21wb25lbnRFbnZpcm9ubWVudCwgaW5zdGFuY2VOYW1lLCBmbWkyT0ssIGxvZ2dpbmdOYW1lc1tMT0dfQUxMXSwgIlJlc291cmNlIGxvY2F0aW9uIGlzICVzIiwgZm11UmVzb3VyY2VMb2NhdGlvbik7CiAKICAgICBzdGQ6OnN0cmluZyBmaWxlKGZtdVJlc291cmNlTG9jYXRpb24pOwotICAgIGlmKDAgPT0gZmlsZS5jb21wYXJlKDAsIDYsICJmaWxlOi8iKSl7Ci0gICAgICBpZiAoMCA9PSBmaWxlLmNvbXBhcmUoMCwgOCwgImZpbGU6Ly8vIikpeworICAgIGlmKDAgPT0gZmlsZS5jb21wYXJlKDAsIDYsICJmaWxlOi8iKSkgeworICAgICAgaWYoMCA9PSBmaWxlLmNvbXBhcmUoMCwgOCwgImZpbGU6Ly8vIikpIHsKICAgICAgICAgZmlsZSA9IGZpbGUuc3Vic3RyKDgsIHN0ZDo6c3RyaW5nOjpucG9zKTsKLSAgICAgIH1lbHNleworICAgICAgfSBlbHNlIHsKICAgICAgICAgZmlsZSA9IGZpbGUuc3Vic3RyKDYsIHN0ZDo6c3RyaW5nOjpucG9zKTsKICAgICAgIH0KICAgICAgIGZ1bmN0aW9ucy0+bG9nZ2VyKGZ1bmN0aW9ucy0+Y29tcG9uZW50RW52aXJvbm1lbnQsIGluc3RhbmNlTmFtZSwgZm1pMk9LLCBsb2dnaW5nTmFtZXNbTE9HX0FMTF0sICJSZXNvdXJjZSBsb2NhdGlvbiBpcyBub3cgJXMiLCBmaWxlLmNfc3RyKCkpOwotICAgIH1lbHNlewotICAgICAgZnVuY3Rpb25zLT5sb2dnZXIoZnVuY3Rpb25zLT5jb21wb25lbnRFbnZpcm9ubWVudCwgaW5zdGFuY2VOYW1lLCBmbWkyRXJyb3IsIGxvZ2dpbmdOYW1lc1tMT0dfRVJST1JdLCAiVGhlIGZtdVJlc291cmNlTG9jYXRpb24gaXMgbm90IHZhbGlkLiBJdCBzaG91bGQgc3RhcnQgd2l0aCBmaWxlOi8iKTsKKyAgICB9IGVsc2UgeworICAgICAgZnVuY3Rpb25zLT5sb2dnZXIoZnVuY3Rpb25zLT5jb21wb25lbnRFbnZpcm9ubWVudCwgaW5zdGFuY2VOYW1lLCBmbWkyRXJyb3IsIGxvZ2dpbmdOYW1lc1tMT0dfRVJST1JdLAorICAgICAgICAiVGhlIGZtdVJlc291cmNlTG9jYXRpb24gaXMgbm90IHZhbGlkLiBJdCBzaG91bGQgc3RhcnQgd2l0aCBmaWxlOi8iKTsKICAgICB9Ci0gICAgaWYgKCcvJyAhPSAqZmlsZS5yYmVnaW4oKSl7CisgICAgaWYoJy8nICE9ICpmaWxlLnJiZWdpbigpKSB7CiAgICAgICBmaWxlICs9ICIvIjsKICAgICB9CiAgICAgZmlsZSArPSAiZm9ydGUuZmJvb3QiOwogCi0gICAgaWYoIWZ1bmN0aW9ucy0+YWxsb2NhdGVNZW1vcnkgfHwgIWZ1bmN0aW9ucy0+ZnJlZU1lbW9yeSl7IC8vc3RlcEZpbmlzaGVkIGlzIG9wdGlvbmFsLCB0aGF0J3Mgd2h5IGlzIG5vdCBjaGVja2VkLgorICAgIGlmKCFmdW5jdGlvbnMtPmFsbG9jYXRlTWVtb3J5IHx8ICFmdW5jdGlvbnMtPmZyZWVNZW1vcnkpIHsgLy9zdGVwRmluaXNoZWQgaXMgb3B0aW9uYWwsIHRoYXQncyB3aHkgaXMgbm90IGNoZWNrZWQuCiAgICAgICBmdW5jdGlvbnMtPmxvZ2dlcihmdW5jdGlvbnMtPmNvbXBvbmVudEVudmlyb25tZW50LCBpbnN0YW5jZU5hbWUsIGZtaTJFcnJvciwgbG9nZ2luZ05hbWVzW0xPR19FUlJPUl0sICJTb21lIG9mIHRoZSBjYWxsYmFja0Z1bmN0aW9ucyBhcmUgbm90IHZhbGlkLiIpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogCiAgICAgY29tcG9uZW50SW5zdGFuY2UgPSBuZXcgZm11SW5zdGFuY2UoaW5zdGFuY2VOYW1lLCBmbXVHVUlELCBmaWxlLmNfc3RyKCksIGZ1bmN0aW9ucyk7Ci0gICAgaWYoIWNvbXBvbmVudEluc3RhbmNlKXsKLSAgICAgICAgZnVuY3Rpb25zLT5sb2dnZXIoZnVuY3Rpb25zLT5jb21wb25lbnRFbnZpcm9ubWVudCwgaW5zdGFuY2VOYW1lLCBmbWkyRXJyb3IsIGxvZ2dpbmdOYW1lc1tMT0dfRVJST1JdLCAiRXJyb3IgY3JlYXRpbmcgdGhlIGluc3RhbmNlIG9iamVjdC4iKTsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgaWYoIWNvbXBvbmVudEluc3RhbmNlKSB7CisgICAgICBmdW5jdGlvbnMtPmxvZ2dlcihmdW5jdGlvbnMtPmNvbXBvbmVudEVudmlyb25tZW50LCBpbnN0YW5jZU5hbWUsIGZtaTJFcnJvciwgbG9nZ2luZ05hbWVzW0xPR19FUlJPUl0sICJFcnJvciBjcmVhdGluZyB0aGUgaW5zdGFuY2Ugb2JqZWN0LiIpOworICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYoU1RBVEVfSU5TVEFOVElBVEVEICE9IGNvbXBvbmVudEluc3RhbmNlLT5nZXRTdGF0ZSgpKXsKKyAgICBpZihTVEFURV9JTlNUQU5USUFURUQgIT0gY29tcG9uZW50SW5zdGFuY2UtPmdldFN0YXRlKCkpIHsKICAgICAgIGZyZWVJbnN0YW5jZUludGVybmFsKGNvbXBvbmVudEluc3RhbmNlKTsKICAgICAgIGZ1bmN0aW9ucy0+bG9nZ2VyKGZ1bmN0aW9ucy0+Y29tcG9uZW50RW52aXJvbm1lbnQsIGluc3RhbmNlTmFtZSwgZm1pMkVycm9yLCBsb2dnaW5nTmFtZXNbTE9HX0VSUk9SXSwgIkxvYWRpbmcgdGhlIEZCIHdhcyBub3QgY29ycmVjdCIpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IE5VTUJFUl9PRl9MT0dfQ0FURUdPUklFUzsgaSsrKXsKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgTlVNQkVSX09GX0xPR19DQVRFR09SSUVTOyBpKyspIHsKICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRMb2dnaW5nQ2F0ZWdvcmllcygpW2ldID0gbG9nZ2luZ09uOwogICAgIH0KIApAQCAtMTM2LDMwMyArMTUzLDI0NiBAQAogICAgIHJldHVybiBjb21wb25lbnRJbnN0YW5jZTsKICAgfQogCi0gIHZvaWQgZm1pMkZyZWVJbnN0YW5jZShmbWkyQ29tcG9uZW50IGMpeworICB2b2lkIGZtaTJGcmVlSW5zdGFuY2UoZm1pMkNvbXBvbmVudCBjKSB7CiAgICAgRU5UUllfRlVOQ1RJT05fTk9fUkVUVVJOKEZNSTJfRlJFRV9JTlNUQU5DRSkKLSAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyRnJlZUluc3RhbmNlXG4iIDw8ICItLS0tLS0tLS0tLS0tLVxuIikKKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMkZyZWVJbnN0YW5jZVxuIiA8PCAiLS0tLS0tLS0tLS0tLS1cbiIpCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgImZtaTJGcmVlSW5zdGFuY2UgLSBHVUlEID0gJXMiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCiAgICAgZnJlZUluc3RhbmNlSW50ZXJuYWwoY29tcG9uZW50SW5zdGFuY2UpOwotICAgIExFQVZFX0ZVTkNUSU9OX05PX1JFVFVSTigpCiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJTZXR1cEV4cGVyaW1lbnQoZm1pMkNvbXBvbmVudCBjLCBmbWkyQm9vbGVhbiB0b2xlcmFuY2VEZWZpbmVkLCBmbWkyUmVhbCB0b2xlcmFuY2UsIGZtaTJSZWFsIHN0YXJ0VGltZSwgZm1pMkJvb2xlYW4gc3RvcFRpbWVEZWZpbmVkLCBmbWkyUmVhbCBzdG9wVGltZSl7CisgIGZtaTJTdGF0dXMgZm1pMlNldHVwRXhwZXJpbWVudChmbWkyQ29tcG9uZW50IGMsIGZtaTJCb29sZWFuIHRvbGVyYW5jZURlZmluZWQsIGZtaTJSZWFsIHRvbGVyYW5jZSwgZm1pMlJlYWwgc3RhcnRUaW1lLCBmbWkyQm9vbGVhbiBzdG9wVGltZURlZmluZWQsCisgICAgICBmbWkyUmVhbCBzdG9wVGltZSkgewogICAgIE5PVF9VU0VEKHRvbGVyYW5jZURlZmluZWQpCiAgICAgTk9UX1VTRUQodG9sZXJhbmNlKQogICAgIEVOVFJZX0ZVTkNUSU9OKEZNSTJfU0VUVVBfRVhQRVJJTUVOVCkKIAotICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJTZXR1cEV4cGVyaW1lbnQgXG4iIDw8ICItLS0tLS0tLS0tLS0tLVxuIikKKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMlNldHVwRXhwZXJpbWVudCBcbiIgPDwgIi0tLS0tLS0tLS0tLS0tXG4iKQogICAgIC8vdG9sZXJhbmNlRGVmaW5lZCBtaWdodCBiZSBpZ25vcmVkIGluIGNvLXNpbXVsYXRpb24gYWNjb3JkaW5nIHRvIEZNSS4KICAgICAvL1RPRE86IENoZWNrIGlmIGRvaW5nIHRoaXMgd2l0aCBzdGFydFRpbWUgaXMgT0suIFRoZSB0aW1lIGluIHRoZSB0aW1lckhhbmRsZXIgY2Fubm90IGJlIGNoYW5nZWQgYmVjYXVzZSBpcyBwcml2YXRlIGluIHRoZSBiYXNlIGNsYXNzCiAgICAgQ0lFQ19MUkVBTCBhZHZhbmNlVGltZSA9IHN0YXJ0VGltZTsKICAgICBjb21wb25lbnRJbnN0YW5jZS0+YWR2YW5jZUluc3RhbmNlVGltZShhZHZhbmNlVGltZSk7CiAKLSAgICBpZihzdG9wVGltZURlZmluZWQpeworICAgIGlmKHN0b3BUaW1lRGVmaW5lZCkgewogICAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0b3BUaW1lKHN0b3BUaW1lKTsKICAgICB9CiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgImZtaTJTZXR1cEV4cGVyaW1lbnQgLSBHVUlEID0gJXMiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMk9LKQorICAgIHJldHVybiBmbWkyT0s7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJFbnRlckluaXRpYWxpemF0aW9uTW9kZShmbWkyQ29tcG9uZW50IGMpeworICBmbWkyU3RhdHVzIGZtaTJFbnRlckluaXRpYWxpemF0aW9uTW9kZShmbWkyQ29tcG9uZW50IGMpIHsKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX0VOVEVSX0lOSVRJQUxJWkFUSU9OX01PREUpCi0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiZm1pMkVudGVySW5pdGlhbGl6YXRpb25Nb2RlIFxuIiA8PCAiLS0tLS0tLS0tLS0tLS1cbiIpCisgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgImZtaTJFbnRlckluaXRpYWxpemF0aW9uTW9kZSBcbiIgPDwgIi0tLS0tLS0tLS0tLS0tXG4iKQogICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9JTklUSUFMSVpBVElPTl9NT0RFKTsKICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyT0ssIExPR19DQUxMLCAiZm1pMkVudGVySW5pdGlhbGl6YXRpb25Nb2RlIC0gR1VJRCA9ICVzIiwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpKQotICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJPSykKKyAgICByZXR1cm4gZm1pMk9LOwogICB9CiAKLSAgZm1pMlN0YXR1cyBmbWkyRXhpdEluaXRpYWxpemF0aW9uTW9kZShmbWkyQ29tcG9uZW50IGMpeworICBmbWkyU3RhdHVzIGZtaTJFeGl0SW5pdGlhbGl6YXRpb25Nb2RlKGZtaTJDb21wb25lbnQgYykgewogICAgIEVOVFJZX0ZVTkNUSU9OKEZNSTJfRVhJVF9JTklUSUFMSVpBVElPTl9NT0RFKQotICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJFeGl0SW5pdGlhbGl6YXRpb25Nb2RlIFxuIiA8PCAiLS0tLS0tLS0tLS0tLS1cbiIpCisgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJFeGl0SW5pdGlhbGl6YXRpb25Nb2RlIFxuIiA8PCAiLS0tLS0tLS0tLS0tLS1cbiIpCiAgICAgY29tcG9uZW50SW5zdGFuY2UtPnN0YXJ0SW5zdGFuY2UoKTsgLy9UT0RPOiBDaGVjayB3aGVyZSBleGFjdGx5IHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQuCiAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX1NURVBfQ09NUExFVEUpOwogICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJPSywgTE9HX0NBTEwsICJmbWkyRXhpdEluaXRpYWxpemF0aW9uTW9kZSAtIEdVSUQgPSAlcyIsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSkKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyT0spCisgICAgcmV0dXJuIGZtaTJPSzsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMlRlcm1pbmF0ZShmbWkyQ29tcG9uZW50IGMpeworICBmbWkyU3RhdHVzIGZtaTJUZXJtaW5hdGUoZm1pMkNvbXBvbmVudCBjKSB7CiAgICAgRU5UUllfRlVOQ1RJT04oRk1JMl9URVJNSU5BVEUpCi0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMlRlcm1pbmF0ZSBcbiIgPDwgIi0tLS0tLS0tLS0tLS0tXG4iKQorICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyVGVybWluYXRlIFxuIiA8PCAiLS0tLS0tLS0tLS0tLS1cbiIpCiAgICAgY29tcG9uZW50SW5zdGFuY2UtPnN0b3BJbnN0YW5jZSgpOwogICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9URVJNSU5BVEVEKTsKICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyT0ssIExPR19DQUxMLCAiZm1pMlRlcm1pbmF0ZSAtIEdVSUQgPSAlcyIsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSkKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyT0spCisgICAgcmV0dXJuIGZtaTJPSzsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMlJlc2V0KGZtaTJDb21wb25lbnQgYyl7CisgIGZtaTJTdGF0dXMgZm1pMlJlc2V0KGZtaTJDb21wb25lbnQgYykgewogICAgIEVOVFJZX0ZVTkNUSU9OKEZNSTJfUkVTRVQpCi0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMlJlc2V0IFxuIiA8PCAiLS0tLS0tLS0tLS0tLS1cbiIpCisgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJSZXNldCBcbiIgPDwgIi0tLS0tLS0tLS0tLS0tXG4iKQogICAgIGNvbXBvbmVudEluc3RhbmNlLT5yZXNldEluc3RhbmNlKCk7CiAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX0lOU1RBTlRJQVRFRCk7CiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgImZtaTJSZXNldCAtIEdVSUQgPSAlcyIsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSkKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyT0spCisgICAgcmV0dXJuIGZtaTJPSzsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMkdldFJlYWwoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyVmFsdWVSZWZlcmVuY2UgdnJbXSwgc2l6ZV90IG52ciwgZm1pMlJlYWwgdmFsdWVbXSl7CisgIGZtaTJTdGF0dXMgZm1pMkdldFJlYWwoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyVmFsdWVSZWZlcmVuY2UgdnJbXSwgc2l6ZV90IG52ciwgZm1pMlJlYWwgdmFsdWVbXSkgewogICAgIEVOVFJZX0ZVTkNUSU9OKEZNSTJfR0VUX1JFQUwpCi0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMkdldFJlYWwgXG4iKQorICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyR2V0UmVhbCBcbiIpCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgImZtaTJHZXRSZWFsIC0gR1VJRCA9ICVzIiwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpKQotICAgIGlmKG52ciA+IDAgJiYgKCF2ciB8fCAhdmFsdWUpKXsKLSAgICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJFcnJvciwgTE9HX0VSUk9SLCAiT25lIG9yIGJvdGggb2YgdGhlIGFycmF5cyB2cltdIGFuZCB2YWx1ZVtdIHdlcmUgaW52YWxpZC4iKQotICAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX0VSUk9SKTsKLSAgICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJFcnJvcikKLSAgICB9CisgICAgQ0hFQ0tfUkVGX0FORF9WQUxVRSgpCiAKLSAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnZyOyBpKyspewotICAgICAgaWYodnJbaV0gPj0gY29tcG9uZW50SW5zdGFuY2UtPmdldE91dHB1dHNBbmRJbnB1dHMoKS5zaXplKCkpewotICAgICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIlRoZSByZWZlcmVuY2UgdG8gcmVhbCAlZCBpcyBvdXQgb2YgcmFuZ2UuIFRoZSBtb2RlbCBzdXBwb3J0cyB1cCB0byAlZC4iLCB2cltpXSwgY29tcG9uZW50SW5zdGFuY2UtPmdldE91dHB1dHNBbmRJbnB1dHMoKS5zaXplKCkgLSAxKQotICAgICAgICBjb21wb25lbnRJbnN0YW5jZS0+c2V0U3RhdGUoU1RBVEVfRVJST1IpOwotICAgICAgICBMRUFWRV9GVU5DVElPTihmbWkyRXJyb3IpCi0gICAgICB9Ci0gICAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgR2V0UmVhbCAtIHZyWyIgPDwgaSA8PCAiXSA9ICIgPDwgdnJbaV0gPDwgIjsgYW5kIHZhbHVlWyIgPDwgaSA8PCAiXSByZXR1cm5lZCA9ICIpCisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG52cjsgaSsrKSB7CisgICAgICBDSEVDS19SRUZfSU5fSU8oKQorICAgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLAorICAgICAgICBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiBHZXRSZWFsIC0gdnJbIiA8PCBpIDw8ICJdID0gIiA8PCB2cltpXSA8PCAiOyBhbmQgdmFsdWVbIiA8PCBpIDw8ICJdIHJldHVybmVkID0gIikKICAgICAgIHZhbHVlW2ldID0gc3RhdGljX2Nhc3Q8Zm1pMlJlYWw+KCpjb21wb25lbnRJbnN0YW5jZS0+Z2V0T3V0cHV0c0FuZElucHV0cygpLmF0KHZyW2ldKS0+Z2V0VmFsdWVBc1JlYWwoKSk7Ci0gICAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgdmFsdWVbaV0gPDwgIlxuIikKKyAgICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgdmFsdWVbaV0gPDwgIlxuIikKIAogICAgIH0KLSAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgIi0tLS0tLS0tLS0tLS0tXG4iKQotICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJPSykKKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksICItLS0tLS0tLS0tLS0tLVxuIikKKyAgICByZXR1cm4gZm1pMk9LOwogICB9CiAKLSAgZm1pMlN0YXR1cyBmbWkyR2V0SW50ZWdlcihmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJWYWx1ZVJlZmVyZW5jZSB2cltdLCBzaXplX3QgbnZyLCBmbWkySW50ZWdlciB2YWx1ZVtdKXsKKyAgZm1pMlN0YXR1cyBmbWkyR2V0SW50ZWdlcihmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJWYWx1ZVJlZmVyZW5jZSB2cltdLCBzaXplX3QgbnZyLCBmbWkySW50ZWdlciB2YWx1ZVtdKSB7CiAgICAgRU5UUllfRlVOQ1RJT04oRk1JMl9HRVRfSU5URUdFUikKLSAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyR2V0SW50ZWdlciBcbiIpCi0gICAgaWYobnZyID4gMCAmJiAoIXZyIHx8ICF2YWx1ZSkpewotICAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMkVycm9yLCBMT0dfRVJST1IsICJPbmUgb2YgYm90aCBvZiB0aGUgYXJyYXlzIHZyW10gYW5kIHZhbHVlW10gd2VyZSBpbnZhbGlkLiIpCi0gICAgICBjb21wb25lbnRJbnN0YW5jZS0+c2V0U3RhdGUoU1RBVEVfRVJST1IpOwotICAgICAgTEVBVkVfRlVOQ1RJT04oZm1pMkVycm9yKQotICAgIH0KKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMkdldEludGVnZXIgXG4iKQorICAgIENIRUNLX1JFRl9BTkRfVkFMVUUoKQogCi0gICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG52cjsgaSsrKXsKLSAgICAgIGlmKHZyW2ldID49IGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuc2l6ZSgpKXsKLSAgICAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMkVycm9yLCBMT0dfRVJST1IsICJUaGUgcmVmZXJlbmNlIHRvIGludGVnZXIgJWQgaXMgb3V0IG9mIHJhbmdlLiBUaGUgbW9kZWwgc3VwcG9ydHMgdXAgdG8gJWQuIiwgdnJbaV0sIGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuc2l6ZSgpIC0gMSkKLSAgICAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX0VSUk9SKTsKLSAgICAgICAgTEVBVkVfRlVOQ1RJT04oZm1pMkVycm9yKQotICAgICAgfQotICAgICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIEdldEludCAtIHZyWyIgPDwgaSA8PCAiXSA9ICIgPDwgdnJbaV0gPDwgIjsgYW5kIHRoZSB2YWx1ZSByZXR1cm5lZCBpcyA9ICIpCisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG52cjsgaSsrKSB7CisgICAgICBDSEVDS19SRUZfSU5fSU8oKQorICAgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLAorICAgICAgICBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiBHZXRJbnQgLSB2clsiIDw8IGkgPDwgIl0gPSAiIDw8IHZyW2ldIDw8ICI7IGFuZCB0aGUgdmFsdWUgcmV0dXJuZWQgaXMgPSAiKQogICAgICAgdmFsdWVbaV0gPSBzdGF0aWNfY2FzdDxmbWkySW50ZWdlcj4oKmNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuYXQodnJbaV0pLT5nZXRWYWx1ZUFzSW50KCkpOwotICAgICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIHZhbHVlW2ldIDw8ICJcbiIpCisgICAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksIHZhbHVlW2ldIDw8ICJcbiIpCiAgICAgfQotICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCAiLS0tLS0tLS0tLS0tLS1cbiIpCisgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLCAiLS0tLS0tLS0tLS0tLS1cbiIpCiAKICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyT0ssIExPR19DQUxMLCAiZm1pMkdldEludGVnZXIgLSBHVUlEID0gJXMiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMk9LKQorICAgIHJldHVybiBmbWkyT0s7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJHZXRCb29sZWFuKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGZtaTJCb29sZWFuIHZhbHVlW10peworICBmbWkyU3RhdHVzIGZtaTJHZXRCb29sZWFuKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGZtaTJCb29sZWFuIHZhbHVlW10pIHsKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX0dFVF9CT09MRUFOKQotICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJHZXRCb29sZWFuIFxuIikKLSAgICBpZihudnIgPiAwICYmICghdnIgfHwgIXZhbHVlKSl7Ci0gICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIk9uZSBvZiBib3RoIG9mIHRoZSBhcnJheXMgdnJbXSBhbmQgdmFsdWVbXSB3ZXJlIGludmFsaWQuIikKLSAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9FUlJPUik7Ci0gICAgICBMRUFWRV9GVU5DVElPTihmbWkyRXJyb3IpCi0gICAgfQorICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyR2V0Qm9vbGVhbiBcbiIpCisgICAgQ0hFQ0tfUkVGX0FORF9WQUxVRSgpCiAKLSAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnZyOyBpKyspewotICAgICAgaWYodnJbaV0gPj0gY29tcG9uZW50SW5zdGFuY2UtPmdldE91dHB1dHNBbmRJbnB1dHMoKS5zaXplKCkpewotICAgICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIlRoZSByZWZlcmVuY2UgdG8gYm9vbGVhbiAlZCBpcyBvdXQgb2YgcmFuZ2UuIFRoZSBtb2RlbCBzdXBwb3J0cyB1cCB0byAlZC4iLCB2cltpXSwgY29tcG9uZW50SW5zdGFuY2UtPmdldE91dHB1dHNBbmRJbnB1dHMoKS5zaXplKCkgLSAxKQotICAgICAgICBjb21wb25lbnRJbnN0YW5jZS0+c2V0U3RhdGUoU1RBVEVfRVJST1IpOwotICAgICAgICBMRUFWRV9GVU5DVElPTihmbWkyRXJyb3IpCi0gICAgICB9Ci0gICAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgR2V0Qm9vbGVhbiAtIHZyWyIgPDwgaSA8PCAiXSA9ICIgPDwgdnJbaV0gPDwgIjsgYW5kIHZhbHVlWyIgPDwgaSA8PCAiXSByZXR1cm5lZCBpcyA9ICIpCisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG52cjsgaSsrKSB7CisgICAgICBDSEVDS19SRUZfSU5fSU8oKQorICAgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLAorICAgICAgICBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiBHZXRCb29sZWFuIC0gdnJbIiA8PCBpIDw8ICJdID0gIiA8PCB2cltpXSA8PCAiOyBhbmQgdmFsdWVbIiA8PCBpIDw8ICJdIHJldHVybmVkIGlzID0gIikKICAgICAgIHZhbHVlW2ldID0gc3RhdGljX2Nhc3Q8Zm1pMkJvb2xlYW4+KCpjb21wb25lbnRJbnN0YW5jZS0+Z2V0T3V0cHV0c0FuZElucHV0cygpLmF0KHZyW2ldKS0+Z2V0VmFsdWVBc0Jvb2woKSk7Ci0gICAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgdmFsdWVbaV0gPDwgIlxuIikKKyAgICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgdmFsdWVbaV0gPDwgIlxuIikKICAgICB9Ci0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsICItLS0tLS0tLS0tLS0tLVxuIikKKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksICItLS0tLS0tLS0tLS0tLVxuIikKIAogICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJPSywgTE9HX0NBTEwsICJmbWkyR2V0Qm9vbGVhbiAtIEdVSUQgPSAlcyIsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSkKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyT0spOworICAgIHJldHVybiBmbWkyT0s7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJHZXRTdHJpbmcoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyVmFsdWVSZWZlcmVuY2UgdnJbXSwgc2l6ZV90IG52ciwgZm1pMlN0cmluZyB2YWx1ZVtdKXsKKyAgZm1pMlN0YXR1cyBmbWkyR2V0U3RyaW5nKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGZtaTJTdHJpbmcgdmFsdWVbXSkgewogICAgIEVOVFJZX0ZVTkNUSU9OKEZNSTJfR0VUX1NUUklORykKLSAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyR2V0U3RyaW5nIFxuIikKLSAgICBpZihudnIgPiAwICYmICghdnIgfHwgIXZhbHVlKSl7Ci0gICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIk9uZSBvZiBib3RoIG9mIHRoZSBhcnJheXMgdnJbXSBhbmQgdmFsdWVbXSB3ZXJlIGludmFsaWQuIikKLSAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9FUlJPUik7Ci0gICAgICBMRUFWRV9GVU5DVElPTihmbWkyRXJyb3IpCi0gICAgfQorICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyR2V0U3RyaW5nIFxuIikKKyAgICBDSEVDS19SRUZfQU5EX1ZBTFVFKCkKIAotICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudnI7IGkrKyl7Ci0gICAgICBpZih2cltpXSA+PSBjb21wb25lbnRJbnN0YW5jZS0+Z2V0T3V0cHV0c0FuZElucHV0cygpLnNpemUoKSl7Ci0gICAgICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJFcnJvciwgTE9HX0VSUk9SLCAiVGhlIHJlZmVyZW5jZSB0byBzdHJpbmcgJWQgaXMgb3V0IG9mIHJhbmdlLiBUaGUgbW9kZWwgc3VwcG9ydHMgdXAgdG8gJWQuIiwgdnJbaV0sIGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuc2l6ZSgpIC0gMSkKLSAgICAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX0VSUk9SKTsKLSAgICAgICAgTEVBVkVfRlVOQ1RJT04oZm1pMkVycm9yKQotICAgICAgfQotICAgICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIEdldFN0cmluZyAtIHZyWyIgPDwgaSA8PCAiXSA9ICIgPDwgdnJbaV0gPDwgIjsgYW5kIHZhbHVlWyIgPDwgaSA8PCAiXSByZXR1cm5lZCBpcyA9ICIpCisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG52cjsgaSsrKSB7CisgICAgICBDSEVDS19SRUZfSU5fSU8oKQorICAgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLAorICAgICAgICBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiBHZXRTdHJpbmcgLSB2clsiIDw8IGkgPDwgIl0gPSAiIDw8IHZyW2ldIDw8ICI7IGFuZCB2YWx1ZVsiIDw8IGkgPDwgIl0gcmV0dXJuZWQgaXMgPSAiKQogICAgICAgdmFsdWVbaV0gPSBzdGF0aWNfY2FzdDxmbWkyU3RyaW5nPihjb21wb25lbnRJbnN0YW5jZS0+Z2V0T3V0cHV0c0FuZElucHV0cygpLmF0KHZyW2ldKS0+Z2V0VmFsdWVBc1N0cmluZygpLT5nZXRWYWx1ZSgpKTsKLSAgICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCB2YWx1ZVtpXSA8PCAiXG4iKQorICAgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLCB2YWx1ZVtpXSA8PCAiXG4iKQogICAgIH0KLSAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgIi0tLS0tLS0tLS0tLS0tXG4iKQorICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgIi0tLS0tLS0tLS0tLS0tXG4iKQogCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgImZtaTJHZXRTdHJpbmcgLSBHVUlEID0gJXMiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMk9LKQorICAgIHJldHVybiBmbWkyT0s7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJTZXRSZWFsKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGNvbnN0IGZtaTJSZWFsIHZhbHVlW10peworICBmbWkyU3RhdHVzIGZtaTJTZXRSZWFsKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGNvbnN0IGZtaTJSZWFsIHZhbHVlW10pIHsKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX1NFVF9SRUFMKQotICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJTZXRSZWFsIFxuIikKKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMlNldFJlYWwgXG4iKQorICAgIENIRUNLX1JFRl9BTkRfVkFMVUUoKQogCi0gICAgaWYobnZyID4gMCAmJiAoIXZyIHx8ICF2YWx1ZSkpewotICAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMkVycm9yLCBMT0dfRVJST1IsICJPbmUgb2YgYm90aCBvZiB0aGUgYXJyYXlzIHZyW10gYW5kIHZhbHVlW10gd2VyZSBpbnZhbGlkLiIpCi0gICAgICBjb21wb25lbnRJbnN0YW5jZS0+c2V0U3RhdGUoU1RBVEVfRVJST1IpOwotICAgICAgTEVBVkVfRlVOQ1RJT04oZm1pMkVycm9yKQotICAgIH0KLQotICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudnI7IGkrKyl7Ci0gICAgICBpZih2cltpXSA+PSBjb21wb25lbnRJbnN0YW5jZS0+Z2V0T3V0cHV0c0FuZElucHV0cygpLnNpemUoKSl7Ci0gICAgICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJFcnJvciwgTE9HX0VSUk9SLCAiVGhlIHJlZmVyZW5jZSB0byByZWFsICVkIGlzIG91dCBvZiByYW5nZS4gVGhlIG1vZGVsIHN1cHBvcnRzIHVwIHRvICVkLiIsIHZyW2ldLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0T3V0cHV0c0FuZElucHV0cygpLnNpemUoKSAtIDEpCi0gICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9FUlJPUik7Ci0gICAgICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJFcnJvcikKLSAgICAgIH0KLSAgICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiBTZXRSZWFsIC0gdnJbIiA8PCBpIDw8ICJdID0gIiA8PCB2cltpXSA8PCAiOyBhbmQgdmFsdWVbIiA8PCBpIDw8ICJdIHRvIHNldCBpcyA9ICIgPDwgdmFsdWVbaV0gPDwgIlxuIikKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnZyOyBpKyspIHsKKyAgICAgIENIRUNLX1JFRl9JTl9JTygpCisgICAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksCisgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIFNldFJlYWwgLSB2clsiIDw8IGkgPDwgIl0gPSAiIDw8IHZyW2ldIDw8ICI7IGFuZCB2YWx1ZVsiIDw8IGkgPDwgIl0gdG8gc2V0IGlzID0gIiA8PCB2YWx1ZVtpXSA8PCAiXG4iKQogICAgICAgQ0lFQ19MUkVBTCB2YWxUb1dyaXRlKHN0YXRpY19jYXN0PFRGb3J0ZURGbG9hdD4odmFsdWVbaV0pKTsKICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKClbdnJbaV1dLT5zZXRWYWx1ZSh2YWxUb1dyaXRlKTsKICAgICB9Ci0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsICItLS0tLS0tLS0tLVxuIikKKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksICItLS0tLS0tLS0tLVxuIikKICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyT0ssIExPR19DQUxMLCAiZm1pMlNldFJlYWwgLSBHVUlEID0gJXMiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMk9LKQorICAgIHJldHVybiBmbWkyT0s7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJTZXRJbnRlZ2VyKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGNvbnN0IGZtaTJJbnRlZ2VyIHZhbHVlW10peworICBmbWkyU3RhdHVzIGZtaTJTZXRJbnRlZ2VyKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGNvbnN0IGZtaTJJbnRlZ2VyIHZhbHVlW10pIHsKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX1NFVF9JTlRFR0VSKQotICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJTZXRJbnRlZ2VyIFxuIikKLSAgICBpZihudnIgPiAwICYmICghdnIgfHwgIXZhbHVlKSl7Ci0gICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIk9uZSBvZiBib3RoIG9mIHRoZSBhcnJheXMgdnJbXSBhbmQgdmFsdWVbXSB3ZXJlIGludmFsaWQuIikKLSAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9FUlJPUik7Ci0gICAgICBMRUFWRV9GVU5DVElPTihmbWkyRXJyb3IpCi0gICAgfQotCi0gICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG52cjsgaSsrKXsKLSAgICAgIGlmKHZyW2ldID49IGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuc2l6ZSgpKXsKLSAgICAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMkVycm9yLCBMT0dfRVJST1IsICJUaGUgcmVmZXJlbmNlIHRvIGludGVnZXIgJWQgaXMgb3V0IG9mIHJhbmdlLiBUaGUgbW9kZWwgc3VwcG9ydHMgdXAgdG8gJWQuIiwgdnJbaV0sIGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuc2l6ZSgpIC0gMSkKLSAgICAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX0VSUk9SKTsKLSAgICAgICAgTEVBVkVfRlVOQ1RJT04oZm1pMkVycm9yKQotICAgICAgfQotICAgICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIFNldEludCAtIHZyWyIgPDwgaSA8PCAiXSA9ICIgPDwgdnJbaV0gPDwgIjsgYW5kIHZhbHVlWyIgPDwgaSA8PCAiXSB0byBzZXQgaXMgPSAiIDw8IHZhbHVlW2ldIDw8ICJcbiIpCisgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJTZXRJbnRlZ2VyIFxuIikKKyAgICBDSEVDS19SRUZfQU5EX1ZBTFVFKCkKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnZyOyBpKyspIHsKKyAgICAgIENIRUNLX1JFRl9JTl9JTygpCisgICAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksCisgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIFNldEludCAtIHZyWyIgPDwgaSA8PCAiXSA9ICIgPDwgdnJbaV0gPDwgIjsgYW5kIHZhbHVlWyIgPDwgaSA8PCAiXSB0byBzZXQgaXMgPSAiIDw8IHZhbHVlW2ldIDw8ICJcbiIpCiAgICAgICBDSUVDX0xJTlQgdmFsVG9Xcml0ZShzdGF0aWNfY2FzdDxURm9ydGVJbnQ2ND4odmFsdWVbaV0pKTsKICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKClbdnJbaV1dLT5zZXRWYWx1ZSh2YWxUb1dyaXRlKTsKICAgICB9Ci0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsICItLS0tLS0tLS0tLVxuIikKKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksICItLS0tLS0tLS0tLVxuIikKIAogICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJPSywgTE9HX0NBTEwsICJmbWkyU2V0SW50ZWdlciAtIEdVSUQgPSAlcyIsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSkKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyT0spCisgICAgcmV0dXJuIGZtaTJPSzsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMlNldEJvb2xlYW4oZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyVmFsdWVSZWZlcmVuY2UgdnJbXSwgc2l6ZV90IG52ciwgY29uc3QgZm1pMkJvb2xlYW4gdmFsdWVbXSl7CisgIGZtaTJTdGF0dXMgZm1pMlNldEJvb2xlYW4oZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyVmFsdWVSZWZlcmVuY2UgdnJbXSwgc2l6ZV90IG52ciwgY29uc3QgZm1pMkJvb2xlYW4gdmFsdWVbXSkgewogICAgIEVOVFJZX0ZVTkNUSU9OKEZNSTJfU0VUX0JPT0xFQU4pCi0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMlNldEJvb2xlYW4gXG4iKQotICAgIGlmKG52ciA+IDAgJiYgKCF2ciB8fCAhdmFsdWUpKXsKLSAgICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJFcnJvciwgTE9HX0VSUk9SLCAiT25lIG9mIGJvdGggb2YgdGhlIGFycmF5cyB2cltdIGFuZCB2YWx1ZVtdIHdlcmUgaW52YWxpZC4iKQotICAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX0VSUk9SKTsKLSAgICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJFcnJvcikKLSAgICB9CisgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJTZXRCb29sZWFuIFxuIikKKyAgICBDSEVDS19SRUZfQU5EX1ZBTFVFKCkKIAotICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudnI7IGkrKyl7Ci0gICAgICBpZih2cltpXSA+PSBjb21wb25lbnRJbnN0YW5jZS0+Z2V0T3V0cHV0c0FuZElucHV0cygpLnNpemUoKSl7Ci0gICAgICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJFcnJvciwgTE9HX0VSUk9SLCAiVGhlIHJlZmVyZW5jZSB0byBib29sZWFuICVkIGlzIG91dCBvZiByYW5nZS4gVGhlIG1vZGVsIHN1cHBvcnRzIHVwIHRvICVkLiIsIHZyW2ldLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0T3V0cHV0c0FuZElucHV0cygpLnNpemUoKSAtIDEpCi0gICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9FUlJPUik7Ci0gICAgICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJFcnJvcikKLSAgICAgIH0KLSAgICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiBTZXRCb29sZWFuIC0gdnJbIiA8PCBpIDw8ICJdID0gIiA8PCB2cltpXSA8PCAiOyBhbmQgdmFsdWVbIiA8PCBpIDw8ICJdIHRvIHNldCBpcyA9ICIgPDwgdmFsdWVbaV0gPDwgIlxuIikKLSAgICAgIENJRUNfQk9PTCB2YWxUb1dyaXRlKHZhbHVlW2ldKTsKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnZyOyBpKyspIHsKKyAgICAgIENIRUNLX1JFRl9JTl9JTygpCisgICAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksCisgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIFNldEJvb2xlYW4gLSB2clsiIDw8IGkgPDwgIl0gPSAiIDw8IHZyW2ldIDw8ICI7IGFuZCB2YWx1ZVsiIDw8IGkgPDwgIl0gdG8gc2V0IGlzID0gIiA8PCB2YWx1ZVtpXSA8PCAiXG4iKQorICAgICAgQ0lFQ19CT09MIHZhbFRvV3JpdGUodmFsdWVbaV0gIT0gZm1pMkZhbHNlKTsKICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKClbdnJbaV1dLT5zZXRWYWx1ZSh2YWxUb1dyaXRlKTsKICAgICB9Ci0gICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsICItLS0tLS0tLS0tLVxuIikKKyAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksICItLS0tLS0tLS0tLVxuIikKIAogICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJPSywgTE9HX0NBTEwsICJmbWkyU2V0Qm9vbGVhbiAtIEdVSUQgPSAlcyIsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSkKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyT0spCisgICAgcmV0dXJuIGZtaTJPSzsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMlNldFN0cmluZyhmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJWYWx1ZVJlZmVyZW5jZSB2cltdLCBzaXplX3QgbnZyLCBjb25zdCBmbWkyU3RyaW5nIHZhbHVlW10peworICBmbWkyU3RhdHVzIGZtaTJTZXRTdHJpbmcoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyVmFsdWVSZWZlcmVuY2UgdnJbXSwgc2l6ZV90IG52ciwgY29uc3QgZm1pMlN0cmluZyB2YWx1ZVtdKSB7CiAgICAgRU5UUllfRlVOQ1RJT04oRk1JMl9TRVRfU1RSSU5HKQotICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJTZXRTdHJpbmcgXG4iKQotICAgIGlmKG52ciA+IDAgJiYgKCF2ciB8fCAhdmFsdWUpKXsKLSAgICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJFcnJvciwgTE9HX0VSUk9SLCAiT25lIG9mIGJvdGggb2YgdGhlIGFycmF5cyB2cltdIGFuZCB2YWx1ZVtdIHdlcmUgaW52YWxpZC4iKQotICAgICAgY29tcG9uZW50SW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX0VSUk9SKTsKLSAgICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJFcnJvcikKLSAgICB9CisgICAgRk1VX0RFQlVHX0xPRyhzdGF0aWNfY2FzdDxmbXVJbnN0YW5jZSo+KGMpLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJTZXRTdHJpbmcgXG4iKQorICAgIENIRUNLX1JFRl9BTkRfVkFMVUUoKQogCi0gICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG52cjsgaSsrKXsKLSAgICAgIGlmKHZyW2ldID49IGNvbXBvbmVudEluc3RhbmNlLT5nZXRPdXRwdXRzQW5kSW5wdXRzKCkuc2l6ZSgpKXsKLSAgICAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMkVycm9yLCBMT0dfRVJST1IsICJUaGUgcmVmZXJlbmNlIHRvIHN0cmluZyAlZCBpcyBvdXQgb2YgcmFuZ2UuIFRoZSBtb2RlbCBzdXBwb3J0cyB1cCB0byAlZC4iLCB2cltpXSwgY29tcG9uZW50SW5zdGFuY2UtPmdldE91dHB1dHNBbmRJbnB1dHMoKS5zaXplKCkgLSAxKQotICAgICAgICBjb21wb25lbnRJbnN0YW5jZS0+c2V0U3RhdGUoU1RBVEVfRVJST1IpOwotICAgICAgICBMRUFWRV9GVU5DVElPTihmbWkyRXJyb3IpCi0gICAgICB9Ci0gICAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgU2V0U3RyaW5nIC0gdnJbIiA8PCBpIDw8ICJdID0gIiA8PCB2cltpXSA8PCAiOyBhbmQgdmFsdWVbIiA8PCBpIDw8ICJdIHRvIHNldCBpcyA9ICIgPDwgdmFsdWVbaV0gPDwgIlxuIikKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnZyOyBpKyspIHsKKyAgICAgIENIRUNLX1JFRl9JTl9JTygpCisgICAgICBGTVVfREVCVUdfTE9HKHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyksCisgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIFNldFN0cmluZyAtIHZyWyIgPDwgaSA8PCAiXSA9ICIgPDwgdnJbaV0gPDwgIjsgYW5kIHZhbHVlWyIgPDwgaSA8PCAiXSB0byBzZXQgaXMgPSAiIDw8IHZhbHVlW2ldIDw8ICJcbiIpCiAgICAgICBDSUVDX1NUUklORyB2YWxUb1dyaXRlKHZhbHVlW2ldKTsgLy9jb3BpZXMgdGhlIHN0cmluZyBpbnRvIHRoZSBDSUVDX1NUUklORyB2YXJpYWJsZQogICAgICAgY29tcG9uZW50SW5zdGFuY2UtPmdldE91dHB1dHNBbmRJbnB1dHMoKVt2cltpXV0tPnNldFZhbHVlKHZhbFRvV3JpdGUpOwogICAgIH0KLSAgICBGTVVfREVCVUdfTE9HKChmbXVJbnN0YW5jZSopYywgIi0tLS0tLS0tLS0tXG4iKQorICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgIi0tLS0tLS0tLS0tXG4iKQogCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgImZtaTJTZXRTdHJpbmcgLSBHVUlEID0gJXMiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMk9LKQorICAgIHJldHVybiBmbWkyT0s7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJHZXRGTVVzdGF0ZShmbWkyQ29tcG9uZW50IGMsIGZtaTJGTVVzdGF0ZSogRk1Vc3RhdGUpeworICBmbWkyU3RhdHVzIGZtaTJHZXRGTVVzdGF0ZShmbWkyQ29tcG9uZW50IGMsIGZtaTJGTVVzdGF0ZSogRk1Vc3RhdGUpIHsKICAgICBOT1RfVVNFRChGTVVzdGF0ZSkKICAgICByZXR1cm4gZnVuY3Rpb25Ob3RTdXBwb3J0ZWQoYywgImZtaTJHZXRGTVVzdGF0ZSIpOwogICB9CiAKLSAgZm1pMlN0YXR1cyBmbWkyU2V0Rk1Vc3RhdGUoZm1pMkNvbXBvbmVudCBjLCBmbWkyRk1Vc3RhdGUgRk1Vc3RhdGUpeworICBmbWkyU3RhdHVzIGZtaTJTZXRGTVVzdGF0ZShmbWkyQ29tcG9uZW50IGMsIGZtaTJGTVVzdGF0ZSBGTVVzdGF0ZSkgewogICAgIE5PVF9VU0VEKEZNVXN0YXRlKQogICAgIHJldHVybiBmdW5jdGlvbk5vdFN1cHBvcnRlZChjLCAiZm1pMlNldEZNVXN0YXRlIik7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJGcmVlRk1Vc3RhdGUoZm1pMkNvbXBvbmVudCBjLCBmbWkyRk1Vc3RhdGUqIEZNVXN0YXRlKXsKKyAgZm1pMlN0YXR1cyBmbWkyRnJlZUZNVXN0YXRlKGZtaTJDb21wb25lbnQgYywgZm1pMkZNVXN0YXRlKiBGTVVzdGF0ZSkgewogICAgIE5PVF9VU0VEKEZNVXN0YXRlKQogICAgIHJldHVybiBmdW5jdGlvbk5vdFN1cHBvcnRlZChjLCAiZm1pMkZyZWVGTVVzdGF0ZSIpOwogICB9CiAKLSAgZm1pMlN0YXR1cyBmbWkyU2VyaWFsaXplZEZNVXN0YXRlU2l6ZShmbWkyQ29tcG9uZW50IGMsIGZtaTJGTVVzdGF0ZSBGTVVzdGF0ZSwgc2l6ZV90ICpzaXplKXsKKyAgZm1pMlN0YXR1cyBmbWkyU2VyaWFsaXplZEZNVXN0YXRlU2l6ZShmbWkyQ29tcG9uZW50IGMsIGZtaTJGTVVzdGF0ZSBGTVVzdGF0ZSwgc2l6ZV90ICpzaXplKSB7CiAgICAgTk9UX1VTRUQoRk1Vc3RhdGUpCiAgICAgTk9UX1VTRUQoc2l6ZSkKICAgICByZXR1cm4gZnVuY3Rpb25Ob3RTdXBwb3J0ZWQoYywgImZtaTJTZXJpYWxpemVkRk1Vc3RhdGVTaXplIik7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJTZXJpYWxpemVGTVVzdGF0ZShmbWkyQ29tcG9uZW50IGMsIGZtaTJGTVVzdGF0ZSBGTVVzdGF0ZSwgZm1pMkJ5dGUgc2VyaWFsaXplZFN0YXRlW10sIHNpemVfdCBzaXplKXsKKyAgZm1pMlN0YXR1cyBmbWkyU2VyaWFsaXplRk1Vc3RhdGUoZm1pMkNvbXBvbmVudCBjLCBmbWkyRk1Vc3RhdGUgRk1Vc3RhdGUsIGZtaTJCeXRlIHNlcmlhbGl6ZWRTdGF0ZVtdLCBzaXplX3Qgc2l6ZSkgewogICAgIE5PVF9VU0VEKEZNVXN0YXRlKQogICAgIE5PVF9VU0VEKHNlcmlhbGl6ZWRTdGF0ZSkKICAgICBOT1RfVVNFRChzaXplKQogICAgIHJldHVybiBmdW5jdGlvbk5vdFN1cHBvcnRlZChjLCAiZm1pMlNlcmlhbGl6ZUZNVXN0YXRlIik7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJEZVNlcmlhbGl6ZUZNVXN0YXRlKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMkJ5dGUgc2VyaWFsaXplZFN0YXRlW10sIHNpemVfdCBzaXplLCBmbWkyRk1Vc3RhdGUqIEZNVXN0YXRlKXsKKyAgZm1pMlN0YXR1cyBmbWkyRGVTZXJpYWxpemVGTVVzdGF0ZShmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJCeXRlIHNlcmlhbGl6ZWRTdGF0ZVtdLCBzaXplX3Qgc2l6ZSwgZm1pMkZNVXN0YXRlKiBGTVVzdGF0ZSkgewogICAgIE5PVF9VU0VEKEZNVXN0YXRlKQogICAgIE5PVF9VU0VEKHNlcmlhbGl6ZWRTdGF0ZSkKICAgICBOT1RfVVNFRChzaXplKQogICAgIHJldHVybiBmdW5jdGlvbk5vdFN1cHBvcnRlZChjLCAiZm1pMkRlU2VyaWFsaXplRk1Vc3RhdGUiKTsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMkdldERpcmVjdGlvbmFsRGVyaXZhdGl2ZShmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJWYWx1ZVJlZmVyZW5jZSB2VW5rbm93bl9yZWZbXSwgc2l6ZV90IG5Vbmtub3duLCBjb25zdCBmbWkyVmFsdWVSZWZlcmVuY2Ugdktub3duX3JlZltdLCBzaXplX3Qgbktub3duLCBjb25zdCBmbWkyUmVhbCBkdktub3duW10sIGZtaTJSZWFsIGR2VW5rbm93bltdKXsKKyAgZm1pMlN0YXR1cyBmbWkyR2V0RGlyZWN0aW9uYWxEZXJpdmF0aXZlKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZVbmtub3duX3JlZltdLCBzaXplX3QgblVua25vd24sIGNvbnN0IGZtaTJWYWx1ZVJlZmVyZW5jZSB2S25vd25fcmVmW10sCisgICAgICBzaXplX3Qgbktub3duLCBjb25zdCBmbWkyUmVhbCBkdktub3duW10sIGZtaTJSZWFsIGR2VW5rbm93bltdKSB7CiAgICAgTk9UX1VTRUQodlVua25vd25fcmVmKQogICAgIE5PVF9VU0VEKG5Vbmtub3duKQogICAgIE5PVF9VU0VEKHZLbm93bl9yZWYpCkBAIC00NDIsNyArNDAyLDcgQEAKICAgICByZXR1cm4gZnVuY3Rpb25Ob3RTdXBwb3J0ZWQoYywgImZtaTJHZXREaXJlY3Rpb25hbERlcml2YXRpdmUiKTsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMlNldFJlYWxJbnB1dERlcml2YXRpdmVzKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGNvbnN0IGZtaTJJbnRlZ2VyIG9yZGVyW10sIGNvbnN0IGZtaTJSZWFsIHZhbHVlW10peworICBmbWkyU3RhdHVzIGZtaTJTZXRSZWFsSW5wdXREZXJpdmF0aXZlcyhmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJWYWx1ZVJlZmVyZW5jZSB2cltdLCBzaXplX3QgbnZyLCBjb25zdCBmbWkySW50ZWdlciBvcmRlcltdLCBjb25zdCBmbWkyUmVhbCB2YWx1ZVtdKSB7CiAgICAgTk9UX1VTRUQodnIpCiAgICAgTk9UX1VTRUQobnZyKQogICAgIE5PVF9VU0VEKG9yZGVyKQpAQCAtNDUwLDcgKzQxMCw3IEBACiAgICAgcmV0dXJuIGZ1bmN0aW9uTm90U3VwcG9ydGVkKGMsICJmbWkyU2V0UmVhbElucHV0RGVyaXZhdGl2ZXMiKTsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMkdldFJlYWxPdXRwdXREZXJpdmF0aXZlcyhmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJWYWx1ZVJlZmVyZW5jZSB2cltdLCBzaXplX3QgbnZyLCBjb25zdCBmbWkySW50ZWdlciBvcmRlcltdLCBmbWkyUmVhbCB2YWx1ZVtdKXsKKyAgZm1pMlN0YXR1cyBmbWkyR2V0UmVhbE91dHB1dERlcml2YXRpdmVzKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlZhbHVlUmVmZXJlbmNlIHZyW10sIHNpemVfdCBudnIsIGNvbnN0IGZtaTJJbnRlZ2VyIG9yZGVyW10sIGZtaTJSZWFsIHZhbHVlW10pIHsKICAgICBOT1RfVVNFRCh2cikKICAgICBOT1RfVVNFRChudnIpCiAgICAgTk9UX1VTRUQob3JkZXIpCkBAIC00NTgsODUgKzQxOCw4NSBAQAogICAgIHJldHVybiBmdW5jdGlvbk5vdFN1cHBvcnRlZChjLCAiZm1pMkdldFJlYWxPdXRwdXREZXJpdmF0aXZlcyIpOwogICB9CiAKLSAgZm1pMlN0YXR1cyBmbWkyRG9TdGVwKGZtaTJDb21wb25lbnQgYywgZm1pMlJlYWwgY3VycmVudENvbW11bmljYXRpb25Qb2ludCwgZm1pMlJlYWwgY29tbXVuaWNhdGlvblN0ZXBTaXplLCBmbWkyQm9vbGVhbiBub1NldEZNVVN0YXRlUHJpb3JUb0N1cnJlbnRQb2ludCl7CisgIGZtaTJTdGF0dXMgZm1pMkRvU3RlcChmbWkyQ29tcG9uZW50IGMsIGZtaTJSZWFsIGN1cnJlbnRDb21tdW5pY2F0aW9uUG9pbnQsIGZtaTJSZWFsIGNvbW11bmljYXRpb25TdGVwU2l6ZSwgZm1pMkJvb2xlYW4gbm9TZXRGTVVTdGF0ZVByaW9yVG9DdXJyZW50UG9pbnQpIHsKICAgICBOT1RfVVNFRChub1NldEZNVVN0YXRlUHJpb3JUb0N1cnJlbnRQb2ludCkKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX0RPX1NURVApCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgImZtaTJEb1N0ZXAgLSBHVUlEID0gJXMiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCiAgICAgQ0lFQ19MUkVBTCBhZHZhbmNlVGltZSA9IGNvbW11bmljYXRpb25TdGVwU2l6ZTsKIAotICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJEb1N0ZXBcbiIpCi0gICAgaWYoLTEgIT0gY29tcG9uZW50SW5zdGFuY2UtPmdldFN0b3BUaW1lKCkgJiYgKGN1cnJlbnRDb21tdW5pY2F0aW9uUG9pbnQgKyBjb21tdW5pY2F0aW9uU3RlcFNpemUpID4gY29tcG9uZW50SW5zdGFuY2UtPmdldFN0b3BUaW1lKCkpeworICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyRG9TdGVwXG4iKQorICAgIGlmKC0xICE9IGNvbXBvbmVudEluc3RhbmNlLT5nZXRTdG9wVGltZSgpICYmIChjdXJyZW50Q29tbXVuaWNhdGlvblBvaW50ICsgY29tbXVuaWNhdGlvblN0ZXBTaXplKSA+IGNvbXBvbmVudEluc3RhbmNlLT5nZXRTdG9wVGltZSgpKSB7CiAgICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIkNvbXB1dGF0aW9uIHRpbWUgcGFzdCBzdG9wVGltZTogJWYiLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0U3RvcFRpbWUoKSkKLSAgICAgIEZNVV9ERUJVR19MT0coKGZtdUluc3RhbmNlKiljLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkgPDwgIiAtIGZtaTJEb1N0ZXAgRXJyb3IxIFxuIikKLSAgICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJFcnJvcikKKyAgICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyRG9TdGVwIEVycm9yMSBcbiIpCisgICAgICByZXR1cm4gZm1pMkVycm9yOwogICAgIH0KIAotICAgIGlmKCFjb21wb25lbnRJbnN0YW5jZS0+YWR2YW5jZUluc3RhbmNlVGltZShhZHZhbmNlVGltZSkpewotICAgICAgRk1VX0RFQlVHX0xPRygoZm11SW5zdGFuY2UqKWMsIGNvbXBvbmVudEluc3RhbmNlLT5nZXRHdWlkKCkuZ2V0VmFsdWUoKSA8PCAiIC0gZm1pMkRvU3RlcCBFcnJvcjIgXG4iKQotICAgICAgTEVBVkVfRlVOQ1RJT04oZm1pMkVycm9yKQorICAgIGlmKCFjb21wb25lbnRJbnN0YW5jZS0+YWR2YW5jZUluc3RhbmNlVGltZShhZHZhbmNlVGltZSkpIHsKKyAgICAgIEZNVV9ERUJVR19MT0coc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKSwgY29tcG9uZW50SW5zdGFuY2UtPmdldEd1aWQoKS5nZXRWYWx1ZSgpIDw8ICIgLSBmbWkyRG9TdGVwIEVycm9yMiBcbiIpCisgICAgICByZXR1cm4gZm1pMkVycm9yOwogICAgIH0KLSAgICBMRUFWRV9GVU5DVElPTihmbWkyT0spCisgICAgcmV0dXJuIGZtaTJPSzsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMkNhbmNlbFN0ZXAoZm1pMkNvbXBvbmVudCBjKXsKKyAgZm1pMlN0YXR1cyBmbWkyQ2FuY2VsU3RlcChmbWkyQ29tcG9uZW50IGMpIHsKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX0NBTkNFTF9TVEVQKQogICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJFcnJvciwgTE9HX0VSUk9SLCAiZm1pMkNhbmNlbFN0ZXAgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMkVycm9yKQorICAgIHJldHVybiBmbWkyRXJyb3I7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJHZXRTdGF0dXMoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyU3RhdHVzS2luZCBzLCBmbWkyU3RhdHVzICp2YWx1ZSl7CisgIGZtaTJTdGF0dXMgZm1pMkdldFN0YXR1cyhmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJTdGF0dXNLaW5kIHMsIGZtaTJTdGF0dXMgKnZhbHVlKSB7CiAgICAgTk9UX1VTRUQocykKICAgICBOT1RfVVNFRCh2YWx1ZSkKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX0dFVF9TVEFUVVMpCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMkRpc2NhcmQsIExPR19FUlJPUiwgImZtaTJHZXRTdGF0dXMgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMkRpc2NhcmQpCisgICAgcmV0dXJuIGZtaTJEaXNjYXJkOwogICB9CiAKLSAgZm1pMlN0YXR1cyBmbWkyR2V0UmVhbFN0YXR1cyhmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJTdGF0dXNLaW5kIHMsIGZtaTJSZWFsICp2YWx1ZSl7CisgIGZtaTJTdGF0dXMgZm1pMkdldFJlYWxTdGF0dXMoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyU3RhdHVzS2luZCBzLCBmbWkyUmVhbCAqdmFsdWUpIHsKICAgICBOT1RfVVNFRChzKQogICAgIE5PVF9VU0VEKHZhbHVlKQogICAgIEVOVFJZX0ZVTkNUSU9OKEZNSTJfR0VUX1JFQUxfU1RBVFVTKQogICAgIExPR19GTVUoY29tcG9uZW50SW5zdGFuY2UsIGZtaTJEaXNjYXJkLCBMT0dfRVJST1IsICJmbWkyR2V0UmVhbFN0YXR1cyBpcyBub3QgeWV0IGltcGxlbWVudGVkIikKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyRGlzY2FyZCkKKyAgICByZXR1cm4gZm1pMkRpc2NhcmQ7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZtaTJHZXRJbnRlZ2VyU3RhdHVzKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlN0YXR1c0tpbmQgcywgZm1pMkludGVnZXIgKnZhbHVlKXsKKyAgZm1pMlN0YXR1cyBmbWkyR2V0SW50ZWdlclN0YXR1cyhmbWkyQ29tcG9uZW50IGMsIGNvbnN0IGZtaTJTdGF0dXNLaW5kIHMsIGZtaTJJbnRlZ2VyICp2YWx1ZSkgewogICAgIE5PVF9VU0VEKHMpCiAgICAgTk9UX1VTRUQodmFsdWUpCiAgICAgRU5UUllfRlVOQ1RJT04oRk1JMl9HRVRfSU5URUdFUl9TVEFUVVMpCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMkRpc2NhcmQsIExPR19FUlJPUiwgImZtaTJHZXRJbnRlZ2VyU3RhdHVzIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiKQotICAgIExFQVZFX0ZVTkNUSU9OKGZtaTJEaXNjYXJkKQorICAgIHJldHVybiBmbWkyRGlzY2FyZDsKICAgfQogCi0gIGZtaTJTdGF0dXMgZm1pMkdldEJvb2xlYW5TdGF0dXMoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyU3RhdHVzS2luZCBzLCBmbWkyQm9vbGVhbiAqdmFsdWUpeworICBmbWkyU3RhdHVzIGZtaTJHZXRCb29sZWFuU3RhdHVzKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlN0YXR1c0tpbmQgcywgZm1pMkJvb2xlYW4gKnZhbHVlKSB7CiAgICAgTk9UX1VTRUQocykKICAgICBOT1RfVVNFRCh2YWx1ZSkKICAgICBFTlRSWV9GVU5DVElPTihGTUkyX0dFVF9CT09MRUFOX1NUQVRVUykKICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRGlzY2FyZCwgTE9HX0VSUk9SLCAiZm1pMkdldEJvb2xlYW5TdGF0dXMgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIpCi0gICAgTEVBVkVfRlVOQ1RJT04oZm1pMkRpc2NhcmQpCisgICAgcmV0dXJuIGZtaTJEaXNjYXJkOwogICB9CiAKLSAgZm1pMlN0YXR1cyBmbWkyR2V0U3RyaW5nU3RhdHVzKGZtaTJDb21wb25lbnQgYywgY29uc3QgZm1pMlN0YXR1c0tpbmQgcywgZm1pMlN0cmluZyAqdmFsdWUpeworICBmbWkyU3RhdHVzIGZtaTJHZXRTdHJpbmdTdGF0dXMoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBmbWkyU3RhdHVzS2luZCBzLCBmbWkyU3RyaW5nICp2YWx1ZSkgewogICAgIE5PVF9VU0VEKHMpCiAgICAgTk9UX1VTRUQodmFsdWUpCiAgICAgRU5UUllfRlVOQ1RJT04oRk1JMl9HRVRfU1RSSU5HX1NUQVRVUykKICAgICBMT0dfRk1VKGNvbXBvbmVudEluc3RhbmNlLCBmbWkyRGlzY2FyZCwgTE9HX0VSUk9SLCAiZm1pMkdldFN0cmluZ1N0YXR1cyBpcyBub3QgeWV0IGltcGxlbWVudGVkIikKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyRGlzY2FyZCkKKyAgICByZXR1cm4gZm1pMkRpc2NhcmQ7CiAgIH0KIAotICBmbWkyU3RhdHVzIGZ1bmN0aW9uTm90U3VwcG9ydGVkKGZtaTJDb21wb25lbnQgYywgY29uc3QgY2hhciogZnVuY3Rpb25OYW1lKXsKLSAgICBpZigwID09IGMpCisgIGZtaTJTdGF0dXMgZnVuY3Rpb25Ob3RTdXBwb3J0ZWQoZm1pMkNvbXBvbmVudCBjLCBjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUpIHsKKyAgICBpZigwID09IGMpIHsKICAgICAgIHJldHVybiBmbWkyRXJyb3I7CisgICAgfQogICAgIGZtdUluc3RhbmNlKiBjb21wb25lbnRJbnN0YW5jZSA9IHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyk7CiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfQ0FMTCwgIiVzIC0gR1VJRCA9ICVzIiwgZnVuY3Rpb25OYW1lLCBjb21wb25lbnRJbnN0YW5jZS0+Z2V0R3VpZCgpLmdldFZhbHVlKCkpCiAgICAgTE9HX0ZNVShjb21wb25lbnRJbnN0YW5jZSwgZm1pMk9LLCBMT0dfRVJST1IsICJGdW5jdGlvbiAlcyBpcyBub3Qgc3VwcG9ydGVkLiIsIGZ1bmN0aW9uTmFtZSkKICAgICByZXR1cm4gZm1pMkVycm9yOwogICB9CiAKLSAgdm9pZCBmcmVlSW5zdGFuY2VJbnRlcm5hbChmbWkyQ29tcG9uZW50IGMpeworICB2b2lkIGZyZWVJbnN0YW5jZUludGVybmFsKGZtaTJDb21wb25lbnQgYykgewogICAgIGZtdUluc3RhbmNlKiBjb21wb25lbnRJbnN0YW5jZSA9IHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyk7CiAgICAgZGVsZXRlIGNvbXBvbmVudEluc3RhbmNlOwogICB9CiB9CiAKLQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZm1pL2ZtaVRpbWVySGFuZGxlci5jcHAgYi9zcmMvY29yZS9mbWkvZm1pVGltZXJIYW5kbGVyLmNwcAppbmRleCA3OGQ5MWY0Li42NGM1OWRlIDEwMDY0NAotLS0gYS9zcmMvY29yZS9mbWkvZm1pVGltZXJIYW5kbGVyLmNwcAorKysgYi9zcmMvY29yZS9mbWkvZm1pVGltZXJIYW5kbGVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2ZtaS9mbWlUaW1lckhhbmRsZXIuaCBiL3NyYy9jb3JlL2ZtaS9mbWlUaW1lckhhbmRsZXIuaAppbmRleCAyZjEwNTc1Li5iNGFkNjlkIDEwMDY0NAotLS0gYS9zcmMvY29yZS9mbWkvZm1pVGltZXJIYW5kbGVyLmgKKysrIGIvc3JjL2NvcmUvZm1pL2ZtaVRpbWVySGFuZGxlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLTIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvZm11Q29uZmlnLmggYi9zcmMvY29yZS9mbWkvZm11Q29uZmlnLmgKaW5kZXggZmE4NmM2ZS4uMGE1OGZhNCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm1pL2ZtdUNvbmZpZy5oCisrKyBiL3NyYy9jb3JlL2ZtaS9mbXVDb25maWcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IC0yMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTQyLDMyICsxNDMsMjcgQEAKICAgaWYoIShpbnN0YW5jZS0+Z2V0U3RhdGUoKSAmIGFsbG93ZWRTdGF0ZXNJbkZ1bmN0aW9uW2Z1bmN0aW9uXSkpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgaW5zdGFuY2UtPnNldFN0YXRlKFNUQVRFX0VSUk9SKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIExPR19GTVUoaW5zdGFuY2UsIGZtaTJFcnJvciwgTE9HX0VSUk9SLCAiVGhlIGZ1bmN0aW9uIGNhbm5vdCBiZSBjYWxsZWQgaW4gdGhlIGdpdmVuIHN0YXRlIikgICAgICAgICAgICAgICAgIFwKLSAgICBMRUFWRV9GVU5DVElPTihmbWkyRXJyb3IpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgcmV0dXJuIGZtaTJFcnJvcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICB9CiAKICNkZWZpbmUgQVNTRVJUX1NUQVRFX05PX1JFVFVSTihpbnN0YW5jZSwgZnVuY3Rpb24pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIGlmKCEoaW5zdGFuY2UtPmdldFN0YXRlKCkgJiBhbGxvd2VkU3RhdGVzSW5GdW5jdGlvbltmdW5jdGlvbl0pKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGluc3RhbmNlLT5zZXRTdGF0ZShTVEFURV9FUlJPUik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBMT0dfRk1VKGluc3RhbmNlLCBmbWkyRXJyb3IsIExPR19FUlJPUiwgIlRoZSBmdW5jdGlvbiBjYW5ub3QgYmUgY2FsbGVkIGluIHRoZSBnaXZlbiBzdGF0ZSIpICAgICAgICAgICAgICAgICBcCi0gICAgTEVBVkVfRlVOQ1RJT05fTk9fUkVUVVJOKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHJldHVybjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgfQogCiAKICNkZWZpbmUgRU5UUllfRlVOQ1RJT04oZnVuY3Rpb24pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgZm11SW5zdGFuY2UqIGNvbXBvbmVudEluc3RhbmNlID0gc3RhdGljX2Nhc3Q8Zm11SW5zdGFuY2UqPihjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmKE5VTEwgPT0gYykge0xFQVZFX0ZVTkNUSU9OKGZtaTJFcnJvcil9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZihOVUxMID09IGMpIHtyZXR1cm4gZm1pMkVycm9yO30gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgQVNTRVJUX1NUQVRFKGNvbXBvbmVudEluc3RhbmNlLCBmdW5jdGlvbikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogCi0jZGVmaW5lIExFQVZFX0ZVTkNUSU9OKHJldHVyblZhbHVlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgcmV0dXJuIHJldHVyblZhbHVlOwotCiAjZGVmaW5lIEVOVFJZX0ZVTkNUSU9OX05PX1JFVFVSTihmdW5jdGlvbikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGZtdUluc3RhbmNlKiBjb21wb25lbnRJbnN0YW5jZSA9IHN0YXRpY19jYXN0PGZtdUluc3RhbmNlKj4oYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZihOVUxMID09IGMpIHtMRUFWRV9GVU5DVElPTl9OT19SRVRVUk4oKX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYoTlVMTCA9PSBjKSB7cmV0dXJuO30gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIEFTU0VSVF9TVEFURV9OT19SRVRVUk4oY29tcG9uZW50SW5zdGFuY2UsIGZ1bmN0aW9uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKIAotI2RlZmluZSBMRUFWRV9GVU5DVElPTl9OT19SRVRVUk4oKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLQogI2RlZmluZSBOT1RfVVNFRCh2YXIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgKHZvaWQpdmFyOwogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvZm11RWNldC5jcHAgYi9zcmMvY29yZS9mbWkvZm11RWNldC5jcHAKaW5kZXggMGE1MjEyYy4uN2UyNDExYyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm1pL2ZtdUVjZXQuY3BwCisrKyBiL3NyYy9jb3JlL2ZtaS9mbXVFY2V0LmNwcApAQCAtMSwxNCArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTggLSBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDE4IC0gZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgImZtdUVjZXQuaCIKICNpbmNsdWRlICJmbWkvZm1pVGltZXJIYW5kbGVyLmgiCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvZm11RWNldC5oIGIvc3JjL2NvcmUvZm1pL2ZtdUVjZXQuaAppbmRleCAyZDhkYjg2Li41OTRiYjM2IDEwMDY0NAotLS0gYS9zcmMvY29yZS9mbWkvZm11RWNldC5oCisrKyBiL3NyYy9jb3JlL2ZtaS9mbXVFY2V0LmgKQEAgLTEsMTQgKzEsMTUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDE4IC0gZm9ydGlzcyBHbWJICi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAxOCAtIGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9GTVVFQ0VUX0hfCiAjZGVmaW5lIF9GTVVFQ0VUX0hfCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2ZtaS9mbXVFY2V0RmFjdG9yeS5jcHAgYi9zcmMvY29yZS9mbWkvZm11RWNldEZhY3RvcnkuY3BwCmluZGV4IGIxOTVmYTUuLmNiMzI3NjcgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2ZtaS9mbXVFY2V0RmFjdG9yeS5jcHAKKysrIGIvc3JjL2NvcmUvZm1pL2ZtdUVjZXRGYWN0b3J5LmNwcApAQCAtMSwxNCArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTggLSBmb3J0aXNzIEdtYkgKLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKLSAgKgotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDE4IC0gZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgImZtdUVjZXQuaCIKIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZm1pL2ZtdUluc3RhbmNlLmNwcCBiL3NyYy9jb3JlL2ZtaS9mbXVJbnN0YW5jZS5jcHAKaW5kZXggOTcwNzhkYS4uZDY2ZGRhNSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm1pL2ZtdUluc3RhbmNlLmNwcAorKysgYi9zcmMvY29yZS9mbWkvZm11SW5zdGFuY2UuY3BwCkBAIC0xLDEwICsxLDExIEBACiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLTIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0yMzUsOCArMjM2LDggQEAKICAgICAgIEZNVV9ERUJVR19MT0codGhpcywgIi0tLS0tLS0tRVJST1I6IFN1YnNjcmliZXIgZG9lcyBub3QgaGF2ZSBhbnkgY29ubmVjdGlvbi5cbiIpOwogICAgIH0KICAgICBlbHNlewotICAgICAgQ1NpbmdseUxpbmtlZExpc3Q8U0Nvbm5lY3Rpb25Qb2ludD46Okl0ZXJhdG9yIGl0ID0gcG9ydENvbm5lY3Rpb24tPmdldERlc3RpbmF0aW9uTGlzdCgpLmJlZ2luKCk7Ci0gICAgICBjb25zdCBTQ29ubmVjdGlvblBvaW50IHJlbW90ZUNvbm5lY3Rpb25Qb2ludCA9IHBhX2lzSW5wdXQgPyBwb3J0Q29ubmVjdGlvbi0+Z2V0U291cmNlSWQoKSA6ICppdDsKKyAgICAgIENTaW5nbHlMaW5rZWRMaXN0PENDb25uZWN0aW9uUG9pbnQ+OjpJdGVyYXRvciBpdCA9IHBvcnRDb25uZWN0aW9uLT5nZXREZXN0aW5hdGlvbkxpc3QoKS5iZWdpbigpOworICAgICAgY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCByZW1vdGVDb25uZWN0aW9uUG9pbnQgPSBwYV9pc0lucHV0ID8gcG9ydENvbm5lY3Rpb24tPmdldFNvdXJjZUlkKCkgOiAqaXQ7CiAKICAgICAgIGNvbnN0IENJRUNfQU5ZICpyZW1vdGVQb3J0ID0gcGFfaXNJbnB1dCA/IHJlbW90ZUNvbm5lY3Rpb25Qb2ludC5tRkItPmdldERPRnJvbVBvcnRJZChyZW1vdGVDb25uZWN0aW9uUG9pbnQubVBvcnRJZCkgOiByZW1vdGVDb25uZWN0aW9uUG9pbnQubUZCLT5nZXRESUZyb21Qb3J0SWQocmVtb3RlQ29ubmVjdGlvblBvaW50Lm1Qb3J0SWQpOwogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvZm11SW5zdGFuY2UuaCBiL3NyYy9jb3JlL2ZtaS9mbXVJbnN0YW5jZS5oCmluZGV4IDM1YjlkZDMuLjlmNmUwMmEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2ZtaS9mbXVJbnN0YW5jZS5oCisrKyBiL3NyYy9jb3JlL2ZtaS9mbXVJbnN0YW5jZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLTIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvZm11VmFsdWVDb250YWluZXIuY3BwIGIvc3JjL2NvcmUvZm1pL2ZtdVZhbHVlQ29udGFpbmVyLmNwcAppbmRleCBiYzEyMDFiLi4yYWJmNWMyIDEwMDY0NAotLS0gYS9zcmMvY29yZS9mbWkvZm11VmFsdWVDb250YWluZXIuY3BwCisrKyBiL3NyYy9jb3JlL2ZtaS9mbXVWYWx1ZUNvbnRhaW5lci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2ZtaS9mbXVWYWx1ZUNvbnRhaW5lci5oIGIvc3JjL2NvcmUvZm1pL2ZtdVZhbHVlQ29udGFpbmVyLmgKaW5kZXggMjFjYzZhNi4uMTA0YTI1NyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm1pL2ZtdVZhbHVlQ29udGFpbmVyLmgKKysrIGIvc3JjL2NvcmUvZm1pL2ZtdVZhbHVlQ29udGFpbmVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2ZtaS9wcm9jZXNzaW50ZXJmYWNlLmNwcCBiL3NyYy9jb3JlL2ZtaS9wcm9jZXNzaW50ZXJmYWNlLmNwcAppbmRleCBlYjFmYThkLi45ZGEzM2U2IDEwMDY0NAotLS0gYS9zcmMvY29yZS9mbWkvcHJvY2Vzc2ludGVyZmFjZS5jcHAKKysrIGIvc3JjL2NvcmUvZm1pL3Byb2Nlc3NpbnRlcmZhY2UuY3BwCkBAIC0xLDEwICsxLDEwIEBACi0KIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTYgLTIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogQ29weXJpZ2h0IChjKSAyMDE2IC0yMDE5IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xNyw5ICsxNyw2IEBACiAjaW5jbHVkZSA8aW9zdHJlYW0+CiAjaW5jbHVkZSAiZm11SW5zdGFuY2UuaCIKIAotREVGSU5FX0ZJUk1XQVJFX0ZCKENGTVVQcm9jZXNzSW50ZXJmYWNlLCBnX25TdHJpbmdJZENGTVVQcm9jZXNzSW50ZXJmYWNlKQotCi0KIGNvbnN0IGNoYXIgKiBjb25zdCBDRk1VUHJvY2Vzc0ludGVyZmFjZTo6c2NtT0sgPSAiT0siOwogY29uc3QgY2hhciAqIGNvbnN0IENGTVVQcm9jZXNzSW50ZXJmYWNlOjpzY21OT1RJTklUSUFMSVpFRCA9ICJOb3QgaW5pdGlhbGl6ZWQiOwogY29uc3QgY2hhciAqIGNvbnN0IENGTVVQcm9jZXNzSW50ZXJmYWNlOjpzY21JTlRFUk5BTEVSUk9SID0gIkludGVybmFsIEVycm9yIjsKQEAgLTI4LDE2ICsyNSwxNiBAQAogICAgIENQcm9jZXNzSW50ZXJmYWNlQmFzZShwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSksIG1Jbml0aWFsaXplZChmYWxzZSksIG1WYWx1ZSgwKXsKIH0KIAotQ0ZNVVByb2Nlc3NJbnRlcmZhY2U6OkNGTVVQcm9jZXNzSW50ZXJmYWNlKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcykgOgotICAgIENQcm9jZXNzSW50ZXJmYWNlQmFzZShwYV9wb1NyY1JlcywgMCwgcGFJbnN0YW5jZU5hbWVJZCwgMCwgMCksIG1Jbml0aWFsaXplZChmYWxzZSksIG1WYWx1ZSgwKSB7CitDRk1VUHJvY2Vzc0ludGVyZmFjZTo6Q0ZNVVByb2Nlc3NJbnRlcmZhY2UoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhU3JjUmVzKSA6CisgICAgQ1Byb2Nlc3NJbnRlcmZhY2VCYXNlKHBhU3JjUmVzLCAwLCBwYUluc3RhbmNlTmFtZUlkLCAwLCAwKSwgbUluaXRpYWxpemVkKGZhbHNlKSwgbVZhbHVlKDApIHsKICAgRk1VX0RFQlVHX0xPRyhHRVRfRk1VX0lOU1RBTkNFX0ZST01fRkIodGhpcyksICJTb21lb25lIGNhbGxlZCB0aGUgd3JvbmcgY29uc3RydWN0b3IuXG4iKSAvL1doeSBkbyBJIG5lZWQgdGhpcyBjb25zdHJ1Y3Rvcj8KIH0KIAogQ0ZNVVByb2Nlc3NJbnRlcmZhY2U6On5DRk1VUHJvY2Vzc0ludGVyZmFjZSgpewogfQogCi12b2lkIENGTVVQcm9jZXNzSW50ZXJmYWNlOjpzZXRWYWx1ZUNvbnRhaW5lcihmbXVWYWx1ZUNvbnRhaW5lciogcGFfdmFsdWVDb250YWluZXIpewotICBtVmFsdWUgPSBwYV92YWx1ZUNvbnRhaW5lcjsKK3ZvaWQgQ0ZNVVByb2Nlc3NJbnRlcmZhY2U6OnNldFZhbHVlQ29udGFpbmVyKGZtdVZhbHVlQ29udGFpbmVyKiBwYVZhbHVlQ29udGFpbmVyKXsKKyAgbVZhbHVlID0gcGFWYWx1ZUNvbnRhaW5lcjsKIH0KIAogYm9vbCBDRk1VUHJvY2Vzc0ludGVyZmFjZTo6aW5pdGlhbGlzZShib29sIHBhSXNJbnB1dCl7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9mbWkvcHJvY2Vzc2ludGVyZmFjZS5oIGIvc3JjL2NvcmUvZm1pL3Byb2Nlc3NpbnRlcmZhY2UuaAppbmRleCA4NDk1NmM0Li44N2I1MTkxIDEwMDY0NAotLS0gYS9zcmMvY29yZS9mbWkvcHJvY2Vzc2ludGVyZmFjZS5oCisrKyBiL3NyYy9jb3JlL2ZtaS9wcm9jZXNzaW50ZXJmYWNlLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIENvcHlyaWdodCAoYykgMjAxNiAtMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLTIwMTkgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTExLDggKzEyLDYgQEAKICNpZm5kZWYgX1BST0NFU1NJTlRFUkZBQ0VfSF8KICNkZWZpbmUgX1BST0NFU1NJTlRFUkZBQ0VfSF8KIAotI2RlZmluZSBBQlNFTlQgMCAvL1RoaXMgdmFsdWUgaXMgdG8gYXZvaWQgdHJpZ2dlciBhbiBldmVudCBpbiB0aGUgc3Vic2NyaWJlIHdoZW4gc2V0dGluZy4gSXQncyBub3QgY29tcGxldGVkIG5vciB3ZWxsIGltcGxlbWVudGVkIHlldC4KLQogI2luY2x1ZGUgPC4uL3N0ZGZibGliL2lvL3Byb2Nlc3NpbnRlcmZhY2ViYXNlLmg+CiAjaW5jbHVkZSAiZm11VmFsdWVDb250YWluZXIuaCIKICNpbmNsdWRlIDx2ZWN0b3I+CkBAIC0yOCwxMiArMjcsMTEgQEAKICNlbmRpZgogCiBjbGFzcyBDRk1VUHJvY2Vzc0ludGVyZmFjZSA6IHB1YmxpYyBDUHJvY2Vzc0ludGVyZmFjZUJhc2V7Ci0gICAgREVDTEFSRV9GSVJNV0FSRV9GQihDRk1VUHJvY2Vzc0ludGVyZmFjZSkgLy9mb3IgcGFyYW1ldGVycyB0aGlzIGNsYXNzIGlzIGluc3RhbnRpYXRlZAogICBwdWJsaWM6CiAgICAgQ0ZNVVByb2Nlc3NJbnRlcmZhY2UoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIFRGb3J0ZUJ5dGUgKnBhRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFGQlZhcnNEYXRhKTsKLSAgICBDRk1VUHJvY2Vzc0ludGVyZmFjZShjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpOworICAgIENGTVVQcm9jZXNzSW50ZXJmYWNlKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYVNyY1Jlcyk7CiAKLSAgICB2b2lkIHNldFZhbHVlQ29udGFpbmVyKGZtdVZhbHVlQ29udGFpbmVyKiBwYV92YWx1ZUNvbnRhaW5lcik7CisgICAgdm9pZCBzZXRWYWx1ZUNvbnRhaW5lcihmbXVWYWx1ZUNvbnRhaW5lciogcGFWYWx1ZUNvbnRhaW5lcik7CiAKICAgICB2aXJ0dWFsIH5DRk1VUHJvY2Vzc0ludGVyZmFjZSgpOwogCkBAIC01NCw4ICs1Miw2IEBACiAgICAgICByZXR1cm4gZmFsc2U7IC8vbm90IGltcGxlbWVudGVkCiAgICAgfQogCi0KLQogICBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtT0s7CiAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21OT1RJTklUSUFMSVpFRDsKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2ZvcnRlaXRlcmF0b3IuaCBiL3NyYy9jb3JlL2ZvcnRlaXRlcmF0b3IuaAppbmRleCBmYTQyYjk2Li5lNTgzNDNjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9mb3J0ZWl0ZXJhdG9yLmgKKysrIGIvc3JjL2NvcmUvZm9ydGVpdGVyYXRvci5oCkBAIC0xLDE1ICsxLDE3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIDIwMTggVFUgVmllbm5hL0FDSU4NCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gICoNCi0gICogQ29udHJpYnV0b3JzOg0KLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgQWxvaXMgWm9pdGwsDQotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIHVwZGF0ZXMgbmFtaW5nDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAxMCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEFsb2lzIFpvaXRsLA0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gdXBkYXRlcyBuYW1pbmcNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaWZuZGVmIEZPUlRFSVRFUkFUT1JfSF8NCiAjZGVmaW5lIEZPUlRFSVRFUkFUT1JfSF8NCiANCmRpZmYgLS1naXQgYS9zcmMvY29yZS9mb3J0ZWxpc3QuaCBiL3NyYy9jb3JlL2ZvcnRlbGlzdC5oCmluZGV4IDkzNTAwMTAuLjAzYWU1YzAgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2ZvcnRlbGlzdC5oCisrKyBiL3NyYy9jb3JlL2ZvcnRlbGlzdC5oCkBAIC0xLDE5ICsxLDIxIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEyLCAyMDE4IFRVIFZpZW5uYS9BQ0lOLCAyMDE3IGZvcnRpc3MgR21iSA0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwNCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICAqICAgIFN0ZWZhbiBQcm9mYW50ZXINCi0gICogICAgICAtIGxpc3QtPmJlZ2luIGNoYW5nZWQgdG8gYmUgY29uc3QsIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzIHRvIHN1cHBvcnQNCi0gICogICAgICAgIGNvbnN0IGFzIFR5cGUNCi0gICogICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gZml4ZXMgbmFtaW5nLCBhZGRzIG1pc3NpbmcgYmFjayBmdW5jdGlvbnMgZm9yDQotICAqICAgICAgIGxpc3Qgc3BlY2lhbGl6YXRpb25zDQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTIsIDIwMTggVFUgVmllbm5hL0FDSU4sIDIwMTcgZm9ydGlzcyBHbWJIDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksDQorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQorICogICAgU3RlZmFuIFByb2ZhbnRlcg0KKyAqICAgICAgLSBsaXN0LT5iZWdpbiBjaGFuZ2VkIHRvIGJlIGNvbnN0LCBhbmQgc21hbGxlciBidWdmaXhlcyB0byBzdXBwb3J0DQorICogICAgICAgIGNvbnN0IGFzIFR5cGUNCisgKiAgICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBmaXhlcyBuYW1pbmcsIGFkZHMgbWlzc2luZyBiYWNrIGZ1bmN0aW9ucyBmb3INCisgKiAgICAgICBsaXN0IHNwZWNpYWxpemF0aW9ucw0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICNpbmNsdWRlIDxmb3J0ZW5ldy5oPg0KICNpbmNsdWRlICJmb3J0ZW5vZGUuaCINCiAjaW5jbHVkZSAiZm9ydGVpdGVyYXRvci5oIg0KQEAgLTI1NCwxMCArMjU2LDcgQEAKICAgICoNCiAgICAqLw0KICAgaW5saW5lIGNvbnN0IHZvaWQqIHBlZWtGcm9udCgpIGNvbnN0IHsNCi0gICAgaWYgKG1GaXJzdE5vZGUgIT0gMCkNCi0gICAgICByZXR1cm4gbUZpcnN0Tm9kZS0+Z2V0RGF0YSgpOw0KLSAgICBlbHNlDQotICAgICAgcmV0dXJuIDA7DQorICAgICAgcmV0dXJuIChtRmlyc3ROb2RlICE9IDApID8gbUZpcnN0Tm9kZS0+Z2V0RGF0YSgpIDogMDsNCiAgIH0NCiANCiAgIC8qIVxicmllZiBEZWxldGVzIHRoZSBmaXJzdCBvYmplY3Qgb2YgdGhlIHNpbmdseSBsaW5rZWQgbGlzdA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2ZvcnRlbm9kZS5oIGIvc3JjL2NvcmUvZm9ydGVub2RlLmgKaW5kZXggOTQzNDkyZi4uZjRmYjQ4MCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZm9ydGVub2RlLmgKKysrIGIvc3JjL2NvcmUvZm9ydGVub2RlLmgKQEAgLTEsMTUgKzEsMTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICAqIENvcHlyaWdodCAoYykgMjAxMCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAgKg0KLSAgKiBDb250cmlidXRvcnM6DQotICAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBBbG9pcyBab2l0bA0KLSAgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSB1cGRhdGVzIG5hbWluZw0KLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAsIDIwMTggVFUgVmllbm5hL0FDSU4NCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBBbG9pcyBab2l0bA0KKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gdXBkYXRlcyBuYW1pbmcNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjaWZuZGVmIEZPUlRFTk9ERV9IXw0KICNkZWZpbmUgRk9SVEVOT0RFX0hfDQogDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZnVuY2Jsb2MuY3BwIGIvc3JjL2NvcmUvZnVuY2Jsb2MuY3BwCmluZGV4IDBlMjFlNGQuLmJkYmU2YzMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2Z1bmNibG9jLmNwcAorKysgYi9zcmMvY29yZS9mdW5jYmxvYy5jcHAKQEAgLTIsMTAgKzIsMTEgQEAKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTggUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSCwKICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKICAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBUaG9tYXMgU3RyYXNzZXIsIEd1bm5hciBHcmFibWFpZXIsIEFsb2lzIFpvaXRsLCBTbW9kaWMgUmVuZSwgSW5nbyBIZWdueSwKQEAgLTcyLDE1ICs3MywxNSBAQAogfQogCiB2b2lkIENGdW5jdGlvbkJsb2NrOjpzZXR1cEFkYXB0ZXJzKGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJEYXRhKXsKLSAgaWYoKDAgIT0gcGFfcHN0SW50ZXJmYWNlU3BlYykgJiYgKDAgIT0gcGFfYWNGQkRhdGEpKXsKLSAgICBpZihwYV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1BZGFwdGVycyl7Ci0gICAgICBtX2Fwb0FkYXB0ZXJzID0gcmVpbnRlcnByZXRfY2FzdDxUQWRhcHRlclB0ciAqPihwYV9hY0ZCRGF0YSk7Ci0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgcGFfcHN0SW50ZXJmYWNlU3BlYy0+bV9uTnVtQWRhcHRlcnM7ICsraSl7Ci0gICAgICAgIC8vc2V0IHBvaW50ZXIgdG8gcmlnaHQgcGxhY2UgaW4gcGFfYWNGQkRhdGEKLSAgICAgICAgbV9hcG9BZGFwdGVyc1tpXSA9IENUeXBlTGliOjpjcmVhdGVBZGFwdGVyKHBhX3BzdEludGVyZmFjZVNwZWMtPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpXS5tX25BZGFwdGVyTmFtZUlELCBwYV9wc3RJbnRlcmZhY2VTcGVjLT5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb25baV0ubV9uQWRhcHRlclR5cGVOYW1lSUQsIGdldFJlc291cmNlUHRyKCksIHBhX3BzdEludGVyZmFjZVNwZWMtPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpXS5tX2JJc1BsdWcpOwotICAgICAgICBpZigwICE9IG1fYXBvQWRhcHRlcnNbaV0pewotICAgICAgICAgIG1fYXBvQWRhcHRlcnNbaV0tPnNldFBhcmVudEZCKHRoaXMsIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ4PihpKSk7Ci0gICAgICAgIH0KKyAgaWYoKDAgIT0gcGFfcHN0SW50ZXJmYWNlU3BlYykgJiYgKDAgIT0gcGFfYWNGQkRhdGEpICYmIChwYV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1BZGFwdGVycykpIHsKKyAgICBtX2Fwb0FkYXB0ZXJzID0gcmVpbnRlcnByZXRfY2FzdDxUQWRhcHRlclB0ciAqPihwYV9hY0ZCRGF0YSk7CisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHBhX3BzdEludGVyZmFjZVNwZWMtPm1fbk51bUFkYXB0ZXJzOyArK2kpIHsKKyAgICAgIC8vc2V0IHBvaW50ZXIgdG8gcmlnaHQgcGxhY2UgaW4gcGFfYWNGQkRhdGEKKyAgICAgIG1fYXBvQWRhcHRlcnNbaV0gPSBDVHlwZUxpYjo6Y3JlYXRlQWRhcHRlcihwYV9wc3RJbnRlcmZhY2VTcGVjLT5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb25baV0ubV9uQWRhcHRlck5hbWVJRCwKKyAgICAgICAgcGFfcHN0SW50ZXJmYWNlU3BlYy0+bV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uW2ldLm1fbkFkYXB0ZXJUeXBlTmFtZUlELCBnZXRSZXNvdXJjZVB0cigpLAorICAgICAgICBwYV9wc3RJbnRlcmZhY2VTcGVjLT5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb25baV0ubV9iSXNQbHVnKTsKKyAgICAgIGlmKDAgIT0gbV9hcG9BZGFwdGVyc1tpXSkgeworICAgICAgICBtX2Fwb0FkYXB0ZXJzW2ldLT5zZXRQYXJlbnRGQih0aGlzLCBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4oaSkpOwogICAgICAgfQogICAgIH0KICAgfQpAQCAtMTI4LDEwICsxMjksOCBAQAogfQogCiB2b2lkIENGdW5jdGlvbkJsb2NrOjpjb25maWd1cmVHZW5lcmljREkoVFBvcnRJZCBwYURJUG9ydElkLCBjb25zdCBDSUVDX0FOWSAqcGFSZWZWYWx1ZSl7Ci0gIGlmKGdldERJKHBhRElQb3J0SWQpLT5nZXREYXRhVHlwZUlEKCkgPT0gQ0lFQ19BTlk6OmVfQU5ZKXsKLSAgICBpZigwICE9IHBhUmVmVmFsdWUpewotICAgICAgcGFSZWZWYWx1ZS0+Y2xvbmUocmVpbnRlcnByZXRfY2FzdDxURm9ydGVCeXRlICo+KGdldERJKHBhRElQb3J0SWQpKSk7Ci0gICAgfQorICBpZihnZXRESShwYURJUG9ydElkKS0+Z2V0RGF0YVR5cGVJRCgpID09IENJRUNfQU5ZOjplX0FOWSAmJiAoMCAhPSBwYVJlZlZhbHVlKSkgeworICAgIHBhUmVmVmFsdWUtPmNsb25lKHJlaW50ZXJwcmV0X2Nhc3Q8VEZvcnRlQnl0ZSAqPihnZXRESShwYURJUG9ydElkKSkpOwogICB9CiB9CiAKQEAgLTI0MSwyOCArMjQwLDI1IEBACiAKIHZvaWQgQ0Z1bmN0aW9uQmxvY2s6OnNlbmRPdXRwdXRFdmVudChzaXplX3QgcGFFTyl7CiAgIEZPUlRFX1RSQUNFKCJPdXRwdXRFdmVudDogRnVuY3Rpb24gQmxvY2sgc2VuZGluZyBldmVudDogJWQgKG1heGlkOiAlZClcbiIsIHBhRU8sIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9uTnVtRU9zIC0gMSk7Ci0gIGlmKHBhRU8gPCBtX3BzdEludGVyZmFjZVNwZWMtPm1fbk51bUVPcyl7Ci0gICAgaWYoMCAhPSBtX3BzdEludGVyZmFjZVNwZWMtPm1fYW5FT1dpdGhJbmRleGVzKXsKLSAgICAgIGlmKC0xICE9IG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9hbkVPV2l0aEluZGV4ZXNbcGFFT10pewotICAgICAgICBjb25zdCBURGF0YUlPSUQgKmVpV2l0aFN0YXJ0ID0gJihtX3BzdEludGVyZmFjZVNwZWMtPm1fYW5FT1dpdGhbbV9wc3RJbnRlcmZhY2VTcGVjLT5tX2FuRU9XaXRoSW5kZXhlc1twYUVPXV0pOwotICAgICAgICAvL1RPRE8gdGhpbmsgb24gdGhpcyBsb2NrCi0gICAgICAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtX3BvUmVzb3VyY2UtPm1fb1Jlc0RhdGFDb25TeW5jKTsKLSAgICAgICAgZm9yKHNpemVfdCBpID0gMDsgZWlXaXRoU3RhcnRbaV0gIT0gc2NtV2l0aExpc3REZWxpbWl0ZXI7ICsraSl7Ci0gICAgICAgICAgQ0RhdGFDb25uZWN0aW9uICpjb24gPSBnZXRET0NvblVuY2hlY2tlZChlaVdpdGhTdGFydFtpXSk7Ci0gICAgICAgICAgaWYoY29uLT5pc0Nvbm5lY3RlZCgpKXsKLSAgICAgICAgICAgIENJRUNfQU5ZICpkYXRhT3V0cHV0ID0gZ2V0RE8oZWlXaXRoU3RhcnRbaV0pOworICBpZihwYUVPIDwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1FT3MpIHsKKyAgICBpZigwICE9IG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9hbkVPV2l0aEluZGV4ZXMgJiYgLTEgIT0gbV9wc3RJbnRlcmZhY2VTcGVjLT5tX2FuRU9XaXRoSW5kZXhlc1twYUVPXSkgeworICAgICAgY29uc3QgVERhdGFJT0lEICplaVdpdGhTdGFydCA9ICYobV9wc3RJbnRlcmZhY2VTcGVjLT5tX2FuRU9XaXRoW21fcHN0SW50ZXJmYWNlU3BlYy0+bV9hbkVPV2l0aEluZGV4ZXNbcGFFT11dKTsKKyAgICAgIC8vVE9ETyB0aGluayBvbiB0aGlzIGxvY2sKKyAgICAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtX3BvUmVzb3VyY2UtPm1fb1Jlc0RhdGFDb25TeW5jKTsKKyAgICAgIGZvcihzaXplX3QgaSA9IDA7IGVpV2l0aFN0YXJ0W2ldICE9IHNjbVdpdGhMaXN0RGVsaW1pdGVyOyArK2kpIHsKKyAgICAgICAgQ0RhdGFDb25uZWN0aW9uICpjb24gPSBnZXRET0NvblVuY2hlY2tlZChlaVdpdGhTdGFydFtpXSk7CisgICAgICAgIGlmKGNvbi0+aXNDb25uZWN0ZWQoKSkgeworICAgICAgICAgIENJRUNfQU5ZICpkYXRhT3V0cHV0ID0gZ2V0RE8oZWlXaXRoU3RhcnRbaV0pOwogI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORwotICAgICAgICAgICAgaWYoZGF0YU91dHB1dC0+aXNGb3JjZWQoKSAhPSB0cnVlKXsKKyAgICAgICAgICBpZihkYXRhT3V0cHV0LT5pc0ZvcmNlZCgpICE9IHRydWUpIHsKICNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfTU9OSVRPUklORwotICAgICAgICAgICAgICBjb24tPndyaXRlRGF0YShkYXRhT3V0cHV0KTsKKyAgICAgICAgICAgIGNvbi0+d3JpdGVEYXRhKGRhdGFPdXRwdXQpOwogI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZXsKLSAgICAgICAgICAgICAgLy93aGVuIGZvcmNpbmcgd2Ugd3JpdGUgYmFjayB0aGUgdmFsdWUgZnJvbSB0aGUgY29ubmVjdGlvbiB0byBrZWVwIHRoZSBmb3JjZWQgdmFsdWUgb24gdGhlIG91dHB1dAotICAgICAgICAgICAgICBjb24tPnJlYWREYXRhKGRhdGFPdXRwdXQpOwotICAgICAgICAgICAgfQotI2VuZGlmIC8vRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vd2hlbiBmb3JjaW5nIHdlIHdyaXRlIGJhY2sgdGhlIHZhbHVlIGZyb20gdGhlIGNvbm5lY3Rpb24gdG8ga2VlcCB0aGUgZm9yY2VkIHZhbHVlIG9uIHRoZSBvdXRwdXQKKyAgICAgICAgICAgIGNvbi0+cmVhZERhdGEoZGF0YU91dHB1dCk7CiAgICAgICAgICAgfQorI2VuZGlmIC8vRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCiAgICAgICAgIH0KICAgICAgIH0KICAgICB9CkBAIC0yOTAsMjQgKzI4NiwyMiBAQAogICBGT1JURV9UUkFDRSgiSW5wdXRFdmVudDogRnVuY3Rpb24gQmxvY2sgKCVzKSBnb3QgZXZlbnQ6ICVkIChtYXhpZDogJWQpXG4iLCBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoZ2V0SW5zdGFuY2VOYW1lSWQoKSksIHBhRUlJRCwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1FSXMgLSAxKTsKIAogICBpZihlX1JVTk5JTkcgPT0gZ2V0U3RhdGUoKSl7Ci0gICAgaWYocGFFSUlEIDwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1FSXMpewotICAgICAgaWYoMCAhPSBtX3BzdEludGVyZmFjZVNwZWMtPm1fYW5FSVdpdGhJbmRleGVzKXsKLSAgICAgICAgaWYoLTEgIT0gbV9wc3RJbnRlcmZhY2VTcGVjLT5tX2FuRUlXaXRoSW5kZXhlc1twYUVJSURdKXsKLSAgICAgICAgICBjb25zdCBURGF0YUlPSUQgKmVpV2l0aFN0YXJ0ID0gJihtX3BzdEludGVyZmFjZVNwZWMtPm1fYW5FSVdpdGhbbV9wc3RJbnRlcmZhY2VTcGVjLT5tX2FuRUlXaXRoSW5kZXhlc1twYUVJSURdXSk7CisgICAgaWYocGFFSUlEIDwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1FSXMpIHsKKyAgICAgIGlmKDAgIT0gbV9wc3RJbnRlcmZhY2VTcGVjLT5tX2FuRUlXaXRoSW5kZXhlcyAmJiAtMSAhPSBtX3BzdEludGVyZmFjZVNwZWMtPm1fYW5FSVdpdGhJbmRleGVzW3BhRUlJRF0pIHsKKyAgICAgICAgY29uc3QgVERhdGFJT0lEICplaVdpdGhTdGFydCA9ICYobV9wc3RJbnRlcmZhY2VTcGVjLT5tX2FuRUlXaXRoW21fcHN0SW50ZXJmYWNlU3BlYy0+bV9hbkVJV2l0aEluZGV4ZXNbcGFFSUlEXV0pOwogCi0gICAgICAgICAgLy8gVE9ETyB0aGluayBvbiB0aGlzIGxvY2sKLSAgICAgICAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obV9wb1Jlc291cmNlLT5tX29SZXNEYXRhQ29uU3luYyk7Ci0gICAgICAgICAgZm9yKHNpemVfdCBpID0gMDsgZWlXaXRoU3RhcnRbaV0gIT0gc2NtV2l0aExpc3REZWxpbWl0ZXI7ICsraSl7Ci0gICAgICAgICAgICBpZigwICE9IG1fYXBvRElDb25uc1tlaVdpdGhTdGFydFtpXV0pewotICAgICAgICAgICAgICBDSUVDX0FOWSAqZGkgPSBnZXRESShlaVdpdGhTdGFydFtpXSk7CisgICAgICAgIC8vIFRPRE8gdGhpbmsgb24gdGhpcyBsb2NrCisgICAgICAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtX3BvUmVzb3VyY2UtPm1fb1Jlc0RhdGFDb25TeW5jKTsKKyAgICAgICAgZm9yKHNpemVfdCBpID0gMDsgZWlXaXRoU3RhcnRbaV0gIT0gc2NtV2l0aExpc3REZWxpbWl0ZXI7ICsraSkgeworICAgICAgICAgIGlmKDAgIT0gbV9hcG9ESUNvbm5zW2VpV2l0aFN0YXJ0W2ldXSkgeworICAgICAgICAgICAgQ0lFQ19BTlkgKmRpID0gZ2V0REkoZWlXaXRoU3RhcnRbaV0pOwogI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORwotICAgICAgICAgICAgICBpZih0cnVlICE9IGRpLT5pc0ZvcmNlZCgpKXsKKyAgICAgICAgICAgIGlmKHRydWUgIT0gZGktPmlzRm9yY2VkKCkpIHsKICNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfTU9OSVRPUklORwotICAgICAgICAgICAgICAgIG1fYXBvRElDb25uc1tlaVdpdGhTdGFydFtpXV0tPnJlYWREYXRhKGRpKTsKKyAgICAgICAgICAgICAgbV9hcG9ESUNvbm5zW2VpV2l0aFN0YXJ0W2ldXS0+cmVhZERhdGEoZGkpOwogI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORwotICAgICAgICAgICAgICB9Ci0jZW5kaWYgLy9GT1JURV9TVVBQT1JUX01PTklUT1JJTkcKICAgICAgICAgICAgIH0KKyNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfTU9OSVRPUklORwogICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgfQpAQCAtMzU0LDEyICszNDgsMTAgQEAKICAgICAgIGJyZWFrOwogICB9CiAKLSAgaWYoZV9SRFkgPT0gblJldFZhbCl7Ci0gICAgaWYoMCAhPSBtX3BzdEludGVyZmFjZVNwZWMpewotICAgICAgZm9yKGludCBpID0gMDsgaSA8IG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9uTnVtQWRhcHRlcnM7ICsraSl7Ci0gICAgICAgIGlmKDAgIT0gbV9hcG9BZGFwdGVyc1tpXSl7Ci0gICAgICAgICAgbV9hcG9BZGFwdGVyc1tpXS0+Y2hhbmdlRkJFeGVjdXRpb25TdGF0ZShwYV91bkNvbW1hbmQpOwotICAgICAgICB9CisgIGlmKGVfUkRZID09IG5SZXRWYWwgJiYgMCAhPSBtX3BzdEludGVyZmFjZVNwZWMpIHsKKyAgICBmb3IoaW50IGkgPSAwOyBpIDwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1BZGFwdGVyczsgKytpKSB7CisgICAgICBpZigwICE9IG1fYXBvQWRhcHRlcnNbaV0pIHsKKyAgICAgICAgbV9hcG9BZGFwdGVyc1tpXS0+Y2hhbmdlRkJFeGVjdXRpb25TdGF0ZShwYV91bkNvbW1hbmQpOwogICAgICAgfQogICAgIH0KICAgfQpAQCAtNDYwLDExICs0NTIsNiBAQAogICByZXR1cm4gY2dfdW5JbnZhbGlkUG9ydElkOwogfQogCi0KLWNvbnN0IENJRUNfVElNRSBDRnVuY3Rpb25CbG9jazo6VElNRSgpewotICByZXR1cm4gQ0lFQ19USU1FKCBnZXRUaW1lcigpLmdldEZvcnRlVGltZSgpICogKEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EIC8gY2dfbkZvcnRlVGlja3NQZXJTZWNvbmQpICk7Ci19OwotCiAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogYmVsb3cgaGVyZSBhcmUgbW9uaXRvcmluZyBzcGVjaWZpYyBmdW5jdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORwogdm9pZCBDRnVuY3Rpb25CbG9jazo6c2V0dXBFdmVudE1vbml0b3JpbmdEYXRhKCl7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9mdW5jYmxvYy5oIGIvc3JjL2NvcmUvZnVuY2Jsb2MuaAppbmRleCAzYjM3YTBiLi5kODliNDUyIDEwMDY0NAotLS0gYS9zcmMvY29yZS9mdW5jYmxvYy5oCisrKyBiL3NyYy9jb3JlL2Z1bmNibG9jLmgKQEAgLTEsNTQxICsxLDUzNSBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE4IEFDSU4sIFByb2ZhY3RvciBHbWJILCBueHRDb250cm9sIEdtYkgsIGZvcnRpc3MgR21iSCwNCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5DQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gKg0KLSAqIENvbnRyaWJ1dG9yczoNCi0gKiAgICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyLCBHdW5uYXIgR3JhYm1haWVyLCBTbW9kaWMgUmVuZSwNCi0gKiAgICBHZXJoYXJkIEViZW5ob2ZlciwgTWljaGFlbCBIb2ZtYW5uLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwNCi0gKiAgICBTdGFuaXNsYXYgTWVkdW5hLCBQYXRyaWNrIFNtZWprYWwsDQotICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlDQotICogICAgQWxvaXMgWm9pdGwgLSBpbnRyb2R1Y2VkIG5ldyBDR2VuRkIgY2xhc3MgZm9yIGJldHRlciBoYW5kbGluZyBnZW5lcmljIEZCcw0KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLSNpZm5kZWYgX0ZVTkNCTE9DX0hfDQotI2RlZmluZSBfRlVOQ0JMT0NfSF8NCi0NCi0jaW5jbHVkZSA8Zm9ydGVfY29uZmlnLmg+DQotI2luY2x1ZGUgIm1nbWNtZC5oIg0KLSNpbmNsdWRlICJldmVudC5oIg0KLSNpbmNsdWRlICJkYXRhY29ubi5oIg0KLSNpbmNsdWRlICJldmVudGNvbm4uaCINCi0jaW5jbHVkZSAic3RyaW5nZGljdC5oIg0KLSNpbmNsdWRlICIuLi9hcmNoL2RldmxvZy5oIg0KLSNpbmNsdWRlICJpZWM2MTEzMV9mdW5jdGlvbnMuaCINCi0jaW5jbHVkZSA8c3RyaW5nbGlzdC5oPg0KLQ0KLWNsYXNzIENFdmVudENoYWluRXhlY3V0aW9uVGhyZWFkOw0KLWNsYXNzIENBZGFwdGVyOw0KLWNsYXNzIENUaW1lckhhbmRsZXI7DQotDQotI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORw0KLSNpbmNsdWRlICJtZ21jbWRzdHJ1Y3QuaCINCi1uYW1lc3BhY2UgZm9ydGUgew0KLSAgbmFtZXNwYWNlIGNvcmUgew0KLSAgICBjbGFzcyBDTW9uaXRvcmluZ0hhbmRsZXI7DQotICB9DQotfQ0KLSNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfTU9OSVRPUklORw0KLQ0KLSNpZm5kZWYgRk9SVEVfRkJfREFUQV9BUlJBWSAgLy93aXRoIHRoaXMgY2hlY2sgd2UgY2FuIG92ZXJ3cml0ZSB0aGlzIGRlZmluZSBpbiBhIHBsYXRmb3JtIHNwZWNpZmljIGZpbGUgKGUuZy4sIGNvbmZpZy5oKQ0KLS8qISBEZWZpbmUgdGhhdCBhZGRzIHRoZSBkYXRhIGFycmF5IHRvIGEgU0lGQiwgc2ltcGxlIEZCIG9yIENGQg0KLSAqIE1heSBiZSBvdmVyd3JpdHRlbiBieSBhIHBsYXRmb3JtIHNwZWNpZmljIHZlcnNpb24gdGhhdCBhZGFwdHMgZm9yIGV4YW1wbGUgc29tZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzDQotICovDQotI2RlZmluZSBGT1JURV9GQl9EQVRBX0FSUkFZKGFfbk51bUVPcywgYV9uTnVtRElzLCBhX25OdW1ET3MsIGFfbk51bUFkYXB0ZXJzKSBcDQotICB1bmlvbnsgXA0KLSAgICBURm9ydGVCeXRlIG1fYW5GQkNvbm5EYXRhW2dlbkZCQ29ubkRhdGFTaXplVGVtcGxhdGU8YV9uTnVtRU9zLCBhX25OdW1ESXMsIGFfbk51bURPcz46OnZhbHVlXTsgXA0KLSAgICB2b2lkICptX2Fwb0R1bW15Q29ublBvaW50ZXJBbGlnbjsgXA0KLSAgfTtcDQotICB1bmlvbnsgXA0KLSAgICBURm9ydGVCeXRlIG1fYW5GQlZhcnNEYXRhW2dlbkZCVmFyc0RhdGFTaXplVGVtcGxhdGU8YV9uTnVtRElzLCBhX25OdW1ET3MsIGFfbk51bUFkYXB0ZXJzPjo6dmFsdWVdOyBcDQotICAgIENJRUNfQU5ZOjpUTGFyZ2VzdFVJbnRWYWx1ZVR5cGUgbV91RHVtbXlEYXRhQWxpZ247IFwNCi0gIH07DQotI2VuZGlmDQotDQotdHlwZWRlZiBDQWRhcHRlciAqVEFkYXB0ZXJQdHI7DQotDQotdHlwZWRlZiBURm9ydGVVSW50OCBURGF0YUlPSUQ7IC8vITwgXGluZ3JvdXAgQ09SRSBUeXBlIGZvciBob2xkaW5nIGFuIGRhdGEgSW4tIG9yIG91dHB1dCBJRCAobWF4IHZhbHVlIDI1NCkNCi0NCi0vKiFcaW5ncm91cCBDT1JFXGJyaWVmIFN0cnVjdHVyZSB0byBob2xkIGFsbCBkYXRhIG9mIGFkYXB0ZXJzIGluc3RhbnRpYXRlZCBpbiB0aGUgZnVuY3Rpb24gYmxvY2suDQotICovDQotc3RydWN0IFNBZGFwdGVySW5zdGFuY2VEZWZ7DQotICAgIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgbV9uQWRhcHRlclR5cGVOYW1lSUQ7IC8vITwgQWRhcHRlciB0eXBlIG5hbWUNCi0gICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBtX25BZGFwdGVyTmFtZUlEOyAvLyE8IEFkYXB0ZXIgaW5zdGFuY2UgbmFtZQ0KLSAgICBib29sIG1fYklzUGx1ZzsgLy8hPCBGbGFnIGZvciBkaXN0aW5jdGlvbiBvZiBhZGFwdGVyIG5hdHVyZSAocGx1Zy9zb2NrZXQpDQotfTsNCi0NCi0vKiFcaW5ncm91cCBDT1JFXGJyaWVmIFN0cnVjdHVyZSB0byBob2xkIGFsbCB0aGUgZGF0YSBmb3Igc3BlY2lmeWluZyBhIGZ1bmN0aW9uIGJsb2NrIGludGVyZmFjZS4NCi0gKi8NCi1zdHJ1Y3QgU0ZCSW50ZXJmYWNlU3BlY3sNCi0gICAgVEZvcnRlVUludDggbV9uTnVtRUlzOyAvLyE8IE51bWJlciBvZiBldmVudCBpbnB1dHMgKG1heCAyNTQpDQotICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIG1fYXVuRUlOYW1lczsgLy8hPCBMaXN0IG9mIHRoZSBldmVudCBpbnB1dCBuYW1lcw0KLSAgICBjb25zdCBURGF0YUlPSUQqIG1fYW5FSVdpdGg7IC8vITwgSW5wdXQgV0lUSCByZWZlcmVuY2UgbGlzdC4gVGhpcyBsaXN0IGNvbnRhaW5zIGFuIGFycmF5IG9mIGlucHV0IGRhdGEgaWRzLiBGb3IgZWFjaCBpbnB1dCBldmVudCB0aGUgYXNzaWNpYXRlZCBkYXRhIGlucHV0cyBhcmUgbGlzdGVkLiBUaGUgc3RhcnQgZm9yIGVhY2ggaW5wdXQgZXZlbnQgaXMgc3BlY2lmaWVkIGluIHRoZSBtX2FuRUlXaXRoSW5kZXhlcyBmaWVsZC4gVGhlIGVuZCBpcyBkZWZpbmVkIHRyb3VnaCB0aGUgdmFsdWUgMjU1Lg0KLSAgICBjb25zdCBURm9ydGVJbnQxNiogbV9hbkVJV2l0aEluZGV4ZXM7IC8vITwgSW5kZXggbGlzdCBmb3IgZWFjaCBpbnB1dCBldmVudC4gVGhpcyBsaXN0IGdpdmVzIGZvciBlYWNoIGlucHV0IGV2ZW50IGFuIGVudHJ5IGluIHRoZSBtX2FuRUlXaXRoLiBJbnB1dCBldmVudHMgYXJlIG51bWJlcmVkIHN0YXJ0aW5nIGZyb20gMC4gaWYgdGhlIGlucHV0IGV2ZW50IGhhcyBubyBhc3NjaWF0ZWQgZGF0YSBpbnB1dHMgLTEgaXMgdGhlIGVudHJ5IGF0IHRoaXMgZXZlbnQgaW5wdXRzIHBvc3Rpb24uDQotICAgIFRGb3J0ZVVJbnQ4IG1fbk51bUVPczsgLy8hPCBOdW1iZXIgb2YgZXZlbnQgb3V0cHV0cyAobWF4IDI1NCkNCi0gICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogbV9hdW5FT05hbWVzOyAvLyE8IExpc3Qgb2YgdGhlIGV2ZW50IG91dHB1dCBuYW1lcw0KLSAgICBjb25zdCBURGF0YUlPSUQqIG1fYW5FT1dpdGg7IC8vITwgT3V0cHV0IFdJVEggcmVmZXJlbmNlIGxpc3QuIFRoaXMgbGlzdCBjb250YWlucyBhbiBhcnJheSBvZiBvdXRwdXQgZGF0YSBpZHMuIEZvciBlYWNoIG91dHB1dCBldmVudCB0aGUgYXNzaWNpYXRlZCBkYXRhIG91dHB1dHMgYXJlIGxpc3RlZC4gVGhlIHN0YXJ0IGZvciBlYWNoIG91dHB1dCBldmVudCBpcyBzcGVjaWZpZWQgaW4gdGhlIG1fYW5FT1dpdGhJbmRleGVzIGZpZWxkLiBUaGUgZW5kIGlzIGRlZmluZWQgdHJvdWdoIHRoZSB2YWx1ZSAyNTUuDQotICAgIGNvbnN0IFRGb3J0ZUludDE2KiBtX2FuRU9XaXRoSW5kZXhlczsgLy8hPCBJbmRleCBsaXN0IGZvciBlYWNoIG91dHB1dCBldmVudC4gVGhpcyBsaXN0IGdpdmVzIGZvciBlYWNoIG91dHB1dCBldmVudCBhbiBlbnRyeSBpbiB0aGUgbV9hbkVPV2l0aC4gT3V0cHV0IGV2ZW50cyBhcmUgbnVtYmVyZWQgc3RhcnRpbmcgZnJvbSAwLiBpZiB0aGUgb3V0cHV0IGV2ZW50IGhhcyBubyBhc3NjaWF0ZWQgZGF0YSBvdXRwdXRzIC0xIGlzIHRoZSBlbnRyeSBhdCB0aGlzIGV2ZW50IG91dHB1dHMgcG9zdGlvbi4gQWRkaXRpb25hbGx5IGF0IHRoZSBwb3N0aW9uIG1fbk51bUVPcyBpbiB0aGlzIGxpc3QgYW4gaW5kZXggdG8gYW4gb3duIGxpc3QgaW4gdGhlIG1fYW5FT1dpdGggbGlzdCBpcyBzdG9yZWQgc3BlY2lmeWluZyBhbGwgb3V0cHV0IGRhdGEgcG9ydCB0aGF0IGFyZSBub3QgYXNzb2NpYXRlZCB3aXRoIGFueSBvdXRwdXQgZXZlbnQuIFRoYXQgdmFsdWVzIHdpbGwgYmUgdXBkYXRlZCBvbiBldmVyeSBGQiBpbnZvY2F0aW9uLg0KLSAgICBURm9ydGVVSW50OCBtX25OdW1ESXM7IC8vITwgTnVtYmVyIG9mIGRhdGEgaW5wdXRzIChtYXggMjU0KQ0KLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkKiBtX2F1bkRJTmFtZXM7IC8vITwgTGlzdCBvZiB0aGUgZGF0YSBpbnB1dCBuYW1lcw0KLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkKiBtX2F1bkRJRGF0YVR5cGVOYW1lczsgLy8hPCBMaXN0IG9mIHRoZSBkYXRhIHR5cGUgbmFtZXMgZm9yIHRoZSBkYXRhIGlucHV0cw0KLSAgICBURm9ydGVVSW50OCBtX25OdW1ET3M7IC8vITwgTnVtYmVyIG9mIGRhdGEgb3V0cHV0cyAobWF4IDI1NCkNCi0gICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogbV9hdW5ET05hbWVzOyAvLyE8IExpc3Qgb2YgdGhlIGRhdGEgb3V0cHV0IG5hbWVzDQotICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIG1fYXVuRE9EYXRhVHlwZU5hbWVzOyAvLyE8IExpc3Qgb2YgdGhlIGRhdGEgdHlwZSBuYW1lcyBmb3IgdGhlIGRhdGEgb3V0cHV0cw0KLSAgICBURm9ydGVVSW50OCBtX25OdW1BZGFwdGVyczsgLy8hPCBOdW1iZXIgb2YgQWRhcHRlcnMNCi0gICAgY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiogbV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uOyAvLyE8IExpc3Qgb2YgYWRhcHRlciBpbnN0YW5jZXMNCi19Ow0KLQ0KLS8qIVxpbmdyb3VwIENPUkVcYnJpZWYgQmFzZSBjbGFzcyBmb3IgYWxsIGZ1bmN0aW9uIGJsb2Nrcy4NCi0gKi8NCi1jbGFzcyBDRnVuY3Rpb25CbG9ja3sNCi0gIHB1YmxpYzoNCi0gICAgY29uc3Qgc3RhdGljIFREYXRhSU9JRCBzY21XaXRoTGlzdERlbGltaXRlciA9IGNnX3VuSW52YWxpZFBvcnRJZDsgIC8vITwgdmFsdWUgaWRlbnRpZnlpbmcgdGhlIGVuZCBvZiBhIHdpdGggbGlzdA0KLQ0KLSAgICAvKiFcYnJpZWYgUG9zc2libGUgc3RhdGVzIG9mIGEgcnVuYWJsZSBvYmplY3QuDQotICAgICAqDQotICAgICAqLw0KLSAgICBlbnVtIEVfRkJTdGF0ZXN7DQotICAgICAgZV9SVU5OSU5HID0gMCwgIC8vIGluIHRoZSBtb3N0IGNyaXRpY2FsIGV4ZWN1dGlvbiBwYXRoIG9mIEZPUlRFIHdlIGFyZSBjaGVja2luZyBmb3IgdGhpcyBlbnVtIHZhbHVlIGl0IGlzIGZhc3RlciBpZiB0aGlzIGlzIHRoZSB6ZXJvIGVudHJ5DQotICAgICAgZV9JRExFLCBlX1NUT1BQRUQsIGVfS0lMTEVEDQotICAgIH07DQotDQotICAgIC8qISBcYnJpZWYgSW5kaWNhdG9yIHRoYXQgdGhlIGdpdmVuIEV2ZW50SUQgaXMgYW4gaW5jbHVkZWQgYWRhcHRlcidzIGV2ZW50SUQuDQotICAgICAqDQotICAgICAqIFRoaXMgd2lsbCBhbGxvdyAyNTUgSW5wdXQgYW5kIE91dHB1dCBFdmVudHMuDQotICAgICAqDQotICAgICAqIEV2ZW50SURzID4gc2NtX25NYXhJbnRlcmZhY2VFdmVudHM6IGhpZ2hCeXRlIGluZGljYXRlcyAoQWRhcHRlcklEKzEpDQotICAgICAqLw0KLSAgICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDE2IHNjbV9uTWF4SW50ZXJmYWNlRXZlbnRzID0gMHgwMEZGOw0KLQ0KLSAgICB2aXJ0dWFsIH5DRnVuY3Rpb25CbG9jaygpOw0KLQ0KLSAgICAvKiFcYnJpZWYgR2V0IHRoZSByZXNvdXJjZSB0aGUgZnVuY3Rpb24gYmxvY2sgaXMgY29udGFpbmVkIGluLg0KLSAgICAgKi8NCi0gICAgQ1Jlc291cmNlICZnZXRSZXNvdXJjZSh2b2lkKXsNCi0gICAgICByZXR1cm4gKm1fcG9SZXNvdXJjZTsNCi0gICAgfQ0KLQ0KLSAgICBDUmVzb3VyY2UgKmdldFJlc291cmNlUHRyKHZvaWQpew0KLSAgICAgIHJldHVybiBtX3BvUmVzb3VyY2U7DQotICAgIH0NCi0NCi0gICAgLyohXGJyaWVmIEdldCB0aGUgdGltZXIgb2YgdGhlIGRldmljZSB3aGVyIHRoZSBGQiBpcyBjb250YWluZWQuDQotICAgICAgICAgKi8NCi0gICAgQ1RpbWVySGFuZGxlciYgZ2V0VGltZXIodm9pZCk7DQotDQotICAgIC8qIVxicmllZiBSZXR1cm5zIHRoZSB0eXBlIG9mIHRoaXMgRkIgaW5zdGFuY2UNCi0gICAgICovDQotICAgIHZpcnR1YWwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBnZXRGQlR5cGVJZCh2b2lkKSBjb25zdCA9IDA7DQotICAgIC8qIVxicmllZiBHZXQgdGhlIElEIG9mIGEgc3BlY2lmaWMgZXZlbnQgaW5wdXQgb2YgdGhlIEZCLg0KLSAgICAgKg0KLSAgICAgKiBccGFyYW0gcGFfdW5FSU5hbWVJZCAgIFN0cmluZ0lkIHRvIHRoZSBldmVudCBpbnB1dCBuYW1lLg0KLSAgICAgKiBccmV0dXJuIFRoZSBJRCBvZiB0aGUgZXZlbnQgaW5wdXQgb3IgY2dfbkludmFsaWRFdmVudElELg0KLSAgICAgKi8NCi0gICAgVEV2ZW50SUQgZ2V0RUlJRChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX3VuRUlOYW1lSWQpIGNvbnN0ew0KLSAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxURXZlbnRJRD4oZ2V0UG9ydElkKHBhX3VuRUlOYW1lSWQsIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9uTnVtRUlzLCBtX3BzdEludGVyZmFjZVNwZWMtPm1fYXVuRUlOYW1lcykpOw0KLSAgICB9DQotDQotICAgIC8qIVxicmllZiBHZXQgdGhlIElEIG9mIGEgc3BlY2lmaWMgZXZlbnQgb3V0cHV0IG9mIHRoZSBGQi4NCi0gICAgICoNCi0gICAgICogXHBhcmFtIHBhX3VuRU9OYW1lSWQgc3RyaW5nIGlkIHRvIHRoZSBldmVudCBvdXRwdXQgbmFtZS4NCi0gICAgICogXHJldHVybiBUaGUgSUQgb2YgdGhlIGV2ZW50IG91dHB1dCBvciBjZ19uSW52YWxpZEV2ZW50SUQuDQotICAgICAqLw0KLSAgICBURXZlbnRJRCBnZXRFT0lEKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfdW5FT05hbWVJZCkgY29uc3R7DQotICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFRFdmVudElEPihnZXRQb3J0SWQocGFfdW5FT05hbWVJZCwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1FT3MsIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9hdW5FT05hbWVzKSk7DQotICAgIH0NCi0NCi0gICAgQ0V2ZW50Q29ubmVjdGlvbiAqZ2V0RU9Db25uZWN0aW9uKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFFT05hbWVJZCkgY29uc3Q7DQotDQotICAgIC8qIVxicmllZiBDb25uZWN0cyBzcGVjaWZpYyBkYXRhIGlucHV0IG9mIGEgRkIgd2l0aCBhIHNwZWNpZmljIGRhdGEgY29ubmVjdGlvbi4NCi0gICAgICoNCi0gICAgICogSWYgdGhlIGNvbm5lY3Rpb24gcG9pbnRlciBpcyAwIHRoZW4gaXQgaXMgZXF1YWwgdG8gYSBkaXNjb25uZWN0LiBGdXJ0aGVybW9yZSwgaWYgdGhlaXIgaXMgYWxyZWFkeSBhIGNvbm5lY3Rpb24NCi0gICAgICogdG8gdGhlIGdpdmVuIGRhdGEgcG9ydCB0aGUgY29ubmVjdGlvbiBhdHRlbXB0IHdpbGwgYmUgcmVqZWN0ZWQuIEhvd2V2ZXIgaWYgdGhlIGZ1cnRoZXIgY29ubmVjdGlvbiBhdHRlbXB0DQotICAgICAqIGlzIGRvbmUgd2l0aCB0aGUgc2FtZSBjb25uZWN0aW9uIG9iamVjdCB0aGVuIGl0IGlzIGEgcmVjb25maWd1cmF0aW9uIGF0dGVtcHQgZm9yIGFueSBkYXRhIGlucHV0cy4gVGhpcyBpcyBuZWNlc3NhcnkNCi0gICAgICogd2hlbiBkdXJpbmcgdGhlIGZpcnN0IGNvbm5lY3Rpb24gdGhlIGRhdGEgdHlwZSBvZiB0aGUgY29ubmVjdGlvbiB3YXMgbm90IGNsZWFyLg0KLSAgICAgKg0KLSAgICAgKiBccGFyYW0gcGFfdW5ESU5hbWVJZCBTdHJpbmdJRCBvZiB0aGUgZGF0YSBpbnB1dCBuYW1lLg0KLSAgICAgKiBccGFyYW0gcGFfcG9EYXRhQ29uIFBvaW50ZXIgdG8gdGhlIGRhdGEgY29ubmVjdGlvbiB0aGUgRkIgc2hvdWxkIGJlIGNvbm5lY3RlZCB0by4NCi0gICAgICogXHJldHVybiBUUlVFIG9uIHN1Y2Nlc3MsIEZBTFNFIGlmIGRhdGEgb3V0cHV0IG5vdCBleGlzdHMgb3Igb3V0cHV0IGlzIGFscmVhZHkgY29ubmVjdGVkLg0KLSAgICAgKi8NCi0gICAgdmlydHVhbCBib29sIGNvbm5lY3RESShUUG9ydElkIHBhRElQb3J0SWQsIENEYXRhQ29ubmVjdGlvbiAqcGFfcG9EYXRhQ29uKTsNCi0NCi0gICAgLyohIFxicmllZiBHZXRzIHRoZSBpbmRleCBvZiB0aGUgbV9hY0RJTmFtZXMgYXJyYXkgb2YgYSBzcGVjaWZpYyBkYXRhIG91dHB1dCBvZiBhIEZCDQotICAgICAqDQotICAgICAqIFxwYXJhbSBwYV91bkRJTmFtZUlkICBTdHJpbmdJZCBvZiB0aGUgZGF0YSBpbnB1dCBuYW1lLg0KLSAgICAgKiBccmV0dXJuIFJldHVybnMgaW5kZXggb2YgdGhlIERhdGEgSW5wdXQgQXJyYXkgb2YgYSBGQg0KLSAgICAgKi8NCi0gICAgVFBvcnRJZCBnZXRESUlEKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfdW5ESU5hbWVJZCkgY29uc3R7DQotICAgICAgcmV0dXJuIGdldFBvcnRJZChwYV91bkRJTmFtZUlkLCBtX3BzdEludGVyZmFjZVNwZWMtPm1fbk51bURJcywgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX2F1bkRJTmFtZXMpOw0KLSAgICB9DQotDQotICAgIC8qIVxicmllZiBHZXQgdGhlIHBvaW50ZXIgdG8gYSBkYXRhIGlucHV0IG9mIHRoZSBGQi4NCi0gICAgICoNCi0gICAgICogXHBhcmFtIHBhX3VuRElOYW1lSWQgSUQgb2YgdGhlIGRhdGEgaW5wdXQgbmFtZS4NCi0gICAgICogXHJldHVybiBQb2ludGVyIHRvIHRoZSBkYXRhIGlucHV0IG9yIDAuIElmIDAgaXMgcmV0dXJuZWQgRGF0YUlucHV0IGlzIEFOWQ0KLSAgICAgKi8NCi0gICAgQ0lFQ19BTlkqIGdldERhdGFJbnB1dChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX3VuRElOYW1lSWQpIGNvbnN0Ow0KLQ0KLSAgICAvKiFcYnJpZWYgZ2V0IHRoZSBwb2ludGVyIHRvIGEgZGF0YSBpbnB1dCB1c2luZyB0aGUgcG9ydElkIGFzIGlkZW50aWZpZXINCi0gICAgICovDQotICAgIENJRUNfQU5ZKiBnZXRESUZyb21Qb3J0SWQoVFBvcnRJZCBwYURJUG9ydElkKSBjb25zdDsNCi0NCi0gICAgLyohIFxicmllZiBHZXRzIHRoZSBpbmRleCBvZiB0aGUgbV9hY0RPTmFtZXMgYXJyYXkgb2YgYSBzcGVjaWZpYyBkYXRhIG91dHB1dCBvZiBhIEZCDQotICAgICAqIFxwYXJhbSBwYV91bkRPTmFtZUlkICBTdHJpbmdJZCBvZiB0aGUgZGF0YSBpbnB1dCBuYW1lLg0KLSAgICAgKiBccmV0dXJuIFJldHVybnMgaW5kZXggb2YgdGhlIERhdGEgT3V0cHV0IEFycmF5IG9mIGEgRkINCi0gICAgICovDQotICAgIFRQb3J0SWQgZ2V0RE9JRChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX3VuRE9OYW1lSWQpIGNvbnN0ew0KLSAgICAgIHJldHVybiBnZXRQb3J0SWQocGFfdW5ET05hbWVJZCwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1ET3MsIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzKTsNCi0gICAgfQ0KLQ0KLSAgICAvKiFcYnJpZWYgZ2V0IHRoZSBwb2ludGVyIHRvIGEgZGF0YSBvdXRwdXQgdXNpbmcgdGhlIHBvcnRJZCBhcyBpZGVudGlmaWVyDQotICAgICAqLw0KLSAgICBDSUVDX0FOWSogZ2V0RE9Gcm9tUG9ydElkKFRQb3J0SWQgcGFET1BvcnRJZCkgY29uc3Q7DQotDQotICAgIENEYXRhQ29ubmVjdGlvbiAqZ2V0RE9Db25uZWN0aW9uKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFET05hbWVJZCkgY29uc3Q7DQotDQotICAgIENEYXRhQ29ubmVjdGlvbiAqZ2V0RElDb25uZWN0aW9uKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFESU5hbWVJZCkgY29uc3Q7DQotDQotICAgIC8qIVxicmllZiBpZiB0aGUgZGF0YSBvdXRwdXQgaXMgb2YgZ2VuZXJpYyB0eXBlIChpLmUsIEFOWSkgdGhpcyBmdW5jdGlvbiBhbGxvd3MgYW4gZGF0YSBjb25uZWN0aW9uIHRvIGNvbmZpZ3VyZQ0KLSAgICAgKiB0aGUgRE8gd2l0aCB0aGUgc3BlY2lmaWMgdHlwZSBjb21pbmcgZnJvbSB0aGUgb3RoZXIgZW5kIG9mIHRoZSBjb25uZWN0aW9uDQotICAgICAqLw0KLSAgICB2aXJ0dWFsIGJvb2wgY29uZmlndXJlR2VuZXJpY0RPKFRQb3J0SWQgcGFET1BvcnRJZCwgY29uc3QgQ0lFQ19BTlkgJnBhUmVmVmFsdWUpOw0KLQ0KLSAgICAvKiFcYnJpZWYgR2V0IHRoZSBwb2ludGVyIHRvIGEgZGF0YSBvdXRwdXQgb2YgdGhlIEZCLg0KLSAgICAgKg0KLSAgICAgKiBccGFyYW0gcGFfdW5ET05hbWVJZCBTdHJpbmdJRCBvZiB0aGUgZGF0YSBvdXRwdXQgbmFtZS4NCi0gICAgICogXHJldHVybiBQb2ludGVyIHRvIHRoZSBkYXRhIG91dHB1dCBvciAwLiBJZiAwIGlzIHJldHVybmVkIERhdGFPdXRwdXQgaXMgQU5ZDQotICAgICAqLw0KLSAgICBDSUVDX0FOWSogZ2V0RGF0YU91dHB1dChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX3VuRE9OYW1lSWQpIGNvbnN0Ow0KLQ0KLSAgICAvKiFcYnJpZWYgR2V0IHRoZSBwb2ludGVyIHRvIGEgdmFyaWFibGUgb2YgdGhlIEZCLg0KLSAgICAgKg0KLSAgICAgKiBAcGFyYW0gcGFOYW1lTGlzdCBhcnJheSBvZiB0aGUgbmFtZSBoaWVyYXJjaHkgdGhlIHJlcXVlc3RlZCB2YXJpYWJsZQ0KLSAgICAgKiBAcGFyYW0gcGFOYW1lTGlzdFNpemUgbGVuZ3RoIG9mIHRoZSBhcnJheQ0KLSAgICAgKiBccmV0dXJuIFBvaW50ZXIgdG8gdGhlIHZhcmlhYmxlIG9yIDAuDQotICAgICAqICBUaGUgdmFyaWFibGUgbWF5IGJlIGlucHV0LCBvdXRwdXQgb3IgaW4gdGhlIGNhc2Ugb2YgYSBCRkIgYW4gaW50ZXJuYWwgdmFyLg0KLSAgICAgKi8NCi0gICAgdmlydHVhbCBDSUVDX0FOWSogZ2V0VmFyKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgKnBhTmFtZUxpc3QsDQotICAgICAgICB1bnNpZ25lZCBpbnQgcGFOYW1lTGlzdFNpemUpOw0KLQ0KLSAgICAvKiFcYnJpZWYgR2V0IHRoZSBwb2ludGVyIHRvIHRoZSBhZGFwdGVyIGluc3RhbmNlIG9mIHRoZSBGQi4NCi0gICAgICoNCi0gICAgICogXHBhcmFtIHBhX3VBZGFwdGVyTmFtZUlkICBTdHJpbmdJZCBvZiB0aGUgYWRhcHRlciBuYW1lLg0KLSAgICAgKiBccmV0dXJuIFBvaW50ZXIgdG8gdGhlIGRhdGEgb3V0cHV0IG9yIDAuDQotICAgICAqLw0KLSAgICBDQWRhcHRlciogZ2V0QWRhcHRlcihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhQWRhcHRlck5hbWVJZCkgY29uc3Q7DQotDQotICAgIFRQb3J0SWQgZ2V0QWRhcHRlclBvcnRJZChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhQWRhcHRlck5hbWVJZCkgY29uc3Q7DQotDQotICAgIC8qIVxicmllZiBGdW5jdGlvbiB0aGF0IGhhbmRsZXMgaW5jb21pbmcgZXZlbnRzLg0KLSAgICAgKg0KLSAgICAgKiBccGFyYW0gcGFFSUlEIElEIG9mIHRoZSBpbnB1dCBldmVudCB0aGF0IGhhcyBvY2N1cnJlZC4NCi0gICAgICogXHBhcmFtIHBhRXhlY0VudiBFdmVudCBjaGFpbiBleGVjdXRpb24gZW52aXJvbm1lbnQgdGhlIEZCIHdpbGwgYmUgZXhlY3V0ZWQgaW4gKHVzZWQgZm9yIGFkZGluZyBvdXRwdXQgZXZlbnRzKS4NCi0gICAgICovDQotICAgIHZvaWQgcmVjZWl2ZUlucHV0RXZlbnQoc2l6ZV90IHBhRUlJRCwgQ0V2ZW50Q2hhaW5FeGVjdXRpb25UaHJlYWQgJnBhRXhlY0Vudik7DQotDQotICAgIC8qIVxicmllZiBDb25maWd1cmF0aW9uIGludGVyZmFjZSB1c2VkIGJ5IHRoZSB0eXBlbGliIHRvIHBhcmFtZXRlcml6ZSBnZW5lcmljIGZ1bmN0aW9uIGJsb2Nrcy4NCi0gICAgICoNCi0gICAgICogXHBhcmFtIHBhX2FjQ29uZmlnU3RyaW5nICBBIHN0cmluZyBjb250YWluaW5nIHRoZSBuZWVkZWQgY29uZmlndXJhdGlvbiBkYXRhLg0KLSAgICAgKiBccmV0dXJuIFRSVUUgaWYgY29uZmlndXJhdGlvbiB3ZW50IG9rLCBlbHNlIEZBTFNFLg0KLSAgICAgKg0KLSAgICAgKi8NCi0gICAgdmlydHVhbCBib29sIGNvbmZpZ3VyZUZCKGNvbnN0IGNoYXIgKnBhX2FjQ29uZmlnU3RyaW5nKTsNCi0NCi0gICAgdm9pZCBzZXR1cEZCSW50ZXJmYWNlKGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFfYWNGQlZhcnNEYXRhKTsNCi0NCi0gICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogZ2V0RkJJbnRlcmZhY2VTcGVjKCkgY29uc3R7DQotICAgICAgcmV0dXJuIG1fcHN0SW50ZXJmYWNlU3BlYzsNCi0gICAgfQ0KLQ0KLQ0KLSAgICB2aXJ0dWFsIEVNR01SZXNwb25zZSBjaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKEVNR01Db21tYW5kVHlwZSBwYV91bkNvbW1hbmQpOw0KLQ0KLSAgICAvKiFcYnJpZWYgR2V0L3NldCB0aGUgaW5zdGFuY2UgbmFtZQ0KLSAgICAgKi8NCi0gICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBnZXRJbnN0YW5jZU5hbWVJZCh2b2lkKSBjb25zdHsNCi0gICAgICByZXR1cm4gbV9uRkJJbnN0YW5jZU5hbWU7DQotICAgIH0NCi0gICAgOw0KLQ0KLSAgICBjb25zdCBjaGFyICpnZXRJbnN0YW5jZU5hbWUodm9pZCkgY29uc3R7DQotICAgICAgcmV0dXJuIENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChtX25GQkluc3RhbmNlTmFtZSk7DQotICAgIH0NCi0NCi0gICAgdm9pZCBzZXRJbnN0YW5jZU5hbWVJZChjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCl7DQotICAgICAgbV9uRkJJbnN0YW5jZU5hbWUgPSBwYV9uSW5zdGFuY2VOYW1lSWQ7DQotICAgIH0NCi0NCi0gICAgLyohXGJyaWVmIEdldCBpbmZvcm1hdGlvbiBpZiB0aGUgcnVuYWJsZSBvYmplY3QgaXMgZGVsZXRhYmxlIGJ5IGEgbWFuYWdlbWVudCBjb21tYW5kLg0KLSAgICAgKg0KLSAgICAgKi8NCi0gICAgYm9vbCBnZXREZWxldGFibGUodm9pZCkgY29uc3R7DQotICAgICAgcmV0dXJuIG1fYkRlbGV0YWJsZTsNCi0gICAgfQ0KLSAgICA7DQotICAgIC8qIVxicmllZiBTZXQgYXR0cmlidXRlIHRvIGVuYWJsZS9kaXNhYmxlIHRoZSBydW5hYmxlIG9iamVjdCBkZWxldGlvbiBieSBhIG1hbmFnZW1lbnQgY29tbWFuZC4NCi0gICAgICoNCi0gICAgICovDQotICAgIHZvaWQgc2V0RGVsZXRhYmxlKGNvbnN0IGJvb2wgJnBhX2JEZWxBYmxlKXsNCi0gICAgICBtX2JEZWxldGFibGUgPSBwYV9iRGVsQWJsZTsNCi0gICAgfQ0KLSAgICA7DQotICAgIC8qIVxicmllZiBSZXR1cm4gaWYgdGhlIHJ1bmFibGUgb2JqZWN0IGlzIGFsbG93ZWQgdG8gYmUgZGVsZXRlZCBub3cuDQotICAgICAqDQotICAgICAqIFRoaXMgaXMgbW9yZSBjb21wbGV4IHRoZW4gdGhlIHNpbXBsZSBkZWxldGVhYmxlIGZsYWcgYXMgdGhlIGN1cnJlbnQgc3RhdGUgaGFzIHRvIGJlIGluY29ycG9yYXRlZC4NCi0gICAgICogQWNjb3JkaW5nIHRvIElFQyA2MTQ5OS0xIEZpZ3VyZSAyNCBhbiBGQiBpcyBkZWxldGVhYmxlIGlmIGl0IGlzIG5vdCBpbiB0aGUgUnVubmluZyBzdGF0ZQ0KLSAgICAgKiBccmV0dXJuIHRydWUgaWYgY3VycmVudGx5IGFsbCBjb25kaXRpb25zIGFyZSBtZXQgdG8gYmUgZGVsZXRlYWJsZQ0KLSAgICAgKi8NCi0gICAgYm9vbCBpc0N1cnJlbnRseURlbGV0ZWFibGUodm9pZCkgY29uc3R7DQotICAgICAgcmV0dXJuICgobV9iRGVsZXRhYmxlKSAmJiAobV9lbkZCU3RhdGUgIT0gZV9SVU5OSU5HKSk7DQotICAgIH0NCi0NCi0gICAgLyohXGJyaWVmIHJldHVybiB0aGUgY3VycmVudCBleGVjdXRpb24gc3RhdGUgb2YgdGhlIG1hbmFnZWQgb2JqZWN0DQotICAgICAqLw0KLSAgICBFX0ZCU3RhdGVzIGdldFN0YXRlKHZvaWQpIGNvbnN0ew0KLSAgICAgIHJldHVybiBtX2VuRkJTdGF0ZTsNCi0gICAgfQ0KLQ0KLSAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBpbnQgdGFfbk51bUVPcywgdW5zaWduZWQgaW50IHRhX25OdW1ESXMsIHVuc2lnbmVkIGludCB0YV9uTnVtRE9zPg0KLSAgICBzdHJ1Y3QgZ2VuRkJDb25uRGF0YVNpemVUZW1wbGF0ZXsNCi0gICAgICAgIGVudW0gew0KLSAgICAgICAgICB2YWx1ZSA9IChzaXplb2YoQ0V2ZW50Q29ubmVjdGlvbikgKiB0YV9uTnVtRU9zICsgc2l6ZW9mKFREYXRhQ29ubmVjdGlvblB0cikgKiB0YV9uTnVtRElzICsNCi0gICAgICAgICAgICAgICAgICAgc2l6ZW9mKENEYXRhQ29ubmVjdGlvbikgKiB0YV9uTnVtRE9zKQ0KLSAgICAgICAgfTsNCi0gICAgfTsNCi0NCi0gICAgc3RhdGljIHNpemVfdCBnZW5GQkNvbm5EYXRhU2l6ZSh1bnNpZ25lZCBpbnQgcGFfbk51bUVPcywgdW5zaWduZWQgaW50IHBhX25OdW1ESXMsDQotICAgICAgICB1bnNpZ25lZCBpbnQgcGFfbk51bURPcyl7DQotICAgICAgcmV0dXJuIChzaXplb2YoQ0V2ZW50Q29ubmVjdGlvbikgKiBwYV9uTnVtRU9zICsgc2l6ZW9mKFREYXRhQ29ubmVjdGlvblB0cikgKiBwYV9uTnVtRElzICsNCi0gICAgICAgICAgICAgIHNpemVvZihDRGF0YUNvbm5lY3Rpb24pICogcGFfbk51bURPcyk7DQotICAgIH0NCi0NCi0gICAgdGVtcGxhdGU8dW5zaWduZWQgaW50IHRhX25OdW1ESXMsIHVuc2lnbmVkIGludCB0YV9uTnVtRE9zLCB1bnNpZ25lZCBpbnQgdGFfbk51bUFkYXB0ZXJzID0gMD4NCi0gICAgc3RydWN0IGdlbkZCVmFyc0RhdGFTaXplVGVtcGxhdGV7DQotICAgICAgICBlbnVtIHsNCi0gICAgICAgICAgdmFsdWUgPSAoc2l6ZW9mKENJRUNfQU5ZKSAqIHRhX25OdW1ESXMgKyBzaXplb2YoQ0lFQ19BTlkpICogdGFfbk51bURPcyArIHNpemVvZihUQWRhcHRlclB0cikgKiB0YV9uTnVtQWRhcHRlcnMpDQotICAgICAgICB9Ow0KLSAgICB9Ow0KLQ0KLSAgICBzdGF0aWMgc2l6ZV90IGdlbkZCVmFyc0RhdGFTaXplKHVuc2lnbmVkIGludCBwYV9uTnVtRElzLCB1bnNpZ25lZCBpbnQgcGFfbk51bURPcywNCi0gICAgICAgIHVuc2lnbmVkIGludCBwYV9uTnVtQWRhcHRlcnMgPSAwKXsNCi0gICAgICByZXR1cm4gKHNpemVvZihDSUVDX0FOWSkgKiBwYV9uTnVtRElzICsgc2l6ZW9mKENJRUNfQU5ZKSAqIHBhX25OdW1ET3MgKyBzaXplb2YoVEFkYXB0ZXJQdHIpICogcGFfbk51bUFkYXB0ZXJzKTsNCi0NCi0gICAgfQ0KLQ0KLSAgICAvKiEgXGJyaWVmIEdldCB0aGUgZGF0YSBpbnB1dCB3aXRoIGdpdmVuIG51bWJlcg0KLSAgICAgKg0KLSAgICAgKiBBdHRlbnRpb24gdGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBwZXJmb3JtIGFueSByYW5nZSBjaGVja3Mgb24gdGhlIHBhX25ESU51bSBwYXJhbWV0ZXIhDQotICAgICAqIEBwYXJhbSBwYV9uRElOdW0gbnVtYmVyIG9mIHRoZSBkYXRhIGlucHV0IHN0YXJ0aW5nIHdpdGggMA0KLSAgICAgKiBAcmV0dXJuIHBvaW50ZXIgdG8gdGhlIGRhdGEgaW5wdXQNCi0gICAgICovDQotICAgIFRJRUNfQU5ZUHRyIGdldERJKHVuc2lnbmVkIGludCBwYV9uRElOdW0pIGNvbnN0IHsNCi0gICAgICByZXR1cm4gbV9hb0RJcyArIHBhX25ESU51bTsNCi0gICAgfQ0KLQ0KLSAgICAvKiEgXGJyaWVmIEdldCB0aGUgZGF0YSBvdXRwdXQgd2l0aCBnaXZlbiBudW1iZXINCi0gICAgICoNCi0gICAgICogQXR0ZW50aW9uIHRoaXMgZnVuY3Rpb24gd2lsbCBub3QgcGVyZm9ybSBhbnkgcmFuZ2UgY2hlY2tzIG9uIHRoZSBwYV9uRE9OdW0gcGFyYW1ldGVyIQ0KLSAgICAgKiBAcGFyYW0gcGFfbkRPTnVtIG51bWJlciBvZiB0aGUgZGF0YSBvdXRwdXQgc3RhcnRpbmcgd2l0aCAwDQotICAgICAqIEByZXR1cm4gcG9pbnRlciB0byB0aGUgZGF0YSBvdXRwdXQNCi0gICAgICovDQotICAgIENJRUNfQU5ZICpnZXRETyh1bnNpZ25lZCBpbnQgcGFfbkRPTnVtKSBjb25zdHsNCi0gICAgICByZXR1cm4gbV9hb0RPcyArIHBhX25ET051bTsNCi0gICAgfQ0KLQ0KLSNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0gICAgVEZvcnRlVUludDMyICZnZXRFSU1vbml0b3JEYXRhKFRFdmVudElEIHBhRUlJRCk7DQotDQotICAgIFRGb3J0ZVVJbnQzMiAmZ2V0RU9Nb25pdG9yRGF0YShURXZlbnRJRCBwYUVPSUQpOw0KLQ0KLSAgICAvKiFcYnJpZWYgZ2V0IGFueSBpbnRlcm5hbCBGQiByZWZlcmVuY2VkIGJ5IHRoZSBpdGVyYXRvciB0byB0aGUgbmFtZSBsaXN0DQotICAgICAqDQotICAgICAqIFRoaXMgYWxsb3dzIHRoYXQgYWxzbyBhZGFwdGVycyBhbmQgdGhlIGludGVybmFscyBvZiBhIENGQiBjYW4gYmUgbW9uaXRvcmVkLg0KLSAgICAgKi8NCi0gICAgdmlydHVhbCBDRnVuY3Rpb25CbG9jayAqZ2V0RkIoZm9ydGU6OmNvcmU6OlROYW1lSWRlbnRpZmllcjo6Q0l0ZXJhdG9yICZwYU5hbWVMaXN0SXQpOw0KLQ0KLSNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfTU9OSVRPUklORw0KLSAgcHJvdGVjdGVkOg0KLQ0KLSAgICAvKiFcYnJpZWYgVGhlIG1haW4gY29uc3RydWN0b3IgZm9yIGEgZnVuY3Rpb24gYmxvY2suDQotICAgICAqDQotICAgICAqIFxwYXJhbSBwYV9wb1NyY1JlcyAgICAgICAgICBwb2ludGVyIHRvIHRoZSByZXNvdXJjZSB0aGlzIGZ1bmN0aW9uIGJsb2NrIGlzIGNvbnRhaW5lZCBpbiAobWFpbmx5IG5lY2Vzc2FyeSBmb3IgbWFuYWdlbWVudCBmdW5jdGlvbnMgYW5kIHNlcnZpY2UgaW50ZXJmYWNlcykNCi0gICAgICogXHBhcmFtIHBhX3BzdEludGVyZmFjZVNwZWMgIGNvbnN0IHBvaW50ZXIgdG8gdGhlIGludGVyZmFjZSBzcGVjDQotICAgICAqIFxwYXJhbSBwYV9uSW5zdGFuY2VOYW1lSWQgICBzdHJpbmcgaWQNCi0gICAgICogXHBhcmFtIHBhX2FjRkJDb25uRGF0YSAgICAgIEJ5dGUtYXJyYXkgZm9yIGZiLXNwZWNpZmljIGNvbm5lY3Rpb24gZGF0YS4gSXQgd2lsbCBuZWVkIHNwYWNlIGZvciB0aGUgZXZlbnQgb3V0cHV0IGNvbm5lY3Rpb25zLA0KLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSBpbnB1dCBjb25uZWN0aW9ucywgYW5kIGRhdGEgb3V0cHV0IGNvbm5lY3Rpb25zLCBpbiB0aGF0IG9yZGVyLiBUaGUgc3BhY2UgcmVxdWlyZW1lbnRzIGFyZToNCi0gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFRFdmVudENvbm5lY3Rpb25QdHIpICogTnVtYmVyIG9mIEV2ZW50IG91dHB1dHMgKw0KLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoVERhdGFDb25uZWN0aW9uUHRyKSAgKiBOdW1iZXIgb2YgRGF0YSBpbnB1dHMgKw0KLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoVERhdGFDb25uZWN0aW9uUHRyKSAgKiBOdW1iZXIgb2YgRGF0YSBvdXRwdXRzDQotICAgICAqIFxwYXJhbSBwYV9hY0ZCVmFyc0RhdGEgICAgICBCeXRlLWFycmF5IGZvciBmYi1zcGVjaWZpYyB2YXJpYWJsZSBkYXRhLiBJdCB3aWxsIG5lZWQgc3BhY2UgZm9yIHRoZSBkYXRhIGlucHV0cywgZGF0YSBvdXRwdXRzLCBhbmQgYWRhcHRlcnMgaW4gdGhhdCBvcmRlci4NCi0gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzcGFjZSByZXF1aXJlbWVudHMgYXJlOg0KLSAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoQ0lFQ19BTlkpKSAqIE51bWJlciBvZiBEYXRhIGlucHV0cyArDQotICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihDSUVDX0FOWSkpICogTnVtYmVyIG9mIERhdGEgb3V0cHV0cyArDQotICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihUQWRhcHRlclB0cikgKiB0YV9uTnVtQWRhcHRlcnMNCi0gICAgICovDQotICAgIENGdW5jdGlvbkJsb2NrKENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsDQotICAgICAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLA0KLSAgICAgICAgVEZvcnRlQnl0ZSAqcGFfYWNGQlZhcnNEYXRhKTsNCi0NCi0gICAgc3RhdGljIFRQb3J0SWQgZ2V0UG9ydElkKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfdW5Qb3J0TmFtZUlkLA0KLSAgICAgICAgVFBvcnRJZCBwYV91bk1heFBvcnROYW1lcywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFfYXVuUG9ydE5hbWVzKTsNCi0NCi0gICAgLyohXGJyaWVmIEZ1bmN0aW9uIHRvIHNlbmQgYW4gb3V0cHV0IGV2ZW50IG9mIHRoZSBGQi4NCi0gICAgICoNCi0gICAgICogXHBhcmFtIHBhX25FTyBFdmVudCBvdXRwdXQgSUQgd2hlcmUgZXZlbnQgc2hvdWxkIGJlIGZpcmVkLg0KLSAgICAgKi8NCi0gICAgdm9pZCBzZW5kT3V0cHV0RXZlbnQoc2l6ZV90IHBhRU8pOw0KLQ0KLSAgICAvKiFcYnJpZWYgRnVuY3Rpb24gdG8gc2VuZCBhbiBvdXRwdXQgZXZlbnQgdmlhIHRoZSBhZGFwdGVyLg0KLSAgICAgKg0KLSAgICAgKiBccGFyYW0gcGFfbkFkYXB0ZXJJRCBJRCBvZiBBZGFwdGVyIGluIGN1cnJlbnQgRkJzIGFkYXB0ZXIgbGlzdC4NCi0gICAgICogXHBhcmFtIHBhX25FSUQgRXZlbnQgSUQgd2hlcmUgZXZlbnQgc2hvdWxkIGJlIGZpcmVkLg0KLSAgICAgKi8NCi0gICAgdm9pZCBzZW5kQWRhcHRlckV2ZW50KHNpemVfdCBwYUFkYXB0ZXJJRCwgc2l6ZV90IHBhRUlEKSBjb25zdDsNCi0NCi0gICAgdm9pZCBzZXR1cEFkYXB0ZXJzKGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJEYXRhKTsNCi0NCi0NCi0gICAgQ0V2ZW50Q29ubmVjdGlvbiAqZ2V0RU9Db25VbmNoZWNrZWQoVFBvcnRJZCBwYUVPTnVtKSBjb25zdCB7DQotICAgICAgcmV0dXJuIChtRU9Db25ucyArIHBhRU9OdW0pOw0KLSAgICB9DQotDQotICAgIC8qISBcYnJpZWYgR2V0IHRoZSBkYXRhIG91dHB1dCBjb25uZWN0aW9uIHdpdGggZ2l2ZW4gbnVtYmVyDQotICAgICAqDQotICAgICAqIEF0dGVudGlvbiB0aGlzIGZ1bmN0aW9uIHdpbGwgbm90IHBlcmZvcm0gYW55IHJhbmdlIGNoZWNrcyBvbiB0aGUgcGFfbkRPTnVtIHBhcmFtZXRlciENCi0gICAgICogQHBhcmFtIHBhX25ET051bSBudW1iZXIgb2YgdGhlIGRhdGEgb3V0cHV0IHN0YXJ0aW5nIHdpdGggMA0KLSAgICAgKiBAcmV0dXJuIHBvaW50ZXIgdG8gdGhlIGRhdGEgb3V0cHV0IGNvbm5lY3Rpb24NCi0gICAgICovDQotICAgIENEYXRhQ29ubmVjdGlvbiAqZ2V0RE9Db25VbmNoZWNrZWQoVFBvcnRJZCBwYURPTnVtKXsNCi0gICAgICByZXR1cm4gbURPQ29ubnMgKyBwYURPTnVtOw0KLSAgICB9DQotDQotICAgIC8qIVxicmllZiBGdW5jdGlvbiB0byBjcmVhdGUgYW4gZGF0YSB0eXBlIGluc3RhbmNlIG9mIGdpdmVuIHR5cGUNCi0gICAgICoNCi0gICAgICogQHBhcmFtIHBhX3BhbkRhdGFUeXBlSWRzIHBvaW50ZXIgdG8gdGhlIGRhdGEgdHlwZSBpZHMuIElmIHRoZSBkYXRhdHlwZQ0KLSAgICAgKiAgICAgICAgaXMgYW4gQXJyYXkgdG8gbW9yZSB2YWx1ZXMgYXJlIHRha2VuIGZyb20gdGhlIGFycmF5LiBJZiB0aGUgZ2l2ZW4NCi0gICAgICogICAgICAgIHR5cGUgaXMgQW55IDAgaXMgcmV0dXJuZWQgYXMgbmVjZXNzYXJ5IGZvciBtYWludGFpbmluZyB0aGUgRkIncyBpbnRlcmZhY2UuDQotICAgICAqICAgICAgICBUaGUgZnVuY3Rpb25zIHB1dHMgdGhlIHBvaW50ZXIgaW4gdGhlIGRhdGF0eXBlIGFycmF5IHRvIHRoZSBuZXh0IGRhdGEgcG9pbnQncyBpZC4NCi0gICAgICogQHBhcmFtIHBhX2FjRGF0YUJ1ZiBwb2ludGVyIHRvIHRoZSBkYXRhIGJ1ZmZlciB3aGljaCBzaG91bGQgYmUgdXNlZCBieSB0aGUgZGF0YSB0eXBlIHRvIGNyZWF0ZQ0KLSAgICAgKiBAcmV0dXJuIG9uIHN1Y2Nlc3MuLi4gcG9pbnRlciB0byB0aGUgZGF0YXR5cGUgaW5zdGFuY2UNCi0gICAgICogICAgICAgICBvbiBlcnJvci4uLiAwDQotICAgICAqLw0KLSAgICBzdGF0aWMgQ0lFQ19BTlkgKmNyZWF0ZURhdGFQb2ludChjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkICoqcGFfcGFuRGF0YVR5cGVJZHMsDQotICAgICAgICBURm9ydGVCeXRlICpwYV9hY0RhdGFCdWYpOw0KLQ0KLSAgICB2b2lkIGZyZWVBbGxEYXRhKCk7DQotDQotICAgIC8qIVxicmllZiBHZXQgdGhlIHRpbWUgZWxhcHNlZCBzaW5jZSBmb3J0ZSB3YXMgc3RhcnRlZA0KLSAgICAgKg0KLSAgICAgKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBhbGdvcml0aG1zIHRvIGVhc2lseSBhY2Nlc3MgdGhlIGN1cnJlbnQgZm9ydGUgdGltZSBpbiBJRUMgNjExMzEtMyB1bml0cy4NCi0gICAgICogQHJldHVybiB0aGUgdGltZSBlbGFwc2VkIHNpbmNlIGZvcnRlIHdhcyBzdGFydGVkDQotICAgICAqLw0KLSAgICBjb25zdCBDSUVDX1RJTUUgVElNRSgpOw0KLQ0KLSAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjKiBtX3BzdEludGVyZmFjZVNwZWM7IC8vITwgUG9pbnRlciB0byB0aGUgaW50ZXJmYWNlIHNwZWNpZmljYXRpb24NCi0gICAgQ0V2ZW50Q29ubmVjdGlvbiAqbUVPQ29ubnM7IC8vITwgQSBsaXN0IG9mIGV2ZW50IGNvbm5lY3Rpb25zIHBvaW50ZXJzIHN0b3JpbmcgZm9yIGVhY2ggZXZlbnQgb3V0cHV0IHRoZSBldmVudCBjb25uZWN0aW9uLiBJZiB0aGUgb3V0cHV0IGV2ZW50IGlzIG5vdCBjb25uZWN0ZWQgdGhlIHBvaW50ZXIgaXMgMC4NCi0gICAgVERhdGFDb25uZWN0aW9uUHRyICptX2Fwb0RJQ29ubnM7IC8vITwgQSBsaXN0IG9mIGRhdGEgY29ubmVjdGlvbnMgcG9pbnRlcnMgc3RvcmluZyBmb3IgZWFjaCBkYXRhIGlucHV0IHRoZSBkYXRhIGNvbm5lY3Rpb24uIElmIHRoZSBkYXRhIGlucHV0IGlzIG5vdCBjb25uZWN0ZWQgdGhlIHBvaW50ZXIgaXMgMC4NCi0gICAgQ0RhdGFDb25uZWN0aW9uICptRE9Db25uczsgLy8hPCBBIGxpc3Qgb2YgZGF0YSBjb25uZWN0aW9ucyBwb2ludGVycyBzdG9yaW5nIGZvciBlYWNoIGRhdGEgb3V0cHV0IHRoZSBkYXRhIGNvbm5lY3Rpb24uIElmIHRoZSBkYXRhIG91dHB1dCBpcyBub3QgY29ubmVjdGVkIHRoZSBwb2ludGVyIGlzIDAuDQotICAgIENFdmVudENoYWluRXhlY3V0aW9uVGhyZWFkICptX3BvSW52b2tpbmdFeGVjRW52OyAvLyE8IEEgcG9pbnRlciB0byB0aGUgZXhlY3V0aW9uIHRocmVhZCB0aGF0IGludm9rZWQgdGhlIEZCLiBUaGlzIHZhbHVlIGlzIHN0b3JlZCBoZXJlIHRvIHJlZHVjZSBmdW5jdGlvbiBwYXJhbWV0ZXJzIGFuZCByZWR1Y2UgdGhlcmVmb3JlIHN0YWNrIHVzYWdlLg0KLSAgICBDQWRhcHRlciAqKm1fYXBvQWRhcHRlcnM7IC8vITwgQSBsaXN0IG9mIHBvaW50ZXJzIHRvIHRoZSBhZGFwdGVycy4gVGhpcyBhbGxvd3MgdG8gaW1wbGVtZW50IGEgZ2VuZXJhbCBnZXRBZGFwdGVyKCkuDQotDQotICBwcml2YXRlOg0KLSAgICAvKiFcYnJpZWYgRnVuY3Rpb24gcHJvdmlkaW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBGQiAoZS5nLiBleGVjdXRlIEVDQyBmb3IgYmFzaWMgRkJzKS4NCi0gICAgICoNCi0gICAgICogXHBhcmFtIHBhX25FSUlEIEV2ZW50IGlucHV0IElEIHdoZXJlIGV2ZW50IG9jY3VycmVkLg0KLSAgICAgKi8NCi0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpID0gMDsNCi0NCi0gICAgLyohXGJyaWVmIFNldCB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgZGF0YSBpbnB1dHMsIG91dHB1dHMsIGFuZCBpbnRlcm5hbCB2YXJzLg0KLSAgICAgKg0KLSAgICAgKiBGdW5jdGlvbmJsb2NrcyB3aGljaCBuZWVkIHRvIHNwZWNpZnkgc3BlY2lhbCBpbml0aWFsIHZhbHVlcyBmb3IgdGhlaXINCi0gICAgICogZGF0YSBpbnB1dHMsIG91dHB1dHMsIG9yIGludGVybmFsIHZhcnMgb3RoZXIgdGhhbiAwIG5lZWQgdG8gaW1wbGVtZW50IHRoaXMNCi0gICAgICogZnVuY3Rpb24uIFRoZSBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgb24gZW50ZXJpbmcgdGhlIElETEUgc3RhdGUgKGkuZS4sDQotICAgICAqIG9uIGNyZWF0aW9uIGFuZCBvbiBSRVNFVCkuDQotICAgICAqLw0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0SW5pdGlhbFZhbHVlcygpew0KLSAgICB9DQotDQotICAgIC8vIWRlY2xhcmVkIGJ1dCB1bmRlZmluZWQgY29weSBjb25zdHJ1Y3RvciBhcyB3ZSBkb24ndCB3YW50IEZCcyB0byBiZSBkaXJlY3RseSBjb3BpZWQuDQotICAgIENGdW5jdGlvbkJsb2NrKGNvbnN0IENGdW5jdGlvbkJsb2NrJik7DQotDQotICAgIHZvaWQgY29uZmlndXJlR2VuZXJpY0RJKFRQb3J0SWQgcGFESVBvcnRJZCwgY29uc3QgQ0lFQ19BTlkgKnBhUmVmVmFsdWUpOw0KLQ0KLSAgICBDUmVzb3VyY2UgKm1fcG9SZXNvdXJjZTsgLy8hPCBBIHBvaW50ZXIgdG8gdGhlIHJlc291cmNlIGNvbnRhaW5pbmcgdGhlIGZ1bmN0aW9uIGJsb2NrLg0KLSAgICBDSUVDX0FOWSAqbV9hb0RJczsgLy8hPCBBIGxpc3Qgb2YgcG9pbnRlcnMgdG8gdGhlIGRhdGEgaW5wdXRzLiBUaGlzIGFsbG93cyB0byBpbXBsZW1lbnQgYSBnZW5lcmFsIGdldERhdGFJbnB1dCgpDQotICAgIENJRUNfQU5ZICptX2FvRE9zOyAvLyE8IEEgbGlzdCBvZiBwb2ludGVycyB0byB0aGUgZGF0YSBvdXRwdXRzLiBUaGlzIGFsbG93cyB0byBpbXBsZW1lbnQgYSBnZW5lcmFsIGdldERhdGFPdXRwdXQoKQ0KLQ0KLSNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0gICAgdm9pZCBzZXR1cEV2ZW50TW9uaXRvcmluZ0RhdGEoKTsNCi0NCi0gICAgLy8gbW9uaXRvcmluZyBzdHVmZg0KLSAgICBURm9ydGVVSW50MzIgKm1FT01vbml0b3JDb3VudDsNCi0gICAgVEZvcnRlVUludDMyICptRUlNb25pdG9yQ291bnQ7DQotI2VuZGlmDQotDQotICAgIC8vISB0aGUgaW5zdGFuY2UgbmFtZSBvZiB0aGUgb2JqZWN0DQotICAgIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgbV9uRkJJbnN0YW5jZU5hbWU7DQotDQotICAgIC8qIVxicmllZiBDdXJyZW50IHN0YXRlIG9mIHRoZSBydW5uYWJsZSBvYmplY3QuDQotICAgICAqDQotICAgICAqLw0KLSAgICBFX0ZCU3RhdGVzIG1fZW5GQlN0YXRlOw0KLQ0KLSAgICAvKiFcYnJpZWYgQXR0cmlidXRlIGRlZmluZXMgaWYgcnVubmFibGUgb2JqZWN0IGNhbiBiZSBkZWxldGVkIGJ5IGEgbWFuYWdlbWVudCBjb21tYW5kLg0KLSAgICAgKg0KLSAgICAgKiBEZWZhdWx0IHZhbHVlIGlzIHNldCB0byB0cnVlLg0KLSAgICAgKiBJZiB0aGUgcnVubmFibGUgb2JqZWN0IGlzIGRlY2xhcmVkIGluIGEgZGV2aWNlIG9yIHJlc291cmNlIHNwZWNpZmljYXRpb24gaXQgbXVzdCBiZSBzZXQgdG8gZmFsc2UuDQotICAgICAqLw0KLSAgICBib29sIG1fYkRlbGV0YWJsZTsNCi0NCi0gICAgLy9GSVhNRSByZW1vdmUgdGhlc2UgZnJpZW5kcw0KLSAgICBmcmllbmQgY2xhc3MgQ0FkYXB0ZXI7DQotDQotI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORw0KLSAgICBmcmllbmQgY2xhc3MgZm9ydGU6OmNvcmU6OkNNb25pdG9yaW5nSGFuZGxlcjsNCi0jZW5kaWYgLy9GT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0NCi0jaWZkZWYgRk9SVEVfRk1VDQotICAgIGZyaWVuZCBjbGFzcyBmbXVJbnN0YW5jZTsNCi0jZW5kaWYgLy9GT1JURV9GTVUNCi19Ow0KLQ0KLXRlbXBsYXRlPD4NCi1zdHJ1Y3QgQ0Z1bmN0aW9uQmxvY2s6OmdlbkZCQ29ubkRhdGFTaXplVGVtcGxhdGU8MCwgMCwgMD57DQotICAgIGVudW0gew0KLSAgICAgIHZhbHVlID0gMQ0KLSAgICB9Ow0KLX07DQotDQotdGVtcGxhdGU8Pg0KLXN0cnVjdCBDRnVuY3Rpb25CbG9jazo6Z2VuRkJWYXJzRGF0YVNpemVUZW1wbGF0ZTwwLCAwLCAwPnsNCi0gICAgZW51bSB7DQotICAgICAgdmFsdWUgPSAxDQotICAgIH07DQotfTsNCi0NCi10eXBlZGVmIENGdW5jdGlvbkJsb2NrICpURnVuY3Rpb25CbG9ja1B0cjsNCi0NCi0jZGVmaW5lIEZVTkNUSU9OX0JMT0NLX0NUT1IoZmJjbGFzcykgXA0KLSBmYmNsYXNzKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSA6IFwNCi0gQ0Z1bmN0aW9uQmxvY2soIHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSkNCi0NCi0jZGVmaW5lIEZVTkNUSU9OX0JMT0NLX0NUT1JfV0lUSF9CQVNFX0NMQVNTKGZiY2xhc3MsIGZiQmFzZUNsYXNzKSBcDQotIGZiY2xhc3MoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogXA0KLSBmYkJhc2VDbGFzcyggcGFfcG9TcmNSZXMsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKQ0KLQ0KLQ0KLSNpZmRlZiBJTg0KLSN1bmRlZiBJTg0KLSNlbmRpZg0KLQ0KLSNpZmRlZiBPVVQNCi0jdW5kZWYgT1VUDQotI2VuZGlmDQotDQotI2lmZGVmIE9QVElPTkFMDQotI3VuZGVmIE9QVElPTkFMDQotI2VuZGlmDQotDQotI2VuZGlmIC8qX0ZVTkNCTE9DX0hfKi8NCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxOCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgbnh0Q29udHJvbCBHbWJILCBmb3J0aXNzIEdtYkgsCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXIsIEd1bm5hciBHcmFibWFpZXIsIFNtb2RpYyBSZW5lLAorICogICAgR2VyaGFyZCBFYmVuaG9mZXIsIE1pY2hhZWwgSG9mbWFubiwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksCisgKiAgICBTdGFuaXNsYXYgTWVkdW5hLCBQYXRyaWNrIFNtZWprYWwsCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqICAgIEFsb2lzIFpvaXRsIC0gaW50cm9kdWNlZCBuZXcgQ0dlbkZCIGNsYXNzIGZvciBiZXR0ZXIgaGFuZGxpbmcgZ2VuZXJpYyBGQnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfRlVOQ0JMT0NfSF8KKyNkZWZpbmUgX0ZVTkNCTE9DX0hfCisKKyNpbmNsdWRlIDxmb3J0ZV9jb25maWcuaD4KKyNpbmNsdWRlICJtZ21jbWQuaCIKKyNpbmNsdWRlICJldmVudC5oIgorI2luY2x1ZGUgImRhdGFjb25uLmgiCisjaW5jbHVkZSAiZXZlbnRjb25uLmgiCisjaW5jbHVkZSAic3RyaW5nZGljdC5oIgorI2luY2x1ZGUgIi4uL2FyY2gvZGV2bG9nLmgiCisjaW5jbHVkZSAiaWVjNjExMzFfZnVuY3Rpb25zLmgiCisjaW5jbHVkZSA8c3RyaW5nbGlzdC5oPgorCitjbGFzcyBDRXZlbnRDaGFpbkV4ZWN1dGlvblRocmVhZDsKK2NsYXNzIENBZGFwdGVyOworY2xhc3MgQ1RpbWVySGFuZGxlcjsKKworI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworI2luY2x1ZGUgIm1nbWNtZHN0cnVjdC5oIgorbmFtZXNwYWNlIGZvcnRlIHsKKyAgbmFtZXNwYWNlIGNvcmUgeworICAgIGNsYXNzIENNb25pdG9yaW5nSGFuZGxlcjsKKyAgfQorfQorI2VuZGlmIC8vRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisKKyNpZm5kZWYgRk9SVEVfRkJfREFUQV9BUlJBWSAgLy93aXRoIHRoaXMgY2hlY2sgd2UgY2FuIG92ZXJ3cml0ZSB0aGlzIGRlZmluZSBpbiBhIHBsYXRmb3JtIHNwZWNpZmljIGZpbGUgKGUuZy4sIGNvbmZpZy5oKQorLyohIERlZmluZSB0aGF0IGFkZHMgdGhlIGRhdGEgYXJyYXkgdG8gYSBTSUZCLCBzaW1wbGUgRkIgb3IgQ0ZCCisgKiBNYXkgYmUgb3ZlcndyaXR0ZW4gYnkgYSBwbGF0Zm9ybSBzcGVjaWZpYyB2ZXJzaW9uIHRoYXQgYWRhcHRzIGZvciBleGFtcGxlIHNvbWUgYWxpZ25tZW50IHJlcXVpcmVtZW50cworICovCisjZGVmaW5lIEZPUlRFX0ZCX0RBVEFfQVJSQVkoYV9uTnVtRU9zLCBhX25OdW1ESXMsIGFfbk51bURPcywgYV9uTnVtQWRhcHRlcnMpIFwKKyAgdW5pb257IFwKKyAgICBURm9ydGVCeXRlIG1fYW5GQkNvbm5EYXRhW2dlbkZCQ29ubkRhdGFTaXplVGVtcGxhdGU8YV9uTnVtRU9zLCBhX25OdW1ESXMsIGFfbk51bURPcz46OnZhbHVlXTsgXAorICAgIHZvaWQgKm1fYXBvRHVtbXlDb25uUG9pbnRlckFsaWduOyBcCisgIH07XAorICB1bmlvbnsgXAorICAgIFRGb3J0ZUJ5dGUgbV9hbkZCVmFyc0RhdGFbZ2VuRkJWYXJzRGF0YVNpemVUZW1wbGF0ZTxhX25OdW1ESXMsIGFfbk51bURPcywgYV9uTnVtQWRhcHRlcnM+Ojp2YWx1ZV07IFwKKyAgICBDSUVDX0FOWTo6VExhcmdlc3RVSW50VmFsdWVUeXBlIG1fdUR1bW15RGF0YUFsaWduOyBcCisgIH07CisjZW5kaWYKKwordHlwZWRlZiBDQWRhcHRlciAqVEFkYXB0ZXJQdHI7CisKK3R5cGVkZWYgVEZvcnRlVUludDggVERhdGFJT0lEOyAvLyE8IFxpbmdyb3VwIENPUkUgVHlwZSBmb3IgaG9sZGluZyBhbiBkYXRhIEluLSBvciBvdXRwdXQgSUQgKG1heCB2YWx1ZSAyNTQpCisKKy8qIVxpbmdyb3VwIENPUkVcYnJpZWYgU3RydWN0dXJlIHRvIGhvbGQgYWxsIGRhdGEgb2YgYWRhcHRlcnMgaW5zdGFudGlhdGVkIGluIHRoZSBmdW5jdGlvbiBibG9jay4KKyAqLworc3RydWN0IFNBZGFwdGVySW5zdGFuY2VEZWZ7CisgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBtX25BZGFwdGVyVHlwZU5hbWVJRDsgLy8hPCBBZGFwdGVyIHR5cGUgbmFtZQorICAgIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgbV9uQWRhcHRlck5hbWVJRDsgLy8hPCBBZGFwdGVyIGluc3RhbmNlIG5hbWUKKyAgICBib29sIG1fYklzUGx1ZzsgLy8hPCBGbGFnIGZvciBkaXN0aW5jdGlvbiBvZiBhZGFwdGVyIG5hdHVyZSAocGx1Zy9zb2NrZXQpCit9OworCisvKiFcaW5ncm91cCBDT1JFXGJyaWVmIFN0cnVjdHVyZSB0byBob2xkIGFsbCB0aGUgZGF0YSBmb3Igc3BlY2lmeWluZyBhIGZ1bmN0aW9uIGJsb2NrIGludGVyZmFjZS4KKyAqLworc3RydWN0IFNGQkludGVyZmFjZVNwZWN7CisgICAgVEZvcnRlVUludDggbV9uTnVtRUlzOyAvLyE8IE51bWJlciBvZiBldmVudCBpbnB1dHMgKG1heCAyNTQpCisgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogbV9hdW5FSU5hbWVzOyAvLyE8IExpc3Qgb2YgdGhlIGV2ZW50IGlucHV0IG5hbWVzCisgICAgY29uc3QgVERhdGFJT0lEKiBtX2FuRUlXaXRoOyAvLyE8IElucHV0IFdJVEggcmVmZXJlbmNlIGxpc3QuIFRoaXMgbGlzdCBjb250YWlucyBhbiBhcnJheSBvZiBpbnB1dCBkYXRhIGlkcy4gRm9yIGVhY2ggaW5wdXQgZXZlbnQgdGhlIGFzc29jaWF0ZWQgZGF0YSBpbnB1dHMgYXJlIGxpc3RlZC4gVGhlIHN0YXJ0IGZvciBlYWNoIGlucHV0IGV2ZW50IGlzIHNwZWNpZmllZCBpbiB0aGUgbV9hbkVJV2l0aEluZGV4ZXMgZmllbGQuIFRoZSBlbmQgaXMgZGVmaW5lZCB0cm91Z2ggdGhlIHZhbHVlIDI1NS4KKyAgICBjb25zdCBURm9ydGVJbnQxNiogbV9hbkVJV2l0aEluZGV4ZXM7IC8vITwgSW5kZXggbGlzdCBmb3IgZWFjaCBpbnB1dCBldmVudC4gVGhpcyBsaXN0IGdpdmVzIGZvciBlYWNoIGlucHV0IGV2ZW50IGFuIGVudHJ5IGluIHRoZSBtX2FuRUlXaXRoLiBJbnB1dCBldmVudHMgYXJlIG51bWJlcmVkIHN0YXJ0aW5nIGZyb20gMC4gaWYgdGhlIGlucHV0IGV2ZW50IGhhcyBubyBhc3NjaWF0ZWQgZGF0YSBpbnB1dHMgLTEgaXMgdGhlIGVudHJ5IGF0IHRoaXMgZXZlbnQgaW5wdXRzIHBvc3Rpb24uCisgICAgVEZvcnRlVUludDggbV9uTnVtRU9zOyAvLyE8IE51bWJlciBvZiBldmVudCBvdXRwdXRzIChtYXggMjU0KQorICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIG1fYXVuRU9OYW1lczsgLy8hPCBMaXN0IG9mIHRoZSBldmVudCBvdXRwdXQgbmFtZXMKKyAgICBjb25zdCBURGF0YUlPSUQqIG1fYW5FT1dpdGg7IC8vITwgT3V0cHV0IFdJVEggcmVmZXJlbmNlIGxpc3QuIFRoaXMgbGlzdCBjb250YWlucyBhbiBhcnJheSBvZiBvdXRwdXQgZGF0YSBpZHMuIEZvciBlYWNoIG91dHB1dCBldmVudCB0aGUgYXNzb2NpYXRlZCBkYXRhIG91dHB1dHMgYXJlIGxpc3RlZC4gVGhlIHN0YXJ0IGZvciBlYWNoIG91dHB1dCBldmVudCBpcyBzcGVjaWZpZWQgaW4gdGhlIG1fYW5FT1dpdGhJbmRleGVzIGZpZWxkLiBUaGUgZW5kIGlzIGRlZmluZWQgdHJvdWdoIHRoZSB2YWx1ZSAyNTUuCisgICAgY29uc3QgVEZvcnRlSW50MTYqIG1fYW5FT1dpdGhJbmRleGVzOyAvLyE8IEluZGV4IGxpc3QgZm9yIGVhY2ggb3V0cHV0IGV2ZW50LiBUaGlzIGxpc3QgZ2l2ZXMgZm9yIGVhY2ggb3V0cHV0IGV2ZW50IGFuIGVudHJ5IGluIHRoZSBtX2FuRU9XaXRoLiBPdXRwdXQgZXZlbnRzIGFyZSBudW1iZXJlZCBzdGFydGluZyBmcm9tIDAuIGlmIHRoZSBvdXRwdXQgZXZlbnQgaGFzIG5vIGFzc2NpYXRlZCBkYXRhIG91dHB1dHMgLTEgaXMgdGhlIGVudHJ5IGF0IHRoaXMgZXZlbnQgb3V0cHV0cyBwb3N0aW9uLiBBZGRpdGlvbmFsbHkgYXQgdGhlIHBvc3Rpb24gbV9uTnVtRU9zIGluIHRoaXMgbGlzdCBhbiBpbmRleCB0byBhbiBvd24gbGlzdCBpbiB0aGUgbV9hbkVPV2l0aCBsaXN0IGlzIHN0b3JlZCBzcGVjaWZ5aW5nIGFsbCBvdXRwdXQgZGF0YSBwb3J0IHRoYXQgYXJlIG5vdCBhc3NvY2lhdGVkIHdpdGggYW55IG91dHB1dCBldmVudC4gVGhhdCB2YWx1ZXMgd2lsbCBiZSB1cGRhdGVkIG9uIGV2ZXJ5IEZCIGludm9jYXRpb24uCisgICAgVEZvcnRlVUludDggbV9uTnVtRElzOyAvLyE8IE51bWJlciBvZiBkYXRhIGlucHV0cyAobWF4IDI1NCkKKyAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkKiBtX2F1bkRJTmFtZXM7IC8vITwgTGlzdCBvZiB0aGUgZGF0YSBpbnB1dCBuYW1lcworICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIG1fYXVuRElEYXRhVHlwZU5hbWVzOyAvLyE8IExpc3Qgb2YgdGhlIGRhdGEgdHlwZSBuYW1lcyBmb3IgdGhlIGRhdGEgaW5wdXRzCisgICAgVEZvcnRlVUludDggbV9uTnVtRE9zOyAvLyE8IE51bWJlciBvZiBkYXRhIG91dHB1dHMgKG1heCAyNTQpCisgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogbV9hdW5ET05hbWVzOyAvLyE8IExpc3Qgb2YgdGhlIGRhdGEgb3V0cHV0IG5hbWVzCisgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogbV9hdW5ET0RhdGFUeXBlTmFtZXM7IC8vITwgTGlzdCBvZiB0aGUgZGF0YSB0eXBlIG5hbWVzIGZvciB0aGUgZGF0YSBvdXRwdXRzCisgICAgVEZvcnRlVUludDggbV9uTnVtQWRhcHRlcnM7IC8vITwgTnVtYmVyIG9mIEFkYXB0ZXJzCisgICAgY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiogbV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uOyAvLyE8IExpc3Qgb2YgYWRhcHRlciBpbnN0YW5jZXMKK307CisKKy8qIVxpbmdyb3VwIENPUkVcYnJpZWYgQmFzZSBjbGFzcyBmb3IgYWxsIGZ1bmN0aW9uIGJsb2Nrcy4KKyAqLworY2xhc3MgQ0Z1bmN0aW9uQmxvY2t7CisgIHB1YmxpYzoKKyAgICBjb25zdCBzdGF0aWMgVERhdGFJT0lEIHNjbVdpdGhMaXN0RGVsaW1pdGVyID0gY2dfdW5JbnZhbGlkUG9ydElkOyAgLy8hPCB2YWx1ZSBpZGVudGlmeWluZyB0aGUgZW5kIG9mIGEgd2l0aCBsaXN0CisKKyAgICAvKiFcYnJpZWYgUG9zc2libGUgc3RhdGVzIG9mIGEgcnVuYWJsZSBvYmplY3QuCisgICAgICoKKyAgICAgKi8KKyAgICBlbnVtIEVfRkJTdGF0ZXN7CisgICAgICBlX1JVTk5JTkcgPSAwLCAgLy8gaW4gdGhlIG1vc3QgY3JpdGljYWwgZXhlY3V0aW9uIHBhdGggb2YgRk9SVEUgd2UgYXJlIGNoZWNraW5nIGZvciB0aGlzIGVudW0gdmFsdWUgaXQgaXMgZmFzdGVyIGlmIHRoaXMgaXMgdGhlIHplcm8gZW50cnkKKyAgICAgIGVfSURMRSwgZV9TVE9QUEVELCBlX0tJTExFRAorICAgIH07CisKKyAgICAvKiEgXGJyaWVmIEluZGljYXRvciB0aGF0IHRoZSBnaXZlbiBFdmVudElEIGlzIGFuIGluY2x1ZGVkIGFkYXB0ZXIncyBldmVudElELgorICAgICAqCisgICAgICogVGhpcyB3aWxsIGFsbG93IDI1NSBJbnB1dCBhbmQgT3V0cHV0IEV2ZW50cy4KKyAgICAgKgorICAgICAqIEV2ZW50SURzID4gc2NtX25NYXhJbnRlcmZhY2VFdmVudHM6IGhpZ2hCeXRlIGluZGljYXRlcyAoQWRhcHRlcklEKzEpCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQxNiBzY21fbk1heEludGVyZmFjZUV2ZW50cyA9IDB4MDBGRjsKKworICAgIHZpcnR1YWwgfkNGdW5jdGlvbkJsb2NrKCk7CisKKyAgICAvKiFcYnJpZWYgR2V0IHRoZSByZXNvdXJjZSB0aGUgZnVuY3Rpb24gYmxvY2sgaXMgY29udGFpbmVkIGluLgorICAgICAqLworICAgIENSZXNvdXJjZSAmZ2V0UmVzb3VyY2Uodm9pZCl7CisgICAgICByZXR1cm4gKm1fcG9SZXNvdXJjZTsKKyAgICB9CisKKyAgICBDUmVzb3VyY2UgKmdldFJlc291cmNlUHRyKHZvaWQpeworICAgICAgcmV0dXJuIG1fcG9SZXNvdXJjZTsKKyAgICB9CisKKyAgICAvKiFcYnJpZWYgR2V0IHRoZSB0aW1lciBvZiB0aGUgZGV2aWNlIHdoZXIgdGhlIEZCIGlzIGNvbnRhaW5lZC4KKyAgICAgICAgICovCisgICAgQ1RpbWVySGFuZGxlciYgZ2V0VGltZXIodm9pZCk7CisKKyAgICAvKiFcYnJpZWYgUmV0dXJucyB0aGUgdHlwZSBvZiB0aGlzIEZCIGluc3RhbmNlCisgICAgICovCisgICAgdmlydHVhbCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGdldEZCVHlwZUlkKHZvaWQpIGNvbnN0ID0gMDsKKyAgICAvKiFcYnJpZWYgR2V0IHRoZSBJRCBvZiBhIHNwZWNpZmljIGV2ZW50IGlucHV0IG9mIHRoZSBGQi4KKyAgICAgKgorICAgICAqIFxwYXJhbSBwYV91bkVJTmFtZUlkICAgU3RyaW5nSWQgdG8gdGhlIGV2ZW50IGlucHV0IG5hbWUuCisgICAgICogXHJldHVybiBUaGUgSUQgb2YgdGhlIGV2ZW50IGlucHV0IG9yIGNnX25JbnZhbGlkRXZlbnRJRC4KKyAgICAgKi8KKyAgICBURXZlbnRJRCBnZXRFSUlEKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfdW5FSU5hbWVJZCkgY29uc3R7CisgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VEV2ZW50SUQ+KGdldFBvcnRJZChwYV91bkVJTmFtZUlkLCBtX3BzdEludGVyZmFjZVNwZWMtPm1fbk51bUVJcywgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX2F1bkVJTmFtZXMpKTsKKyAgICB9CisKKyAgICAvKiFcYnJpZWYgR2V0IHRoZSBJRCBvZiBhIHNwZWNpZmljIGV2ZW50IG91dHB1dCBvZiB0aGUgRkIuCisgICAgICoKKyAgICAgKiBccGFyYW0gcGFfdW5FT05hbWVJZCBzdHJpbmcgaWQgdG8gdGhlIGV2ZW50IG91dHB1dCBuYW1lLgorICAgICAqIFxyZXR1cm4gVGhlIElEIG9mIHRoZSBldmVudCBvdXRwdXQgb3IgY2dfbkludmFsaWRFdmVudElELgorICAgICAqLworICAgIFRFdmVudElEIGdldEVPSUQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV91bkVPTmFtZUlkKSBjb25zdHsKKyAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxURXZlbnRJRD4oZ2V0UG9ydElkKHBhX3VuRU9OYW1lSWQsIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9uTnVtRU9zLCBtX3BzdEludGVyZmFjZVNwZWMtPm1fYXVuRU9OYW1lcykpOworICAgIH0KKworICAgIENFdmVudENvbm5lY3Rpb24gKmdldEVPQ29ubmVjdGlvbihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhRU9OYW1lSWQpIGNvbnN0OworCisgICAgLyohXGJyaWVmIENvbm5lY3RzIHNwZWNpZmljIGRhdGEgaW5wdXQgb2YgYSBGQiB3aXRoIGEgc3BlY2lmaWMgZGF0YSBjb25uZWN0aW9uLgorICAgICAqCisgICAgICogSWYgdGhlIGNvbm5lY3Rpb24gcG9pbnRlciBpcyAwIHRoZW4gaXQgaXMgZXF1YWwgdG8gYSBkaXNjb25uZWN0LiBGdXJ0aGVybW9yZSwgaWYgdGhlaXIgaXMgYWxyZWFkeSBhIGNvbm5lY3Rpb24KKyAgICAgKiB0byB0aGUgZ2l2ZW4gZGF0YSBwb3J0IHRoZSBjb25uZWN0aW9uIGF0dGVtcHQgd2lsbCBiZSByZWplY3RlZC4gSG93ZXZlciBpZiB0aGUgZnVydGhlciBjb25uZWN0aW9uIGF0dGVtcHQKKyAgICAgKiBpcyBkb25lIHdpdGggdGhlIHNhbWUgY29ubmVjdGlvbiBvYmplY3QgdGhlbiBpdCBpcyBhIHJlY29uZmlndXJhdGlvbiBhdHRlbXB0IGZvciBhbnkgZGF0YSBpbnB1dHMuIFRoaXMgaXMgbmVjZXNzYXJ5CisgICAgICogd2hlbiBkdXJpbmcgdGhlIGZpcnN0IGNvbm5lY3Rpb24gdGhlIGRhdGEgdHlwZSBvZiB0aGUgY29ubmVjdGlvbiB3YXMgbm90IGNsZWFyLgorICAgICAqCisgICAgICogXHBhcmFtIHBhX3VuRElOYW1lSWQgU3RyaW5nSUQgb2YgdGhlIGRhdGEgaW5wdXQgbmFtZS4KKyAgICAgKiBccGFyYW0gcGFfcG9EYXRhQ29uIFBvaW50ZXIgdG8gdGhlIGRhdGEgY29ubmVjdGlvbiB0aGUgRkIgc2hvdWxkIGJlIGNvbm5lY3RlZCB0by4KKyAgICAgKiBccmV0dXJuIFRSVUUgb24gc3VjY2VzcywgRkFMU0UgaWYgZGF0YSBvdXRwdXQgbm90IGV4aXN0cyBvciBvdXRwdXQgaXMgYWxyZWFkeSBjb25uZWN0ZWQuCisgICAgICovCisgICAgdmlydHVhbCBib29sIGNvbm5lY3RESShUUG9ydElkIHBhRElQb3J0SWQsIENEYXRhQ29ubmVjdGlvbiAqcGFfcG9EYXRhQ29uKTsKKworICAgIC8qISBcYnJpZWYgR2V0cyB0aGUgaW5kZXggb2YgdGhlIG1fYWNESU5hbWVzIGFycmF5IG9mIGEgc3BlY2lmaWMgZGF0YSBvdXRwdXQgb2YgYSBGQgorICAgICAqCisgICAgICogXHBhcmFtIHBhX3VuRElOYW1lSWQgIFN0cmluZ0lkIG9mIHRoZSBkYXRhIGlucHV0IG5hbWUuCisgICAgICogXHJldHVybiBSZXR1cm5zIGluZGV4IG9mIHRoZSBEYXRhIElucHV0IEFycmF5IG9mIGEgRkIKKyAgICAgKi8KKyAgICBUUG9ydElkIGdldERJSUQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV91bkRJTmFtZUlkKSBjb25zdHsKKyAgICAgIHJldHVybiBnZXRQb3J0SWQocGFfdW5ESU5hbWVJZCwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXMsIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9hdW5ESU5hbWVzKTsKKyAgICB9CisKKyAgICAvKiFcYnJpZWYgR2V0IHRoZSBwb2ludGVyIHRvIGEgZGF0YSBpbnB1dCBvZiB0aGUgRkIuCisgICAgICoKKyAgICAgKiBccGFyYW0gcGFfdW5ESU5hbWVJZCBJRCBvZiB0aGUgZGF0YSBpbnB1dCBuYW1lLgorICAgICAqIFxyZXR1cm4gUG9pbnRlciB0byB0aGUgZGF0YSBpbnB1dCBvciAwLiBJZiAwIGlzIHJldHVybmVkIERhdGFJbnB1dCBpcyBBTlkKKyAgICAgKi8KKyAgICBDSUVDX0FOWSogZ2V0RGF0YUlucHV0KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfdW5ESU5hbWVJZCkgY29uc3Q7CisKKyAgICAvKiFcYnJpZWYgZ2V0IHRoZSBwb2ludGVyIHRvIGEgZGF0YSBpbnB1dCB1c2luZyB0aGUgcG9ydElkIGFzIGlkZW50aWZpZXIKKyAgICAgKi8KKyAgICBDSUVDX0FOWSogZ2V0RElGcm9tUG9ydElkKFRQb3J0SWQgcGFESVBvcnRJZCkgY29uc3Q7CisKKyAgICAvKiEgXGJyaWVmIEdldHMgdGhlIGluZGV4IG9mIHRoZSBtX2FjRE9OYW1lcyBhcnJheSBvZiBhIHNwZWNpZmljIGRhdGEgb3V0cHV0IG9mIGEgRkIKKyAgICAgKiBccGFyYW0gcGFfdW5ET05hbWVJZCAgU3RyaW5nSWQgb2YgdGhlIGRhdGEgaW5wdXQgbmFtZS4KKyAgICAgKiBccmV0dXJuIFJldHVybnMgaW5kZXggb2YgdGhlIERhdGEgT3V0cHV0IEFycmF5IG9mIGEgRkIKKyAgICAgKi8KKyAgICBUUG9ydElkIGdldERPSUQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV91bkRPTmFtZUlkKSBjb25zdHsKKyAgICAgIHJldHVybiBnZXRQb3J0SWQocGFfdW5ET05hbWVJZCwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1ET3MsIG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzKTsKKyAgICB9CisKKyAgICAvKiFcYnJpZWYgZ2V0IHRoZSBwb2ludGVyIHRvIGEgZGF0YSBvdXRwdXQgdXNpbmcgdGhlIHBvcnRJZCBhcyBpZGVudGlmaWVyCisgICAgICovCisgICAgQ0lFQ19BTlkqIGdldERPRnJvbVBvcnRJZChUUG9ydElkIHBhRE9Qb3J0SWQpIGNvbnN0OworCisgICAgQ0RhdGFDb25uZWN0aW9uICpnZXRET0Nvbm5lY3Rpb24oQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYURPTmFtZUlkKSBjb25zdDsKKworICAgIENEYXRhQ29ubmVjdGlvbiAqZ2V0RElDb25uZWN0aW9uKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFESU5hbWVJZCkgY29uc3Q7CisKKyAgICAvKiFcYnJpZWYgaWYgdGhlIGRhdGEgb3V0cHV0IGlzIG9mIGdlbmVyaWMgdHlwZSAoaS5lLCBBTlkpIHRoaXMgZnVuY3Rpb24gYWxsb3dzIGFuIGRhdGEgY29ubmVjdGlvbiB0byBjb25maWd1cmUKKyAgICAgKiB0aGUgRE8gd2l0aCB0aGUgc3BlY2lmaWMgdHlwZSBjb21pbmcgZnJvbSB0aGUgb3RoZXIgZW5kIG9mIHRoZSBjb25uZWN0aW9uCisgICAgICovCisgICAgdmlydHVhbCBib29sIGNvbmZpZ3VyZUdlbmVyaWNETyhUUG9ydElkIHBhRE9Qb3J0SWQsIGNvbnN0IENJRUNfQU5ZICZwYVJlZlZhbHVlKTsKKworICAgIC8qIVxicmllZiBHZXQgdGhlIHBvaW50ZXIgdG8gYSBkYXRhIG91dHB1dCBvZiB0aGUgRkIuCisgICAgICoKKyAgICAgKiBccGFyYW0gcGFfdW5ET05hbWVJZCBTdHJpbmdJRCBvZiB0aGUgZGF0YSBvdXRwdXQgbmFtZS4KKyAgICAgKiBccmV0dXJuIFBvaW50ZXIgdG8gdGhlIGRhdGEgb3V0cHV0IG9yIDAuIElmIDAgaXMgcmV0dXJuZWQgRGF0YU91dHB1dCBpcyBBTlkKKyAgICAgKi8KKyAgICBDSUVDX0FOWSogZ2V0RGF0YU91dHB1dChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX3VuRE9OYW1lSWQpIGNvbnN0OworCisgICAgLyohXGJyaWVmIEdldCB0aGUgcG9pbnRlciB0byBhIHZhcmlhYmxlIG9mIHRoZSBGQi4KKyAgICAgKgorICAgICAqIEBwYXJhbSBwYU5hbWVMaXN0IGFycmF5IG9mIHRoZSBuYW1lIGhpZXJhcmNoeSB0aGUgcmVxdWVzdGVkIHZhcmlhYmxlCisgICAgICogQHBhcmFtIHBhTmFtZUxpc3RTaXplIGxlbmd0aCBvZiB0aGUgYXJyYXkKKyAgICAgKiBccmV0dXJuIFBvaW50ZXIgdG8gdGhlIHZhcmlhYmxlIG9yIDAuCisgICAgICogIFRoZSB2YXJpYWJsZSBtYXkgYmUgaW5wdXQsIG91dHB1dCBvciBpbiB0aGUgY2FzZSBvZiBhIEJGQiBhbiBpbnRlcm5hbCB2YXIuCisgICAgICovCisgICAgdmlydHVhbCBDSUVDX0FOWSogZ2V0VmFyKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgKnBhTmFtZUxpc3QsCisgICAgICAgIHVuc2lnbmVkIGludCBwYU5hbWVMaXN0U2l6ZSk7CisKKyAgICAvKiFcYnJpZWYgR2V0IHRoZSBwb2ludGVyIHRvIHRoZSBhZGFwdGVyIGluc3RhbmNlIG9mIHRoZSBGQi4KKyAgICAgKgorICAgICAqIFxwYXJhbSBwYV91QWRhcHRlck5hbWVJZCAgU3RyaW5nSWQgb2YgdGhlIGFkYXB0ZXIgbmFtZS4KKyAgICAgKiBccmV0dXJuIFBvaW50ZXIgdG8gdGhlIGRhdGEgb3V0cHV0IG9yIDAuCisgICAgICovCisgICAgQ0FkYXB0ZXIqIGdldEFkYXB0ZXIoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUFkYXB0ZXJOYW1lSWQpIGNvbnN0OworCisgICAgVFBvcnRJZCBnZXRBZGFwdGVyUG9ydElkKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFBZGFwdGVyTmFtZUlkKSBjb25zdDsKKworICAgIC8qIVxicmllZiBGdW5jdGlvbiB0aGF0IGhhbmRsZXMgaW5jb21pbmcgZXZlbnRzLgorICAgICAqCisgICAgICogXHBhcmFtIHBhRUlJRCBJRCBvZiB0aGUgaW5wdXQgZXZlbnQgdGhhdCBoYXMgb2NjdXJyZWQuCisgICAgICogXHBhcmFtIHBhRXhlY0VudiBFdmVudCBjaGFpbiBleGVjdXRpb24gZW52aXJvbm1lbnQgdGhlIEZCIHdpbGwgYmUgZXhlY3V0ZWQgaW4gKHVzZWQgZm9yIGFkZGluZyBvdXRwdXQgZXZlbnRzKS4KKyAgICAgKi8KKyAgICB2b2lkIHJlY2VpdmVJbnB1dEV2ZW50KHNpemVfdCBwYUVJSUQsIENFdmVudENoYWluRXhlY3V0aW9uVGhyZWFkICZwYUV4ZWNFbnYpOworCisgICAgLyohXGJyaWVmIENvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIHVzZWQgYnkgdGhlIHR5cGVsaWIgdG8gcGFyYW1ldGVyaXplIGdlbmVyaWMgZnVuY3Rpb24gYmxvY2tzLgorICAgICAqCisgICAgICogXHBhcmFtIHBhX2FjQ29uZmlnU3RyaW5nICBBIHN0cmluZyBjb250YWluaW5nIHRoZSBuZWVkZWQgY29uZmlndXJhdGlvbiBkYXRhLgorICAgICAqIFxyZXR1cm4gVFJVRSBpZiBjb25maWd1cmF0aW9uIHdlbnQgb2ssIGVsc2UgRkFMU0UuCisgICAgICoKKyAgICAgKi8KKyAgICB2aXJ0dWFsIGJvb2wgY29uZmlndXJlRkIoY29uc3QgY2hhciAqcGFfYWNDb25maWdTdHJpbmcpOworCisgICAgdm9pZCBzZXR1cEZCSW50ZXJmYWNlKGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFfYWNGQlZhcnNEYXRhKTsKKworICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIGdldEZCSW50ZXJmYWNlU3BlYygpIGNvbnN0eworICAgICAgcmV0dXJuIG1fcHN0SW50ZXJmYWNlU3BlYzsKKyAgICB9CisKKworICAgIHZpcnR1YWwgRU1HTVJlc3BvbnNlIGNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoRU1HTUNvbW1hbmRUeXBlIHBhX3VuQ29tbWFuZCk7CisKKyAgICAvKiFcYnJpZWYgR2V0L3NldCB0aGUgaW5zdGFuY2UgbmFtZQorICAgICAqLworICAgIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgZ2V0SW5zdGFuY2VOYW1lSWQodm9pZCkgY29uc3R7CisgICAgICByZXR1cm4gbV9uRkJJbnN0YW5jZU5hbWU7CisgICAgfQorICAgIDsKKworICAgIGNvbnN0IGNoYXIgKmdldEluc3RhbmNlTmFtZSh2b2lkKSBjb25zdHsKKyAgICAgIHJldHVybiBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQobV9uRkJJbnN0YW5jZU5hbWUpOworICAgIH0KKworICAgIHZvaWQgc2V0SW5zdGFuY2VOYW1lSWQoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQpeworICAgICAgbV9uRkJJbnN0YW5jZU5hbWUgPSBwYV9uSW5zdGFuY2VOYW1lSWQ7CisgICAgfQorCisgICAgLyohXGJyaWVmIEdldCBpbmZvcm1hdGlvbiBpZiB0aGUgcnVuYWJsZSBvYmplY3QgaXMgZGVsZXRhYmxlIGJ5IGEgbWFuYWdlbWVudCBjb21tYW5kLgorICAgICAqCisgICAgICovCisgICAgYm9vbCBnZXREZWxldGFibGUodm9pZCkgY29uc3R7CisgICAgICByZXR1cm4gbV9iRGVsZXRhYmxlOworICAgIH0KKyAgICA7CisgICAgLyohXGJyaWVmIFNldCBhdHRyaWJ1dGUgdG8gZW5hYmxlL2Rpc2FibGUgdGhlIHJ1bmFibGUgb2JqZWN0IGRlbGV0aW9uIGJ5IGEgbWFuYWdlbWVudCBjb21tYW5kLgorICAgICAqCisgICAgICovCisgICAgdm9pZCBzZXREZWxldGFibGUoY29uc3QgYm9vbCAmcGFfYkRlbEFibGUpeworICAgICAgbV9iRGVsZXRhYmxlID0gcGFfYkRlbEFibGU7CisgICAgfQorICAgIDsKKyAgICAvKiFcYnJpZWYgUmV0dXJuIGlmIHRoZSBydW5hYmxlIG9iamVjdCBpcyBhbGxvd2VkIHRvIGJlIGRlbGV0ZWQgbm93LgorICAgICAqCisgICAgICogVGhpcyBpcyBtb3JlIGNvbXBsZXggdGhlbiB0aGUgc2ltcGxlIGRlbGV0ZWFibGUgZmxhZyBhcyB0aGUgY3VycmVudCBzdGF0ZSBoYXMgdG8gYmUgaW5jb3Jwb3JhdGVkLgorICAgICAqIEFjY29yZGluZyB0byBJRUMgNjE0OTktMSBGaWd1cmUgMjQgYW4gRkIgaXMgZGVsZXRlYWJsZSBpZiBpdCBpcyBub3QgaW4gdGhlIFJ1bm5pbmcgc3RhdGUKKyAgICAgKiBccmV0dXJuIHRydWUgaWYgY3VycmVudGx5IGFsbCBjb25kaXRpb25zIGFyZSBtZXQgdG8gYmUgZGVsZXRlYWJsZQorICAgICAqLworICAgIGJvb2wgaXNDdXJyZW50bHlEZWxldGVhYmxlKHZvaWQpIGNvbnN0eworICAgICAgcmV0dXJuICgobV9iRGVsZXRhYmxlKSAmJiAobV9lbkZCU3RhdGUgIT0gZV9SVU5OSU5HKSk7CisgICAgfQorCisgICAgLyohXGJyaWVmIHJldHVybiB0aGUgY3VycmVudCBleGVjdXRpb24gc3RhdGUgb2YgdGhlIG1hbmFnZWQgb2JqZWN0CisgICAgICovCisgICAgRV9GQlN0YXRlcyBnZXRTdGF0ZSh2b2lkKSBjb25zdHsKKyAgICAgIHJldHVybiBtX2VuRkJTdGF0ZTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx1bnNpZ25lZCBpbnQgdGFfbk51bUVPcywgdW5zaWduZWQgaW50IHRhX25OdW1ESXMsIHVuc2lnbmVkIGludCB0YV9uTnVtRE9zPgorICAgIHN0cnVjdCBnZW5GQkNvbm5EYXRhU2l6ZVRlbXBsYXRleworICAgICAgICBlbnVtIHsKKyAgICAgICAgICB2YWx1ZSA9IChzaXplb2YoQ0V2ZW50Q29ubmVjdGlvbikgKiB0YV9uTnVtRU9zICsgc2l6ZW9mKFREYXRhQ29ubmVjdGlvblB0cikgKiB0YV9uTnVtRElzICsKKyAgICAgICAgICAgICAgICAgICBzaXplb2YoQ0RhdGFDb25uZWN0aW9uKSAqIHRhX25OdW1ET3MpCisgICAgICAgIH07CisgICAgfTsKKworICAgIHN0YXRpYyBzaXplX3QgZ2VuRkJDb25uRGF0YVNpemUodW5zaWduZWQgaW50IHBhX25OdW1FT3MsIHVuc2lnbmVkIGludCBwYV9uTnVtRElzLAorICAgICAgICB1bnNpZ25lZCBpbnQgcGFfbk51bURPcyl7CisgICAgICByZXR1cm4gKHNpemVvZihDRXZlbnRDb25uZWN0aW9uKSAqIHBhX25OdW1FT3MgKyBzaXplb2YoVERhdGFDb25uZWN0aW9uUHRyKSAqIHBhX25OdW1ESXMgKworICAgICAgICAgICAgICBzaXplb2YoQ0RhdGFDb25uZWN0aW9uKSAqIHBhX25OdW1ET3MpOworICAgIH0KKworICAgIHRlbXBsYXRlPHVuc2lnbmVkIGludCB0YV9uTnVtRElzLCB1bnNpZ25lZCBpbnQgdGFfbk51bURPcywgdW5zaWduZWQgaW50IHRhX25OdW1BZGFwdGVycyA9IDA+CisgICAgc3RydWN0IGdlbkZCVmFyc0RhdGFTaXplVGVtcGxhdGV7CisgICAgICAgIGVudW0geworICAgICAgICAgIHZhbHVlID0gKHNpemVvZihDSUVDX0FOWSkgKiB0YV9uTnVtRElzICsgc2l6ZW9mKENJRUNfQU5ZKSAqIHRhX25OdW1ET3MgKyBzaXplb2YoVEFkYXB0ZXJQdHIpICogdGFfbk51bUFkYXB0ZXJzKQorICAgICAgICB9OworICAgIH07CisKKyAgICBzdGF0aWMgc2l6ZV90IGdlbkZCVmFyc0RhdGFTaXplKHVuc2lnbmVkIGludCBwYV9uTnVtRElzLCB1bnNpZ25lZCBpbnQgcGFfbk51bURPcywKKyAgICAgICAgdW5zaWduZWQgaW50IHBhX25OdW1BZGFwdGVycyA9IDApeworICAgICAgcmV0dXJuIChzaXplb2YoQ0lFQ19BTlkpICogcGFfbk51bURJcyArIHNpemVvZihDSUVDX0FOWSkgKiBwYV9uTnVtRE9zICsgc2l6ZW9mKFRBZGFwdGVyUHRyKSAqIHBhX25OdW1BZGFwdGVycyk7CisKKyAgICB9CisKKyAgICAvKiEgXGJyaWVmIEdldCB0aGUgZGF0YSBpbnB1dCB3aXRoIGdpdmVuIG51bWJlcgorICAgICAqCisgICAgICogQXR0ZW50aW9uIHRoaXMgZnVuY3Rpb24gd2lsbCBub3QgcGVyZm9ybSBhbnkgcmFuZ2UgY2hlY2tzIG9uIHRoZSBwYV9uRElOdW0gcGFyYW1ldGVyIQorICAgICAqIEBwYXJhbSBwYV9uRElOdW0gbnVtYmVyIG9mIHRoZSBkYXRhIGlucHV0IHN0YXJ0aW5nIHdpdGggMAorICAgICAqIEByZXR1cm4gcG9pbnRlciB0byB0aGUgZGF0YSBpbnB1dAorICAgICAqLworICAgIFRJRUNfQU5ZUHRyIGdldERJKHVuc2lnbmVkIGludCBwYV9uRElOdW0pIGNvbnN0IHsKKyAgICAgIHJldHVybiBtX2FvRElzICsgcGFfbkRJTnVtOworICAgIH0KKworICAgIC8qISBcYnJpZWYgR2V0IHRoZSBkYXRhIG91dHB1dCB3aXRoIGdpdmVuIG51bWJlcgorICAgICAqCisgICAgICogQXR0ZW50aW9uIHRoaXMgZnVuY3Rpb24gd2lsbCBub3QgcGVyZm9ybSBhbnkgcmFuZ2UgY2hlY2tzIG9uIHRoZSBwYV9uRE9OdW0gcGFyYW1ldGVyIQorICAgICAqIEBwYXJhbSBwYV9uRE9OdW0gbnVtYmVyIG9mIHRoZSBkYXRhIG91dHB1dCBzdGFydGluZyB3aXRoIDAKKyAgICAgKiBAcmV0dXJuIHBvaW50ZXIgdG8gdGhlIGRhdGEgb3V0cHV0CisgICAgICovCisgICAgQ0lFQ19BTlkgKmdldERPKHVuc2lnbmVkIGludCBwYV9uRE9OdW0pIGNvbnN0eworICAgICAgcmV0dXJuIG1fYW9ET3MgKyBwYV9uRE9OdW07CisgICAgfQorCisjaWZkZWYgRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisgICAgVEZvcnRlVUludDMyICZnZXRFSU1vbml0b3JEYXRhKFRFdmVudElEIHBhRUlJRCk7CisKKyAgICBURm9ydGVVSW50MzIgJmdldEVPTW9uaXRvckRhdGEoVEV2ZW50SUQgcGFFT0lEKTsKKworICAgIC8qIVxicmllZiBnZXQgYW55IGludGVybmFsIEZCIHJlZmVyZW5jZWQgYnkgdGhlIGl0ZXJhdG9yIHRvIHRoZSBuYW1lIGxpc3QKKyAgICAgKgorICAgICAqIFRoaXMgYWxsb3dzIHRoYXQgYWxzbyBhZGFwdGVycyBhbmQgdGhlIGludGVybmFscyBvZiBhIENGQiBjYW4gYmUgbW9uaXRvcmVkLgorICAgICAqLworICAgIHZpcnR1YWwgQ0Z1bmN0aW9uQmxvY2sgKmdldEZCKGZvcnRlOjpjb3JlOjpUTmFtZUlkZW50aWZpZXI6OkNJdGVyYXRvciAmcGFOYW1lTGlzdEl0KTsKKworI2VuZGlmIC8vRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisgIHByb3RlY3RlZDoKKworICAgIC8qIVxicmllZiBUaGUgbWFpbiBjb25zdHJ1Y3RvciBmb3IgYSBmdW5jdGlvbiBibG9jay4KKyAgICAgKgorICAgICAqIFxwYXJhbSBwYV9wb1NyY1JlcyAgICAgICAgICBwb2ludGVyIHRvIHRoZSByZXNvdXJjZSB0aGlzIGZ1bmN0aW9uIGJsb2NrIGlzIGNvbnRhaW5lZCBpbiAobWFpbmx5IG5lY2Vzc2FyeSBmb3IgbWFuYWdlbWVudCBmdW5jdGlvbnMgYW5kIHNlcnZpY2UgaW50ZXJmYWNlcykKKyAgICAgKiBccGFyYW0gcGFfcHN0SW50ZXJmYWNlU3BlYyAgY29uc3QgcG9pbnRlciB0byB0aGUgaW50ZXJmYWNlIHNwZWMKKyAgICAgKiBccGFyYW0gcGFfbkluc3RhbmNlTmFtZUlkICAgc3RyaW5nIGlkCisgICAgICogXHBhcmFtIHBhX2FjRkJDb25uRGF0YSAgICAgIEJ5dGUtYXJyYXkgZm9yIGZiLXNwZWNpZmljIGNvbm5lY3Rpb24gZGF0YS4gSXQgd2lsbCBuZWVkIHNwYWNlIGZvciB0aGUgZXZlbnQgb3V0cHV0IGNvbm5lY3Rpb25zLAorICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhIGlucHV0IGNvbm5lY3Rpb25zLCBhbmQgZGF0YSBvdXRwdXQgY29ubmVjdGlvbnMsIGluIHRoYXQgb3JkZXIuIFRoZSBzcGFjZSByZXF1aXJlbWVudHMgYXJlOgorICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihURXZlbnRDb25uZWN0aW9uUHRyKSAqIE51bWJlciBvZiBFdmVudCBvdXRwdXRzICsKKyAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoVERhdGFDb25uZWN0aW9uUHRyKSAgKiBOdW1iZXIgb2YgRGF0YSBpbnB1dHMgKworICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihURGF0YUNvbm5lY3Rpb25QdHIpICAqIE51bWJlciBvZiBEYXRhIG91dHB1dHMKKyAgICAgKiBccGFyYW0gcGFfYWNGQlZhcnNEYXRhICAgICAgQnl0ZS1hcnJheSBmb3IgZmItc3BlY2lmaWMgdmFyaWFibGUgZGF0YS4gSXQgd2lsbCBuZWVkIHNwYWNlIGZvciB0aGUgZGF0YSBpbnB1dHMsIGRhdGEgb3V0cHV0cywgYW5kIGFkYXB0ZXJzIGluIHRoYXQgb3JkZXIuCisgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzcGFjZSByZXF1aXJlbWVudHMgYXJlOgorICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihDSUVDX0FOWSkpICogTnVtYmVyIG9mIERhdGEgaW5wdXRzICsKKyAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoQ0lFQ19BTlkpKSAqIE51bWJlciBvZiBEYXRhIG91dHB1dHMgKworICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihUQWRhcHRlclB0cikgKiB0YV9uTnVtQWRhcHRlcnMKKyAgICAgKi8KKyAgICBDRnVuY3Rpb25CbG9jayhDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjLAorICAgICAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLAorICAgICAgICBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpOworCisgICAgc3RhdGljIFRQb3J0SWQgZ2V0UG9ydElkKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfdW5Qb3J0TmFtZUlkLAorICAgICAgICBUUG9ydElkIHBhX3VuTWF4UG9ydE5hbWVzLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkKiBwYV9hdW5Qb3J0TmFtZXMpOworCisgICAgLyohXGJyaWVmIEZ1bmN0aW9uIHRvIHNlbmQgYW4gb3V0cHV0IGV2ZW50IG9mIHRoZSBGQi4KKyAgICAgKgorICAgICAqIFxwYXJhbSBwYV9uRU8gRXZlbnQgb3V0cHV0IElEIHdoZXJlIGV2ZW50IHNob3VsZCBiZSBmaXJlZC4KKyAgICAgKi8KKyAgICB2b2lkIHNlbmRPdXRwdXRFdmVudChzaXplX3QgcGFFTyk7CisKKyAgICAvKiFcYnJpZWYgRnVuY3Rpb24gdG8gc2VuZCBhbiBvdXRwdXQgZXZlbnQgdmlhIHRoZSBhZGFwdGVyLgorICAgICAqCisgICAgICogXHBhcmFtIHBhX25BZGFwdGVySUQgSUQgb2YgQWRhcHRlciBpbiBjdXJyZW50IEZCcyBhZGFwdGVyIGxpc3QuCisgICAgICogXHBhcmFtIHBhX25FSUQgRXZlbnQgSUQgd2hlcmUgZXZlbnQgc2hvdWxkIGJlIGZpcmVkLgorICAgICAqLworICAgIHZvaWQgc2VuZEFkYXB0ZXJFdmVudChzaXplX3QgcGFBZGFwdGVySUQsIHNpemVfdCBwYUVJRCkgY29uc3Q7CisKKyAgICB2b2lkIHNldHVwQWRhcHRlcnMoY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywgVEZvcnRlQnl0ZSAqcGFfYWNGQkRhdGEpOworCisKKyAgICBDRXZlbnRDb25uZWN0aW9uICpnZXRFT0NvblVuY2hlY2tlZChUUG9ydElkIHBhRU9OdW0pIGNvbnN0IHsKKyAgICAgIHJldHVybiAobUVPQ29ubnMgKyBwYUVPTnVtKTsKKyAgICB9CisKKyAgICAvKiEgXGJyaWVmIEdldCB0aGUgZGF0YSBvdXRwdXQgY29ubmVjdGlvbiB3aXRoIGdpdmVuIG51bWJlcgorICAgICAqCisgICAgICogQXR0ZW50aW9uIHRoaXMgZnVuY3Rpb24gd2lsbCBub3QgcGVyZm9ybSBhbnkgcmFuZ2UgY2hlY2tzIG9uIHRoZSBwYV9uRE9OdW0gcGFyYW1ldGVyIQorICAgICAqIEBwYXJhbSBwYV9uRE9OdW0gbnVtYmVyIG9mIHRoZSBkYXRhIG91dHB1dCBzdGFydGluZyB3aXRoIDAKKyAgICAgKiBAcmV0dXJuIHBvaW50ZXIgdG8gdGhlIGRhdGEgb3V0cHV0IGNvbm5lY3Rpb24KKyAgICAgKi8KKyAgICBDRGF0YUNvbm5lY3Rpb24gKmdldERPQ29uVW5jaGVja2VkKFRQb3J0SWQgcGFET051bSl7CisgICAgICByZXR1cm4gbURPQ29ubnMgKyBwYURPTnVtOworICAgIH0KKworICAgIC8qIVxicmllZiBGdW5jdGlvbiB0byBjcmVhdGUgYW4gZGF0YSB0eXBlIGluc3RhbmNlIG9mIGdpdmVuIHR5cGUKKyAgICAgKgorICAgICAqIEBwYXJhbSBwYV9wYW5EYXRhVHlwZUlkcyBwb2ludGVyIHRvIHRoZSBkYXRhIHR5cGUgaWRzLiBJZiB0aGUgZGF0YXR5cGUKKyAgICAgKiAgICAgICAgaXMgYW4gQXJyYXkgdG8gbW9yZSB2YWx1ZXMgYXJlIHRha2VuIGZyb20gdGhlIGFycmF5LiBJZiB0aGUgZ2l2ZW4KKyAgICAgKiAgICAgICAgdHlwZSBpcyBBbnkgMCBpcyByZXR1cm5lZCBhcyBuZWNlc3NhcnkgZm9yIG1haW50YWluaW5nIHRoZSBGQidzIGludGVyZmFjZS4KKyAgICAgKiAgICAgICAgVGhlIGZ1bmN0aW9ucyBwdXRzIHRoZSBwb2ludGVyIGluIHRoZSBkYXRhdHlwZSBhcnJheSB0byB0aGUgbmV4dCBkYXRhIHBvaW50J3MgaWQuCisgICAgICogQHBhcmFtIHBhX2FjRGF0YUJ1ZiBwb2ludGVyIHRvIHRoZSBkYXRhIGJ1ZmZlciB3aGljaCBzaG91bGQgYmUgdXNlZCBieSB0aGUgZGF0YSB0eXBlIHRvIGNyZWF0ZQorICAgICAqIEByZXR1cm4gb24gc3VjY2Vzcy4uLiBwb2ludGVyIHRvIHRoZSBkYXRhdHlwZSBpbnN0YW5jZQorICAgICAqICAgICAgICAgb24gZXJyb3IuLi4gMAorICAgICAqLworICAgIHN0YXRpYyBDSUVDX0FOWSAqY3JlYXRlRGF0YVBvaW50KGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgKipwYV9wYW5EYXRhVHlwZUlkcywKKyAgICAgICAgVEZvcnRlQnl0ZSAqcGFfYWNEYXRhQnVmKTsKKworICAgIHZvaWQgZnJlZUFsbERhdGEoKTsKKworICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIG1fcHN0SW50ZXJmYWNlU3BlYzsgLy8hPCBQb2ludGVyIHRvIHRoZSBpbnRlcmZhY2Ugc3BlY2lmaWNhdGlvbgorICAgIENFdmVudENvbm5lY3Rpb24gKm1FT0Nvbm5zOyAvLyE8IEEgbGlzdCBvZiBldmVudCBjb25uZWN0aW9ucyBwb2ludGVycyBzdG9yaW5nIGZvciBlYWNoIGV2ZW50IG91dHB1dCB0aGUgZXZlbnQgY29ubmVjdGlvbi4gSWYgdGhlIG91dHB1dCBldmVudCBpcyBub3QgY29ubmVjdGVkIHRoZSBwb2ludGVyIGlzIDAuCisgICAgVERhdGFDb25uZWN0aW9uUHRyICptX2Fwb0RJQ29ubnM7IC8vITwgQSBsaXN0IG9mIGRhdGEgY29ubmVjdGlvbnMgcG9pbnRlcnMgc3RvcmluZyBmb3IgZWFjaCBkYXRhIGlucHV0IHRoZSBkYXRhIGNvbm5lY3Rpb24uIElmIHRoZSBkYXRhIGlucHV0IGlzIG5vdCBjb25uZWN0ZWQgdGhlIHBvaW50ZXIgaXMgMC4KKyAgICBDRGF0YUNvbm5lY3Rpb24gKm1ET0Nvbm5zOyAvLyE8IEEgbGlzdCBvZiBkYXRhIGNvbm5lY3Rpb25zIHBvaW50ZXJzIHN0b3JpbmcgZm9yIGVhY2ggZGF0YSBvdXRwdXQgdGhlIGRhdGEgY29ubmVjdGlvbi4gSWYgdGhlIGRhdGEgb3V0cHV0IGlzIG5vdCBjb25uZWN0ZWQgdGhlIHBvaW50ZXIgaXMgMC4KKyAgICBDRXZlbnRDaGFpbkV4ZWN1dGlvblRocmVhZCAqbV9wb0ludm9raW5nRXhlY0VudjsgLy8hPCBBIHBvaW50ZXIgdG8gdGhlIGV4ZWN1dGlvbiB0aHJlYWQgdGhhdCBpbnZva2VkIHRoZSBGQi4gVGhpcyB2YWx1ZSBpcyBzdG9yZWQgaGVyZSB0byByZWR1Y2UgZnVuY3Rpb24gcGFyYW1ldGVycyBhbmQgcmVkdWNlIHRoZXJlZm9yZSBzdGFjayB1c2FnZS4KKyAgICBDQWRhcHRlciAqKm1fYXBvQWRhcHRlcnM7IC8vITwgQSBsaXN0IG9mIHBvaW50ZXJzIHRvIHRoZSBhZGFwdGVycy4gVGhpcyBhbGxvd3MgdG8gaW1wbGVtZW50IGEgZ2VuZXJhbCBnZXRBZGFwdGVyKCkuCisKKyAgcHJpdmF0ZToKKyAgICAvKiFcYnJpZWYgRnVuY3Rpb24gcHJvdmlkaW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBGQiAoZS5nLiBleGVjdXRlIEVDQyBmb3IgYmFzaWMgRkJzKS4KKyAgICAgKgorICAgICAqIFxwYXJhbSBwYV9uRUlJRCBFdmVudCBpbnB1dCBJRCB3aGVyZSBldmVudCBvY2N1cnJlZC4KKyAgICAgKi8KKyAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCkgPSAwOworCisgICAgLyohXGJyaWVmIFNldCB0aGUgaW5pdGlhbCB2YWx1ZXMgb2YgZGF0YSBpbnB1dHMsIG91dHB1dHMsIGFuZCBpbnRlcm5hbCB2YXJzLgorICAgICAqCisgICAgICogRnVuY3Rpb25ibG9ja3Mgd2hpY2ggbmVlZCB0byBzcGVjaWZ5IHNwZWNpYWwgaW5pdGlhbCB2YWx1ZXMgZm9yIHRoZWlyCisgICAgICogZGF0YSBpbnB1dHMsIG91dHB1dHMsIG9yIGludGVybmFsIHZhcnMgb3RoZXIgdGhhbiAwIG5lZWQgdG8gaW1wbGVtZW50IHRoaXMKKyAgICAgKiBmdW5jdGlvbi4gVGhlIGZ1bmN0aW9uIHdpbGwgYmUgaW52b2tlZCBvbiBlbnRlcmluZyB0aGUgSURMRSBzdGF0ZSAoaS5lLiwKKyAgICAgKiBvbiBjcmVhdGlvbiBhbmQgb24gUkVTRVQpLgorICAgICAqLworICAgIHZpcnR1YWwgdm9pZCBzZXRJbml0aWFsVmFsdWVzKCl7CisgICAgfQorCisgICAgLy8hZGVjbGFyZWQgYnV0IHVuZGVmaW5lZCBjb3B5IGNvbnN0cnVjdG9yIGFzIHdlIGRvbid0IHdhbnQgRkJzIHRvIGJlIGRpcmVjdGx5IGNvcGllZC4KKyAgICBDRnVuY3Rpb25CbG9jayhjb25zdCBDRnVuY3Rpb25CbG9jayYpOworCisgICAgdm9pZCBjb25maWd1cmVHZW5lcmljREkoVFBvcnRJZCBwYURJUG9ydElkLCBjb25zdCBDSUVDX0FOWSAqcGFSZWZWYWx1ZSk7CisKKyAgICBDUmVzb3VyY2UgKm1fcG9SZXNvdXJjZTsgLy8hPCBBIHBvaW50ZXIgdG8gdGhlIHJlc291cmNlIGNvbnRhaW5pbmcgdGhlIGZ1bmN0aW9uIGJsb2NrLgorICAgIENJRUNfQU5ZICptX2FvRElzOyAvLyE8IEEgbGlzdCBvZiBwb2ludGVycyB0byB0aGUgZGF0YSBpbnB1dHMuIFRoaXMgYWxsb3dzIHRvIGltcGxlbWVudCBhIGdlbmVyYWwgZ2V0RGF0YUlucHV0KCkKKyAgICBDSUVDX0FOWSAqbV9hb0RPczsgLy8hPCBBIGxpc3Qgb2YgcG9pbnRlcnMgdG8gdGhlIGRhdGEgb3V0cHV0cy4gVGhpcyBhbGxvd3MgdG8gaW1wbGVtZW50IGEgZ2VuZXJhbCBnZXREYXRhT3V0cHV0KCkKKworI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICAgIHZvaWQgc2V0dXBFdmVudE1vbml0b3JpbmdEYXRhKCk7CisKKyAgICAvLyBtb25pdG9yaW5nIHN0dWZmCisgICAgVEZvcnRlVUludDMyICptRU9Nb25pdG9yQ291bnQ7CisgICAgVEZvcnRlVUludDMyICptRUlNb25pdG9yQ291bnQ7CisjZW5kaWYKKworICAgIC8vISB0aGUgaW5zdGFuY2UgbmFtZSBvZiB0aGUgb2JqZWN0CisgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBtX25GQkluc3RhbmNlTmFtZTsKKworICAgIC8qIVxicmllZiBDdXJyZW50IHN0YXRlIG9mIHRoZSBydW5uYWJsZSBvYmplY3QuCisgICAgICoKKyAgICAgKi8KKyAgICBFX0ZCU3RhdGVzIG1fZW5GQlN0YXRlOworCisgICAgLyohXGJyaWVmIEF0dHJpYnV0ZSBkZWZpbmVzIGlmIHJ1bm5hYmxlIG9iamVjdCBjYW4gYmUgZGVsZXRlZCBieSBhIG1hbmFnZW1lbnQgY29tbWFuZC4KKyAgICAgKgorICAgICAqIERlZmF1bHQgdmFsdWUgaXMgc2V0IHRvIHRydWUuCisgICAgICogSWYgdGhlIHJ1bm5hYmxlIG9iamVjdCBpcyBkZWNsYXJlZCBpbiBhIGRldmljZSBvciByZXNvdXJjZSBzcGVjaWZpY2F0aW9uIGl0IG11c3QgYmUgc2V0IHRvIGZhbHNlLgorICAgICAqLworICAgIGJvb2wgbV9iRGVsZXRhYmxlOworCisgICAgLy9GSVhNRSByZW1vdmUgdGhlc2UgZnJpZW5kcworICAgIGZyaWVuZCBjbGFzcyBDQWRhcHRlcjsKKworI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICAgIGZyaWVuZCBjbGFzcyBmb3J0ZTo6Y29yZTo6Q01vbml0b3JpbmdIYW5kbGVyOworI2VuZGlmIC8vRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisKKyNpZmRlZiBGT1JURV9GTVUKKyAgICBmcmllbmQgY2xhc3MgZm11SW5zdGFuY2U7CisjZW5kaWYgLy9GT1JURV9GTVUKK307CisKK3RlbXBsYXRlPD4KK3N0cnVjdCBDRnVuY3Rpb25CbG9jazo6Z2VuRkJDb25uRGF0YVNpemVUZW1wbGF0ZTwwLCAwLCAwPnsKKyAgICBlbnVtIHsKKyAgICAgIHZhbHVlID0gMQorICAgIH07Cit9OworCit0ZW1wbGF0ZTw+CitzdHJ1Y3QgQ0Z1bmN0aW9uQmxvY2s6OmdlbkZCVmFyc0RhdGFTaXplVGVtcGxhdGU8MCwgMCwgMD57CisgICAgZW51bSB7CisgICAgICB2YWx1ZSA9IDEKKyAgICB9OworfTsKKwordHlwZWRlZiBDRnVuY3Rpb25CbG9jayAqVEZ1bmN0aW9uQmxvY2tQdHI7CisKKyNkZWZpbmUgRlVOQ1RJT05fQkxPQ0tfQ1RPUihmYmNsYXNzKSBcCisgZmJjbGFzcyhjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcykgOiBcCisgQ0Z1bmN0aW9uQmxvY2soIHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSkKKworI2RlZmluZSBGVU5DVElPTl9CTE9DS19DVE9SX1dJVEhfQkFTRV9DTEFTUyhmYmNsYXNzLCBmYkJhc2VDbGFzcykgXAorIGZiY2xhc3MoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogXAorIGZiQmFzZUNsYXNzKCBwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpCisKKworI2lmZGVmIElOCisjdW5kZWYgSU4KKyNlbmRpZgorCisjaWZkZWYgT1VUCisjdW5kZWYgT1VUCisjZW5kaWYKKworI2lmZGVmIE9QVElPTkFMCisjdW5kZWYgT1BUSU9OQUwKKyNlbmRpZgorCisjZW5kaWYgLypfRlVOQ0JMT0NfSF8qLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvZ2VuZmIuaCBiL3NyYy9jb3JlL2dlbmZiLmgKaW5kZXggMGQ2YmQ4OC4uZmJlNjM4ZCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvZ2VuZmIuaAorKysgYi9zcmMvY29yZS9nZW5mYi5oCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CiAgKgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQpAQCAtMzMsMTAgKzM0LDExIEBACiAKIAogICAgIHN0YXRpYyB2b2lkIGdlbmVyYXRlR2VuZXJpY0ludGVyZmFjZVBvaW50TmFtZUFycmF5KGNvbnN0IGNoYXIgKiBjb25zdCBwYVByZWZpeCwKLSAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFOYW1lc0FyYXlTdGFydCwgdW5zaWduZWQgaW50IHBhTnVtR2VuZXJpY0RhdGFQb2ludHMpOworICAgICAgICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkKiBwYU5hbWVzQXJheVN0YXJ0LAorICAgICAgICBzaXplX3QgcGFOdW1HZW5lcmljRGF0YVBvaW50cyk7CiAgICAgc3RhdGljIHZvaWQgZ2VuZXJhdGVHZW5lcmljRGF0YVBvaW50QXJyYXlzKGNvbnN0IGNoYXIgKiBjb25zdCBwYVByZWZpeCwKICAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFEYXRhVHlwZU5hbWVzQXJyYXlTdGFydCwKLSAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFOYW1lc0FycmF5U3RhcnQsIHVuc2lnbmVkIGludCBwYU51bUdlbmVyaWNEYXRhUG9pbnRzKTsKKyAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFOYW1lc0FycmF5U3RhcnQsIHNpemVfdCBwYU51bUdlbmVyaWNEYXRhUG9pbnRzKTsKIAogICBwcml2YXRlOgogICAgIC8qISBcYnJpZWYgcGFyc2UgdGhlIGNvbmZpZyBzdHJpbmcgYW5kIGdlbmVyYXRlIHRoZSBhY2NvcmRpbmcgaW50ZXJmYWNlIHNwZWNpZmljYXRpb24KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2dlbmZiLnRwcCBiL3NyYy9jb3JlL2dlbmZiLnRwcAppbmRleCA1YmRhOWE3Li41ZWYzNmEyIDEwMDY0NAotLS0gYS9zcmMvY29yZS9nZW5mYi50cHAKKysrIGIvc3JjL2NvcmUvZ2VuZmIudHBwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CiAgKgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQpAQCAtNDQsMTIgKzQ1LDEzIEBACiB9CiAKIHRlbXBsYXRlPGNsYXNzIFQ+Ci12b2lkIENHZW5GdW5jdGlvbkJsb2NrPFQ+OjpnZW5lcmF0ZUdlbmVyaWNJbnRlcmZhY2VQb2ludE5hbWVBcnJheShjb25zdCBjaGFyICogY29uc3QgcGFQcmVmaXgsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIHBhTmFtZXNBcmF5U3RhcnQsIHVuc2lnbmVkIGludCBwYU51bUdlbmVyaWNEYXRhUG9pbnRzKXsKK3ZvaWQgQ0dlbkZ1bmN0aW9uQmxvY2s8VD46OmdlbmVyYXRlR2VuZXJpY0ludGVyZmFjZVBvaW50TmFtZUFycmF5KGNvbnN0IGNoYXIgKiBjb25zdCBwYVByZWZpeCwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFOYW1lc0FyYXlTdGFydCwKKyAgICBzaXplX3QgcGFOdW1HZW5lcmljRGF0YVBvaW50cykgewogICBzaXplX3QgbGVuID0gc3RybGVuKHBhUHJlZml4KTsKIAogICB1bnNpZ25lZCBpbnQgbm9PZkRpZ2l0cyA9IDA7CiAgIHsKLSAgICB1bnNpZ25lZCBpbnQgdGVtcE51bSA9IHBhTnVtR2VuZXJpY0RhdGFQb2ludHM7CisgICAgc2l6ZV90IHRlbXBOdW0gPSBwYU51bUdlbmVyaWNEYXRhUG9pbnRzOwogICAgIHdoaWxlKHRlbXBOdW0pewogICAgICAgdGVtcE51bSAvPSAxMDsKICAgICAgIG5vT2ZEaWdpdHMrKzsKQEAgLTYzLDcgKzY1LDcgQEAKICAgICAgIGFjQnVmZmVyW2xlbiArIGldID0gJ1wwJzsKICAgICB9CiAKLSAgICBmb3IodW5zaWduZWQgaW50IGkgPSAxOyBpIDw9IHBhTnVtR2VuZXJpY0RhdGFQb2ludHM7IGkrKyl7CisgICAgZm9yKHNpemVfdCBpID0gMTsgaSA8PSBwYU51bUdlbmVyaWNEYXRhUG9pbnRzOyBpKyspIHsKICAgICAgIGlmKGkgPCAxMCl7IC8vMSBkaWdpdAogICAgICAgICBhY0J1ZmZlcltsZW5dID0gc3RhdGljX2Nhc3Q8Y2hhcj4oMHgzMCArIGkpOwogICAgICAgfQpAQCAtOTEsNyArOTMsOCBAQAogfQogCiB0ZW1wbGF0ZTxjbGFzcyBUPgotdm9pZCBDR2VuRnVuY3Rpb25CbG9jazxUPjo6Z2VuZXJhdGVHZW5lcmljRGF0YVBvaW50QXJyYXlzKGNvbnN0IGNoYXIgKiBjb25zdCBwYVByZWZpeCwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFEYXRhVHlwZU5hbWVzQXJyYXlTdGFydCwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFOYW1lc0FycmF5U3RhcnQsIHVuc2lnbmVkIGludCBwYU51bUdlbmVyaWNEYXRhUG9pbnRzKXsKK3ZvaWQgQ0dlbkZ1bmN0aW9uQmxvY2s8VD46OmdlbmVyYXRlR2VuZXJpY0RhdGFQb2ludEFycmF5cyhjb25zdCBjaGFyICogY29uc3QgcGFQcmVmaXgsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIHBhRGF0YVR5cGVOYW1lc0FycmF5U3RhcnQsCisgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFOYW1lc0FycmF5U3RhcnQsIHNpemVfdCBwYU51bUdlbmVyaWNEYXRhUG9pbnRzKSB7CiAgIGdlbmVyYXRlR2VuZXJpY0ludGVyZmFjZVBvaW50TmFtZUFycmF5KHBhUHJlZml4LCBwYU5hbWVzQXJyYXlTdGFydCwgcGFOdW1HZW5lcmljRGF0YVBvaW50cyk7CiAKICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHBhTnVtR2VuZXJpY0RhdGFQb2ludHM7IGkrKyl7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9pZWM2MTEzMV9jYXN0X2hlbHBlci5oIGIvc3JjL2NvcmUvaWVjNjExMzFfY2FzdF9oZWxwZXIuaAppbmRleCA1ZjY5MzIyLi40MWQ5NjBmIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pZWM2MTEzMV9jYXN0X2hlbHBlci5oCisrKyBiL3NyYy9jb3JlL2llYzYxMTMxX2Nhc3RfaGVscGVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2llYzYxMTMxX2Z1bmN0aW9ucy5jcHAgYi9zcmMvY29yZS9pZWM2MTEzMV9mdW5jdGlvbnMuY3BwCmluZGV4IGU3YzNhZmQuLjQxNDU4Y2UgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2llYzYxMTMxX2Z1bmN0aW9ucy5jcHAKKysrIGIvc3JjL2NvcmUvaWVjNjExMzFfZnVuY3Rpb25zLmNwcApAQCAtMSwxNiArMSwyMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzLCAyMDE4IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMywgMjAxOCBBQ0lOLCBmb3J0aXNzIEdtYkgsIDIwMTkgVFUgV2llbi9BQ0lODQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgICBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlcg0KICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQ0KKyAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gYWRkcyBOT1cgYW5kIE5PV19NT05PVE9OSUMgZnVuY3Rpb25zDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogI2luY2x1ZGUgImllYzYxMTMxX2Z1bmN0aW9ucy5oIg0KIA0KKyNpbmNsdWRlICJmb3J0ZV9hcmNoaXRlY3R1cmVfdGltZS5oIg0KKw0KIHRlbXBsYXRlPD4gY29uc3QgQ0lFQ19CT09MIE5PVDxDSUVDX0JPT0w+KGNvbnN0IENJRUNfQk9PTCYgcGFfcm9JTil7DQogICByZXR1cm4gQ0lFQ19CT09MKCFwYV9yb0lOKTsNCiB9DQpAQCAtMjksMzYgKzMzLDM2IEBACiANCiAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KIGNvbnN0IENJRUNfVElNRV9PRl9EQVkgQUREX1RPRF9USU1FKGNvbnN0IENJRUNfVElNRV9PRl9EQVkmIHBhX3JvSU4xLCBjb25zdCBDSUVDX1RJTUUmIHBhX3JvSU4yKXsNCi0gIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KHBhX3JvSU4xICsgcGFfcm9JTjIuZ2V0SW5NaWxpU2Vjb25kcygpKTsNCisgIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KHBhX3JvSU4xICsgcGFfcm9JTjIuZ2V0SW5NaWxsaVNlY29uZHMoKSk7DQogfQ0KIA0KIGNvbnN0IENJRUNfREFURV9BTkRfVElNRSBBRERfRFRfVElNRShjb25zdCBDSUVDX0RBVEVfQU5EX1RJTUUmIHBhX3JvSU4xLCBjb25zdCBDSUVDX1RJTUUmIHBhX3JvSU4yKXsNCi0gIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KHBhX3JvSU4xICsgcGFfcm9JTjIuZ2V0SW5NaWxpU2Vjb25kcygpKTsNCisgIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KHBhX3JvSU4xICsgcGFfcm9JTjIuZ2V0SW5NaWxsaVNlY29uZHMoKSk7DQogfQ0KIA0KIGNvbnN0IENJRUNfVElNRV9PRl9EQVkgU1VCX1RPRF9USU1FKGNvbnN0IENJRUNfVElNRV9PRl9EQVkmIHBhX3JvSU4xLCBjb25zdCBDSUVDX1RJTUUmIHBhX3JvSU4yKXsNCi0gIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KHBhX3JvSU4xIC0gcGFfcm9JTjIuZ2V0SW5NaWxpU2Vjb25kcygpKTsNCisgIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KHBhX3JvSU4xIC0gcGFfcm9JTjIuZ2V0SW5NaWxsaVNlY29uZHMoKSk7DQogfQ0KIA0KIGNvbnN0IENJRUNfREFURV9BTkRfVElNRSBTVUJfRFRfVElNRShjb25zdCBDSUVDX0RBVEVfQU5EX1RJTUUmIHBhX3JvSU4xLCBjb25zdCBDSUVDX1RJTUUmIHBhX3JvSU4yKXsNCi0gIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KHBhX3JvSU4xIC0gcGFfcm9JTjIuZ2V0SW5NaWxpU2Vjb25kcygpKTsNCisgIHJldHVybiBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KHBhX3JvSU4xIC0gcGFfcm9JTjIuZ2V0SW5NaWxsaVNlY29uZHMoKSk7DQogfQ0KIA0KIGNvbnN0IENJRUNfVElNRSBTVUJfRFRfRFQoY29uc3QgQ0lFQ19EQVRFX0FORF9USU1FJiBwYV9yb0lOMSwgY29uc3QgQ0lFQ19EQVRFX0FORF9USU1FJiBwYV9yb0lOMil7DQogICBDSUVDX1RJTUUgdGVtcDsNCi0gIHRlbXAuc2V0RnJvbU1pbGlTZWNvbmRzKHBhX3JvSU4xIC0gcGFfcm9JTjIpOw0KKyAgdGVtcC5zZXRGcm9tTWlsbGlTZWNvbmRzKHBhX3JvSU4xIC0gcGFfcm9JTjIpOw0KICAgcmV0dXJuIHRlbXA7DQogfQ0KIA0KIGNvbnN0IENJRUNfVElNRSBTVUJfVE9EX1RPRChjb25zdCBDSUVDX1RJTUVfT0ZfREFZICZwYV9yb0lOMSwgY29uc3QgQ0lFQ19USU1FX09GX0RBWSAmcGFfcm9JTjIpew0KICAgQ0lFQ19USU1FIHRlbXA7DQotICB0ZW1wLnNldEZyb21NaWxpU2Vjb25kcyhwYV9yb0lOMSAtIHBhX3JvSU4yKTsNCisgIHRlbXAuc2V0RnJvbU1pbGxpU2Vjb25kcyhwYV9yb0lOMSAtIHBhX3JvSU4yKTsNCiAgIHJldHVybiB0ZW1wOw0KIH0NCiANCiBjb25zdCBDSUVDX1RJTUUgU1VCX0RBVEVfREFURShjb25zdCBDSUVDX0RBVEUgJnBhX3JvSU4xLCBjb25zdCBDSUVDX0RBVEUgJnBhX3JvSU4yKXsNCiAgIENJRUNfVElNRSB0ZW1wOw0KLSAgdGVtcC5zZXRGcm9tTWlsaVNlY29uZHMocGFfcm9JTjEgLSBwYV9yb0lOMik7DQorICB0ZW1wLnNldEZyb21NaWxsaVNlY29uZHMocGFfcm9JTjEgLSBwYV9yb0lOMik7DQogICByZXR1cm4gdGVtcDsNCiB9DQogDQpAQCAtODUsNCArODksMTQgQEAKICAgcmV0dXJuIHRlbXA7DQogfQ0KIA0KK2NvbnN0IENJRUNfVElNRSBOT1dfTU9OT1RPTklDKCkgew0KKyAgQ0lFQ19USU1FIG5vdzsNCisgIG5vdy5zZXRGcm9tTmFub1NlY29uZHMoZ2V0TmFub1NlY29uZHNNb25vdG9uaWMoKSk7DQorICByZXR1cm4gbm93Ow0KK30NCisNCitjb25zdCBDSUVDX0RBVEVfQU5EX1RJTUUgTk9XKCkgew0KKyAgcmV0dXJuIENJRUNfREFURV9BTkRfVElNRShmb3J0ZV90aW1lKCkgKiAxMDAwVUxMKTsNCit9DQorDQogI2VuZGlmDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaWVjNjExMzFfZnVuY3Rpb25zLmggYi9zcmMvY29yZS9pZWM2MTEzMV9mdW5jdGlvbnMuaAppbmRleCAxOGVmNmM0Li45MTExMDY2IDEwMDY0NAotLS0gYS9zcmMvY29yZS9pZWM2MTEzMV9mdW5jdGlvbnMuaAorKysgYi9zcmMvY29yZS9pZWM2MTEzMV9mdW5jdGlvbnMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgICBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciwgSW5nbyBIZWdueSwgUGF0cmljayBTbWVqa2FsLCBHZXJoYXJkIEViZW5ob2ZlciwNCkBAIC02NSwxMSArNjYsMTEgQEAKICAgICByZXR1cm4gQ0lFQ19SRUFMKHNxcnRmKHBhX3JvSU4pKTsNCiAgIH0NCiANCi0jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KKyMgaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgU1FSVChjb25zdCBDSUVDX0xSRUFMICZwYV9yb0lOKXsNCiAgICAgcmV0dXJuIENJRUNfTFJFQUwoc3FydChwYV9yb0lOKSk7DQogICB9DQotI2VuZGlmDQorIyBlbmRpZiAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiANCiAjZW5kaWYgLy8jaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCiANCkBAIC03OCwxMSArNzksMTEgQEAKICAgICAgIHJldHVybiBDSUVDX1JFQUwobG9nZihwYV9yb0lOKSk7DQogICAgIH0NCiANCi0gICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQorIyBpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgIGlubGluZSBjb25zdCBDSUVDX0xSRUFMIExOKGNvbnN0IENJRUNfTFJFQUwgJnBhX3JvSU4pew0KICAgICAgIHJldHVybiBDSUVDX0xSRUFMKGxvZyhwYV9yb0lOKSk7DQogICAgIH0NCi0gICNlbmRpZg0KKyMgZW5kaWYgLy9GT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogDQogI2VuZGlmIC8vI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQogDQpAQCAtOTEsMTEgKzkyLDExIEBACiAgICAgICByZXR1cm4gQ0lFQ19SRUFMKGxvZzEwZihwYV9yb0lOKSk7DQogICAgIH0NCiANCi0gICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQorIyBpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgIGlubGluZSBjb25zdCBDSUVDX0xSRUFMIExPRyhjb25zdCBDSUVDX0xSRUFMICZwYV9yb0lOKXsNCiAgICAgICByZXR1cm4gQ0lFQ19MUkVBTChsb2cxMChwYV9yb0lOKSk7DQogICAgIH0NCi0gICNlbmRpZg0KKyMgZW5kaWYgLy9GT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogI2VuZGlmIC8vI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQogDQogI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQpAQCAtMTAzLDExICsxMDQsMTEgQEAKICAgICAgIHJldHVybiBDSUVDX1JFQUwoc2luZihwYV9yb0lOKSk7DQogICAgIH0NCiANCi0gICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQorIyBpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgIGlubGluZSBjb25zdCBDSUVDX0xSRUFMIFNJTihjb25zdCBDSUVDX0xSRUFMICZwYV9yb0lOKXsNCiAgICAgICByZXR1cm4gQ0lFQ19MUkVBTChzaW4ocGFfcm9JTikpOw0KICAgICB9DQotICAjZW5kaWYNCisjIGVuZGlmIC8vRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KIA0KICNlbmRpZiAvLyNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQ0KIA0KQEAgLTExNiwxMSArMTE3LDExIEBACiAgICAgICByZXR1cm4gQ0lFQ19SRUFMKGNvc2YocGFfcm9JTikpOw0KICAgICB9DQogDQotICAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KKyMgaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICBpbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBDT1MoY29uc3QgQ0lFQ19MUkVBTCAmcGFfcm9JTil7DQogICAgICAgcmV0dXJuIENJRUNfTFJFQUwoY29zKHBhX3JvSU4pKTsNCiAgICAgfQ0KLSAgI2VuZGlmDQorIyBlbmRpZiAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAjZW5kaWYgLy8jaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCiANCiAjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCkBAIC0xMjgsMTEgKzEyOSwxMSBAQAogICAgICAgcmV0dXJuIENJRUNfUkVBTCh0YW5mKHBhX3JvSU4pKTsNCiAgICAgfQ0KIA0KLSAgI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCisjIGlmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgVEFOKGNvbnN0IENJRUNfTFJFQUwgJnBhX3JvSU4pew0KICAgICAgIHJldHVybiBDSUVDX0xSRUFMKHRhbihwYV9yb0lOKSk7DQogICAgIH0NCi0gICNlbmRpZg0KKyMgZW5kaWYgLy9GT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogI2VuZGlmIC8vI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQogDQogI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQpAQCAtMTQwLDExICsxNDEsMTEgQEAKICAgICAgIHJldHVybiBDSUVDX1JFQUwoYXNpbmYocGFfcm9JTikpOw0KICAgICB9DQogDQotICAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KKyMgaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICBpbmxpbmUgY29uc3QgQ0lFQ19MUkVBTCBBU0lOKGNvbnN0IENJRUNfTFJFQUwgJnBhX3JvSU4pew0KICAgICAgIHJldHVybiBDSUVDX0xSRUFMKGFzaW4ocGFfcm9JTikpOw0KICAgICB9DQotICAjZW5kaWYNCisjIGVuZGlmIC8vRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KIA0KICNlbmRpZiAvLyNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQ0KIA0KQEAgLTE1MywxMSArMTU0LDExIEBACiAgICAgICByZXR1cm4gQ0lFQ19SRUFMKGFjb3NmKHBhX3JvSU4pKTsNCiAgICAgfQ0KIA0KLSAgI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCisjIGlmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgaW5saW5lIGNvbnN0IENJRUNfTFJFQUwgQUNPUyhjb25zdCBDSUVDX0xSRUFMICZwYV9yb0lOKXsNCiAgICAgICByZXR1cm4gQ0lFQ19MUkVBTChhY29zKHBhX3JvSU4pKTsNCiAgICAgfQ0KLSAgI2VuZGlmDQorIyBlbmRpZiAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAjZW5kaWYgLy8jaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCiANCiAjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCkBAIC0xNjUsMTEgKzE2NiwxMSBAQAogICAgICAgcmV0dXJuIENJRUNfUkVBTChhdGFuZihwYV9yb0lOKSk7DQogICAgIH0NCiANCi0gICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQorIyBpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgIGlubGluZSBjb25zdCBDSUVDX0xSRUFMIEFUQU4oY29uc3QgQ0lFQ19MUkVBTCAmcGFfcm9JTil7DQogICAgICAgcmV0dXJuIENJRUNfTFJFQUwoYXRhbihwYV9yb0lOKSk7DQogICAgIH0NCi0gICNlbmRpZg0KKyMgZW5kaWYgLy9GT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogI2VuZGlmIC8vI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQogDQogI2lmZGVmIEZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQpAQCAtMTc3LDExICsxNzgsMTEgQEAKICAgICAgIHJldHVybiBDSUVDX1JFQUwoZXhwZihwYV9yb0lOKSk7DQogICAgIH0NCiANCi0gICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQorIyBpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgIGlubGluZSBjb25zdCBDSUVDX0xSRUFMIEVYUChjb25zdCBDSUVDX0xSRUFMICZwYV9yb0lOKXsNCiAgICAgICByZXR1cm4gQ0lFQ19MUkVBTChleHAocGFfcm9JTikpOw0KICAgICB9DQotICAjZW5kaWYNCisjIGVuZGlmIC8vRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICNlbmRpZiAvLyNpZmRlZiBGT1JURV9VU0VfUkVBTF9EQVRBVFlQRQ0KIA0KIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNvbnN0IFQgUk9MKGNvbnN0IFQmIHBhSW4sIGNvbnN0IENJRUNfQU5ZX0lOVCYgcGFOKXsNCkBAIC02NzQsNCArNjc1LDE5IEBACiAgIH0NCiAgIHJldHVybiB0ZW1wOw0KIH0NCisNCisvKioNCisgKiBAYnJpZWYgcmV0dXJucyBjdXJyZW50IG1vbm90b25pYyBjbG9jayB2YWx1ZSBhcyB0aW1lIHNwYW4gaW4gbmFub3NlY29uZHMNCisgKg0KKyAqIEByZXR1cm4gQ0lFQ19USU1FIHRpbWUgc3BhbiBzaW5jZSBtb25vdG9uaWMgY2xvY2sgc3RhcnQNCisgKi8NCitjb25zdCBDSUVDX1RJTUUgTk9XX01PTk9UT05JQygpOw0KKw0KKy8qKg0KKyAqIEBicmllZiByZXR1cm5zIGN1cnJlbnQgbG9jYWwgZGF0ZSBhbmQgdGltZSAtIG1heSBiZSBzdWJqZWN0IHRvIHRpbWUganVtcHMNCisgKg0KKyAqIEByZXR1cm4gQ0lFQ19EQVRFX0FORF9USU1FIG9mIHRoZSBjdXJyZW50IGxvY2FsIHRpbWUNCisgKi8NCitjb25zdCBDSUVDX0RBVEVfQU5EX1RJTUUgTk9XKCk7DQorDQogI2VuZGlmIC8qIElFQzYxMTMxX0ZVTkNUSU9OU19IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lmMmluZGNvLmNwcCBiL3NyYy9jb3JlL2lmMmluZGNvLmNwcAppbmRleCBiODc4YTI2Li42ODY1Y2QzIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pZjJpbmRjby5jcHAKKysrIGIvc3JjL2NvcmUvaWYyaW5kY28uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEd1bm5hciBHcmFibWFpZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255CmRpZmYgLS1naXQgYS9zcmMvY29yZS9pZjJpbmRjby5oIGIvc3JjL2NvcmUvaWYyaW5kY28uaAppbmRleCBlNDJkODM5Li5kYjM0OTA0IDEwMDY0NAotLS0gYS9zcmMvY29yZS9pZjJpbmRjby5oCisrKyBiL3NyYy9jb3JlL2lmMmluZGNvLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTUgUHJvZmFjdG9yIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgR3VubmFyIEdyYWJtYWllciwgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vQ01ha2VMaXN0cy50eHQgYi9zcmMvY29yZS9pby9DTWFrZUxpc3RzLnR4dAppbmRleCBiZTBjOWFiLi5kMGU0ZjRiIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvY29yZS9pby9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIEpvaGFubmVzIE1lc3NtZXIKKyMgQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEpvaGFubmVzIE1lc3NtZXIKICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvQ01ha2VMaXN0cy50eHQgYi9zcmMvY29yZS9pby9jb25maWdGQi9DTWFrZUxpc3RzLnR4dAppbmRleCBiYWY0Nzc0Li42MmJiZWU5IDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9jb25maWdGQi9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvY29yZS9pby9jb25maWdGQi9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIEpvaGFubmVzIE1lc3NtZXIKKyMgQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEpvaGFubmVzIE1lc3NtZXIKICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYWRhcHRlcl9tdWx0aS5jcHAgYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19hZGFwdGVyX211bHRpLmNwcAppbmRleCA5M2FkOTQ0Li5kNTA5MWJiIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19hZGFwdGVyX211bHRpLmNwcAorKysgYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19hZGFwdGVyX211bHRpLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMiwyMSArMTMsMTUgQEAKIAogI2luY2x1ZGUgImlvX2FkYXB0ZXJfbXVsdGkuaCIKIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKLUlPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OklPQ29uZmlnRkJNdWx0aUFkYXB0ZXIoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sCi0gICAgY29uc3QgVEZvcnRlVUludDggcGFTbGF2ZUNvbmZpZ3VyYXRpb25JT19udW0sIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsCi0gICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlY1NvY2tldCwKLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjUGx1ZywgYm9vbCBwYV9iSXNQbHVnLAotICAgIFRGb3J0ZUJ5dGUgKnBhX2FjRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFfYWNGQlZhcnNEYXRhKSA6Ci0gICAgQ0FkYXB0ZXIocGFfcG9TcmNSZXMsIHBhX3BzdEludGVyZmFjZVNwZWNTb2NrZXQsIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICAgICAgcGFfcHN0SW50ZXJmYWNlU3BlY1BsdWcsIHBhX2JJc1BsdWcsIHBhX2FjRkJDb25uRGF0YSwgcGFfYWNGQlZhcnNEYXRhKSwgbVNsYXZlQ29uZmlndXJhdGlvbklPKAotICAgICAgICBwYVNsYXZlQ29uZmlndXJhdGlvbklPKSwgbVNsYXZlQ29uZmlndXJhdGlvbklPX251bSgKLSAgICAgICAgcGFTbGF2ZUNvbmZpZ3VyYXRpb25JT19udW0pIHsKK0lPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OklPQ29uZmlnRkJNdWx0aUFkYXB0ZXIoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sIGNvbnN0IFRGb3J0ZVVJbnQ4IHBhU2xhdmVDb25maWd1cmF0aW9uSU9OdW0sCisgICAgQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjU29ja2V0LCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsCisgICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjUGx1ZywgYm9vbCBwYUlzUGx1ZywgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKKyAgICBDQWRhcHRlcihwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjU29ja2V0LCBwYUluc3RhbmNlTmFtZUlkLCBwYUludGVyZmFjZVNwZWNQbHVnLCBwYUlzUGx1ZywgcGFGQkNvbm5EYXRhLCBwYUZCVmFyc0RhdGEpLAorICAgICAgICBjbVNsYXZlQ29uZmlndXJhdGlvbklPKHBhU2xhdmVDb25maWd1cmF0aW9uSU8pLCBtU2xhdmVDb25maWd1cmF0aW9uSU9OdW0ocGFTbGF2ZUNvbmZpZ3VyYXRpb25JT051bSkgewogfQogCiBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyOjp+SU9Db25maWdGQk11bHRpQWRhcHRlcigpIHsKLSAgLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBkZXN0cnVjdG9yIHN0dWIKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYWRhcHRlcl9tdWx0aS5oIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYWRhcHRlcl9tdWx0aS5oCmluZGV4IGUwYmRiYmMuLmEyNzU1ODIgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2FkYXB0ZXJfbXVsdGkuaAorKysgYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19hZGFwdGVyX211bHRpLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTcsNTkgKzE4LDUzIEBACiAKIG5hbWVzcGFjZSBmb3J0ZSB7CiAgIG5hbWVzcGFjZSBjb3JlIHsKLSAgICBuYW1lc3BhY2UgSU8geworICAgIG5hbWVzcGFjZSBpbyB7CiAKICNkZWZpbmUgQURBUFRFUl9DVE9SX0ZPUl9JT19NVUxUSShmYmNsYXNzKSBcCi0gZmJjbGFzcyhDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX2FuQWRhcHRlckluc3RhbmNlTmFtZSwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcywgYm9vbCBwYV9iSXNQbHVnKSA6IFwKLSBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyKCAoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0KSAmc2NtX3NsYXZlQ29uZmlndXJhdGlvbklPLCBzY21fc2xhdmVDb25maWd1cmF0aW9uSU9fbnVtLCBwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlY1NvY2tldCwgcGFfYW5BZGFwdGVySW5zdGFuY2VOYW1lLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjUGx1ZywgcGFfYklzUGx1ZywgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKQorIGZiY2xhc3MoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUFkYXB0ZXJJbnN0YW5jZU5hbWUsIENSZXNvdXJjZSAqcGFTcmNSZXMsIGJvb2wgcGFJc1BsdWcpIDogXAorIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXIoIChjb25zdCBURm9ydGVVSW50OCogY29uc3QpICZzY21TbGF2ZUNvbmZpZ3VyYXRpb25JTywgc2NtU2xhdmVDb25maWd1cmF0aW9uSU9OdW0sIHBhU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjU29ja2V0LCBwYUFkYXB0ZXJJbnN0YW5jZU5hbWUsICZzY21fc3RGQkludGVyZmFjZVNwZWNQbHVnLCBwYUlzUGx1ZywgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKQogCi1jbGFzcyBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyOiBwdWJsaWMgQ0FkYXB0ZXIgewotcHVibGljOgotICBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyKGNvbnN0IFRGb3J0ZVVJbnQ4KiBjb25zdCBwYVNsYXZlQ29uZmlndXJhdGlvbklPLAotICAgICAgY29uc3QgVEZvcnRlVUludDggcGFTbGF2ZUNvbmZpZ3VyYXRpb25JT19udW0sIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsCi0gICAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjU29ja2V0LAotICAgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsCi0gICAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjUGx1ZywgYm9vbCBwYV9iSXNQbHVnLAotICAgICAgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpOwotICB2aXJ0dWFsIH5JT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyKCk7CisgICAgICBjbGFzcyBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyIDogcHVibGljIENBZGFwdGVyIHsKKyAgICAgICAgcHVibGljOgorICAgICAgICAgIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXIoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sIGNvbnN0IFRGb3J0ZVVJbnQ4IHBhU2xhdmVDb25maWd1cmF0aW9uSU9OdW0sIENSZXNvdXJjZSAqcGFTcmNSZXMsCisgICAgICAgICAgICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhdEludGVyZmFjZVNwZWNTb2NrZXQsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjUGx1ZywKKyAgICAgICAgICAgICAgYm9vbCBwYUlzUGx1ZywgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpOworICAgICAgICAgIHZpcnR1YWwgfklPQ29uZmlnRkJNdWx0aUFkYXB0ZXIoKTsKIAotICBDSUVDX0JPT0wgJlFPKCkgewotICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oKGlzU29ja2V0KCkpID8gZ2V0REkoMCkgOiBnZXRETygwKSk7Ci0gIH0KKyAgICAgICAgICBDSUVDX0JPT0wgJlFPKCkgeworICAgICAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPigoaXNTb2NrZXQoKSkgPyBnZXRESSgwKSA6IGdldERPKDApKTsKKyAgICAgICAgICB9CiAKLSAgQ0lFQ19CT09MICZRSSgpIHsKLSAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KChpc1NvY2tldCgpKSA/IGdldERPKDApIDogZ2V0REkoMCkpOwotICB9CisgICAgICAgICAgQ0lFQ19CT09MICZRSSgpIHsKKyAgICAgICAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oKGlzU29ja2V0KCkpID8gZ2V0RE8oMCkgOiBnZXRESSgwKSk7CisgICAgICAgICAgfQogCi0gIENJRUNfVUlOVCAmTWFzdGVySWQoKSB7Ci0gICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1VJTlQqPigoaXNTb2NrZXQoKSkgPyBnZXRETygxKSA6IGdldERJKDEpKTsKLSAgfQorICAgICAgICAgIENJRUNfVUlOVCAmTWFzdGVySWQoKSB7CisgICAgICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfVUlOVCo+KChpc1NvY2tldCgpKSA/IGdldERPKDEpIDogZ2V0REkoMSkpOworICAgICAgICAgIH0KIAotICBDSUVDX1VJTlQgJkluZGV4KCkgewotICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4oKGlzU29ja2V0KCkpID8gZ2V0RE8oMikgOiBnZXRESSgyKSk7Ci0gIH0KKyAgICAgICAgICBDSUVDX1VJTlQgJkluZGV4KCkgeworICAgICAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1VJTlQqPigoaXNTb2NrZXQoKSkgPyBnZXRETygyKSA6IGdldERJKDIpKTsKKyAgICAgICAgICB9CiAKLSAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRJTklUSUQgPSAwOwotICBpbnQgSU5JVCgpIHsKLSAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtX25FdmVudElOSVRJRDsKLSAgfQorICAgICAgICAgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21FdmVudElOSVRJRCA9IDA7CisgICAgICAgICAgaW50IElOSVQoKSB7CisgICAgICAgICAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtRXZlbnRJTklUSUQ7CisgICAgICAgICAgfQogCi0gIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50SU5JVE9JRCA9IDA7Ci0gIGludCBJTklUTygpIHsKLSAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtX25FdmVudElOSVRPSUQ7Ci0gIH0KKyAgICAgICAgICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtRXZlbnRJTklUT0lEID0gMDsKKyAgICAgICAgICBpbnQgSU5JVE8oKSB7CisgICAgICAgICAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtRXZlbnRJTklUT0lEOworICAgICAgICAgIH0KIAotICBjb25zdCBURm9ydGVVSW50OCogbVNsYXZlQ29uZmlndXJhdGlvbklPOwotICBURm9ydGVVSW50OCBtU2xhdmVDb25maWd1cmF0aW9uSU9fbnVtOworICAgICAgICAgIGNvbnN0IFRGb3J0ZVVJbnQ4KiBjbVNsYXZlQ29uZmlndXJhdGlvbklPOworICAgICAgICAgIFRGb3J0ZVVJbnQ4IG1TbGF2ZUNvbmZpZ3VyYXRpb25JT051bTsKIAotICBUSUVDX0FOWVB0ciBnZXRTbGF2ZUNvbmZpZyhpbnQgaW5kZXgpIHsKLSAgICByZXR1cm4KLSAgICAgICAgKGlzU29ja2V0KCkpID8KLSAgICAgICAgICAgIGdldERPKG1TbGF2ZUNvbmZpZ3VyYXRpb25JT1tpbmRleF0pIDoKLSAgICAgICAgICAgIGdldERJKG1TbGF2ZUNvbmZpZ3VyYXRpb25JT1tpbmRleF0pOwotICB9CisgICAgICAgICAgVElFQ19BTllQdHIgZ2V0U2xhdmVDb25maWcoaW50IHBhSW5kZXgpIHsKKyAgICAgICAgICAgIHJldHVybiAoaXNTb2NrZXQoKSkgPyBnZXRETyhjbVNsYXZlQ29uZmlndXJhdGlvbklPW3BhSW5kZXhdKSA6IGdldERJKGNtU2xhdmVDb25maWd1cmF0aW9uSU9bcGFJbmRleF0pOworICAgICAgICAgIH0KIAotfTsKKyAgICAgIH07CiAKICAgICB9IC8vbmFtZXNwYWNlIElPCiAgIH0gLy9uYW1lcHNhY2UgY29yZQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYWRhcHRlcl9zcGxpdC5jcHAgYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19hZGFwdGVyX3NwbGl0LmNwcAppbmRleCA0YmIzMmRlLi5hYmIzMDExIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19hZGFwdGVyX3NwbGl0LmNwcAorKysgYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19hZGFwdGVyX3NwbGl0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMiwxOCArMTMsMTQgQEAKIAogI2luY2x1ZGUgImlvX2FkYXB0ZXJfc3BsaXQuaCIKIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKLUlPQ29uZmlnRkJTcGxpdEFkYXB0ZXI6OklPQ29uZmlnRkJTcGxpdEFkYXB0ZXIoQ1Jlc291cmNlICpwYV9wb1NyY1JlcywKLSAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjU29ja2V0LAotICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLAotICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWNQbHVnLCBib29sIHBhX2JJc1BsdWcsCi0gICAgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpIDoKLSAgICBDQWRhcHRlcihwYV9wb1NyY1JlcywgcGFfcHN0SW50ZXJmYWNlU3BlY1NvY2tldCwgcGFfbkluc3RhbmNlTmFtZUlkLAotICAgICAgICBwYV9wc3RJbnRlcmZhY2VTcGVjUGx1ZywgcGFfYklzUGx1ZywgcGFfYWNGQkNvbm5EYXRhLCBwYV9hY0ZCVmFyc0RhdGEpIHsKK0lPQ29uZmlnRkJTcGxpdEFkYXB0ZXI6OklPQ29uZmlnRkJTcGxpdEFkYXB0ZXIoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjU29ja2V0LAorICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjUGx1ZywgYm9vbCBwYUlzUGx1ZywgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLAorICAgIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSkgOgorICAgIENBZGFwdGVyKHBhU3JjUmVzLCBwYUludGVyZmFjZVNwZWNTb2NrZXQsIHBhSW5zdGFuY2VOYW1lSWQsIHBhSW50ZXJmYWNlU3BlY1BsdWcsIHBhSXNQbHVnLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSkgewogfQogCiBJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyOjp+SU9Db25maWdGQlNwbGl0QWRhcHRlcigpIHsKLSAgLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBkZXN0cnVjdG9yIHN0dWIKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYWRhcHRlcl9zcGxpdC5oIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYWRhcHRlcl9zcGxpdC5oCmluZGV4IDllYjFmZDQuLmM0Zjg0YTcgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2FkYXB0ZXJfc3BsaXQuaAorKysgYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19hZGFwdGVyX3NwbGl0LmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTcsMzkgKzE4LDM2IEBACiAKIG5hbWVzcGFjZSBmb3J0ZSB7CiAgIG5hbWVzcGFjZSBjb3JlIHsKLSAgICBuYW1lc3BhY2UgSU8geworICAgIG5hbWVzcGFjZSBpbyB7CiAKLWNsYXNzIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXI6IHB1YmxpYyBDQWRhcHRlciB7Ci1wdWJsaWM6Ci0gIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIoQ1Jlc291cmNlICpwYV9wb1NyY1JlcywKLSAgICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWNTb2NrZXQsCi0gICAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWNQbHVnLCBib29sIHBhX2JJc1BsdWcsCi0gICAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSk7Ci0gIHZpcnR1YWwgfklPQ29uZmlnRkJTcGxpdEFkYXB0ZXIoKTsKKyAgICAgIGNsYXNzIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIgOiBwdWJsaWMgQ0FkYXB0ZXIgeworICAgICAgICBwdWJsaWM6CisgICAgICAgICAgSU9Db25maWdGQlNwbGl0QWRhcHRlcihDUmVzb3VyY2UgKnBhU3JjUmVzLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYXRJbnRlcmZhY2VTcGVjU29ja2V0LCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsCisgICAgICAgICAgICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlY1BsdWcsIGJvb2wgcGFJc1BsdWcsIFRGb3J0ZUJ5dGUgKnBhRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFGQlZhcnNEYXRhKTsKKyAgICAgICAgICB2aXJ0dWFsIH5JT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyKCk7CiAKLSAgQ0lFQ19CT09MICZRTygpIHsKLSAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KChpc1NvY2tldCgpKSA/IGdldERJKDApIDogZ2V0RE8oMCkpOwotICB9CisgICAgICAgICAgQ0lFQ19CT09MICZRTygpIHsKKyAgICAgICAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oKGlzU29ja2V0KCkpID8gZ2V0REkoMCkgOiBnZXRETygwKSk7CisgICAgICAgICAgfQogCi0gIENJRUNfQk9PTCAmUUkoKSB7Ci0gICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPigoaXNTb2NrZXQoKSkgPyBnZXRETygwKSA6IGdldERJKDApKTsKLSAgfQorICAgICAgICAgIENJRUNfQk9PTCAmUUkoKSB7CisgICAgICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KChpc1NvY2tldCgpKSA/IGdldERPKDApIDogZ2V0REkoMCkpOworICAgICAgICAgIH0KIAotICBDSUVDX1VJTlQgJk1hc3RlcklkKCkgewotICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4oKGlzU29ja2V0KCkpID8gZ2V0RE8oMSkgOiBnZXRESSgxKSk7Ci0gIH0KKyAgICAgICAgICBDSUVDX1VJTlQgJk1hc3RlcklkKCkgeworICAgICAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1VJTlQqPigoaXNTb2NrZXQoKSkgPyBnZXRETygxKSA6IGdldERJKDEpKTsKKyAgICAgICAgICB9CiAKLSAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRJTklUSUQgPSAwOwotICBpbnQgSU5JVCgpIHsKLSAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtX25FdmVudElOSVRJRDsKLSAgfQorICAgICAgICAgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21FdmVudElOSVRJRCA9IDA7CisgICAgICAgICAgaW50IElOSVQoKSB7CisgICAgICAgICAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtRXZlbnRJTklUSUQ7CisgICAgICAgICAgfQogCi0gIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50SU5JVE9JRCA9IDA7Ci0gIGludCBJTklUTygpIHsKLSAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtX25FdmVudElOSVRPSUQ7Ci0gIH0KLX07CisgICAgICAgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbUV2ZW50SU5JVE9JRCA9IDA7CisgICAgICAgICAgaW50IElOSVRPKCkgeworICAgICAgICAgICAgcmV0dXJuIG1fblBhcmVudEFkYXB0ZXJMaXN0RXZlbnRJRCArIHNjbUV2ZW50SU5JVE9JRDsKKyAgICAgICAgICB9CisgICAgICB9OwogCiAgICAgfSAvL25hbWVzcGFjZSBJTwogICB9IC8vbmFtZXBzYWNlIGNvcmUKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2Jhc2UuY3BwIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYmFzZS5jcHAKaW5kZXggOWUwNDA5OC4uNWExNzQ2OSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYmFzZS5jcHAKKysrIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYmFzZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTIsMTggKzEzLDEzIEBACiAKICNpbmNsdWRlICJpb19iYXNlLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6SU87Cit1c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvcmU6OmlvOwogCi1JT0NvbmZpZ0ZCQmFzZTo6SU9Db25maWdGQkJhc2UoQ1Jlc291cmNlICpwYV9wb1NyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSkgOgotICAgIENFdmVudFNvdXJjZUZCKHBhX3BvU3JjUmVzLCBwYV9wc3RJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsCi0gICAgICAgIHBhX2FjRkJDb25uRGF0YSwgcGFfYWNGQlZhcnNEYXRhKSB7Ci0gIC8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgY29uc3RydWN0b3Igc3R1YgotCitJT0NvbmZpZ0ZCQmFzZTo6SU9Db25maWdGQkJhc2UoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsCisgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKKyAgICBDRXZlbnRTb3VyY2VGQihwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSkgewogfQogCiBJT0NvbmZpZ0ZCQmFzZTo6fklPQ29uZmlnRkJCYXNlKCkgewotICAvLyBUT0RPIEF1dG8tZ2VuZXJhdGVkIGRlc3RydWN0b3Igc3R1YgogfQogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19iYXNlLmggYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19iYXNlLmgKaW5kZXggNzljNTIxZi4uYTc0YzdmMyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fYmFzZS5oCisrKyBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2Jhc2UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xNywxNSArMTgsMTQgQEAKIAogbmFtZXNwYWNlIGZvcnRlIHsKICAgbmFtZXNwYWNlIGNvcmUgewotICAgIG5hbWVzcGFjZSBJTyB7CisgICAgbmFtZXNwYWNlIGlvIHsKIAotY2xhc3MgSU9Db25maWdGQkJhc2U6IHB1YmxpYyBDRXZlbnRTb3VyY2VGQiB7Ci1wdWJsaWM6Ci0gIElPQ29uZmlnRkJCYXNlKENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsCi0gICAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICAgIFRGb3J0ZUJ5dGUgKnBhX2FjRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFfYWNGQlZhcnNEYXRhKTsKLSAgdmlydHVhbCB+SU9Db25maWdGQkJhc2UoKTsKLX07CisgICAgICBjbGFzcyBJT0NvbmZpZ0ZCQmFzZSA6IHB1YmxpYyBDRXZlbnRTb3VyY2VGQiB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICBJT0NvbmZpZ0ZCQmFzZShDUmVzb3VyY2UgKnBhU3JjUmVzLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYUludGVyZmFjZVNwZWMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgICAgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpOworICAgICAgICAgIHZpcnR1YWwgfklPQ29uZmlnRkJCYXNlKCk7CisgICAgICB9OwogCiAgICAgfSAvL25hbWVzcGFjZSBJTwogICB9IC8vbmFtZXBzYWNlIGNvcmUKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbmZpZ0ZCX2NvbnRyb2xsZXIuY3BwIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fY29uZmlnRkJfY29udHJvbGxlci5jcHAKaW5kZXggNDk0YzFkMS4uYTRjMjUwZCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fY29uZmlnRkJfY29udHJvbGxlci5jcHAKKysrIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fY29uZmlnRkJfY29udHJvbGxlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTQsMTg1ICsxNSwxNTggQEAKICNpbmNsdWRlICIuLi8uLi9kZXZpY2UuaCIKICNpbmNsdWRlICJpb19jb25maWdGQl9jb250cm9sbGVyLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6SU87Cit1c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvcmU6OmlvOwogCi1pbnQgSU9Db25maWdGQkNvbnRyb2xsZXI6Ok1heEVycm9ycyA9IDU7CitpbnQgSU9Db25maWdGQkNvbnRyb2xsZXI6OnNtTWF4RXJyb3JzID0gNTsKIAogY29uc3QgY2hhciAqIGNvbnN0IElPQ29uZmlnRkJDb250cm9sbGVyOjpzY21PSyA9ICJPSyI7Ci1jb25zdCBjaGFyICogY29uc3QgSU9Db25maWdGQkNvbnRyb2xsZXI6OnNjbUluaXRpYWxpemluZyA9Ci0gICAgIldhaXRpbmcgZm9yIGluaXRpYWxpemF0aW9uLi4iOwotY29uc3QgY2hhciAqIGNvbnN0IElPQ29uZmlnRkJDb250cm9sbGVyOjpzY21GYWlsZWRUb0luaXQgPQotICAgICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjb250cm9sbGVyLiI7Citjb25zdCBjaGFyICogY29uc3QgSU9Db25maWdGQkNvbnRyb2xsZXI6OnNjbUluaXRpYWxpemluZyA9ICJXYWl0aW5nIGZvciBpbml0aWFsaXphdGlvbi4uIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6c2NtRmFpbGVkVG9Jbml0ID0gIkZhaWxlZCB0byBpbml0aWFsaXplIGNvbnRyb2xsZXIuIjsKIGNvbnN0IGNoYXIgKiBjb25zdCBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6c2NtU3RvcHBlZCA9ICJTdG9wcGVkIjsKIAotSU9Db25maWdGQkNvbnRyb2xsZXI6OklPQ29uZmlnRkJDb250cm9sbGVyKENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsCi0gICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSkgOgotICAgIElPQ29uZmlnRkJCYXNlKHBhX3BvU3JjUmVzLCBwYV9wc3RJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIHBhX2FjRkJDb25uRGF0YSwKLSAgICAgICAgcGFfYWNGQlZhcnNEYXRhKSwgc3RhcnRpbmcoZmFsc2UpLCBlcnJvckNvdW50ZXIoMCksIGNvbnRyb2xsZXIoMCksIHBlcmZvcm1SZXN0YXJ0KAotICAgICAgICBmYWxzZSkgewotCitJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6SU9Db25maWdGQkNvbnRyb2xsZXIoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsCisgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKKyAgICBJT0NvbmZpZ0ZCQmFzZShwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSksIG1TdGFydGluZyhmYWxzZSksIG1FcnJvckNvdW50ZXIoMCksIG1Db250cm9sbGVyKDApLAorICAgICAgICBtUGVyZm9ybVJlc3RhcnQoZmFsc2UpIHsKIH0KIAogSU9Db25maWdGQkNvbnRyb2xsZXI6On5JT0NvbmZpZ0ZCQ29udHJvbGxlcigpIHsKICAgZGVJbml0KHRydWUpOwogfQogCi12b2lkIElPQ29uZmlnRkJDb250cm9sbGVyOjpleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKSB7Ci0gIHN3aXRjaCAocGFfbkVJSUQpIHsKLQotICBjYXNlIGNnX25FeHRlcm5hbEV2ZW50SUQ6Ci0gICAgaWYgKCEoY29udHJvbGxlci0+bm90aWZpY2F0aW9uSGFuZGxlZCA9IGhhbmRsZU5vdGlmaWNhdGlvbigKLSAgICAgICAgY29udHJvbGxlci0+bm90aWZpY2F0aW9uVHlwZSwgY29udHJvbGxlci0+bm90aWZpY2F0aW9uQXR0YWNobWVudCkpKSB7Ci0gICAgICBERVZMT0dfRVJST1IoCi0gICAgICAgICAgIltJT0NvbmZpZ0ZCQ29udHJvbGxlcl0gTm90aWZpY2F0aW9uIG9mIHR5cGUgJWQgaGFzIG5vdCBiZWVuIGhhbmRsZWQuXG4iLAotICAgICAgICAgIGNvbnRyb2xsZXItPm5vdGlmaWNhdGlvblR5cGUpOwordm9pZCBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6ZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpIHsKKyAgaWYoY2dfbkV4dGVybmFsRXZlbnRJRCA9PSBwYUVJSUQpIHsKKyAgICBpZighKG1Db250cm9sbGVyLT5tTm90aWZpY2F0aW9uSGFuZGxlZCA9IGhhbmRsZU5vdGlmaWNhdGlvbihtQ29udHJvbGxlci0+bU5vdGlmaWNhdGlvblR5cGUsIG1Db250cm9sbGVyLT5tTm90aWZpY2F0aW9uQXR0YWNobWVudCkpKSB7CisgICAgICBERVZMT0dfRVJST1IoIltJT0NvbmZpZ0ZCQ29udHJvbGxlcl0gTm90aWZpY2F0aW9uIG9mIHR5cGUgJWQgaGFzIG5vdCBiZWVuIGhhbmRsZWQuXG4iLCBtQ29udHJvbGxlci0+bU5vdGlmaWNhdGlvblR5cGUpOwogICAgIH0KLSAgICBicmVhazsKLQotICBjYXNlIHNjbV9uRXZlbnRJTklUSUQ6Ci0gICAgaWYgKHRydWUgPT0gUUkoKSkgewotICAgICAgaWYgKCFpbml0KCkpIHsKKyAgfSBlbHNlIGlmKHNjbUV2ZW50SU5JVElEID09IHBhRUlJRCkgeworICAgIGlmKHRydWUgPT0gUUkoKSkgeworICAgICAgaWYoIWluaXQoKSkgewogICAgICAgICBRTygpID0gZmFsc2U7Ci0gICAgICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50SU5JVE9JRCk7CisgICAgICAgIHNlbmRPdXRwdXRFdmVudChzY21FdmVudElOSVRPSUQpOwogICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICBRTygpID0gZGVJbml0KCk7Ci0gICAgICBzZW5kT3V0cHV0RXZlbnQoc2NtX25FdmVudElOSVRPSUQpOworICAgICAgc2VuZE91dHB1dEV2ZW50KHNjbUV2ZW50SU5JVE9JRCk7CiAgICAgfQotICAgIGJyZWFrOwogICB9CiB9CiAKLWJvb2wgSU9Db25maWdGQkNvbnRyb2xsZXI6OmhhbmRsZU5vdGlmaWNhdGlvbihJT0RldmljZUNvbnRyb2xsZXI6Ok5vdGlmaWNhdGlvblR5cGUgdHlwZSwKLSAgICBjb25zdCB2b2lkKiBhdHRhY2htZW50KSB7Citib29sIElPQ29uZmlnRkJDb250cm9sbGVyOjpoYW5kbGVOb3RpZmljYXRpb24oSU9EZXZpY2VDb250cm9sbGVyOjpOb3RpZmljYXRpb25UeXBlIHBhVHlwZSwgY29uc3Qgdm9pZCogcGFBdHRhY2htZW50KSB7CisgIHN3aXRjaChwYVR5cGUpeworICAgIGNhc2UgSU9EZXZpY2VDb250cm9sbGVyOjpFcnJvcjoKKyAgICAgIG9uRXJyb3IoKTsKKyAgICAgIGlmKG1TdGFydGluZykgeworICAgICAgICBpZigwID09IHBhQXR0YWNobWVudCkgeworICAgICAgICAgIHBhQXR0YWNobWVudCA9IHNjbUZhaWxlZFRvSW5pdDsKKyAgICAgICAgfQogCi0gIHN3aXRjaCAodHlwZSkgeworICAgICAgICBTVEFUVVMoKSA9IChjb25zdCBjaGFyKikgcGFBdHRhY2htZW50OworICAgICAgICBERVZMT0dfRVJST1IoIltJT0NvbmZpZ0ZCQ29udHJvbGxlcl0gRmFpbGVkIHRvIGluaXRpYWxpemUgY29udHJvbGxlci4gUmVhc29uOiAlc1xuIiwgU1RBVFVTKCkuZ2V0VmFsdWUoKSk7CisgICAgICB9IGVsc2UgeworICAgICAgICBTVEFUVVMoKSA9IChjb25zdCBjaGFyKikgcGFBdHRhY2htZW50OwogCi0gIGNhc2UgSU9EZXZpY2VDb250cm9sbGVyOjpFcnJvcjoKLSAgICBvbkVycm9yKCk7Ci0KLSAgICBpZiAoc3RhcnRpbmcpIHsKLSAgICAgIGlmIChhdHRhY2htZW50ID09IDApCi0gICAgICAgIGF0dGFjaG1lbnQgPSBzY21GYWlsZWRUb0luaXQ7Ci0KLSAgICAgIFNUQVRVUygpID0gKGNvbnN0IGNoYXIqKSBhdHRhY2htZW50OwotICAgICAgREVWTE9HX0VSUk9SKAotICAgICAgICAgICJbSU9Db25maWdGQkNvbnRyb2xsZXJdIEZhaWxlZCB0byBpbml0aWFsaXplIGNvbnRyb2xsZXIuIFJlYXNvbjogJXNcbiIsCi0gICAgICAgICAgU1RBVFVTKCkuZ2V0VmFsdWUoKSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIFNUQVRVUygpID0gKGNvbnN0IGNoYXIqKSBhdHRhY2htZW50OwotCi0gICAgICBERVZMT0dfRVJST1IoIltJT0NvbmZpZ0ZCQ29udHJvbGxlcl0gUnVudGltZSBlcnJvci4gUmVhc29uOiAlc1xuIiwKLSAgICAgICAgICBTVEFUVVMoKS5nZXRWYWx1ZSgpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci0KLSAgY2FzZSBJT0RldmljZUNvbnRyb2xsZXI6OlN1Y2Nlc3M6Ci0gICAgaWYgKHN0YXJ0aW5nKSB7Ci0gICAgICBvblN0YXJ0dXAoKTsKKyAgICAgICAgREVWTE9HX0VSUk9SKCJbSU9Db25maWdGQkNvbnRyb2xsZXJdIFJ1bnRpbWUgZXJyb3IuIFJlYXNvbjogJXNcbiIsIFNUQVRVUygpLmdldFZhbHVlKCkpOworICAgICAgfQogICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKLQotICBkZWZhdWx0OgotICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNlIElPRGV2aWNlQ29udHJvbGxlcjo6U3VjY2VzczoKKyAgICAgIGlmKG1TdGFydGluZykgeworICAgICAgICBvblN0YXJ0dXAoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgZGVmYXVsdDoKKyAgICAgIHJldHVybiBmYWxzZTsKICAgfQogfQogCi12b2lkIElPQ29uZmlnRkJDb250cm9sbGVyOjpvbkVycm9yKGJvb2wgaXNGYXRhbCkgewotICBlcnJvckNvdW50ZXIrKzsKLSAgcGVyZm9ybVJlc3RhcnQgPSBlcnJvckNvdW50ZXIgPCBNYXhFcnJvcnM7Cit2b2lkIElPQ29uZmlnRkJDb250cm9sbGVyOjpvbkVycm9yKGJvb2wgcGFJc0ZhdGFsKSB7CisgIG1FcnJvckNvdW50ZXIrKzsKKyAgbVBlcmZvcm1SZXN0YXJ0ID0gbUVycm9yQ291bnRlciA8IHNtTWF4RXJyb3JzOwogCiAgIC8vIFJlSW5pdCBJT0NvbmZpZ0ZCQ29udHJvbGxlcgotICBpZiAocGVyZm9ybVJlc3RhcnQpIHsKKyAgaWYobVBlcmZvcm1SZXN0YXJ0KSB7CiAgICAgZGVJbml0KCk7CiAgIH0gZWxzZSB7Ci0gICAgc3RhcnRpbmcgPSBmYWxzZTsKKyAgICBtU3RhcnRpbmcgPSBmYWxzZTsKICAgICBRTygpID0gZmFsc2U7Ci0gICAgc2VuZE91dHB1dEV2ZW50KHNjbV9uRXZlbnRJTklUT0lEKTsKKyAgICBzZW5kT3V0cHV0RXZlbnQoc2NtRXZlbnRJTklUT0lEKTsKIAotICAgIGlmIChpc0ZhdGFsKSB7CisgICAgaWYocGFJc0ZhdGFsKSB7CiAgICAgICBkZUluaXQoKTsKICAgICB9IGVsc2UgewogICAgICAgLy8gUmVzZXQgZXJyb3IgY291bnRlciBpZiBpdCB3YXMgbm90IGEgZmF0YWwgZXJyb3IKLSAgICAgIGVycm9yQ291bnRlciA9IDA7CisgICAgICBtRXJyb3JDb3VudGVyID0gMDsKICAgICB9CiAgIH0KIH0KIAotYm9vbCBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6aW5pdChpbnQgZGVsYXkpIHsKLSAgaWYgKGNvbnRyb2xsZXIgIT0gMCkgewotICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgIltJT0NvbmZpZ0ZCQ29udHJvbGxlcl0gSU9Db25maWdGQkNvbnRyb2xsZXIgaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZC5cbiIpOworYm9vbCBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6aW5pdChpbnQgcGFEZWxheSkgeworICBpZihtQ29udHJvbGxlciAhPSAwKSB7CisgICAgREVWTE9HX0VSUk9SKCJbSU9Db25maWdGQkNvbnRyb2xsZXJdIElPQ29uZmlnRkJDb250cm9sbGVyIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQuXG4iKTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KIAotICBjb250cm9sbGVyID0gY3JlYXRlRGV2aWNlQ29udHJvbGxlcihnZXRSZXNvdXJjZSgpLmdldERldmljZSgpLmdldERldmljZUV4ZWN1dGlvbigpKTsKLSAgaWYgKGNvbnRyb2xsZXIgPT0gMCkgewotICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgIltJT0NvbmZpZ0ZCQ29udHJvbGxlcl0gRmFpbGVkIHRvIGNyZWF0ZSBjb250cm9sbGVyLlxuIik7CisgIG1Db250cm9sbGVyID0gY3JlYXRlRGV2aWNlQ29udHJvbGxlcihnZXRSZXNvdXJjZSgpLmdldERldmljZSgpLmdldERldmljZUV4ZWN1dGlvbigpKTsKKyAgaWYobUNvbnRyb2xsZXIgPT0gMCkgeworICAgIERFVkxPR19FUlJPUigiW0lPQ29uZmlnRkJDb250cm9sbGVyXSBGYWlsZWQgdG8gY3JlYXRlIGNvbnRyb2xsZXIuXG4iKTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KIAotICBjb250cm9sbGVyLT5kZWxlZ2F0ZSA9IHRoaXM7Ci0gIGNvbnRyb2xsZXItPnNldEluaXREZWxheShkZWxheSk7CisgIG1Db250cm9sbGVyLT5tRGVsZWdhdGUgPSB0aGlzOworICBtQ29udHJvbGxlci0+c2V0SW5pdERlbGF5KHBhRGVsYXkpOwogCi0gIHN0YXJ0aW5nID0gdHJ1ZTsKKyAgbVN0YXJ0aW5nID0gdHJ1ZTsKICAgU1RBVFVTKCkgPSBzY21Jbml0aWFsaXppbmc7CiAKICAgc2V0Q29uZmlnKCk7CiAKICAgc2V0RXZlbnRDaGFpbkV4ZWN1dG9yKG1fcG9JbnZva2luZ0V4ZWNFbnYpOwotICBjb250cm9sbGVyLT5zdGFydCgpOworICBtQ29udHJvbGxlci0+c3RhcnQoKTsKIAogICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6aW5pdEhhbmRsZSgKLSAgICBJT0RldmljZUNvbnRyb2xsZXI6OkhhbmRsZURlc2NyaXB0b3IgKmhhbmRsZURlc2NyaXB0b3IpIHsKK3ZvaWQgSU9Db25maWdGQkNvbnRyb2xsZXI6OmluaXRIYW5kbGUoSU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpwYUhhbmRsZURlc2NyaXB0b3IpIHsKIAotICBpZiAoaGFuZGxlRGVzY3JpcHRvci0+aWQgPT0gIiIpCisgIGlmKHBhSGFuZGxlRGVzY3JpcHRvci0+bUlkID09ICIiKSB7CiAgICAgcmV0dXJuOworICB9CiAKLSAgY29udHJvbGxlci0+YWRkSGFuZGxlKGhhbmRsZURlc2NyaXB0b3IpOworICBtQ29udHJvbGxlci0+YWRkSGFuZGxlKHBhSGFuZGxlRGVzY3JpcHRvcik7CiB9CiAKIHZvaWQgSU9Db25maWdGQkNvbnRyb2xsZXI6Om9uU3RhcnR1cCgpIHsKICAgc3RhcnRlZCgpOwogfQogCi12b2lkIElPQ29uZmlnRkJDb250cm9sbGVyOjpzdGFydGVkKGNvbnN0IGNoYXIqIGVycm9yKSB7Ci0gIGlmIChlcnJvciAhPSAwKSB7Ci0gICAgU1RBVFVTKCkgPSBlcnJvcjsKLSAgICBERVZMT0dfRVJST1IoIltJT0NvbmZpZ0ZCQ29udHJvbGxlcl0gRmFpbGVkIHRvIHN0YXJ0LiBSZWFzb246ICVzXG4iLAotICAgICAgICBTVEFUVVMoKS5nZXRWYWx1ZSgpKTsKK3ZvaWQgSU9Db25maWdGQkNvbnRyb2xsZXI6OnN0YXJ0ZWQoY29uc3QgY2hhciogcGFFcnJvcikgeworICBpZihwYUVycm9yICE9IDApIHsKKyAgICBTVEFUVVMoKSA9IHBhRXJyb3I7CisgICAgREVWTE9HX0VSUk9SKCJbSU9Db25maWdGQkNvbnRyb2xsZXJdIEZhaWxlZCB0byBzdGFydC4gUmVhc29uOiAlc1xuIiwgU1RBVFVTKCkuZ2V0VmFsdWUoKSk7CiAgICAgcmV0dXJuIG9uRXJyb3IoZmFsc2UpOwogICB9CiAKLSAgZXJyb3JDb3VudGVyID0gMDsKLSAgc3RhcnRpbmcgPSBmYWxzZTsKKyAgbUVycm9yQ291bnRlciA9IDA7CisgIG1TdGFydGluZyA9IGZhbHNlOwogCiAgIFFPKCkgPSB0cnVlOwogICBTVEFUVVMoKSA9IHNjbU9LOwotICBzZW5kT3V0cHV0RXZlbnQoc2NtX25FdmVudElOSVRPSUQpOworICBzZW5kT3V0cHV0RXZlbnQoc2NtRXZlbnRJTklUT0lEKTsKIH0KIAogdm9pZCBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6b25TdG9wKCkgewogICBzdG9wcGVkKCk7CiB9CiAKLWJvb2wgSU9Db25maWdGQkNvbnRyb2xsZXI6OmRlSW5pdChib29sIGlzRGVzdHJ1Y3RpbmcpIHsKLSAgaWYgKGNvbnRyb2xsZXIgPT0gMCkgewotICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgIltJT0NvbmZpZ0ZCQ29udHJvbGxlcl0gSU9Db25maWdGQkNvbnRyb2xsZXIgaGFzIGFscmVhZHkgYmVlbiBzdG9wcGVkLlxuIik7Citib29sIElPQ29uZmlnRkJDb250cm9sbGVyOjpkZUluaXQoYm9vbCBwYUlzRGVzdHJ1Y3RpbmcpIHsKKyAgaWYoMCA9PSBtQ29udHJvbGxlcikgeworICAgIERFVkxPR19FUlJPUigiW0lPQ29uZmlnRkJDb250cm9sbGVyXSBJT0NvbmZpZ0ZCQ29udHJvbGxlciBoYXMgYWxyZWFkeSBiZWVuIHN0b3BwZWQuXG4iKTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KIAotICBpZiAoaXNEZXN0cnVjdGluZykgewotICAgIHBlcmZvcm1SZXN0YXJ0ID0gZmFsc2U7Ci0KKyAgaWYocGFJc0Rlc3RydWN0aW5nKSB7CisgICAgbVBlcmZvcm1SZXN0YXJ0ID0gZmFsc2U7CiAgICAgc3RvcHBlZCgpOwogICB9IGVsc2UgewogICAgIG9uU3RvcCgpOwpAQCAtMjAyLDIwICsxNzYsMjEgQEAKIH0KIAogdm9pZCBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6c3RvcHBlZCgpIHsKLSAgY29udHJvbGxlci0+ZGVsZWdhdGUgPSAwOwotICBpZiAoY29udHJvbGxlci0+aXNBbGl2ZSgpKQotICAgIGNvbnRyb2xsZXItPmVuZCgpOworICBtQ29udHJvbGxlci0+bURlbGVnYXRlID0gMDsKKyAgaWYobUNvbnRyb2xsZXItPmlzQWxpdmUoKSkgeworICAgIG1Db250cm9sbGVyLT5lbmQoKTsKKyAgfQogCi0gIGRlbGV0ZSBjb250cm9sbGVyOwotICBjb250cm9sbGVyID0gMDsKLSAgc3RhcnRpbmcgPSBmYWxzZTsKKyAgZGVsZXRlIG1Db250cm9sbGVyOworICBtQ29udHJvbGxlciA9IDA7CisgIG1TdGFydGluZyA9IGZhbHNlOwogCiAgIFNUQVRVUygpID0gc2NtU3RvcHBlZDsKIAotICBpZiAocGVyZm9ybVJlc3RhcnQpIHsKLSAgICBwZXJmb3JtUmVzdGFydCA9IGZhbHNlOworICBpZihtUGVyZm9ybVJlc3RhcnQpIHsKKyAgICBtUGVyZm9ybVJlc3RhcnQgPSBmYWxzZTsKIAotICAgIGluaXQoZXJyb3JDb3VudGVyKTsKKyAgICBpbml0KG1FcnJvckNvdW50ZXIpOwogICB9CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbmZpZ0ZCX2NvbnRyb2xsZXIuaCBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbmZpZ0ZCX2NvbnRyb2xsZXIuaAppbmRleCA0MzI5YWFmLi41YjRlN2JjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19jb25maWdGQl9jb250cm9sbGVyLmgKKysrIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fY29uZmlnRkJfY29udHJvbGxlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE4LDE1OCArMTksMTU2IEBACiAKIG5hbWVzcGFjZSBmb3J0ZSB7CiAgIG5hbWVzcGFjZSBjb3JlIHsKLSAgICBuYW1lc3BhY2UgSU8geworICAgIG5hbWVzcGFjZSBpbyB7CiAKLS8qISBAYnJpZWYgQWJzdHJhY3QgY29udHJvbGxlciBjb25maWd1cmF0aW9uIGZiCi0gKgotICogQmFzZSBjbGFzcyBvZiB0aGUgY29udHJvbGxlciBjb25maWd1cmF0aW9uIGZiIGltcGxlbWVudGF0aW9uLgotICogQWxsIG1hc3RlciBvciBib2FyZCBJTyBjb25maWd1cmF0aW9uIGZiIHNob3VsZCBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBvciBmcm9tIGl0cyBzdWJjbGFzc2VzLgotICoKLSAqIEZlYXR1cmVzOgotICogLSBoYW5kbGVzIHRoZSBiYXNpYyBldmVudHMgb2YgYSBjb250cm9sbGVyIGNvbmZpZ3VyYXRpb24gZmIgKElOSVQsIElOSVRPIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZGF0YSBvdXRwdXRzIFFJLCBRTywgYW5kIFNUQVRVUykKLSAqIC0gdGhyZWFkIHNhZmUgY29tbXVuaWNhdGlvbiB3aXRoIGNvcnJlc3BvbmRpbmcgZGV2aWNlIGNvbnRyb2xsZXIgKHNlZSAjaGFuZGxlTm90aWZpY2F0aW9uKQotICogLSBhdXRvbWF0aWMgZXJyb3IgaGFuZGxpbmcgYW5kIHJlc3RhcnQgb2YgdGhlIERldmljZSBDb250cm9sbGVyIChzZWUgI0lPRGV2aWNlQ29udHJvbGxlcikKLSAqLwotY2xhc3MgSU9Db25maWdGQkNvbnRyb2xsZXI6IHB1YmxpYyBJT0NvbmZpZ0ZCQmFzZSB7Ci1wdWJsaWM6Ci0gIElPQ29uZmlnRkJDb250cm9sbGVyKENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsCi0gICAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjLAotICAgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsCi0gICAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSk7Ci0gIHZpcnR1YWwgfklPQ29uZmlnRkJDb250cm9sbGVyKCk7CisgICAgICAvKiEgQGJyaWVmIEFic3RyYWN0IGNvbnRyb2xsZXIgY29uZmlndXJhdGlvbiBmYgorICAgICAgICoKKyAgICAgICAqIEJhc2UgY2xhc3Mgb2YgdGhlIGNvbnRyb2xsZXIgY29uZmlndXJhdGlvbiBmYiBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAqIEFsbCBtYXN0ZXIgb3IgYm9hcmQgSU8gY29uZmlndXJhdGlvbiBmYiBzaG91bGQgaW5oZXJpdCBmcm9tIHRoaXMgY2xhc3Mgb3IgZnJvbSBpdHMgc3ViY2xhc3Nlcy4KKyAgICAgICAqCisgICAgICAgKiBGZWF0dXJlczoKKyAgICAgICAqIC0gaGFuZGxlcyB0aGUgYmFzaWMgZXZlbnRzIG9mIGEgY29udHJvbGxlciBjb25maWd1cmF0aW9uIGZiIChJTklULCBJTklUTyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGRhdGEgb3V0cHV0cyBRSSwgUU8sIGFuZCBTVEFUVVMpCisgICAgICAgKiAtIHRocmVhZCBzYWZlIGNvbW11bmljYXRpb24gd2l0aCBjb3JyZXNwb25kaW5nIGRldmljZSBjb250cm9sbGVyIChzZWUgI2hhbmRsZU5vdGlmaWNhdGlvbikKKyAgICAgICAqIC0gYXV0b21hdGljIGVycm9yIGhhbmRsaW5nIGFuZCByZXN0YXJ0IG9mIHRoZSBEZXZpY2UgQ29udHJvbGxlciAoc2VlICNJT0RldmljZUNvbnRyb2xsZXIpCisgICAgICAgKi8KKyAgICAgIGNsYXNzIElPQ29uZmlnRkJDb250cm9sbGVyIDogcHVibGljIElPQ29uZmlnRkJCYXNlIHsKKyAgICAgICAgcHVibGljOgorICAgICAgICAgIElPQ29uZmlnRkJDb250cm9sbGVyKENSZXNvdXJjZSAqcGFTcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSk7CisgICAgICAgICAgdmlydHVhbCB+SU9Db25maWdGQkNvbnRyb2xsZXIoKTsKIAotICBJT0RldmljZUNvbnRyb2xsZXIqIGdldERldmljZUNvbnRyb2xsZXIoKSB7Ci0gICAgcmV0dXJuIGNvbnRyb2xsZXI7Ci0gIH0KKyAgICAgICAgICBJT0RldmljZUNvbnRyb2xsZXIqIGdldERldmljZUNvbnRyb2xsZXIoKSB7CisgICAgICAgICAgICByZXR1cm4gbUNvbnRyb2xsZXI7CisgICAgICAgICAgfQogCi1wcm90ZWN0ZWQ6CisgICAgICAgIHByb3RlY3RlZDoKIAotICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudElOSVRJRCA9IDA7CisgICAgICAgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbUV2ZW50SU5JVElEID0gMDsKIAotICBDSUVDX0JPT0wgJlFJKCkgewotICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oZ2V0REkoMCkpOwotICB9CisgICAgICAgICAgQ0lFQ19CT09MICZRSSgpIHsKKyAgICAgICAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oZ2V0REkoMCkpOworICAgICAgICAgIH0KIAotICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudElOSVRPSUQgPSAwOwotICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudElORElEID0gMTsKKyAgICAgICAgICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtRXZlbnRJTklUT0lEID0gMDsKKyAgICAgICAgICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtRXZlbnRJTkRJRCA9IDE7CiAKLSAgQ0lFQ19CT09MICZRTygpIHsKLSAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERPKDApKTsKLSAgfQorICAgICAgICAgIENJRUNfQk9PTCAmUU8oKSB7CisgICAgICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERPKDApKTsKKyAgICAgICAgICB9CiAKLSAgQ0lFQ19XU1RSSU5HICZTVEFUVVMoKSB7Ci0gICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRETygxKSk7Ci0gIH0KKyAgICAgICAgICBDSUVDX1dTVFJJTkcgJlNUQVRVUygpIHsKKyAgICAgICAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0RE8oMSkpOworICAgICAgICAgIH0KIAotICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CisgICAgICAgICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKTsKIAotICAvLyEgRGVzY3JpYmVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBpbml0aWFsaXphdGlvbi4gVXNlIHRvIGRldGVjdCBzdGFydHVwIG9yIHJ1bnRpbWUgZXJyb3JzLgotICBib29sIHN0YXJ0aW5nOworICAgICAgICAgIC8qISBAYnJpZWYgQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiB0aGUgY29ycmVzcG9uZGluZyBEZXZpY2UgQ29udHJvbGxlcgorICAgICAgICAgICAqCisgICAgICAgICAgICogVGhlIG1ldGhvZCBzaG91bGQgY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBoYXJkd2FyZSBzcGVjaWZpYyBEZXZpY2UgQ29udHJvbGxlci4KKyAgICAgICAgICAgKiBUaGlzIGluc3RhbmNlIHNob3VsZCBiZSBzZXQgYXMgZGVsZWdhdGUgaW4gdGhlIGNvbnN0cnVjdG9yIGNhbGwuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBAcGFyYW0gcGFEZXZpY2VFeGVjdXRpb24gRGV2aWNlIGV4ZWN1dGlvbiBuZWVkZWQgZm9yIHRoZSBleHRlcm5hbCBoYW5kbGVyCisgICAgICAgICAgICogQHJldHVybiBJbnN0YW5jZSBvZiB0aGUgY29ycmVzcG9uZGluZyBEZXZpY2UgQ29udHJvbGxlcgorICAgICAgICAgICAqLworICAgICAgICAgIHZpcnR1YWwgSU9EZXZpY2VDb250cm9sbGVyKiBjcmVhdGVEZXZpY2VDb250cm9sbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA9IDA7CiAKLSAgLy8hIE1heGltdW0gdmFsdWUgb2YgdGhlICNlcnJvckNvdW50ZXIuIEl0IHNldHMgdGhlIGFtb3VudCBvZiByZXRyaWVzIGFmdGVyIGFuIGVycm9yLgotICBzdGF0aWMgaW50IE1heEVycm9yczsKKyAgICAgICAgICAvKiEgQGJyaWVmIFNldHMgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIERldmljZSBDb250cm9sbGVyCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBUaGUgbWV0aG9kIHNob3VsZCBjcmVhdGUgYSBsb2NhbCBzdHJ1Y3Qgb2YgdGhlIERldmljZSBDb250cm9sbGVyIENvbmZpZyBhbmQgYXNzaWduIHRoZSBjb3JyZXNwb25kaW5nIGdsb2JhbCBkYXRhIGlucHV0cyB0byBpdC4KKyAgICAgICAgICAgKiBJdCBzaG91bGQgY2FsbCB0aGUgI0lPRGV2aWNlQ29udHJvbGxlcjo6c2V0Q29uZmlnIHdpdGggYSByZWZlcmVuY2UgdG8gdGhlIGNyZWF0ZWQgY29uZmlnIHN0cnVjdC4KKyAgICAgICAgICAgKi8KKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29uZmlnKCkgPSAwOwogCi0gIC8vISBDb3VudGVyIGZvciByZWNlaXZlZCBlcnJvcnMKLSAgaW50IGVycm9yQ291bnRlcjsKKyAgICAgICAgICAvKiEgQGJyaWVmIEhhbmRsZXMgdGhlIG5vdGlmaWNhdGlvbnMgb2YgdGhlIERldmljZSBDb250cm9sbGVyCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBUaGUgbWV0aG9kIGNhbiBiZSBvdmVyd3JpdHRlbiB0byBoYW5kbGUgY3VzdG9tIG5vdGlmaWNhdGlvbnMgYmV0d2VlbiB0aGUgY29uZmlndXJhdGlvbiBmYiBhbmQgdGhlIERldmljZSBDb250cm9sbGVyLgorICAgICAgICAgICAqIEBhdHRlbnRpb24gTm90aWZpY2F0aW9ucyBzaG91bGQgbm90IGJlIHVzZWQgZm9yIHRpbWUgY3JpdGljYWwgb3BlcmF0aW9ucywgc3VjaCBhcyBhIHdyaXRlIG9wZXJhdGlvbiBvZiBhbiBvdXRwdXQgZmIuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBAcGFyYW0gcGFUeXBlIFR5cGUgb2YgdGhlIG5vdGlmaWNhdGlvbgorICAgICAgICAgICAqIEBwYXJhbSBwYUF0dGFjaG1lbnQgUmVmZXJlbmNlIHRvIHRoZSBhdHRhY2htZW50IChlLmcuIGEgc3RyaW5nIG9mIGFuIGVycm9yIG1lc3NhZ2UpCisgICAgICAgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSBub3RpZmljYXRpb24gaGFzIGJlZW4gaGFuZGxlZC4gSW4gY2FzZSBpdCBpcyBub3QgaGFuZGxlZCwgYSB3YXJuaW5nIG1lc3NhZ2UgaXMgbG9nZ2VkLgorICAgICAgICAgICAqLworICAgICAgICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVOb3RpZmljYXRpb24oSU9EZXZpY2VDb250cm9sbGVyOjpOb3RpZmljYXRpb25UeXBlIHBhVHlwZSwgY29uc3Qgdm9pZCogcGFBdHRhY2htZW50KTsKIAotICAvLyEgSW5zdGFuY2Ugb2YgdGhlIGNvcnJlc3BvbmRpbmcgRGV2aWNlIENvbnRyb2xsZXIKLSAgSU9EZXZpY2VDb250cm9sbGVyICpjb250cm9sbGVyOworICAgICAgICAgIC8qISBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyYXRpb24gZmIKKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEl0IGlzIHVzdWFsbHkgY2FsbGVkIGJ5IHRoZSBJTklUKyBldmVudC4KKyAgICAgICAgICAgKiBJdCBtYXkgYWxzbyBiZSBjYWxsZWQgYWZ0ZXIgYW4gZXJyb3IgYW5kIGEgZm9sbG93aW5nIHJlY292ZXJ5IGF0dGVtcHQuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBAcGFyYW0gcGFEZWxheSBEZWxheSB0aGUgaW5pdGlhbGl6YXRpb24gaW4gc2Vjb25kcworICAgICAgICAgICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgaW5pdGlhbGl6YXRpb24gd2FzIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgKi8KKyAgICAgICAgICBib29sIGluaXQoaW50IHBhRGVsYXkgPSAwKTsKIAotICAvKiEgQGJyaWVmIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIGNvcnJlc3BvbmRpbmcgRGV2aWNlIENvbnRyb2xsZXIKLSAgICoKLSAgICogVGhlIG1ldGhvZCBzaG91bGQgY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZSBoYXJkd2FyZSBzcGVjaWZpYyBEZXZpY2UgQ29udHJvbGxlci4KLSAgICogVGhpcyBpbnN0YW5jZSBzaG91bGQgYmUgc2V0IGFzIGRlbGVnYXRlIGluIHRoZSBjb25zdHJ1Y3RvciBjYWxsLgotICAgKgotICAgKiBAcGFyYW0gcGFEZXZpY2VFeGVjdXRpb24gRGV2aWNlIGV4ZWN1dGlvbiBuZWVkZWQgZm9yIHRoZSBleHRlcm5hbCBoYW5kbGVyCi0gICAqIEByZXR1cm4gSW5zdGFuY2Ugb2YgdGhlIGNvcnJlc3BvbmRpbmcgRGV2aWNlIENvbnRyb2xsZXIKLSAgICovCi0gIHZpcnR1YWwgSU9EZXZpY2VDb250cm9sbGVyKiBjcmVhdGVEZXZpY2VDb250cm9sbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA9IDA7CisgICAgICAgICAgLyohIEBicmllZiBJbml0aWFsaXplcyBhbiBJTyBoYW5kbGUKKyAgICAgICAgICAgKgorICAgICAgICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gZm9yd2FyZCBoYW5kbGUgZGVzY3JpcHRvcnMgdG8gdGhlIGRldmljZSBjb250cm9sbGVyLgorICAgICAgICAgICAqIFRoZSAjSU9EZXZpY2VDb250cm9sbGVyOjphZGRIYW5kbGUgbWV0aG9kIGlzIGNhbGxlZCBhbmQgaW4gY2FzZSB0aGUgI0lPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvcjo6aWQKKyAgICAgICAgICAgKiBpcyBub3QgZW1wdHksIHRoZSBoYW5kbGUgaXMgaW5pdGlhbGl6ZWQgd2l0aCB0aGUgI0lPRGV2aWNlQ29udHJvbGxlcjo6aW5pdEhhbmRsZSBtZXRob2QuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBAcGFyYW0gcGFIYW5kbGVEZXNjcmlwdG9yIERlc2NyaXB0b3Igb2YgdGhlIGhhbmRsZQorICAgICAgICAgICAqLworICAgICAgICAgIHZvaWQgaW5pdEhhbmRsZShJT0RldmljZUNvbnRyb2xsZXI6OkhhbmRsZURlc2NyaXB0b3IgKnBhSGFuZGxlRGVzY3JpcHRvcik7CiAKLSAgLyohIEBicmllZiBTZXRzIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBEZXZpY2UgQ29udHJvbGxlcgotICAgKgotICAgKiBUaGUgbWV0aG9kIHNob3VsZCBjcmVhdGUgYSBsb2NhbCBzdHJ1Y3Qgb2YgdGhlIERldmljZSBDb250cm9sbGVyIENvbmZpZyBhbmQgYXNzaWduIHRoZSBjb3JyZXNwb25kaW5nIGdsb2JhbCBkYXRhIGlucHV0cyB0byBpdC4KLSAgICogSXQgc2hvdWxkIGNhbGwgdGhlICNJT0RldmljZUNvbnRyb2xsZXI6OnNldENvbmZpZyB3aXRoIGEgcmVmZXJlbmNlIHRvIHRoZSBjcmVhdGVkIGNvbmZpZyBzdHJ1Y3QuCi0gICAqLwotICB2aXJ0dWFsIHZvaWQgc2V0Q29uZmlnKCkgPSAwOworICAgICAgICAgIC8qISBAYnJpZWYgRGVpbml0aWFsaXplcyB0aGUgY29uZmlndXJhdGlvbiBmYgorICAgICAgICAgICAqCisgICAgICAgICAgICogSXQgaXMgdXN1YWxseSBjYWxsZWQgYnkgdGhlIElOSVQtIGV2ZW50IGFuZCBhZnRlciBhbiBlcnJvci4KKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYUlzRGVzdHJ1Y3RpbmcgVHJ1ZSBpZiB0aGUgZGVJbml0IGlzIGNhbGxlZCBpbnNpZGUgdGhlIGRlc3RydWN0b3IKKyAgICAgICAgICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIGRlaW5pdGlhbGl6YXRpb24gd2FzIHN1Y2Nlc3NmdWwKKyAgICAgICAgICAgKi8KKyAgICAgICAgICBib29sIGRlSW5pdChib29sIHBhSXNEZXN0cnVjdGluZyA9IGZhbHNlKTsKIAotICAvKiEgQGJyaWVmIEhhbmRsZXMgdGhlIG5vdGlmaWNhdGlvbnMgb2YgdGhlIERldmljZSBDb250cm9sbGVyCi0gICAqCi0gICAqIFRoZSBtZXRob2QgY2FuIGJlIG92ZXJ3cml0dGVuIHRvIGhhbmRsZSBjdXN0b20gbm90aWZpY2F0aW9ucyBiZXR3ZWVuIHRoZSBjb25maWd1cmF0aW9uIGZiIGFuZCB0aGUgRGV2aWNlIENvbnRyb2xsZXIuCi0gICAqIEBhdHRlbnRpb24gTm90aWZpY2F0aW9ucyBzaG91bGQgbm90IGJlIHVzZWQgZm9yIHRpbWUgY3JpdGljYWwgb3BlcmF0aW9ucywgc3VjaCBhcyBhIHdyaXRlIG9wZXJhdGlvbiBvZiBhbiBvdXRwdXQgZmIuCi0gICAqCi0gICAqIEBwYXJhbSB0eXBlIFR5cGUgb2YgdGhlIG5vdGlmaWNhdGlvbgotICAgKiBAcGFyYW0gYXR0YWNobWVudCBSZWZlcmVuY2UgdG8gdGhlIGF0dGFjaG1lbnQgKGUuZy4gYSBzdHJpbmcgb2YgYW4gZXJyb3IgbWVzc2FnZSkKLSAgICogQHJldHVybiBUcnVlIGlmIHRoZSBub3RpZmljYXRpb24gaGFzIGJlZW4gaGFuZGxlZC4gSW4gY2FzZSBpdCBpcyBub3QgaGFuZGxlZCwgYSB3YXJuaW5nIG1lc3NhZ2UgaXMgbG9nZ2VkLgotICAgKi8KLSAgdmlydHVhbCBib29sIGhhbmRsZU5vdGlmaWNhdGlvbihJT0RldmljZUNvbnRyb2xsZXI6Ok5vdGlmaWNhdGlvblR5cGUgdHlwZSwKLSAgICAgIGNvbnN0IHZvaWQqIGF0dGFjaG1lbnQpOworICAgICAgICAgIC8qISBAYnJpZWYgVXNlZCBmb3IgYXN5bmNocm9ub3VzIGluaXRpYWxpemF0aW9uIG9wZXJhdGlvbnMKKyAgICAgICAgICAgKgorICAgICAgICAgICAqIFRoZSBtZXRob2QgaXMgY2FsbGVkIGFmdGVyIGEgc3VjY2Vzc2Z1bCAjaW5pdCBjYWxsLgorICAgICAgICAgICAqIEl0IGlzLCBmb3IgZXhhbXBsZSwgdXNlZCBmb3IgdGhlIGluaXRpYWxpemF0aW9uIG9mIGF0dGFjaGVkIGNvbmZpZ3VyYXRpb24gZmJzLgorICAgICAgICAgICAqCisgICAgICAgICAgICogQGF0dGVudGlvbiBUaGUgI3N0YXJ0ZWQgbWV0aG9kIHNob3VsZCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGFzeW5jaHJvbm91cyBpbml0aWFsaXphdGlvbiBvcGVyYXRpb25zCisgICAgICAgICAgICovCisgICAgICAgICAgdmlydHVhbCB2b2lkIG9uU3RhcnR1cCgpOwogCi0gIC8qISBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyYXRpb24gZmIKLSAgICoKLSAgICogSXQgaXMgdXN1YWxseSBjYWxsZWQgYnkgdGhlIElOSVQrIGV2ZW50LgotICAgKiBJdCBtYXkgYWxzbyBiZSBjYWxsZWQgYWZ0ZXIgYW4gZXJyb3IgYW5kIGEgZm9sbG93aW5nIHJlY292ZXJ5IGF0dGVtcHQuCi0gICAqCi0gICAqIEBwYXJhbSBkZWxheSBEZWxheSB0aGUgaW5pdGlhbGl6YXRpb24gaW4gc2Vjb25kcwotICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIGluaXRpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsCi0gICAqLwotICBib29sIGluaXQoaW50IGRlbGF5ID0gMCk7CisgICAgICAgICAgLyohIEBicmllZiBDb25maXJtYXRpb24gbWV0aG9kIG9mIHRoZSAjb25TdGFydHVwIG1ldGhvZAorICAgICAgICAgICAqCisgICAgICAgICAgICogQHBhcmFtIHBhRXJyb3IgRm9yd2FyZCBlcnJvciBtZXNzYWdlIGluIGNhc2UgdGhlIHN0YXJ0dXAgd2FzIG5vdCBzdWNjZXNzZnVsLiBMZWFkcyB0byBhIHJlLWluaXRpYWxpemF0aW9uLgorICAgICAgICAgICAqLworICAgICAgICAgIHZvaWQgc3RhcnRlZChjb25zdCBjaGFyKiBwYUVycm9yID0gMCk7CiAKLSAgLyohIEBicmllZiBJbml0aWFsaXplcyBhbiBJTyBoYW5kbGUKLSAgICoKLSAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBmb3J3YXJkIGhhbmRsZSBkZXNjcmlwdG9ycyB0byB0aGUgZGV2aWNlIGNvbnRyb2xsZXIuCi0gICAqIFRoZSAjSU9EZXZpY2VDb250cm9sbGVyOjphZGRIYW5kbGUgbWV0aG9kIGlzIGNhbGxlZCBhbmQgaW4gY2FzZSB0aGUgI0lPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvcjo6aWQKLSAgICogaXMgbm90IGVtcHR5LCB0aGUgaGFuZGxlIGlzIGluaXRpYWxpemVkIHdpdGggdGhlICNJT0RldmljZUNvbnRyb2xsZXI6OmluaXRIYW5kbGUgbWV0aG9kLgotICAgKgotICAgKiBAcGFyYW0gaGFuZGxlRGVzY3JpcHRvciBEZXNjcmlwdG9yIG9mIHRoZSBoYW5kbGUKLSAgICovCi0gIHZvaWQgaW5pdEhhbmRsZShJT0RldmljZUNvbnRyb2xsZXI6OkhhbmRsZURlc2NyaXB0b3IgKmhhbmRsZURlc2NyaXB0b3IpOworICAgICAgICAgIC8qISBAYnJpZWYgVXNlZCBmb3IgYXN5bmNocm9ub3VzIGRlaW5pdGlhbGl6YXRpb24gb3BlcmF0aW9ucworICAgICAgICAgICAqCisgICAgICAgICAgICogVGhlIG1ldGhvZCBpcyBjYWxsZWQgYWZ0ZXIgdGhlICNkZUluaXQgZnVuY3Rpb24sIGluIGNhc2UgdGhlIGZiIGlzIG5vdCBkZXN0cnVjdGVkLgorICAgICAgICAgICAqIEl0IGlzLCBmb3IgZXhhbXBsZSwgdXNlZCBmb3IgdGhlIGRlaW5pdGlhbGl6YXRpb24gb2YgYXR0YWNoZWQgY29uZmlndXJhdGlvbiBmYnMuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBAYXR0ZW50aW9uIFRoZSAjc3RvcHBlZCBtZXRob2Qgc2hvdWxkIGJlIGNhbGxlZCBhZnRlciB0aGUgZGVpbml0aWFsaXphdGlvbiBvcGVyYXRpb25zLgorICAgICAgICAgICAqLworICAgICAgICAgIHZpcnR1YWwgdm9pZCBvblN0b3AoKTsKIAotICAvKiEgQGJyaWVmIERlaW5pdGlhbGl6ZXMgdGhlIGNvbmZpZ3VyYXRpb24gZmIKLSAgICoKLSAgICogSXQgaXMgdXN1YWxseSBjYWxsZWQgYnkgdGhlIElOSVQtIGV2ZW50IGFuZCBhZnRlciBhbiBlcnJvci4KLSAgICoKLSAgICogQHBhcmFtIGlzRGVzdHJ1Y3RpbmcgVHJ1ZSBpZiB0aGUgZGVJbml0IGlzIGNhbGxlZCBpbnNpZGUgdGhlIGRlc3RydWN0b3IKLSAgICogQHJldHVybiBUcnVlIGlmIHRoZSBkZWluaXRpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsCi0gICAqLwotICBib29sIGRlSW5pdChib29sIGlzRGVzdHJ1Y3RpbmcgPSBmYWxzZSk7CisgICAgICAgICAgLyohIEBicmllZiBDb25maXJtYXRpb24gbWV0aG9kIG9mIHRoZSAjb25TdG9wIG1ldGhvZCAqLworICAgICAgICAgIHZvaWQgc3RvcHBlZCgpOwogCi0gIC8qISBAYnJpZWYgVXNlZCBmb3IgKGFzeW5jaHJvbm91cykgaW5pdGlhbGl6YXRpb24gb3BlcmF0aW9ucwotICAgKgotICAgKiBUaGUgbWV0aG9kIGlzIGNhbGxlZCBhZnRlciBhIHN1Y2Nlc3NmdWwgI2luaXQgY2FsbC4KLSAgICogSXQgaXMsIGZvciBleGFtcGxlLCB1c2VkIGZvciB0aGUgaW5pdGlhbGl6YXRpb24gb2YgYXR0YWNoZWQgY29uZmlndXJhdGlvbiBmYnMuCi0gICAqCi0gICAqIEBhdHRlbnRpb24gVGhlICNzdGFydGVkIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIGFmdGVyIHRoZSBhc3luY2hyb25vdXMgaW5pdGlhbGl6YXRpb24gb3BlcmF0aW9ucwotICAgKi8KLSAgdmlydHVhbCB2b2lkIG9uU3RhcnR1cCgpOworICAgICAgICBwcml2YXRlOgogCi0gIC8qISBAYnJpZWYgQ29uZmlybWF0aW9uIG1ldGhvZCBvZiB0aGUgI29uU3RhcnR1cCBtZXRob2QKLSAgICoKLSAgICogQHBhcmFtIGVycm9yIEZvcndhcmQgZXJyb3IgbWVzc2FnZSBpbiBjYXNlIHRoZSBzdGFydHVwIHdhcyBub3Qgc3VjY2Vzc2Z1bC4gTGVhZHMgdG8gYSByZS1pbml0aWFsaXphdGlvbi4KLSAgICovCi0gIHZvaWQgc3RhcnRlZChjb25zdCBjaGFyKiBlcnJvciA9IDApOworICAgICAgICAgIC8vISBEZXNjcmliZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGluaXRpYWxpemF0aW9uLiBVc2UgdG8gZGV0ZWN0IHN0YXJ0dXAgb3IgcnVudGltZSBlcnJvcnMuCisgICAgICAgICAgYm9vbCBtU3RhcnRpbmc7CiAKLSAgLyohIEBicmllZiBVc2VkIGZvciAoYXN5bmNocm9ub3VzKSBkZWluaXRpYWxpemF0aW9uIG9wZXJhdGlvbnMKLSAgICoKLSAgICogVGhlIG1ldGhvZCBpcyBjYWxsZWQgYWZ0ZXIgdGhlICNkZUluaXQgZnVuY3Rpb24sIGluIGNhc2UgdGhlIGZiIGlzIG5vdCBkZXN0cnVjdGVkLgotICAgKiBJdCBpcywgZm9yIGV4YW1wbGUsIHVzZWQgZm9yIHRoZSBkZWluaXRpYWxpemF0aW9uIG9mIGF0dGFjaGVkIGNvbmZpZ3VyYXRpb24gZmJzLgotICAgKgotICAgKiBAYXR0ZW50aW9uIFRoZSAjc3RvcHBlZCBtZXRob2Qgc2hvdWxkIGJlIGNhbGxlZCBhZnRlciB0aGUgZGVpbml0aWFsaXphdGlvbiBvcGVyYXRpb25zLgotICAgKi8KLSAgdmlydHVhbCB2b2lkIG9uU3RvcCgpOworICAgICAgICAgIC8vISBNYXhpbXVtIHZhbHVlIG9mIHRoZSAjZXJyb3JDb3VudGVyLiBJdCBzZXRzIHRoZSBhbW91bnQgb2YgcmV0cmllcyBhZnRlciBhbiBlcnJvci4KKyAgICAgICAgICBzdGF0aWMgaW50IHNtTWF4RXJyb3JzOwogCi0gIC8qISBAYnJpZWYgQ29uZmlybWF0aW9uIG1ldGhvZCBvZiB0aGUgI29uU3RvcCBtZXRob2QgKi8KLSAgdm9pZCBzdG9wcGVkKCk7CisgICAgICAgICAgLy8hIENvdW50ZXIgZm9yIHJlY2VpdmVkIGVycm9ycworICAgICAgICAgIGludCBtRXJyb3JDb3VudGVyOwogCi1wcml2YXRlOgotICB2b2lkIG9uRXJyb3IoYm9vbCBpc0ZhdGFsID0gdHJ1ZSk7CisgICAgICAgICAgLy8hIEluc3RhbmNlIG9mIHRoZSBjb3JyZXNwb25kaW5nIERldmljZSBDb250cm9sbGVyCisgICAgICAgICAgSU9EZXZpY2VDb250cm9sbGVyICptQ29udHJvbGxlcjsKIAotICBib29sIHBlcmZvcm1SZXN0YXJ0OworICAgICAgICAgIHZvaWQgb25FcnJvcihib29sIHBhSXNGYXRhbCA9IHRydWUpOwogCi0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtT0s7Ci0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtSW5pdGlhbGl6aW5nOwotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvSW5pdDsKLSAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21TdG9wcGVkOwotfTsKKyAgICAgICAgICBib29sIG1QZXJmb3JtUmVzdGFydDsKKworICAgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtT0s7CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21Jbml0aWFsaXppbmc7CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb0luaXQ7CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21TdG9wcGVkOworICAgICAgfTsKIAogICAgIH0gLy9uYW1lc3BhY2UgSU8KICAgfSAvL25hbWVwc2FjZSBjb3JlCmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19jb250cm9sbGVyX3BhcnQuY3BwIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fY29udHJvbGxlcl9wYXJ0LmNwcAppbmRleCA3Nzc5ZjJlLi40YmNmNDA3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19jb250cm9sbGVyX3BhcnQuY3BwCisrKyBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbnRyb2xsZXJfcGFydC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTIsMjQgKzEzLDIwIEBACiAKICNpbmNsdWRlICJpb19jb250cm9sbGVyX3BhcnQuaCIKIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKLUlPQ29uZmlnRkJQYXJ0Q29udHJvbGxlcjo6SU9Db25maWdGQlBhcnRDb250cm9sbGVyKENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsCi0gICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSkgOgotICAgIElPQ29uZmlnRkJCYXNlKHBhX3BvU3JjUmVzLCBwYV9wc3RJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIHBhX2FjRkJDb25uRGF0YSwKLSAgICAgICAgcGFfYWNGQlZhcnNEYXRhKSwgbWFzdGVyKDApIHsKLQorSU9Db25maWdGQlBhcnRDb250cm9sbGVyOjpJT0NvbmZpZ0ZCUGFydENvbnRyb2xsZXIoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLAorICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKKyAgICBJT0NvbmZpZ0ZCQmFzZShwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSksIG1NYXN0ZXIoMCkgewogfQogCi12b2lkIElPQ29uZmlnRkJQYXJ0Q29udHJvbGxlcjo6ZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCkgewotICBpZiAoSU9Db25maWdGQk11bHRpQWRhcHRlcigpLklOSVQoKSA9PSBwYV9uRUlJRCkgewotICAgIGlmIChJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyKCkuUUkoKSA9PSB0cnVlKSB7Cit2b2lkIElPQ29uZmlnRkJQYXJ0Q29udHJvbGxlcjo6ZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpIHsKKyAgaWYoSU9Db25maWdGQk11bHRpQWRhcHRlcigpLklOSVQoKSA9PSBwYUVJSUQpIHsKKyAgICBpZihJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyKCkuUUkoKSA9PSB0cnVlKSB7CiAgICAgICAvLyBHZXQgbWFzdGVyIGJ5IGlkCi0gICAgICBtYXN0ZXIgPSBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjpnZXRDb250cm9sbGVyQnlJZChJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyKCkuTWFzdGVySWQoKSk7CisgICAgICBtTWFzdGVyID0gSU9Db25maWdGQlNwbGl0Q29udHJvbGxlcjo6Z2V0Q29udHJvbGxlckJ5SWQoSU9Db25maWdGQk11bHRpQWRhcHRlcigpLk1hc3RlcklkKCkpOwogCi0gICAgICBpZiAobWFzdGVyID09IDApIHsKKyAgICAgIGlmKDAgPT0gbU1hc3RlcikgewogICAgICAgICBRTygpID0gZmFsc2U7CiAgICAgICB9IGVsc2UgewogICAgICAgICAvLyBJbml0aWFsaXplIGhhbmRsZXMKQEAgLTM5LDIwICszNiwxNyBAQAogICAgICAgfQogICAgICAgLy8gU2VuZCBjb25maXJtYXRpb24gb2YgaW5pdAogICAgICAgSU9Db25maWdGQk11bHRpQWRhcHRlcigpLlFPKCkgPSBRTygpOwotICAgICAgc2VuZEFkYXB0ZXJFdmVudChzY21fblNwbGl0QWRhcHRlckFkcE51bSwKLSAgICAgICAgICBJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyOjpzY21fbkV2ZW50SU5JVE9JRCk7CisgICAgICBzZW5kQWRhcHRlckV2ZW50KHNjbVNwbGl0QWRhcHRlckFkcE51bSwgSU9Db25maWdGQlNwbGl0QWRhcHRlcjo6c2NtRXZlbnRJTklUT0lEKTsKICAgICB9IGVsc2UgewogICAgICAgUU8oKSA9IGZhbHNlOwogCiAgICAgICAvLyBTZW5kIGNvbmZpcm1hdGlvbiBvZiBkZUluaXQKICAgICAgIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXIoKS5RTygpID0gUU8oKTsKLSAgICAgIHNlbmRBZGFwdGVyRXZlbnQoc2NtX25TcGxpdEFkYXB0ZXJBZHBOdW0sCi0gICAgICAgICAgSU9Db25maWdGQlNwbGl0QWRhcHRlcjo6c2NtX25FdmVudElOSVRPSUQpOworICAgICAgc2VuZEFkYXB0ZXJFdmVudChzY21TcGxpdEFkYXB0ZXJBZHBOdW0sIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXI6OnNjbUV2ZW50SU5JVE9JRCk7CiAgICAgfQogICB9CiB9CiAKLXZvaWQgSU9Db25maWdGQlBhcnRDb250cm9sbGVyOjppbml0SGFuZGxlKAotICAgIElPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqaGFuZGxlRGVzY3JpcHRvcikgewotICBtYXN0ZXItPmluaXRIYW5kbGUoaGFuZGxlRGVzY3JpcHRvcik7Cit2b2lkIElPQ29uZmlnRkJQYXJ0Q29udHJvbGxlcjo6aW5pdEhhbmRsZShJT0RldmljZUNvbnRyb2xsZXI6OkhhbmRsZURlc2NyaXB0b3IgKnBhSGFuZGxlRGVzY3JpcHRvcikgeworICBtTWFzdGVyLT5pbml0SGFuZGxlKHBhSGFuZGxlRGVzY3JpcHRvcik7CiB9CmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19jb250cm9sbGVyX3BhcnQuaCBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbnRyb2xsZXJfcGFydC5oCmluZGV4IDBmOWIwZWMuLjI0NDc4NzggMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbnRyb2xsZXJfcGFydC5oCisrKyBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbnRyb2xsZXJfcGFydC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE5LDQzICsyMCw0MiBAQAogCiBuYW1lc3BhY2UgZm9ydGUgewogICBuYW1lc3BhY2UgY29yZSB7Ci0gICAgbmFtZXNwYWNlIElPIHsKKyAgICBuYW1lc3BhY2UgaW8gewogCi1jbGFzcyBJT0NvbmZpZ0ZCUGFydENvbnRyb2xsZXI6IHB1YmxpYyBJT0NvbmZpZ0ZCQmFzZSB7Ci1wdWJsaWM6Ci0gIElPQ29uZmlnRkJQYXJ0Q29udHJvbGxlcihDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLAotICAgICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLAotICAgICAgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpOworICAgICAgY2xhc3MgSU9Db25maWdGQlBhcnRDb250cm9sbGVyIDogcHVibGljIElPQ29uZmlnRkJCYXNlIHsKKyAgICAgICAgcHVibGljOgorICAgICAgICAgIElPQ29uZmlnRkJQYXJ0Q29udHJvbGxlcihDUmVzb3VyY2UgKnBhU3JjUmVzLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYUludGVyZmFjZVNwZWMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgICAgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpOwogCi1wcm90ZWN0ZWQ6Ci0gIENJRUNfQk9PTCAmUUkoKSB7Ci0gICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRESSgwKSk7Ci0gIH0KKyAgICAgICAgcHJvdGVjdGVkOgorICAgICAgICAgIENJRUNfQk9PTCAmUUkoKSB7CisgICAgICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERJKDApKTsKKyAgICAgICAgICB9CiAKLSAgQ0lFQ19CT09MICZRTygpIHsKLSAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERPKDApKTsKLSAgfQorICAgICAgICAgIENJRUNfQk9PTCAmUU8oKSB7CisgICAgICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERPKDApKTsKKyAgICAgICAgICB9CiAKLSAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRNQVBJRCA9IDA7CisgICAgICAgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbUV2ZW50TUFQSUQgPSAwOwogCi0gIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50TUFQT0lEID0gMDsKKyAgICAgICAgICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtRXZlbnRNQVBPSUQgPSAwOwogCi0gIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXImIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXIoKSB7Ci0gICAgcmV0dXJuICgqc3RhdGljX2Nhc3Q8SU9Db25maWdGQlNwbGl0QWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMF0pKTsKLSAgfQorICAgICAgICAgIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXImIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXIoKSB7CisgICAgICAgICAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1swXSkpOworICAgICAgICAgIH0KIAotICBzdGF0aWMgY29uc3QgaW50IHNjbV9uU3BsaXRBZGFwdGVyQWRwTnVtID0gMDsKKyAgICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNjbVNwbGl0QWRhcHRlckFkcE51bSA9IDA7CiAKLSAgdmlydHVhbCB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpOworICAgICAgICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhRUlJRCk7CiAKLSAgSU9Db25maWdGQlNwbGl0Q29udHJvbGxlciogbWFzdGVyOworICAgICAgICAgIHZpcnR1YWwgdm9pZCBpbml0SGFuZGxlcygpID0gMDsKIAotICB2aXJ0dWFsIHZvaWQgaW5pdEhhbmRsZXMoKSA9IDA7CisgICAgICAgICAgdm9pZCBpbml0SGFuZGxlKElPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqcGFIYW5kbGVEZXNjcmlwdG9yKTsKIAotICB2b2lkIGluaXRIYW5kbGUoSU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpoYW5kbGVEZXNjcmlwdG9yKTsKKyAgICAgICAgcHJpdmF0ZToKKyAgICAgICAgICBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyKiBtTWFzdGVyOwogCi19OworICAgICAgfTsKIAogICAgIH0gLy9uYW1lc3BhY2UgSU8KICAgfSAvL25hbWVwc2FjZSBjb3JlCmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19jb250cm9sbGVyX3NwbGl0LmNwcCBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbnRyb2xsZXJfc3BsaXQuY3BwCmluZGV4IGFjYmQxZDEuLjg4MzY5MjQgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbnRyb2xsZXJfc3BsaXQuY3BwCisrKyBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbnRyb2xsZXJfc3BsaXQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTEyLDEwNCArMTMsOTMgQEAKIAogI2luY2x1ZGUgImlvX2NvbnRyb2xsZXJfc3BsaXQuaCIKIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKLWNvbnN0IGNoYXIgKiBjb25zdCBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjpzY21GYWlsZWRUb0luaXRQYXJ0cyA9Ci0gICAgIkZhaWxlZCB0byBpbml0aWFsaXplIHBhcnRzLiI7Citjb25zdCBjaGFyICogY29uc3QgSU9Db25maWdGQlNwbGl0Q29udHJvbGxlcjo6c2NtRmFpbGVkVG9Jbml0UGFydHMgPSAiRmFpbGVkIHRvIGluaXRpYWxpemUgcGFydHMuIjsKIAotVENvbnRyb2xsZXJMaXN0KiBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjppbnN0YW5jZXMgPSBuZXcgVENvbnRyb2xsZXJMaXN0KCk7Ci1URm9ydGVVSW50MTYgSU9Db25maWdGQlNwbGl0Q29udHJvbGxlcjo6aW5zdGFuY2VzSW5jcmVtZW50ID0gMDsKK1RDb250cm9sbGVyTGlzdCBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjptSW5zdGFuY2VzOworVEZvcnRlVUludDE2IElPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXI6Om1JbnN0YW5jZXNJbmNyZW1lbnQgPSAwOwogCi1JT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjpJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyKGNvbnN0IFRGb3J0ZVVJbnQ4KiBjb25zdCBzY21fc3BsaXRBZGFwdGVyLAotICAgIGNvbnN0IFRGb3J0ZVVJbnQ4IHNjbV9zcGxpdEFkYXB0ZXJfbnVtLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLAotICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsCi0gICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsCi0gICAgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpIDoKLSAgICBJT0NvbmZpZ0ZCQ29udHJvbGxlcihwYV9wb1NyY1JlcywgcGFfcHN0SW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAotICAgICAgICBwYV9hY0ZCQ29ubkRhdGEsIHBhX2FjRkJWYXJzRGF0YSksIHNjbV9zcGxpdEFkYXB0ZXIoc2NtX3NwbGl0QWRhcHRlciksIHNjbV9zcGxpdEFkYXB0ZXJfbnVtKAotICAgICAgICBzY21fc3BsaXRBZGFwdGVyX251bSksIHNwbGl0SXRlcmF0b3IoMCkgewotICBpZCA9IGluc3RhbmNlc0luY3JlbWVudCsrOwotICBpbnN0YW5jZXMtPnB1c2hCYWNrKHRoaXMpOworSU9Db25maWdGQlNwbGl0Q29udHJvbGxlcjo6SU9Db25maWdGQlNwbGl0Q29udHJvbGxlcihjb25zdCBURm9ydGVVSW50OCogY29uc3QgcGFTcGxpdEFkYXB0ZXIsIGNvbnN0IFRGb3J0ZVVJbnQ4IHBhU3BsaXRBZGFwdGVyTnVtLCBDUmVzb3VyY2UgKnBhU3JjUmVzLAorICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSkgOgorICAgIElPQ29uZmlnRkJDb250cm9sbGVyKHBhU3JjUmVzLCBwYUludGVyZmFjZVNwZWMsIHBhSW5zdGFuY2VOYW1lSWQsIHBhRkJDb25uRGF0YSwgcGFGQlZhcnNEYXRhKSwgc2NtU3BsaXRBZGFwdGVyKHBhU3BsaXRBZGFwdGVyKSwKKyAgICAgICAgc2NtU3BsaXRBZGFwdGVyTnVtKHBhU3BsaXRBZGFwdGVyTnVtKSwgbVNwbGl0SXRlcmF0b3IoMCkgeworICBtSWQgPSBtSW5zdGFuY2VzSW5jcmVtZW50Kys7CisgIG1JbnN0YW5jZXMucHVzaEJhY2sodGhpcyk7CiB9CiAKLUlPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXIqIElPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXI6OmdldENvbnRyb2xsZXJCeUlkKFRGb3J0ZVVJbnQxNiBpZCkgewotICBUQ29udHJvbGxlckxpc3Q6Okl0ZXJhdG9yIGl0RW5kID0gaW5zdGFuY2VzLT5lbmQoKTsKK0lPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXIqIElPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXI6OmdldENvbnRyb2xsZXJCeUlkKFRGb3J0ZVVJbnQxNiBwYUlkKSB7CisgIFRDb250cm9sbGVyTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBtSW5zdGFuY2VzLmVuZCgpOwogICBpbnQgaSA9IDA7Ci0gIGZvciAoVENvbnRyb2xsZXJMaXN0OjpJdGVyYXRvciBpdCA9IGluc3RhbmNlcy0+YmVnaW4oKTsgaXQgIT0gaXRFbmQ7Ci0gICAgICArK2l0LCBpKyspCi0gICAgaWYgKGlkID09IGkgJiYgKml0ICE9IDApCisgIGZvcihUQ29udHJvbGxlckxpc3Q6Okl0ZXJhdG9yIGl0ID0gbUluc3RhbmNlcy5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCwgaSsrKSB7CisgICAgaWYocGFJZCA9PSBpICYmICppdCAhPSAwKSB7CiAgICAgICByZXR1cm4gKml0OworICAgIH0KKyAgfQogICByZXR1cm4gMDsKIH0KIAogdm9pZCBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjpvblN0YXJ0dXAoKSB7Ci0gIHNwbGl0SXRlcmF0b3IgPSAwOworICBtU3BsaXRJdGVyYXRvciA9IDA7CiAKLSAgaWYgKCFzY21fc3BsaXRBZGFwdGVyX251bSkgeworICBpZighc2NtU3BsaXRBZGFwdGVyTnVtKSB7CiAgICAgcmV0dXJuIElPQ29uZmlnRkJDb250cm9sbGVyOjpvblN0YXJ0dXAoKTsKICAgfQogCi0gIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIgKmN1ciA9Ci0gICAgICBzdGF0aWNfY2FzdDxJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1tzY21fc3BsaXRBZGFwdGVyW3NwbGl0SXRlcmF0b3JdXSk7CisgIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIgKmN1ciA9IHN0YXRpY19jYXN0PElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIqPihtX2Fwb0FkYXB0ZXJzW3NjbVNwbGl0QWRhcHRlclttU3BsaXRJdGVyYXRvcl1dKTsKIAotICB3aGlsZSAoIWN1ciB8fCBjdXItPmdldFBlZXIoKSA9PSAwKSB7Ci0gICAgc3BsaXRJdGVyYXRvcisrOworICB3aGlsZSghY3VyIHx8IDAgPT0gY3VyLT5nZXRQZWVyKCkpIHsKKyAgICBtU3BsaXRJdGVyYXRvcisrOwogCi0gICAgaWYgKHNwbGl0SXRlcmF0b3IgPT0gc2NtX3NwbGl0QWRhcHRlcl9udW0pIHsKKyAgICBpZihtU3BsaXRJdGVyYXRvciA9PSBzY21TcGxpdEFkYXB0ZXJOdW0pIHsKICAgICAgIHJldHVybiBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6b25TdGFydHVwKCk7CiAgICAgfQogCi0gICAgY3VyID0KLSAgICAgICAgc3RhdGljX2Nhc3Q8SU9Db25maWdGQlNwbGl0QWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbc2NtX3NwbGl0QWRhcHRlcltzcGxpdEl0ZXJhdG9yXV0pOworICAgIGN1ciA9IHN0YXRpY19jYXN0PElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIqPihtX2Fwb0FkYXB0ZXJzW3NjbVNwbGl0QWRhcHRlclttU3BsaXRJdGVyYXRvcl1dKTsKICAgfQogCi0gIGN1ci0+TWFzdGVySWQoKSA9IGlkOworICBjdXItPk1hc3RlcklkKCkgPSBtSWQ7CiAgIGN1ci0+UUkoKSA9IHRydWU7Ci0gIHNlbmRBZGFwdGVyRXZlbnQoc2NtX3NwbGl0QWRhcHRlcltzcGxpdEl0ZXJhdG9yXSwKLSAgICAgIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXI6OnNjbV9uRXZlbnRJTklUSUQpOworICBzZW5kQWRhcHRlckV2ZW50KHNjbVNwbGl0QWRhcHRlclttU3BsaXRJdGVyYXRvcl0sIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXI6OnNjbUV2ZW50SU5JVElEKTsKIH0KIAogdm9pZCBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjpvblN0b3AoKSB7Ci0gIHNwbGl0SXRlcmF0b3IgPSAwOworICBtU3BsaXRJdGVyYXRvciA9IDA7CiAKLSAgaWYgKCFzY21fc3BsaXRBZGFwdGVyX251bSkgeworICBpZighc2NtU3BsaXRBZGFwdGVyTnVtKSB7CiAgICAgcmV0dXJuIElPQ29uZmlnRkJDb250cm9sbGVyOjpvblN0b3AoKTsKICAgfQogCi0gIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIgKmN1ciA9Ci0gICAgICBzdGF0aWNfY2FzdDxJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1tzY21fc3BsaXRBZGFwdGVyW3NwbGl0SXRlcmF0b3JdXSk7CisgIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIgKmN1ciA9IHN0YXRpY19jYXN0PElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIqPihtX2Fwb0FkYXB0ZXJzW3NjbVNwbGl0QWRhcHRlclttU3BsaXRJdGVyYXRvcl1dKTsKIAotICB3aGlsZSAoY3VyLT5nZXRQZWVyKCkgPT0gMCkgewotICAgIHNwbGl0SXRlcmF0b3IrKzsKKyAgd2hpbGUoY3VyLT5nZXRQZWVyKCkgPT0gMCkgeworICAgIG1TcGxpdEl0ZXJhdG9yKys7CiAKLSAgICBpZiAoc3BsaXRJdGVyYXRvciA9PSBzY21fc3BsaXRBZGFwdGVyX251bSkgeworICAgIGlmKG1TcGxpdEl0ZXJhdG9yID09IHNjbVNwbGl0QWRhcHRlck51bSkgewogICAgICAgcmV0dXJuIElPQ29uZmlnRkJDb250cm9sbGVyOjpvblN0b3AoKTsKICAgICB9CiAKLSAgICBjdXIgPQotICAgICAgICBzdGF0aWNfY2FzdDxJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1tzY21fc3BsaXRBZGFwdGVyW3NwbGl0SXRlcmF0b3JdXSk7CisgICAgY3VyID0gc3RhdGljX2Nhc3Q8SU9Db25maWdGQlNwbGl0QWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbc2NtU3BsaXRBZGFwdGVyW21TcGxpdEl0ZXJhdG9yXV0pOwogICB9CiAKICAgY3VyLT5RSSgpID0gZmFsc2U7Ci0gIHNlbmRBZGFwdGVyRXZlbnQoc2NtX3NwbGl0QWRhcHRlcltzcGxpdEl0ZXJhdG9yXSwKLSAgICAgIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXI6OnNjbV9uRXZlbnRJTklUSUQpOworICBzZW5kQWRhcHRlckV2ZW50KHNjbVNwbGl0QWRhcHRlclttU3BsaXRJdGVyYXRvcl0sIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXI6OnNjbUV2ZW50SU5JVElEKTsKIH0KIAotdm9pZCBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjpleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKSB7Ci0gIElPQ29uZmlnRkJDb250cm9sbGVyOjpleGVjdXRlRXZlbnQocGFfbkVJSUQpOwordm9pZCBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyOjpleGVjdXRlRXZlbnQoaW50IHBhRUlJRCkgeworICBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6ZXhlY3V0ZUV2ZW50KHBhRUlJRCk7CiAKLSAgaWYgKHNwbGl0SXRlcmF0b3IgPCBzY21fc3BsaXRBZGFwdGVyX251bSkgewotICAgIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIgKmN1ciA9Ci0gICAgICAgIHN0YXRpY19jYXN0PElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIqPihtX2Fwb0FkYXB0ZXJzW3NjbV9zcGxpdEFkYXB0ZXJbc3BsaXRJdGVyYXRvcl1dKTsKLSAgICBpZiAoY3VyLT5JTklUTygpID09IHBhX25FSUlEKSB7CisgIGlmKG1TcGxpdEl0ZXJhdG9yIDwgc2NtU3BsaXRBZGFwdGVyTnVtKSB7CisgICAgSU9Db25maWdGQlNwbGl0QWRhcHRlciAqY3VyID0gc3RhdGljX2Nhc3Q8SU9Db25maWdGQlNwbGl0QWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbc2NtU3BsaXRBZGFwdGVyW21TcGxpdEl0ZXJhdG9yXV0pOworICAgIGlmKGN1ci0+SU5JVE8oKSA9PSBwYUVJSUQpIHsKIAogICAgICAgUU8oKSA9IGN1ci0+UU8oKTsKIAotICAgICAgc3BsaXRJdGVyYXRvcisrOworICAgICAgbVNwbGl0SXRlcmF0b3IrKzsKIAotICAgICAgaWYgKHNwbGl0SXRlcmF0b3IgPT0gc2NtX3NwbGl0QWRhcHRlcl9udW0gfHwgKGN1ci0+UUkoKSAmJiAhY3VyLT5RTygpKSkgewotICAgICAgICBpZiAoY3VyLT5RSSgpID09IHRydWUpIHsKLSAgICAgICAgICBpZiAoY3VyLT5RTygpID09IHRydWUpIHsKKyAgICAgIGlmKG1TcGxpdEl0ZXJhdG9yID09IHNjbVNwbGl0QWRhcHRlck51bSB8fCAoY3VyLT5RSSgpICYmICFjdXItPlFPKCkpKSB7CisgICAgICAgIGlmKGN1ci0+UUkoKSA9PSB0cnVlKSB7CisgICAgICAgICAgaWYoY3VyLT5RTygpID09IHRydWUpIHsKICAgICAgICAgICAgIElPQ29uZmlnRkJDb250cm9sbGVyOjpvblN0YXJ0dXAoKTsKICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgc3RhcnRlZChzY21GYWlsZWRUb0luaXRQYXJ0cyk7CkBAIC0xMTgsMjkgKzEwOCwyNiBAQAogICAgICAgICAgIElPQ29uZmlnRkJDb250cm9sbGVyOjpvblN0b3AoKTsKICAgICAgICAgfQogICAgICAgfSBlbHNlIHsKLSAgICAgICAgSU9Db25maWdGQlNwbGl0QWRhcHRlciAqbmV4dCA9Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1tzY21fc3BsaXRBZGFwdGVyW3NwbGl0SXRlcmF0b3JdXSk7CisgICAgICAgIElPQ29uZmlnRkJTcGxpdEFkYXB0ZXIgKm5leHQgPSBzdGF0aWNfY2FzdDxJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1tzY21TcGxpdEFkYXB0ZXJbbVNwbGl0SXRlcmF0b3JdXSk7CiAKLSAgICAgICAgd2hpbGUgKCFuZXh0IHx8IG5leHQtPmdldFBlZXIoKSA9PSAwKSB7Ci0gICAgICAgICAgc3BsaXRJdGVyYXRvcisrOworICAgICAgICB3aGlsZSghbmV4dCB8fCAwID09IG5leHQtPmdldFBlZXIoKSkgeworICAgICAgICAgIG1TcGxpdEl0ZXJhdG9yKys7CiAKLSAgICAgICAgICBpZiAoc3BsaXRJdGVyYXRvciA9PSBzY21fc3BsaXRBZGFwdGVyX251bSkgewotICAgICAgICAgICAgaWYgKGN1ci0+UU8oKSA9PSB0cnVlKSB7CisgICAgICAgICAgaWYobVNwbGl0SXRlcmF0b3IgPT0gc2NtU3BsaXRBZGFwdGVyTnVtKSB7CisgICAgICAgICAgICBpZihjdXItPlFPKCkgPT0gdHJ1ZSkgewogICAgICAgICAgICAgICByZXR1cm4gSU9Db25maWdGQkNvbnRyb2xsZXI6Om9uU3RhcnR1cCgpOwogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgcmV0dXJuIElPQ29uZmlnRkJDb250cm9sbGVyOjpvblN0b3AoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAKLSAgICAgICAgICBuZXh0ID0KLSAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8SU9Db25maWdGQlNwbGl0QWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbc2NtX3NwbGl0QWRhcHRlcltzcGxpdEl0ZXJhdG9yXV0pOworICAgICAgICAgIG5leHQgPSBzdGF0aWNfY2FzdDxJT0NvbmZpZ0ZCU3BsaXRBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1tzY21TcGxpdEFkYXB0ZXJbbVNwbGl0SXRlcmF0b3JdXSk7CiAgICAgICAgIH0KIAotICAgICAgICBuZXh0LT5NYXN0ZXJJZCgpID0gaWQ7CisgICAgICAgIG5leHQtPk1hc3RlcklkKCkgPSBtSWQ7CiAgICAgICAgIG5leHQtPlFJKCkgPSBjdXItPlFJKCk7CiAKLSAgICAgICAgc2VuZEFkYXB0ZXJFdmVudChzY21fc3BsaXRBZGFwdGVyW3NwbGl0SXRlcmF0b3JdLAotICAgICAgICAgICAgSU9Db25maWdGQlNwbGl0QWRhcHRlcjo6c2NtX25FdmVudElOSVRJRCk7CisgICAgICAgIHNlbmRBZGFwdGVyRXZlbnQoc2NtU3BsaXRBZGFwdGVyW21TcGxpdEl0ZXJhdG9yXSwgSU9Db25maWdGQlNwbGl0QWRhcHRlcjo6c2NtRXZlbnRJTklUSUQpOwogICAgICAgfQogICAgIH0KICAgfQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fY29udHJvbGxlcl9zcGxpdC5oIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fY29udHJvbGxlcl9zcGxpdC5oCmluZGV4IGZjMTQ4NDcuLmM1NmE2NjAgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX2NvbnRyb2xsZXJfc3BsaXQuaAorKysgYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19jb250cm9sbGVyX3NwbGl0LmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTgsNTAgKzE5LDQ3IEBACiAKIG5hbWVzcGFjZSBmb3J0ZSB7CiAgIG5hbWVzcGFjZSBjb3JlIHsKLSAgICBuYW1lc3BhY2UgSU8geworICAgIG5hbWVzcGFjZSBpbyB7CiAKICNkZWZpbmUgRlVOQ1RJT05fQkxPQ0tfQ1RPUl9GT1JfSU9fU1BMSVRfQ09OVFJPTExFUihmYmNsYXNzKSBcCi0gZmJjbGFzcyhjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcykgOiBcCi0gSU9Db25maWdGQlNwbGl0Q29udHJvbGxlciggKGNvbnN0IFRGb3J0ZVVJbnQ4KiBjb25zdCkgJnNjbV9zcGxpdEFkYXB0ZXIsIHNjbV9zcGxpdEFkYXB0ZXJfbnVtLCBwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpCisgZmJjbGFzcyhjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFTcmNSZXMpIDogXAorIElPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXIoIChjb25zdCBURm9ydGVVSW50OCogY29uc3QpICZzY21TcGxpdEFkYXB0ZXIsIHNjbVNwbGl0QWRhcHRlck51bSwgcGFTcmNSZXMsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhSW5zdGFuY2VOYW1lSWQsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSkKIAotY2xhc3MgSU9Db25maWdGQlNwbGl0Q29udHJvbGxlcjsKKyAgICAgIGNsYXNzIElPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXI7CiAKLXR5cGVkZWYgQ1NpbmdseUxpbmtlZExpc3Q8SU9Db25maWdGQlNwbGl0Q29udHJvbGxlcio+IFRDb250cm9sbGVyTGlzdDsKKyAgICAgIHR5cGVkZWYgQ1NpbmdseUxpbmtlZExpc3Q8SU9Db25maWdGQlNwbGl0Q29udHJvbGxlcio+IFRDb250cm9sbGVyTGlzdDsKIAotY2xhc3MgSU9Db25maWdGQlNwbGl0Q29udHJvbGxlcjogcHVibGljIElPQ29uZmlnRkJDb250cm9sbGVyIHsKLXB1YmxpYzoKLSAgSU9Db25maWdGQlNwbGl0Q29udHJvbGxlcihjb25zdCBURm9ydGVVSW50OCogY29uc3Qgc2NtX3NwbGl0QWRhcHRlciwKLSAgICAgIGNvbnN0IFRGb3J0ZVVJbnQ4IHNjbV9zcGxpdEFkYXB0ZXJfbnVtLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLAotICAgICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLAotICAgICAgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpOworICAgICAgY2xhc3MgSU9Db25maWdGQlNwbGl0Q29udHJvbGxlciA6IHB1YmxpYyBJT0NvbmZpZ0ZCQ29udHJvbGxlciB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICBJT0NvbmZpZ0ZCU3BsaXRDb250cm9sbGVyKGNvbnN0IFRGb3J0ZVVJbnQ4KiBjb25zdCBwYVNwbGl0QWRhcHRlciwgY29uc3QgVEZvcnRlVUludDggcGFTcGxpdEFkYXB0ZXJOdW0sIENSZXNvdXJjZSAqcGFTcmNSZXMsCisgICAgICAgICAgICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSk7CiAKLSAgc3RhdGljIElPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXIqIGdldENvbnRyb2xsZXJCeUlkKFRGb3J0ZVVJbnQxNiBpZCk7CisgICAgICAgICAgc3RhdGljIElPQ29uZmlnRkJTcGxpdENvbnRyb2xsZXIqIGdldENvbnRyb2xsZXJCeUlkKFRGb3J0ZVVJbnQxNiBwYUlkKTsKIAotICB1c2luZyBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6aW5pdEhhbmRsZTsKKyAgICAgICAgICB1c2luZyBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6aW5pdEhhbmRsZTsKIAotcHJvdGVjdGVkOgorICAgICAgICBwcm90ZWN0ZWQ6CiAKLSAgdmlydHVhbCB2b2lkIG9uU3RhcnR1cCgpOworICAgICAgICAgIHZpcnR1YWwgdm9pZCBvblN0YXJ0dXAoKTsKIAotICB2aXJ0dWFsIHZvaWQgb25TdG9wKCk7CisgICAgICAgICAgdmlydHVhbCB2b2lkIG9uU3RvcCgpOwogCi0gIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKTsKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpOwogCi1wcml2YXRlOgotICBjb25zdCBURm9ydGVVSW50OCogc2NtX3NwbGl0QWRhcHRlcjsKLSAgY29uc3QgVEZvcnRlVUludDggc2NtX3NwbGl0QWRhcHRlcl9udW07CisgICAgICAgIHByaXZhdGU6CisgICAgICAgICAgY29uc3QgVEZvcnRlVUludDgqIHNjbVNwbGl0QWRhcHRlcjsKKyAgICAgICAgICBjb25zdCBURm9ydGVVSW50OCBzY21TcGxpdEFkYXB0ZXJOdW07CiAKLSAgVEZvcnRlVUludDggc3BsaXRJdGVyYXRvcjsKKyAgICAgICAgICBURm9ydGVVSW50OCBtU3BsaXRJdGVyYXRvcjsKIAotICBzdGF0aWMgVENvbnRyb2xsZXJMaXN0ICppbnN0YW5jZXM7CisgICAgICAgICAgc3RhdGljIFRDb250cm9sbGVyTGlzdCBtSW5zdGFuY2VzOwogCi0gIHN0YXRpYyBURm9ydGVVSW50MTYgaW5zdGFuY2VzSW5jcmVtZW50OworICAgICAgICAgIHN0YXRpYyBURm9ydGVVSW50MTYgbUluc3RhbmNlc0luY3JlbWVudDsKIAotICBURm9ydGVVSW50MTYgaWQ7CisgICAgICAgICAgVEZvcnRlVUludDE2IG1JZDsKIAotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvSW5pdFBhcnRzOwotfTsKKyAgICAgICAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvSW5pdFBhcnRzOworICAgICAgfTsKIAogICAgIH0gLy9uYW1lc3BhY2UgSU8KICAgfSAvL25hbWVwc2FjZSBjb3JlCmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19tYXN0ZXJfbXVsdGkuY3BwIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fbWFzdGVyX211bHRpLmNwcAppbmRleCBiNmRmY2YwLi5mNWJjNGI3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19tYXN0ZXJfbXVsdGkuY3BwCisrKyBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX21hc3Rlcl9tdWx0aS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTIsNjQgKzEzLDYzIEBACiAKICNpbmNsdWRlICJpb19tYXN0ZXJfbXVsdGkuaCIKIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKLWNvbnN0IGNoYXIgKiBjb25zdCBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6OnNjbUZhaWxlZFRvSW5pdFNsYXZlcyA9Ci0gICAgIkZhaWxlZCB0byBpbml0aWFsaXplIHNsYXZlcy4gQ2hlY2sgaWYgdGhlIGNvbmZpZ3VyYXRpb24gbWF0Y2hlcyB0aGUgaGFyZHdhcmUgc2V0dXAuIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6OnNjbUZhaWxlZFRvSW5pdFNsYXZlcyA9ICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBzbGF2ZXMuIENoZWNrIGlmIHRoZSBjb25maWd1cmF0aW9uIG1hdGNoZXMgdGhlIGhhcmR3YXJlIHNldHVwLiI7CiAKLVRNYXN0ZXJMaXN0KiBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6Omluc3RhbmNlcyA9IG5ldyBUTWFzdGVyTGlzdCgpOwotVEZvcnRlVUludDE2IElPQ29uZmlnRkJNdWx0aU1hc3Rlcjo6aW5zdGFuY2VzSW5jcmVtZW50ID0gMDsKK1RNYXN0ZXJMaXN0IElPQ29uZmlnRkJNdWx0aU1hc3Rlcjo6bUluc3RhbmNlczsKK1RGb3J0ZVVJbnQxNiBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6Om1JbnN0YW5jZXNJbmNyZW1lbnQgPSAwOwogCi1JT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6OklPQ29uZmlnRkJNdWx0aU1hc3RlcihDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLAotICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsCi0gICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsCi0gICAgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpIDoKLSAgICBJT0NvbmZpZ0ZCQ29udHJvbGxlcihwYV9wb1NyY1JlcywgcGFfcHN0SW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAotICAgICAgICBwYV9hY0ZCQ29ubkRhdGEsIHBhX2FjRkJWYXJzRGF0YSkgewotICBpZCA9IGluc3RhbmNlc0luY3JlbWVudCsrOwotICBpbnN0YW5jZXMtPnB1c2hCYWNrKHRoaXMpOworSU9Db25maWdGQk11bHRpTWFzdGVyOjpJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXIoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsCisgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKKyAgICBJT0NvbmZpZ0ZCQ29udHJvbGxlcihwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSkgeworICBtSWQgPSBtSW5zdGFuY2VzSW5jcmVtZW50Kys7CisgIG1JbnN0YW5jZXMucHVzaEJhY2sodGhpcyk7CiB9CiAKLUlPQ29uZmlnRkJNdWx0aU1hc3RlciogSU9Db25maWdGQk11bHRpTWFzdGVyOjpnZXRNYXN0ZXJCeUlkKFRGb3J0ZVVJbnQxNiBpZCkgewotICBUTWFzdGVyTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBpbnN0YW5jZXMtPmVuZCgpOworSU9Db25maWdGQk11bHRpTWFzdGVyKiBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6OmdldE1hc3RlckJ5SWQoVEZvcnRlVUludDE2IHBhSWQpIHsKKyAgVE1hc3Rlckxpc3Q6Okl0ZXJhdG9yIGl0RW5kID0gbUluc3RhbmNlcy5lbmQoKTsKICAgaW50IGkgPSAwOwotICBmb3IgKFRNYXN0ZXJMaXN0OjpJdGVyYXRvciBpdCA9IGluc3RhbmNlcy0+YmVnaW4oKTsgaXQgIT0gaXRFbmQ7ICsraXQsIGkrKykKLSAgICBpZiAoaWQgPT0gaSAmJiAqaXQgIT0gMCkKKyAgZm9yKFRNYXN0ZXJMaXN0OjpJdGVyYXRvciBpdCA9IG1JbnN0YW5jZXMuYmVnaW4oKTsgaXQgIT0gaXRFbmQ7ICsraXQsIGkrKykgeworICAgIGlmKHBhSWQgPT0gaSAmJiAqaXQgIT0gMCkgewogICAgICAgcmV0dXJuICppdDsKKyAgICB9CisgIH0KICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQgSU9Db25maWdGQk11bHRpTWFzdGVyOjpvblN0YXJ0dXAoKSB7Ci0gIGlmIChCdXNBZGFwdGVyT3V0KCkuZ2V0UGVlcigpID09IDApIHsKKyAgaWYoMCA9PSBCdXNBZGFwdGVyT3V0KCkuZ2V0UGVlcigpKSB7CiAgICAgcmV0dXJuIElPQ29uZmlnRkJDb250cm9sbGVyOjpvblN0YXJ0dXAoKTsKICAgfQogCi0gIEJ1c0FkYXB0ZXJPdXQoKS5NYXN0ZXJJZCgpID0gaWQ7CisgIEJ1c0FkYXB0ZXJPdXQoKS5NYXN0ZXJJZCgpID0gbUlkOwogICBCdXNBZGFwdGVyT3V0KCkuSW5kZXgoKSA9IDA7CiAgIEJ1c0FkYXB0ZXJPdXQoKS5RSSgpID0gdHJ1ZTsKLSAgc2VuZEFkYXB0ZXJFdmVudChzY21fbkJ1c0FkYXB0ZXJBZHBOdW0sIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OnNjbV9uRXZlbnRJTklUSUQpOworICBzZW5kQWRhcHRlckV2ZW50KHNjbUJ1c0FkYXB0ZXJBZHBOdW0sIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OnNjbUV2ZW50SU5JVElEKTsKIH0KIAogdm9pZCBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6Om9uU3RvcCgpIHsKLSAgaWYgKEJ1c0FkYXB0ZXJPdXQoKS5nZXRQZWVyKCkgPT0gMCkgeworICBpZigwID09IEJ1c0FkYXB0ZXJPdXQoKS5nZXRQZWVyKCkpIHsKICAgICByZXR1cm4gSU9Db25maWdGQkNvbnRyb2xsZXI6Om9uU3RvcCgpOwogICB9CiAKICAgQnVzQWRhcHRlck91dCgpLlFJKCkgPSBmYWxzZTsKLSAgc2VuZEFkYXB0ZXJFdmVudChzY21fbkJ1c0FkYXB0ZXJBZHBOdW0sIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OnNjbV9uRXZlbnRJTklUSUQpOworICBzZW5kQWRhcHRlckV2ZW50KHNjbUJ1c0FkYXB0ZXJBZHBOdW0sIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OnNjbUV2ZW50SU5JVElEKTsKIH0KIAotdm9pZCBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpIHsKLSAgSU9Db25maWdGQkNvbnRyb2xsZXI6OmV4ZWN1dGVFdmVudChwYV9uRUlJRCk7Cit2b2lkIElPQ29uZmlnRkJNdWx0aU1hc3Rlcjo6ZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpIHsKKyAgSU9Db25maWdGQkNvbnRyb2xsZXI6OmV4ZWN1dGVFdmVudChwYUVJSUQpOwogCi0gIGlmIChCdXNBZGFwdGVyT3V0KCkuSU5JVE8oKSA9PSBwYV9uRUlJRCkgeworICBpZihCdXNBZGFwdGVyT3V0KCkuSU5JVE8oKSA9PSBwYUVJSUQpIHsKICAgICBRTygpID0gQnVzQWRhcHRlck91dCgpLlFPKCk7CiAKLSAgICBpZiAoQnVzQWRhcHRlck91dCgpLlFJKCkgPT0gdHJ1ZSkgewotICAgICAgaWYgKEJ1c0FkYXB0ZXJPdXQoKS5RTygpID09IHRydWUpCisgICAgaWYoQnVzQWRhcHRlck91dCgpLlFJKCkgPT0gdHJ1ZSkgeworICAgICAgaWYoQnVzQWRhcHRlck91dCgpLlFPKCkgPT0gdHJ1ZSkgewogICAgICAgICBJT0NvbmZpZ0ZCQ29udHJvbGxlcjo6b25TdGFydHVwKCk7Ci0gICAgICBlbHNlCisgICAgICB9IGVsc2UgewogICAgICAgICBzdGFydGVkKHNjbUZhaWxlZFRvSW5pdFNsYXZlcyk7CisgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgIElPQ29uZmlnRkJDb250cm9sbGVyOjpvblN0b3AoKTsKICAgICB9CmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19tYXN0ZXJfbXVsdGkuaCBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX21hc3Rlcl9tdWx0aS5oCmluZGV4IDJkNGVhZTguLjA3MGM1YjMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX21hc3Rlcl9tdWx0aS5oCisrKyBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX21hc3Rlcl9tdWx0aS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTIwLDQzICsyMSw0MiBAQAogCiBuYW1lc3BhY2UgZm9ydGUgewogICBuYW1lc3BhY2UgY29yZSB7Ci0gICAgbmFtZXNwYWNlIElPIHsKKyAgICBuYW1lc3BhY2UgaW8gewogCi1jbGFzcyBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI7CisgICAgICBjbGFzcyBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI7CiAKLXR5cGVkZWYgQ1NpbmdseUxpbmtlZExpc3Q8SU9Db25maWdGQk11bHRpTWFzdGVyKj4gVE1hc3Rlckxpc3Q7CisgICAgICB0eXBlZGVmIENTaW5nbHlMaW5rZWRMaXN0PElPQ29uZmlnRkJNdWx0aU1hc3Rlcio+IFRNYXN0ZXJMaXN0OwogCi1jbGFzcyBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6IHB1YmxpYyBJT0NvbmZpZ0ZCQ29udHJvbGxlciB7Ci1wdWJsaWM6Ci0gIElPQ29uZmlnRkJNdWx0aU1hc3RlcihDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjLAotICAgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsCi0gICAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSk7CisgICAgICBjbGFzcyBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXIgOiBwdWJsaWMgSU9Db25maWdGQkNvbnRyb2xsZXIgeworICAgICAgICBwdWJsaWM6CisgICAgICAgICAgSU9Db25maWdGQk11bHRpTWFzdGVyKENSZXNvdXJjZSAqcGFTcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSk7CiAKLSAgc3RhdGljIElPQ29uZmlnRkJNdWx0aU1hc3RlciogZ2V0TWFzdGVyQnlJZChURm9ydGVVSW50MTYgaWQpOworICAgICAgICAgIHN0YXRpYyBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXIqIGdldE1hc3RlckJ5SWQoVEZvcnRlVUludDE2IHBhSWQpOwogCi0gIHVzaW5nIElPQ29uZmlnRkJDb250cm9sbGVyOjppbml0SGFuZGxlOworICAgICAgICAgIHVzaW5nIElPQ29uZmlnRkJDb250cm9sbGVyOjppbml0SGFuZGxlOwogCi1wcm90ZWN0ZWQ6Ci0gIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXImIEJ1c0FkYXB0ZXJPdXQoKSB7Ci0gICAgcmV0dXJuICgqc3RhdGljX2Nhc3Q8SU9Db25maWdGQk11bHRpQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMF0pKTsKLSAgfQotICBzdGF0aWMgY29uc3QgaW50IHNjbV9uQnVzQWRhcHRlckFkcE51bSA9IDA7CisgICAgICAgIHByb3RlY3RlZDoKKyAgICAgICAgICBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyJiBCdXNBZGFwdGVyT3V0KCkgeworICAgICAgICAgICAgcmV0dXJuICgqc3RhdGljX2Nhc3Q8SU9Db25maWdGQk11bHRpQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMF0pKTsKKyAgICAgICAgICB9CisgICAgICAgICAgc3RhdGljIGNvbnN0IGludCBzY21CdXNBZGFwdGVyQWRwTnVtID0gMDsKIAotICB2aXJ0dWFsIHZvaWQgb25TdGFydHVwKCk7CisgICAgICAgICAgdmlydHVhbCB2b2lkIG9uU3RhcnR1cCgpOwogCi0gIHZpcnR1YWwgdm9pZCBvblN0b3AoKTsKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgb25TdG9wKCk7CiAKLSAgdmlydHVhbCB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpOworICAgICAgICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhRUlJRCk7CiAKLXByaXZhdGU6Ci0gIHN0YXRpYyBUTWFzdGVyTGlzdCAqaW5zdGFuY2VzOworICAgICAgICBwcml2YXRlOgorICAgICAgICAgIHN0YXRpYyBUTWFzdGVyTGlzdCBtSW5zdGFuY2VzOwogCi0gIHN0YXRpYyBURm9ydGVVSW50MTYgaW5zdGFuY2VzSW5jcmVtZW50OworICAgICAgICAgIHN0YXRpYyBURm9ydGVVSW50MTYgbUluc3RhbmNlc0luY3JlbWVudDsKIAotICBURm9ydGVVSW50MTYgaWQ7CisgICAgICAgICAgVEZvcnRlVUludDE2IG1JZDsKIAotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvSW5pdFNsYXZlczsKLX07CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb0luaXRTbGF2ZXM7CisgICAgICB9OwogCiAgICAgfSAvL25hbWVzcGFjZSBJTwogICB9IC8vbmFtZXBzYWNlIGNvcmUKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX3NsYXZlX211bHRpLmNwcCBiL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX3NsYXZlX211bHRpLmNwcAppbmRleCA1NWY1OTEyLi5iODRjYjE0IDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9jb25maWdGQi9pb19zbGF2ZV9tdWx0aS5jcHAKKysrIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fc2xhdmVfbXVsdGkuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTEyLDcgKzEzLDcgQEAKIAogI2luY2x1ZGUgImlvX3NsYXZlX211bHRpLmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6SU87Cit1c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvcmU6OmlvOwogCiBjb25zdCBjaGFyICogY29uc3QgSU9Db25maWdGQk11bHRpU2xhdmU6OnNjbU9LID0gIk9LIjsKIGNvbnN0IGNoYXIgKiBjb25zdCBJT0NvbmZpZ0ZCTXVsdGlTbGF2ZTo6c2NtU3RvcHBlZCA9ICJTdG9wcGVkIjsKQEAgLTIwLDY1ICsyMSw1NSBAQAogY29uc3QgY2hhciAqIGNvbnN0IElPQ29uZmlnRkJNdWx0aVNsYXZlOjpzY21Ob3RGb3VuZCA9ICJNb2R1bGUgbm90IGZvdW5kIjsKIGNvbnN0IGNoYXIgKiBjb25zdCBJT0NvbmZpZ0ZCTXVsdGlTbGF2ZTo6c2NtSW5jb3JyZWN0VHlwZSA9ICJNb2R1bGUgdHlwZSBpcyBpbmNvcnJlY3QiOwogCi1JT0NvbmZpZ0ZCTXVsdGlTbGF2ZTo6SU9Db25maWdGQk11bHRpU2xhdmUoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sCi0gICAgY29uc3QgVEZvcnRlVUludDggcGFTbGF2ZUNvbmZpZ3VyYXRpb25JT19udW0sIGludCB0eXBlLAotICAgIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsCi0gICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSkgOgotICAgIElPQ29uZmlnRkJCYXNlKHBhX3BvU3JjUmVzLCBwYV9wc3RJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIHBhX2FjRkJDb25uRGF0YSwKLSAgICAgICAgcGFfYWNGQlZhcnNEYXRhKSwgbWFzdGVyKDApLCBpbmRleCgtMSksIHR5cGUodHlwZSksIGluaXRpYWxpemVkKGZhbHNlKSwgbVNsYXZlQ29uZmlndXJhdGlvbklPKAotICAgICAgICBwYVNsYXZlQ29uZmlndXJhdGlvbklPKSwgbVNsYXZlQ29uZmlndXJhdGlvbklPX251bSgKLSAgICAgICAgcGFTbGF2ZUNvbmZpZ3VyYXRpb25JT19udW0pLCBtU2xhdmVDb25maWd1cmF0aW9uSU9faXNEZWZhdWx0KAotICAgICAgICBuZXcgYm9vbFtwYVNsYXZlQ29uZmlndXJhdGlvbklPX251bV0oKSkgewotICBmb3IgKGludCBpID0gMDsgaSA8IG1TbGF2ZUNvbmZpZ3VyYXRpb25JT19udW07IGkrKykKLSAgICBtU2xhdmVDb25maWd1cmF0aW9uSU9faXNEZWZhdWx0W2ldID0gZmFsc2U7CitJT0NvbmZpZ0ZCTXVsdGlTbGF2ZTo6SU9Db25maWdGQk11bHRpU2xhdmUoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sIGNvbnN0IFRGb3J0ZVVJbnQ4IHBhU2xhdmVDb25maWd1cmF0aW9uSU9OdW0sIGludCBwYVR5cGUsCisgICAgQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIFRGb3J0ZUJ5dGUgKnBhRkJDb25uRGF0YSwKKyAgICBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKKyAgICBJT0NvbmZpZ0ZCQmFzZShwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSksIG1JbmRleCgtMSksIG1TbGF2ZUNvbmZpZ3VyYXRpb25JTyhwYVNsYXZlQ29uZmlndXJhdGlvbklPKSwKKyAgICAgICAgbU1hc3RlcigwKSwgbVR5cGUocGFUeXBlKSwgbUluaXRpYWxpemVkKGZhbHNlKSwgbVNsYXZlQ29uZmlndXJhdGlvbklPTnVtKHBhU2xhdmVDb25maWd1cmF0aW9uSU9OdW0pLAorICAgICAgICBtU2xhdmVDb25maWd1cmF0aW9uSU9Jc0RlZmF1bHQobmV3IGJvb2xbcGFTbGF2ZUNvbmZpZ3VyYXRpb25JT051bV0oKSkgeworICBmb3IoaW50IGkgPSAwOyBpIDwgbVNsYXZlQ29uZmlndXJhdGlvbklPTnVtOyBpKyspIHsKKyAgICBtU2xhdmVDb25maWd1cmF0aW9uSU9Jc0RlZmF1bHRbaV0gPSBmYWxzZTsKKyAgfQogfQogCiBJT0NvbmZpZ0ZCTXVsdGlTbGF2ZTo6fklPQ29uZmlnRkJNdWx0aVNsYXZlKCkgewotICBkZWxldGVbXSBtU2xhdmVDb25maWd1cmF0aW9uSU9faXNEZWZhdWx0OworICBkZWxldGVbXSBtU2xhdmVDb25maWd1cmF0aW9uSU9Jc0RlZmF1bHQ7CiB9CiAKLXZvaWQgSU9Db25maWdGQk11bHRpU2xhdmU6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpIHsKLSAgaWYgKEJ1c0FkYXB0ZXJJbigpLklOSVQoKSA9PSBwYV9uRUlJRCkgewotICAgIGlmIChCdXNBZGFwdGVySW4oKS5RSSgpID09IHRydWUpIHsKK3ZvaWQgSU9Db25maWdGQk11bHRpU2xhdmU6OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKSB7CisgIGlmKEJ1c0FkYXB0ZXJJbigpLklOSVQoKSA9PSBwYUVJSUQpIHsKKyAgICBpZihCdXNBZGFwdGVySW4oKS5RSSgpID09IHRydWUpIHsKICAgICAgIC8vIEhhbmRsZSBpbml0aWFsaXphdGlvbiBldmVudAogICAgICAgY29uc3QgY2hhciogY29uc3QgZXJyb3IgPSBoYW5kbGVJbml0RXZlbnQoKTsKLSAgICAgIFFPKCkgPSBpbml0aWFsaXplZCA9IGVycm9yID09IDA7CisgICAgICBRTygpID0gbUluaXRpYWxpemVkID0gZXJyb3IgPT0gMDsKIAotICAgICAgaWYgKGluaXRpYWxpemVkKSB7CisgICAgICBpZihtSW5pdGlhbGl6ZWQpIHsKICAgICAgICAgU1RBVFVTKCkgPSBzY21PSzsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIFNUQVRVUygpID0gZXJyb3I7CiAgICAgICB9CiAKLSAgICAgIGlmIChCdXNBZGFwdGVyT3V0KCkuZ2V0UGVlcigpICE9IDApIHsKKyAgICAgIGlmKEJ1c0FkYXB0ZXJPdXQoKS5nZXRQZWVyKCkgIT0gMCkgewogICAgICAgICAvLyBJbml0aWFsaXplIG5leHQgc2xhdmUKICAgICAgICAgQnVzQWRhcHRlck91dCgpLlFJKCkgPSBCdXNBZGFwdGVySW4oKS5RSSgpOwogICAgICAgICBCdXNBZGFwdGVyT3V0KCkuSW5kZXgoKSA9IChURm9ydGVVSW50MTYpIChCdXNBZGFwdGVySW4oKS5JbmRleCgpICsgMSk7CiAgICAgICAgIEJ1c0FkYXB0ZXJPdXQoKS5NYXN0ZXJJZCgpID0gQnVzQWRhcHRlckluKCkuTWFzdGVySWQoKTsKIAotICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IEJ1c0FkYXB0ZXJJbigpLm1TbGF2ZUNvbmZpZ3VyYXRpb25JT19udW07IGkrKykgeworICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgQnVzQWRhcHRlckluKCkubVNsYXZlQ29uZmlndXJhdGlvbklPTnVtOyBpKyspIHsKICAgICAgICAgICBUSUVDX0FOWVB0ciBwdHIgPSBCdXNBZGFwdGVySW4oKS5nZXRTbGF2ZUNvbmZpZyhpKTsKLSAgICAgICAgICBzd2l0Y2ggKHB0ci0+Z2V0RGF0YVR5cGVJRCgpKSB7Ci0gICAgICAgICAgY2FzZSBDSUVDX0FOWTo6ZV9VSU5UOgotICAgICAgICAgICAgKnN0YXRpY19jYXN0PENJRUNfVUlOVCo+KEJ1c0FkYXB0ZXJPdXQoKS5nZXRTbGF2ZUNvbmZpZyhpKSkgPQotICAgICAgICAgICAgICAgICpzdGF0aWNfY2FzdDxDSUVDX1VJTlQqPihwdHIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIERFVkxPR19XQVJOSU5HKAotICAgICAgICAgICAgICAgICJbSU9Db25maWdGQk11bHRpU2xhdmVdIFVuYWJsZSB0byBoYW5kbGUgZGF0YSB0eXBlICVkLiBTa2lwIGFkYXB0ZXIgY29uZmlndXJhdGlvblxuIiwKLSAgICAgICAgICAgICAgICBwdHItPmdldERhdGFUeXBlSUQoKSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICBpZihDSUVDX0FOWTo6ZV9VSU5UID09IHB0ci0+Z2V0RGF0YVR5cGVJRCgpKSB7CisgICAgICAgICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4oQnVzQWRhcHRlck91dCgpLmdldFNsYXZlQ29uZmlnKGkpKSA9ICpzdGF0aWNfY2FzdDxDSUVDX1VJTlQqPihwdHIpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBERVZMT0dfV0FSTklORygiW0lPQ29uZmlnRkJNdWx0aVNsYXZlXSBVbmFibGUgdG8gaGFuZGxlIGRhdGEgdHlwZSAlZC4gU2tpcCBhZGFwdGVyIGNvbmZpZ3VyYXRpb25cbiIsIHB0ci0+Z2V0RGF0YVR5cGVJRCgpKTsKICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBzZW5kQWRhcHRlckV2ZW50KHNjbV9uQnVzQWRhcHRlck91dEFkcE51bSwgSU9Db25maWdGQk11bHRpQWRhcHRlcjo6c2NtX25FdmVudElOSVRJRCk7CisgICAgICAgIHNlbmRBZGFwdGVyRXZlbnQoc2NtX25CdXNBZGFwdGVyT3V0QWRwTnVtLCBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyOjpzY21FdmVudElOSVRJRCk7CiAgICAgICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50SU5ESUQpOwogICAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gU2VuZCBjb25maXJtYXRpb24gb2YgaW5pdAogICAgICAgICBCdXNBZGFwdGVySW4oKS5RTygpID0gUU8oKTsKLSAgICAgICAgc2VuZEFkYXB0ZXJFdmVudChzY21fbkJ1c0FkYXB0ZXJJbkFkcE51bSwgSU9Db25maWdGQk11bHRpQWRhcHRlcjo6c2NtX25FdmVudElOSVRPSUQpOworICAgICAgICBzZW5kQWRhcHRlckV2ZW50KHNjbV9uQnVzQWRhcHRlckluQWRwTnVtLCBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyOjpzY21FdmVudElOSVRPSUQpOwogICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICBkZUluaXQoKTsKQEAgLTg2LDMyICs3NywzMiBAQAogICAgICAgUU8oKSA9IGZhbHNlOwogICAgICAgU1RBVFVTKCkgPSBzY21TdG9wcGVkOwogCi0gICAgICBpZiAoQnVzQWRhcHRlck91dCgpLmdldFBlZXIoKSAhPSAwKSB7CisgICAgICBpZihCdXNBZGFwdGVyT3V0KCkuZ2V0UGVlcigpICE9IDApIHsKICAgICAgICAgLy8gRGVJbml0IG5leHQgc2xhdmUKICAgICAgICAgQnVzQWRhcHRlck91dCgpLlFJKCkgPSBCdXNBZGFwdGVySW4oKS5RSSgpOwogCi0gICAgICAgIHNlbmRBZGFwdGVyRXZlbnQoc2NtX25CdXNBZGFwdGVyT3V0QWRwTnVtLCBJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyOjpzY21fbkV2ZW50SU5JVElEKTsKKyAgICAgICAgc2VuZEFkYXB0ZXJFdmVudChzY21fbkJ1c0FkYXB0ZXJPdXRBZHBOdW0sIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OnNjbUV2ZW50SU5JVElEKTsKICAgICAgICAgc2VuZE91dHB1dEV2ZW50KHNjbV9uRXZlbnRJTkRJRCk7CiAgICAgICB9IGVsc2UgewogICAgICAgICAvLyBTZW5kIGNvbmZpcm1hdGlvbiBvZiBkZUluaXQKICAgICAgICAgQnVzQWRhcHRlckluKCkuUU8oKSA9IFFPKCk7Ci0gICAgICAgIHNlbmRBZGFwdGVyRXZlbnQoc2NtX25CdXNBZGFwdGVySW5BZHBOdW0sIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OnNjbV9uRXZlbnRJTklUT0lEKTsKKyAgICAgICAgc2VuZEFkYXB0ZXJFdmVudChzY21fbkJ1c0FkYXB0ZXJJbkFkcE51bSwgSU9Db25maWdGQk11bHRpQWRhcHRlcjo6c2NtRXZlbnRJTklUT0lEKTsKICAgICAgIH0KICAgICB9Ci0gIH0gZWxzZSBpZiAoQnVzQWRhcHRlck91dCgpLklOSVRPKCkgPT0gcGFfbkVJSUQpIHsKKyAgfSBlbHNlIGlmKEJ1c0FkYXB0ZXJPdXQoKS5JTklUTygpID09IHBhRUlJRCkgewogICAgIC8vIEZvcndhcmQgY29uZmlybWF0aW9uIG9mIGluaXRpYWxpemF0aW9uCiAgICAgQnVzQWRhcHRlckluKCkuUU8oKSA9IEJ1c0FkYXB0ZXJPdXQoKS5RTygpICYmIFFPKCk7Ci0gICAgc2VuZEFkYXB0ZXJFdmVudChzY21fbkJ1c0FkYXB0ZXJJbkFkcE51bSwgSU9Db25maWdGQk11bHRpQWRhcHRlcjo6c2NtX25FdmVudElOSVRPSUQpOworICAgIHNlbmRBZGFwdGVyRXZlbnQoc2NtX25CdXNBZGFwdGVySW5BZHBOdW0sIElPQ29uZmlnRkJNdWx0aUFkYXB0ZXI6OnNjbUV2ZW50SU5JVE9JRCk7CiAgIH0KIAotICBzd2l0Y2ggKHBhX25FSUlEKSB7Ci0gIGNhc2Ugc2NtX25FdmVudE1BUElEOgotICAgIGlmIChpbml0aWFsaXplZCkgeworICBpZihzY21fbkV2ZW50TUFQSUQgPT0gcGFFSUlEKSB7CisgICAgaWYobUluaXRpYWxpemVkKSB7CiAgICAgICAvLyBEcm9wIGFsbCBleGlzdGluZyBoYW5kbGVzCi0gICAgICBnZXRDb250cm9sbGVyKCkuZHJvcFNsYXZlSGFuZGxlcyhpbmRleCk7CisgICAgICBnZXRDb250cm9sbGVyKCkuZHJvcFNsYXZlSGFuZGxlcyhtSW5kZXgpOwogCi0gICAgICBpZiAodHJ1ZSA9PSBRSSgpKQorICAgICAgaWYodHJ1ZSA9PSBRSSgpKSB7CiAgICAgICAgIGluaXRIYW5kbGVzKCk7CisgICAgICB9CiAKICAgICAgIFFPKCkgPSB0cnVlOwogICAgIH0gZWxzZSB7CkBAIC0xMTksODEgKzExMCw2NyBAQAogICAgIH0KIAogICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50TUFQT0lEKTsKLSAgICBicmVhazsKICAgfQogfQogCi12b2lkIElPQ29uZmlnRkJNdWx0aVNsYXZlOjppbml0SGFuZGxlKAotICAgIElPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpoYW5kbGVEZXNjcmlwdG9yKSB7Ci0gIG1hc3Rlci0+aW5pdEhhbmRsZShoYW5kbGVEZXNjcmlwdG9yKTsKK3ZvaWQgSU9Db25maWdGQk11bHRpU2xhdmU6OmluaXRIYW5kbGUoSU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpwYUhhbmRsZURlc2NyaXB0b3IpIHsKKyAgbU1hc3Rlci0+aW5pdEhhbmRsZShwYUhhbmRsZURlc2NyaXB0b3IpOwogfQogCiBjb25zdCBjaGFyKiBJT0NvbmZpZ0ZCTXVsdGlTbGF2ZTo6aGFuZGxlSW5pdEV2ZW50KCkgewogICAvLyBHZXQgbWFzdGVyIGJ5IGlkCi0gIG1hc3RlciA9IElPQ29uZmlnRkJNdWx0aU1hc3Rlcjo6Z2V0TWFzdGVyQnlJZChCdXNBZGFwdGVySW4oKS5NYXN0ZXJJZCgpKTsKLSAgaWYgKG1hc3RlciA9PSAwKSB7CisgIG1NYXN0ZXIgPSBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXI6OmdldE1hc3RlckJ5SWQoQnVzQWRhcHRlckluKCkuTWFzdGVySWQoKSk7CisgIGlmKDAgPT0gbU1hc3RlcikgewogICAgIHJldHVybiBzY21NYXN0ZXJOb3RGb3VuZDsKICAgfQotICBpbmRleCA9IEJ1c0FkYXB0ZXJJbigpLkluZGV4KCk7CisgIG1JbmRleCA9IEJ1c0FkYXB0ZXJJbigpLkluZGV4KCk7CiAKICAgLy8gRGVmYXVsdCBwYXJhbWV0ZXJzCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgbVNsYXZlQ29uZmlndXJhdGlvbklPX251bTsgaSsrKSB7CisgIGZvcihpbnQgaSA9IDA7IGkgPCBtU2xhdmVDb25maWd1cmF0aW9uSU9OdW07IGkrKykgewogICAgIGJvb2wgaXNTZXQgPSB0cnVlOwogCiAgICAgVElFQ19BTllQdHIgcHRyID0gZ2V0REkobVNsYXZlQ29uZmlndXJhdGlvbklPW2ldKTsKLSAgICBzd2l0Y2ggKHB0ci0+Z2V0RGF0YVR5cGVJRCgpKSB7Ci0gICAgY2FzZSBDSUVDX0FOWTo6ZV9VSU5UOgorICAgIGlmKENJRUNfQU5ZOjplX1VJTlQgPT0gcHRyLT5nZXREYXRhVHlwZUlEKCkpIHsKICAgICAgIGlzU2V0ID0gISEqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4ocHRyKTsKLSAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICBERVZMT0dfV0FSTklORygKLSAgICAgICAgICAiW0lPQ29uZmlnRkJNdWx0aVNsYXZlXSBVbmFibGUgdG8gaGFuZGxlIGRhdGEgdHlwZSAlZC4gU2tpcCBzbGF2ZSBjb25maWd1cmF0aW9uXG4iLAotICAgICAgICAgIHB0ci0+Z2V0RGF0YVR5cGVJRCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgREVWTE9HX1dBUk5JTkcoIltJT0NvbmZpZ0ZCTXVsdGlTbGF2ZV0gVW5hYmxlIHRvIGhhbmRsZSBkYXRhIHR5cGUgJWQuIFNraXAgc2xhdmUgY29uZmlndXJhdGlvblxuIiwgcHRyLT5nZXREYXRhVHlwZUlEKCkpOwogICAgICAgY29udGludWU7CiAgICAgfQogCi0gICAgaWYgKCFtU2xhdmVDb25maWd1cmF0aW9uSU9faXNEZWZhdWx0W2ldICYmICFpc1NldCkgewotICAgICAgbVNsYXZlQ29uZmlndXJhdGlvbklPX2lzRGVmYXVsdFtpXSA9IHRydWU7CisgICAgaWYoIW1TbGF2ZUNvbmZpZ3VyYXRpb25JT0lzRGVmYXVsdFtpXSAmJiAhaXNTZXQpIHsKKyAgICAgIG1TbGF2ZUNvbmZpZ3VyYXRpb25JT0lzRGVmYXVsdFtpXSA9IHRydWU7CiAgICAgfQogCi0gICAgaWYgKG1TbGF2ZUNvbmZpZ3VyYXRpb25JT19pc0RlZmF1bHRbaV0pIHsKLSAgICAgIHN3aXRjaCAocHRyLT5nZXREYXRhVHlwZUlEKCkpIHsKLSAgICAgIGNhc2UgQ0lFQ19BTlk6OmVfVUlOVDoKLSAgICAgICAgKnN0YXRpY19jYXN0PENJRUNfVUlOVCo+KHB0cikgPQotICAgICAgICAgICAgKnN0YXRpY19jYXN0PENJRUNfVUlOVCo+KEJ1c0FkYXB0ZXJJbigpLmdldFNsYXZlQ29uZmlnKGkpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICBicmVhazsKLSAgICAgIH0KKyAgICBpZihtU2xhdmVDb25maWd1cmF0aW9uSU9Jc0RlZmF1bHRbaV0gJiYgQ0lFQ19BTlk6OmVfVUlOVCA9PSBwdHItPmdldERhdGFUeXBlSUQoKSkgeworICAgICAgKnN0YXRpY19jYXN0PENJRUNfVUlOVCo+KHB0cikgPSAqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4oQnVzQWRhcHRlckluKCkuZ2V0U2xhdmVDb25maWcoaSkpOwogICAgIH0KICAgfQogCiAgIElPRGV2aWNlTXVsdGlDb250cm9sbGVyJiBjb250cm9sbGVyID0gZ2V0Q29udHJvbGxlcigpOwogCiAgIC8vIENoZWNrIGlmIHNsYXZlIGV4aXN0cwotICBpZiAoIWNvbnRyb2xsZXIuaXNTbGF2ZUF2YWlsYWJsZShpbmRleCkpIHsKLSAgICBERVZMT0dfREVCVUcoIltJT0NvbmZpZ0ZCTXVsdGlTbGF2ZV0gTm8gc2xhdmUgZm91bmQgYXQgcG9zaXRpb24gJWRcbiIsIGluZGV4KTsKKyAgaWYoIWNvbnRyb2xsZXIuaXNTbGF2ZUF2YWlsYWJsZShtSW5kZXgpKSB7CisgICAgREVWTE9HX0RFQlVHKCJbSU9Db25maWdGQk11bHRpU2xhdmVdIE5vIHNsYXZlIGZvdW5kIGF0IHBvc2l0aW9uICVkXG4iLCBtSW5kZXgpOwogICAgIHJldHVybiBzY21Ob3RGb3VuZDsKICAgfQogCiAgIC8vIENoZWNrIGlmIHNsYXZlIHR5cGUgaXMgY29ycmVjdAotICBpZiAoIWNvbnRyb2xsZXIuY2hlY2tTbGF2ZVR5cGUoaW5kZXgsIHR5cGUpKSB7Ci0gICAgREVWTE9HX0RFQlVHKAotICAgICAgICAiW0lPQ29uZmlnRkJNdWx0aVNsYXZlXSBGb3VuZCBzbGF2ZSB3aXRoIGluY29ycmVjdCB0eXBlIGF0IHBvc2l0aW9uICVkXG4iLAotICAgICAgICBpbmRleCk7CisgIGlmKCFjb250cm9sbGVyLmNoZWNrU2xhdmVUeXBlKG1JbmRleCwgbVR5cGUpKSB7CisgICAgREVWTE9HX0RFQlVHKCJbSU9Db25maWdGQk11bHRpU2xhdmVdIEZvdW5kIHNsYXZlIHdpdGggaW5jb3JyZWN0IHR5cGUgYXQgcG9zaXRpb24gJWRcbiIsIG1JbmRleCk7CiAgICAgcmV0dXJuIHNjbUluY29ycmVjdFR5cGU7CiAgIH0KIAogICAvLyBQZXJmb3JtIHNsYXZlIGluaXRpYWxpemF0aW9uCiAgIGNvbnN0IGNoYXIqIGNvbnN0IGVycm9yID0gaW5pdCgpOwotICBpZiAoZXJyb3IgIT0gMCkKKyAgaWYoZXJyb3IgIT0gMCkgewogICAgIHJldHVybiBlcnJvcjsKLQotICBjb250cm9sbGVyLmRyb3BTbGF2ZUhhbmRsZXMoaW5kZXgpOwotICBpZiAodHJ1ZSA9PSBRSSgpKQorICB9CisgIGNvbnRyb2xsZXIuZHJvcFNsYXZlSGFuZGxlcyhtSW5kZXgpOworICBpZih0cnVlID09IFFJKCkpIHsKICAgICBpbml0SGFuZGxlcygpOworICB9CiAKLSAgREVWTE9HX0RFQlVHKCJbSU9Db25maWdGQk11bHRpU2xhdmVdIEluaXRpYWxpemVkIHNsYXZlIGF0IHBvc2l0aW9uICVkXG4iLCBpbmRleCk7CisgIERFVkxPR19ERUJVRygiW0lPQ29uZmlnRkJNdWx0aVNsYXZlXSBJbml0aWFsaXplZCBzbGF2ZSBhdCBwb3NpdGlvbiAlZFxuIiwgbUluZGV4KTsKIAogICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX3NsYXZlX211bHRpLmggYi9zcmMvY29yZS9pby9jb25maWdGQi9pb19zbGF2ZV9tdWx0aS5oCmluZGV4IDNkM2IyMDUuLmVkYjgwZGMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL2NvbmZpZ0ZCL2lvX3NsYXZlX211bHRpLmgKKysrIGIvc3JjL2NvcmUvaW8vY29uZmlnRkIvaW9fc2xhdmVfbXVsdGkuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xOCw5NSArMTksOTMgQEAKICNpbmNsdWRlICJpb19hZGFwdGVyX211bHRpLmgiCiAjaW5jbHVkZSAiaW9fbWFzdGVyX211bHRpLmgiCiAKLQogbmFtZXNwYWNlIGZvcnRlIHsKICAgbmFtZXNwYWNlIGNvcmUgewotICAgIG5hbWVzcGFjZSBJTyB7CisgICAgbmFtZXNwYWNlIGlvIHsKIAogI2RlZmluZSBGVU5DVElPTl9CTE9DS19DVE9SX0ZPUl9JT19NVUxUSV9TTEFWRShmYmNsYXNzLCBmYkJhc2VDbGFzcywgdHlwZSkgXAotIGZiY2xhc3MoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogXAotIGZiQmFzZUNsYXNzKCAoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0KSAmc2NtX3NsYXZlQ29uZmlndXJhdGlvbklPLCBzY21fc2xhdmVDb25maWd1cmF0aW9uSU9fbnVtLCB0eXBlLCBwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpCisgZmJjbGFzcyhjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFTcmNSZXMpIDogXAorIGZiQmFzZUNsYXNzKCAoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0KSAmc2NtU2xhdmVDb25maWd1cmF0aW9uSU8sIHNjbVNsYXZlQ29uZmlndXJhdGlvbklPTnVtLCB0eXBlLCBwYVNyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFJbnN0YW5jZU5hbWVJZCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKQogCi1jbGFzcyBJT0NvbmZpZ0ZCTXVsdGlTbGF2ZTogcHVibGljIElPQ29uZmlnRkJCYXNlIHsKLXB1YmxpYzoKLSAgSU9Db25maWdGQk11bHRpU2xhdmUoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sCi0gICAgICBjb25zdCBURm9ydGVVSW50OCBwYVNsYXZlQ29uZmlndXJhdGlvbklPX251bSwgaW50IHR5cGUsCi0gICAgICBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLAotICAgICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLAotICAgICAgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpOwotICB2aXJ0dWFsIH5JT0NvbmZpZ0ZCTXVsdGlTbGF2ZSgpOworICAgICAgY2xhc3MgSU9Db25maWdGQk11bHRpU2xhdmUgOiBwdWJsaWMgSU9Db25maWdGQkJhc2UgeworICAgICAgICBwdWJsaWM6CisgICAgICAgICAgSU9Db25maWdGQk11bHRpU2xhdmUoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sIGNvbnN0IFRGb3J0ZVVJbnQ4IHBhU2xhdmVDb25maWd1cmF0aW9uSU9OdW0sIGludCBwYVR5cGUsIENSZXNvdXJjZSAqcGFTcmNSZXMsCisgICAgICAgICAgICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsCisgICAgICAgICAgICAgIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSk7CisgICAgICAgICAgdmlydHVhbCB+SU9Db25maWdGQk11bHRpU2xhdmUoKTsKIAotcHJvdGVjdGVkOgotICBDSUVDX0JPT0wgJlFJKCkgewotICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oZ2V0REkoMCkpOwotICB9CisgICAgICAgIHByb3RlY3RlZDoKKyAgICAgICAgICBDSUVDX0JPT0wgJlFJKCkgeworICAgICAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRESSgwKSk7CisgICAgICAgICAgfQogCi0gIENJRUNfQk9PTCAmUU8oKSB7Ci0gICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRETygwKSk7Ci0gIH0KKyAgICAgICAgICBDSUVDX0JPT0wgJlFPKCkgeworICAgICAgICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRETygwKSk7CisgICAgICAgICAgfQogCi0gIENJRUNfV1NUUklORyAmU1RBVFVTKCkgewotICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0RE8oMSkpOwotICB9CisgICAgICAgICAgQ0lFQ19XU1RSSU5HICZTVEFUVVMoKSB7CisgICAgICAgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERPKDEpKTsKKyAgICAgICAgICB9CiAKLSAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRNQVBJRCA9IDA7CisgICAgICAgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRNQVBJRCA9IDA7CiAKLSAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRNQVBPSUQgPSAwOwotICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudElORElEID0gMTsKKyAgICAgICAgICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudE1BUE9JRCA9IDA7CisgICAgICAgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRJTkRJRCA9IDE7CiAKLSAgSU9Db25maWdGQk11bHRpQWRhcHRlciYgQnVzQWRhcHRlck91dCgpIHsKLSAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxJT0NvbmZpZ0ZCTXVsdGlBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1swXSkpOwotICB9CisgICAgICAgICAgSU9Db25maWdGQk11bHRpQWRhcHRlciYgQnVzQWRhcHRlck91dCgpIHsKKyAgICAgICAgICAgIHJldHVybiAoKnN0YXRpY19jYXN0PElPQ29uZmlnRkJNdWx0aUFkYXB0ZXIqPihtX2Fwb0FkYXB0ZXJzWzBdKSk7CisgICAgICAgICAgfQogCi0gIHN0YXRpYyBjb25zdCBpbnQgc2NtX25CdXNBZGFwdGVyT3V0QWRwTnVtID0gMDsKLSAgSU9Db25maWdGQk11bHRpQWRhcHRlciYgQnVzQWRhcHRlckluKCkgewotICAgIHJldHVybiAoKnN0YXRpY19jYXN0PElPQ29uZmlnRkJNdWx0aUFkYXB0ZXIqPihtX2Fwb0FkYXB0ZXJzWzFdKSk7Ci0gIH0KKyAgICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNjbV9uQnVzQWRhcHRlck91dEFkcE51bSA9IDA7CisgICAgICAgICAgSU9Db25maWdGQk11bHRpQWRhcHRlciYgQnVzQWRhcHRlckluKCkgeworICAgICAgICAgICAgcmV0dXJuICgqc3RhdGljX2Nhc3Q8SU9Db25maWdGQk11bHRpQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMV0pKTsKKyAgICAgICAgICB9CiAKLSAgc3RhdGljIGNvbnN0IGludCBzY21fbkJ1c0FkYXB0ZXJJbkFkcE51bSA9IDE7CisgICAgICAgICAgc3RhdGljIGNvbnN0IGludCBzY21fbkJ1c0FkYXB0ZXJJbkFkcE51bSA9IDE7CiAKLSAgdmlydHVhbCB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpOworICAgICAgICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhRUlJRCk7CiAKLSAgSU9Db25maWdGQk11bHRpTWFzdGVyKiBtYXN0ZXI7CisgICAgICAgICAgSU9EZXZpY2VNdWx0aUNvbnRyb2xsZXImIGdldENvbnRyb2xsZXIoKSB7CisgICAgICAgICAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxJT0RldmljZU11bHRpQ29udHJvbGxlcio+KG1NYXN0ZXItPmdldERldmljZUNvbnRyb2xsZXIoKSkpOworICAgICAgICAgIH0KIAotICBpbnQgaW5kZXg7CisgICAgICAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBpbml0KCkgeworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgfQogCi0gIGludCB0eXBlOworICAgICAgICAgIHZpcnR1YWwgdm9pZCBkZUluaXQoKSB7CisgICAgICAgICAgICAvL2RvIG5vdGhpbmcKKyAgICAgICAgICB9CiAKLSAgSU9EZXZpY2VNdWx0aUNvbnRyb2xsZXImIGdldENvbnRyb2xsZXIoKSB7Ci0gICAgcmV0dXJuICgqc3RhdGljX2Nhc3Q8SU9EZXZpY2VNdWx0aUNvbnRyb2xsZXIqPihtYXN0ZXItPmdldERldmljZUNvbnRyb2xsZXIoKSkpOwotICB9CisgICAgICAgICAgdmlydHVhbCB2b2lkIGluaXRIYW5kbGVzKCkgPSAwOwogCi0gIGJvb2wgaW5pdGlhbGl6ZWQ7CisgICAgICAgICAgdm9pZCBpbml0SGFuZGxlKElPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqcGFIYW5kbGVEZXNjcmlwdG9yKTsKIAotICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGluaXQoKSB7Ci0gICAgcmV0dXJuIDA7Ci0gIH0KKyAgICAgICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qgc2NtT0s7CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNjbU1hc3Rlck5vdEZvdW5kOwogCi0gIHZpcnR1YWwgdm9pZCBkZUluaXQoKSB7CisgICAgICAgICAgaW50IG1JbmRleDsKIAotICB9CisgICAgICAgICAgY29uc3QgVEZvcnRlVUludDgqIG1TbGF2ZUNvbmZpZ3VyYXRpb25JTzsKIAotICB2aXJ0dWFsIHZvaWQgaW5pdEhhbmRsZXMoKSA9IDA7CisgICAgICAgIHByaXZhdGU6CiAKLSAgdm9pZCBpbml0SGFuZGxlKElPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpoYW5kbGVEZXNjcmlwdG9yKTsKKyAgICAgICAgICBJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXIqIG1NYXN0ZXI7CiAKLSAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNjbU9LOwotICBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qgc2NtTWFzdGVyTm90Rm91bmQ7CisgICAgICAgICAgaW50IG1UeXBlOwogCi0gIGNvbnN0IFRGb3J0ZVVJbnQ4KiBtU2xhdmVDb25maWd1cmF0aW9uSU87Ci0gIFRGb3J0ZVVJbnQ4IG1TbGF2ZUNvbmZpZ3VyYXRpb25JT19udW07Ci0gIGJvb2wqIG1TbGF2ZUNvbmZpZ3VyYXRpb25JT19pc0RlZmF1bHQ7CisgICAgICAgICAgYm9vbCBtSW5pdGlhbGl6ZWQ7CiAKLXByaXZhdGU6Ci0gIGNvbnN0IGNoYXIqIGhhbmRsZUluaXRFdmVudCgpOworICAgICAgICAgIFRGb3J0ZVVJbnQ4IG1TbGF2ZUNvbmZpZ3VyYXRpb25JT051bTsKKyAgICAgICAgICBib29sKiBtU2xhdmVDb25maWd1cmF0aW9uSU9Jc0RlZmF1bHQ7CiAKLSAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNjbVN0b3BwZWQ7Ci0gIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzY21Ob3RGb3VuZDsKLSAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNjbUluY29ycmVjdFR5cGU7CisgICAgICAgICAgY29uc3QgY2hhciogaGFuZGxlSW5pdEV2ZW50KCk7CiAKLX07CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNjbVN0b3BwZWQ7CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNjbU5vdEZvdW5kOworICAgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzY21JbmNvcnJlY3RUeXBlOworCisgICAgICB9OwogCiAgICAgfSAvL25hbWVzcGFjZSBJTwogICB9IC8vbmFtZXBzYWNlIGNvcmUKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2RldmljZS9DTWFrZUxpc3RzLnR4dCBiL3NyYy9jb3JlL2lvL2RldmljZS9DTWFrZUxpc3RzLnR4dAppbmRleCA2NWY2OGM2Li4xMTNlOTVkIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9kZXZpY2UvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL2NvcmUvaW8vZGV2aWNlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgSm9oYW5uZXMgTWVzc21lcgorIyBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgSm9oYW5uZXMgTWVzc21lcgogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlci5jcHAgYi9zcmMvY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlci5jcHAKaW5kZXggMTk3MjIxNC4uZWM5Yjc3ZiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vZGV2aWNlL2lvX2NvbnRyb2xsZXIuY3BwCisrKyBiL3NyYy9jb3JlL2lvL2RldmljZS9pb19jb250cm9sbGVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xNiw1NyArMTcsNTggQEAKICNpbmNsdWRlICIuLi9jb25maWdGQi9pb19jb25maWdGQl9jb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiY3JpdGljYWxyZWdpb24uaCIKIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKLUlPRGV2aWNlQ29udHJvbGxlcjo6SU9EZXZpY2VDb250cm9sbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA6IENFeHRlcm5hbEV2ZW50SGFuZGxlcihwYURldmljZUV4ZWN1dGlvbiksCi0gICAgbm90aWZpY2F0aW9uVHlwZShVbmtub3duTm90aWZpY2F0aW9uVHlwZSksIG5vdGlmaWNhdGlvbkF0dGFjaG1lbnQoMCksIG5vdGlmaWNhdGlvbkhhbmRsZWQoCi0gICAgICAgIHRydWUpLCBkZWxlZ2F0ZSgwKSwgZXJyb3IoMCksIGluaXREZWxheSgwKSB7CitJT0RldmljZUNvbnRyb2xsZXI6OklPRGV2aWNlQ29udHJvbGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbikgOgorICAgIENFeHRlcm5hbEV2ZW50SGFuZGxlcihwYURldmljZUV4ZWN1dGlvbiksIG1Ob3RpZmljYXRpb25UeXBlKFVua25vd25Ob3RpZmljYXRpb25UeXBlKSwgbU5vdGlmaWNhdGlvbkF0dGFjaG1lbnQoMCksIG1Ob3RpZmljYXRpb25IYW5kbGVkKHRydWUpLCBtRXJyb3IoMCksCisgICAgICAgIG1EZWxlZ2F0ZSgwKSwgbUluaXREZWxheSgwKSB7CiB9CiAKIHZvaWQgSU9EZXZpY2VDb250cm9sbGVyOjpydW4oKSB7CiAgIC8vIERlbGF5IGluaXRpYWxpemF0aW9uCi0gIGlmIChpbml0RGVsYXkgPiAwKQotICAgIENUaHJlYWQ6OnNsZWVwVGhyZWFkKGluaXREZWxheSAqIDEwMDApOworICBpZihtSW5pdERlbGF5ID4gMCkgeworICAgIENUaHJlYWQ6OnNsZWVwVGhyZWFkKG1Jbml0RGVsYXkgKiAxMDAwKTsKKyAgfQogCi0gIGVycm9yID0gaW5pdCgpOworICBtRXJyb3IgPSBpbml0KCk7CiAKLSAgaWYgKCFoYXNFcnJvcigpKSB7CisgIGlmKCFoYXNFcnJvcigpKSB7CiAgICAgbm90aWZ5Q29uZmlnRkIoU3VjY2Vzcyk7CiAKICAgICBydW5Mb29wKCk7CiAKLSAgICBpZiAoaGFzRXJyb3IoKSkKLSAgICAgIG5vdGlmeUNvbmZpZ0ZCKEVycm9yLCBlcnJvcik7CisgICAgaWYoaGFzRXJyb3IoKSkgeworICAgICAgbm90aWZ5Q29uZmlnRkIoRXJyb3IsIG1FcnJvcik7CisgICAgfQogICB9IGVsc2UgewotICAgIG5vdGlmeUNvbmZpZ0ZCKEVycm9yLCBlcnJvcik7CisgICAgbm90aWZ5Q29uZmlnRkIoRXJyb3IsIG1FcnJvcik7CiAgIH0KIAogICBkcm9wSGFuZGxlcygpOwogICBkZUluaXQoKTsKIAotICAvLyBUT0RPIFJlbW92ZSBzdGF0ZW1lbnQgb3IgYWRkIGFyY2ggaW5kZXBlbmRlbnQgc2xlZXAgbWV0aG9kCi0gIHdoaWxlIChpc0FsaXZlKCkpCisgIHdoaWxlKGlzQWxpdmUoKSkgewogICAgIENUaHJlYWQ6OnNsZWVwVGhyZWFkKDEwKTsKKyAgfQogfQogCi12b2lkIElPRGV2aWNlQ29udHJvbGxlcjo6YWRkSGFuZGxlKEhhbmRsZURlc2NyaXB0b3IgKmhhbmRsZURlc2NyaXB0b3IpIHsKLSAgSU9IYW5kbGUqIGhhbmRsZSA9IGluaXRIYW5kbGUoaGFuZGxlRGVzY3JpcHRvcik7Cit2b2lkIElPRGV2aWNlQ29udHJvbGxlcjo6YWRkSGFuZGxlKEhhbmRsZURlc2NyaXB0b3IgKnBhSGFuZGxlRGVzY3JpcHRvcikgeworICBJT0hhbmRsZSogaGFuZGxlID0gaW5pdEhhbmRsZShwYUhhbmRsZURlc2NyaXB0b3IpOwogCi0gIGlmIChoYW5kbGUgPT0gMCkgewotICAgIERFVkxPR19XQVJOSU5HKAotICAgICAgICAiW0lPRGV2aWNlQ29udHJvbGxlcl0gRmFpbGVkIHRvIGluaXRpYWxpemUgaGFuZGxlICclcycuIENoZWNrIGluaXRIYW5kbGUgbWV0aG9kLlxuIiwKLSAgICAgICAgaGFuZGxlRGVzY3JpcHRvci0+aWQuZ2V0VmFsdWUoKSk7CisgIGlmKDAgPT0gaGFuZGxlKSB7CisgICAgREVWTE9HX1dBUk5JTkcoIltJT0RldmljZUNvbnRyb2xsZXJdIEZhaWxlZCB0byBpbml0aWFsaXplIGhhbmRsZSAnJXMnLiBDaGVjayBpbml0SGFuZGxlIG1ldGhvZC5cbiIsIHBhSGFuZGxlRGVzY3JpcHRvci0+bUlkLmdldFZhbHVlKCkpOwogICAgIHJldHVybjsKICAgfQogCi0gIGlmIChoYW5kbGUtPmlzKElPTWFwcGVyOjpJbikpCi0gICAgYWRkSGFuZGxlKCZpbnB1dEhhbmRsZXMsIGhhbmRsZURlc2NyaXB0b3ItPmlkLCBoYW5kbGUpOwotICBlbHNlIGlmIChoYW5kbGUtPmlzKElPTWFwcGVyOjpPdXQpKQotICAgIGFkZEhhbmRsZSgmb3V0cHV0SGFuZGxlcywgaGFuZGxlRGVzY3JpcHRvci0+aWQsIGhhbmRsZSk7CisgIGlmKGhhbmRsZS0+aXMoSU9NYXBwZXI6OkluKSkgeworICAgIGFkZEhhbmRsZSgmbUlucHV0SGFuZGxlcywgcGFIYW5kbGVEZXNjcmlwdG9yLT5tSWQsIGhhbmRsZSk7CisgIH0gZWxzZSBpZihoYW5kbGUtPmlzKElPTWFwcGVyOjpPdXQpKSB7CisgICAgYWRkSGFuZGxlKCZtT3V0cHV0SGFuZGxlcywgcGFIYW5kbGVEZXNjcmlwdG9yLT5tSWQsIGhhbmRsZSk7CisgIH0KIH0KIAotdm9pZCBJT0RldmljZUNvbnRyb2xsZXI6OmZpcmVJbmRpY2F0aW9uRXZlbnQoSU9PYnNlcnZlciogb2JzZXJ2ZXIpIHsKLSAgc3RhcnROZXdFdmVudENoYWluKChDUHJvY2Vzc0ludGVyZmFjZSopIG9ic2VydmVyKTsKK3ZvaWQgSU9EZXZpY2VDb250cm9sbGVyOjpmaXJlSW5kaWNhdGlvbkV2ZW50KElPT2JzZXJ2ZXIqIHBhT2JzZXJ2ZXIpIHsKKyAgc3RhcnROZXdFdmVudENoYWluKChDUHJvY2Vzc0ludGVyZmFjZSopIHBhT2JzZXJ2ZXIpOwogfQogCiB2b2lkIElPRGV2aWNlQ29udHJvbGxlcjo6aGFuZGxlQ2hhbmdlRXZlbnQoSU9IYW5kbGUqKSB7CkBAIC03NCw2MyArNzYsNjIgQEAKIH0KIAogYm9vbCBJT0RldmljZUNvbnRyb2xsZXI6Omhhc0Vycm9yKCkgewotICByZXR1cm4gZXJyb3IgIT0gMDsKKyAgcmV0dXJuIG1FcnJvciAhPSAwOwogfQogCi12b2lkIElPRGV2aWNlQ29udHJvbGxlcjo6bm90aWZ5Q29uZmlnRkIoTm90aWZpY2F0aW9uVHlwZSB0eXBlLCBjb25zdCB2b2lkKiBhdHRhY2htZW50KSB7Ci0gIGlmIChkZWxlZ2F0ZSA9PSAwKSB7Ci0gICAgREVWTE9HX1dBUk5JTkcoCi0gICAgICAgICJbSU9EZXZpY2VDb250cm9sbGVyXSBObyByZWNlaXZlciBmb3Igbm90aWZpY2F0aW9uIGlzIGF2YWlsYWJsZS4gTm90aWZpY2F0aW9uIGlzIGRyb3BwZWQuXG4iKTsKK3ZvaWQgSU9EZXZpY2VDb250cm9sbGVyOjpub3RpZnlDb25maWdGQihOb3RpZmljYXRpb25UeXBlIHBhVHlwZSwgY29uc3Qgdm9pZCogcGFBdHRhY2htZW50KSB7CisgIGlmKDAgPT0gbURlbGVnYXRlKSB7CisgICAgREVWTE9HX1dBUk5JTkcoIltJT0RldmljZUNvbnRyb2xsZXJdIE5vIHJlY2VpdmVyIGZvciBub3RpZmljYXRpb24gaXMgYXZhaWxhYmxlLiBOb3RpZmljYXRpb24gaXMgZHJvcHBlZC5cbiIpOwogICAgIHJldHVybjsKICAgfQogCi0gIGlmICghbm90aWZpY2F0aW9uSGFuZGxlZCkgewotICAgIERFVkxPR19XQVJOSU5HKAotICAgICAgICAiW0lPRGV2aWNlQ29udHJvbGxlcl0gTm90aWZpY2F0aW9uIGhhcyBub3QgeWV0IGJlZW4gaGFuZGxlZCBieSB0aGUgY29uZmlndXJhdGlvbiBmYi4gTm90aWZpY2F0aW9uIGlzIGRyb3BwZWQuXG4iKTsKKyAgaWYoIW1Ob3RpZmljYXRpb25IYW5kbGVkKSB7CisgICAgREVWTE9HX1dBUk5JTkcoIltJT0RldmljZUNvbnRyb2xsZXJdIE5vdGlmaWNhdGlvbiBoYXMgbm90IHlldCBiZWVuIGhhbmRsZWQgYnkgdGhlIGNvbmZpZ3VyYXRpb24gZmIuIE5vdGlmaWNhdGlvbiBpcyBkcm9wcGVkLlxuIik7CiAgICAgcmV0dXJuOwogICB9CiAKLSAgdGhpcy0+bm90aWZpY2F0aW9uVHlwZSA9IHR5cGU7Ci0gIHRoaXMtPm5vdGlmaWNhdGlvbkF0dGFjaG1lbnQgPSBhdHRhY2htZW50OworICB0aGlzLT5tTm90aWZpY2F0aW9uVHlwZSA9IHBhVHlwZTsKKyAgdGhpcy0+bU5vdGlmaWNhdGlvbkF0dGFjaG1lbnQgPSBwYUF0dGFjaG1lbnQ7CiAKLSAgbm90aWZpY2F0aW9uSGFuZGxlZCA9IGZhbHNlOwotICBzdGFydE5ld0V2ZW50Q2hhaW4oZGVsZWdhdGUpOworICBtTm90aWZpY2F0aW9uSGFuZGxlZCA9IGZhbHNlOworICBzdGFydE5ld0V2ZW50Q2hhaW4obURlbGVnYXRlKTsKIH0KIAogdm9pZCBJT0RldmljZUNvbnRyb2xsZXI6OmNoZWNrRm9ySW5wdXRDaGFuZ2VzKCkgewotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oaGFuZGxlTXV0ZXgpOworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUhhbmRsZU11dGV4KTsKIAogICAvLyBJdGVyYXRlIG92ZXIgaW5wdXQgaGFuZGxlcyBhbmQgY2hlY2sgZm9yIGNoYW5nZXMKLSAgVEhhbmRsZUxpc3Q6Okl0ZXJhdG9yIGl0RW5kID0gaW5wdXRIYW5kbGVzLmVuZCgpOwotICBmb3IgKFRIYW5kbGVMaXN0OjpJdGVyYXRvciBpdCA9IGlucHV0SGFuZGxlcy5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCkKLSAgICBpZiAoKCppdCktPmhhc09ic2VydmVyKCkgJiYgIWlzSGFuZGxlVmFsdWVFcXVhbCgqaXQpKSB7CisgIFRIYW5kbGVMaXN0OjpJdGVyYXRvciBpdEVuZCA9IG1JbnB1dEhhbmRsZXMuZW5kKCk7CisgIGZvcihUSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXQgPSBtSW5wdXRIYW5kbGVzLmJlZ2luKCk7IGl0ICE9IGl0RW5kOyArK2l0KSB7CisgICAgaWYoKCppdCktPmhhc09ic2VydmVyKCkgJiYgIWlzSGFuZGxlVmFsdWVFcXVhbCgqaXQpKSB7CiAgICAgICAvLyBJbmZvcm0gUHJvY2VzcyBJbnRlcmZhY2UgYWJvdXQgY2hhbmdlCiAgICAgICAoKml0KS0+b25DaGFuZ2UoKTsKICAgICB9CisgIH0KIH0KIAotdm9pZCBJT0RldmljZUNvbnRyb2xsZXI6OnNldEluaXREZWxheShpbnQgZGVsYXkpIHsKLSAgaW5pdERlbGF5ID0gZGVsYXk7Cit2b2lkIElPRGV2aWNlQ29udHJvbGxlcjo6c2V0SW5pdERlbGF5KGludCBwYURlbGF5KSB7CisgIG1Jbml0RGVsYXkgPSBwYURlbGF5OwogfQogCiB2b2lkIElPRGV2aWNlQ29udHJvbGxlcjo6ZHJvcEhhbmRsZXMoKSB7Ci0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihoYW5kbGVNdXRleCk7CisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtSGFuZGxlTXV0ZXgpOwogCiAgIElPTWFwcGVyJiBtYXBwZXIgPSBJT01hcHBlcjo6Z2V0SW5zdGFuY2UoKTsKIAotICBUSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBpbnB1dEhhbmRsZXMuZW5kKCk7Ci0gIGZvciAoVEhhbmRsZUxpc3Q6Okl0ZXJhdG9yIGl0ID0gaW5wdXRIYW5kbGVzLmJlZ2luKCk7IGl0ICE9IGl0RW5kOyArK2l0KSB7CisgIFRIYW5kbGVMaXN0OjpJdGVyYXRvciBpdEVuZCA9IG1JbnB1dEhhbmRsZXMuZW5kKCk7CisgIGZvcihUSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXQgPSBtSW5wdXRIYW5kbGVzLmJlZ2luKCk7IGl0ICE9IGl0RW5kOyArK2l0KSB7CiAgICAgbWFwcGVyLmRlcmVnaXN0ZXJIYW5kbGUoKml0KTsKICAgICBkZWxldGUgKml0OwogICB9Ci0gIGl0RW5kID0gb3V0cHV0SGFuZGxlcy5lbmQoKTsKLSAgZm9yIChUSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXQgPSBvdXRwdXRIYW5kbGVzLmJlZ2luKCk7IGl0ICE9IGl0RW5kOyArK2l0KSB7CisgIGl0RW5kID0gbU91dHB1dEhhbmRsZXMuZW5kKCk7CisgIGZvcihUSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXQgPSBtT3V0cHV0SGFuZGxlcy5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCkgewogICAgIG1hcHBlci5kZXJlZ2lzdGVySGFuZGxlKCppdCk7CiAgICAgZGVsZXRlICppdDsKICAgfQogCi0gIGlucHV0SGFuZGxlcy5jbGVhckFsbCgpOwotICBvdXRwdXRIYW5kbGVzLmNsZWFyQWxsKCk7CisgIG1JbnB1dEhhbmRsZXMuY2xlYXJBbGwoKTsKKyAgbU91dHB1dEhhbmRsZXMuY2xlYXJBbGwoKTsKIAogfQogCkBAIC0xMzgsMTMgKzEzOSwxMiBAQAogICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBJT0RldmljZUNvbnRyb2xsZXI6OmFkZEhhbmRsZShUSGFuZGxlTGlzdCogbGlzdCwgQ0lFQ19XU1RSSU5HIGNvbnN0ICZpZCwKLSAgICBJT0hhbmRsZSogaGFuZGxlKSB7Ci0gIGlmIChpZCAhPSAiIiAmJiBJT01hcHBlcjo6Z2V0SW5zdGFuY2UoKS5yZWdpc3RlckhhbmRsZShpZCwgaGFuZGxlKSkgewotICAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihoYW5kbGVNdXRleCk7Ci0gICAgbGlzdC0+cHVzaEJhY2soaGFuZGxlKTsKK3ZvaWQgSU9EZXZpY2VDb250cm9sbGVyOjphZGRIYW5kbGUoVEhhbmRsZUxpc3QqIHBhTGlzdCwgQ0lFQ19XU1RSSU5HIGNvbnN0ICZwYUlkLCBJT0hhbmRsZSogcGFIYW5kbGUpIHsKKyAgaWYocGFJZCAhPSAiIiAmJiBJT01hcHBlcjo6Z2V0SW5zdGFuY2UoKS5yZWdpc3RlckhhbmRsZShwYUlkLCBwYUhhbmRsZSkpIHsKKyAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUhhbmRsZU11dGV4KTsKKyAgICBwYUxpc3QtPnB1c2hCYWNrKHBhSGFuZGxlKTsKICAgfSBlbHNlIHsKLSAgICBkZWxldGUgaGFuZGxlOworICAgIGRlbGV0ZSBwYUhhbmRsZTsKICAgfQogfQogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlci5oIGIvc3JjL2NvcmUvaW8vZGV2aWNlL2lvX2NvbnRyb2xsZXIuaAppbmRleCA3ZTg0NGFmLi4xOGQ5N2EyIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlci5oCisrKyBiL3NyYy9jb3JlL2lvL2RldmljZS9pb19jb250cm9sbGVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMjMsMjA2ICsyNCwyMTAgQEAKIAogbmFtZXNwYWNlIGZvcnRlIHsKICAgbmFtZXNwYWNlIGNvcmUgewotICAgIG5hbWVzcGFjZSBJTyB7CisgICAgbmFtZXNwYWNlIGlvIHsKIAotY2xhc3MgSU9Db25maWdGQkNvbnRyb2xsZXI7CisgICAgICBjbGFzcyBJT0NvbmZpZ0ZCQ29udHJvbGxlcjsKIAotLyohIEBicmllZiBBYnN0cmFjdCBEZXZpY2UgQ29udHJvbGxlcgotICoKLSAqIEJhc2UgY2xhc3Mgb2YgdGhlIGRldmljZSBjb250cm9sbGVyIGltcGxlbWVudGF0aW9uLgotICogQWxsIGhhcmR3YXJlIHNwZWNpZmljIElPIGltcGxlbWVudGF0aW9ucyBzaG91bGQgaW5oZXJpdCBmcm9tIHRoaXMgY2xhc3MuCi0gKgotICogRmVhdHVyZXM6Ci0gKiAtIHJ1bnMgRGV2aWNlIENvbnRyb2xsZXIgaW4gc2VwYXJhdGUgdGhyZWFkCi0gKiAtIHRocmVhZCBzYWZlIGNvbW11bmljYXRpb24gd2l0aCBjb3JyZXNwb25kaW5nIGNvbnRyb2xsZXIgY29uZmlndXJhdGlvbiBmYiAoc2VlICNub3RpZnlDb25maWdGQikKLSAqIC0gYmFzZSBzdHJ1Y3R1cmUgZm9yIHNhZmUgc3RhcnR1cHMgYW5kIHJlc2V0cyAoc2VlICNpbml0LCAjcnVuTG9vcCwgYW5kICNkZUluaXQpCi0gKiAtIGF1dG9tYXRpYyBlcnJvciBoYW5kbGluZyBhbmQgcmVzdGFydCAoc2VlICNJT0NvbmZpZ0ZCQ29udHJvbGxlcikKLSAqLwotY2xhc3MgSU9EZXZpY2VDb250cm9sbGVyOiBwcm90ZWN0ZWQgQ0V4dGVybmFsRXZlbnRIYW5kbGVyLCBwcm90ZWN0ZWQgQ1RocmVhZCB7Ci0gIGZyaWVuZCBjbGFzcyBJT0NvbmZpZ0ZCQ29udHJvbGxlcjsKKyAgICAgIC8qISBAYnJpZWYgQWJzdHJhY3QgRGV2aWNlIENvbnRyb2xsZXIKKyAgICAgICAqCisgICAgICAgKiBCYXNlIGNsYXNzIG9mIHRoZSBkZXZpY2UgY29udHJvbGxlciBpbXBsZW1lbnRhdGlvbi4KKyAgICAgICAqIEFsbCBoYXJkd2FyZSBzcGVjaWZpYyBJTyBpbXBsZW1lbnRhdGlvbnMgc2hvdWxkIGluaGVyaXQgZnJvbSB0aGlzIGNsYXNzLgorICAgICAgICoKKyAgICAgICAqIEZlYXR1cmVzOgorICAgICAgICogLSBydW5zIERldmljZSBDb250cm9sbGVyIGluIHNlcGFyYXRlIHRocmVhZAorICAgICAgICogLSB0aHJlYWQgc2FmZSBjb21tdW5pY2F0aW9uIHdpdGggY29ycmVzcG9uZGluZyBjb250cm9sbGVyIGNvbmZpZ3VyYXRpb24gZmIgKHNlZSAjbm90aWZ5Q29uZmlnRkIpCisgICAgICAgKiAtIGJhc2Ugc3RydWN0dXJlIGZvciBzYWZlIHN0YXJ0dXBzIGFuZCByZXNldHMgKHNlZSAjaW5pdCwgI3J1bkxvb3AsIGFuZCAjZGVJbml0KQorICAgICAgICogLSBhdXRvbWF0aWMgZXJyb3IgaGFuZGxpbmcgYW5kIHJlc3RhcnQgKHNlZSAjSU9Db25maWdGQkNvbnRyb2xsZXIpCisgICAgICAgKi8KKyAgICAgIGNsYXNzIElPRGV2aWNlQ29udHJvbGxlciA6IHByb3RlY3RlZCBDRXh0ZXJuYWxFdmVudEhhbmRsZXIsIHByb3RlY3RlZCBDVGhyZWFkIHsKKyAgICAgICAgICBmcmllbmQgY2xhc3MgSU9Db25maWdGQkNvbnRyb2xsZXI7CiAKLXB1YmxpYzoKLSAgLyohIEBicmllZiBBYnN0cmFjdCBjb25maWd1cmF0aW9uIHN0cnVjdC4KLSAgICoKLSAgICogVGhlIGNoaWxkIGNvbnRyb2xsZXIgc2hvdWxkIGltcGxlbWVudCBhbiBvd24gY29uZmlndXJhdGlvbiBzdHJ1Y3QsIHdoaWNoIGluaGVyaXRzIGZyb20gdGhpcyBzdHJ1Y3QgYW5kIGlzIGluaXRpYWxpemVkIHdpdGggZGVmYXVsdCBwYXJhbWV0ZXJzLgotICAgKiBUaGUgY29udHJvbGxlciBjb25maWd1cmF0aW9uIGZiIHVzZXMgdGhlICNzZXRDb25maWcgbWV0aG9kIHRvIHNldCB0aGUgcnVudGltZSBjb25maWd1cmF0aW9uLgotICAgKi8KLSAgc3RydWN0IENvbmZpZyB7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAvKiEgQGJyaWVmIEFic3RyYWN0IGNvbmZpZ3VyYXRpb24gc3RydWN0LgorICAgICAgICAgICAqCisgICAgICAgICAgICogVGhlIGNoaWxkIGNvbnRyb2xsZXIgc2hvdWxkIGltcGxlbWVudCBhbiBvd24gY29uZmlndXJhdGlvbiBzdHJ1Y3QsIHdoaWNoIGluaGVyaXRzIGZyb20gdGhpcyBzdHJ1Y3QgYW5kIGlzIGluaXRpYWxpemVkIHdpdGggZGVmYXVsdCBwYXJhbWV0ZXJzLgorICAgICAgICAgICAqIFRoZSBjb250cm9sbGVyIGNvbmZpZ3VyYXRpb24gZmIgdXNlcyB0aGUgI3NldENvbmZpZyBtZXRob2QgdG8gc2V0IHRoZSBydW50aW1lIGNvbmZpZ3VyYXRpb24uCisgICAgICAgICAgICovCisgICAgICAgICAgc3RydWN0IENvbmZpZyB7CiAKLSAgfTsKKyAgICAgICAgICB9OwogCi0gIC8qISBAYnJpZWYgQWJzdHJhY3QgZGVzY3JpcHRvciBvZiBkZXZpY2UgaGFuZGxlcy4KLSAgICoKLSAgICogVXNlZCB0byBleGNoYW5nZSBpbmZvcm1hdGlvbiBhYm91dCBoYW5kbGVzIGJldHdlZW4gdGhlIGRldmljZSBjb250cm9sbGVyIGFuZCB0aGUgY29ycmVzcG9uZGluZyBjb25maWd1cmF0aW9uIGZiLgotICAgKiBUaGUgZGV2aWNlIGltcGxlbWVudGF0aW9uIHNob3VsZCBleHRlbmQgdGhlIHN0cnVjdCB3aXRoIHByb3BlcnRpZXMsIHdoaWNoIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBoYW5kbGUuCi0gICAqIFRoZSAjaW5pdEhhbmRsZSBtZXRob2QgdGhlbiBjcmVhdGVzIGFuICNJT0hhbmRsZSBpbnN0YW5jZSBiYXNlZCBvbiB0aGUgaGFuZGxlIGRlc2NyaXB0b3IuCi0gICAqLwotICBzdHJ1Y3QgSGFuZGxlRGVzY3JpcHRvciB7Ci0gICAgQ0lFQ19XU1RSSU5HIGNvbnN0ICZpZDsKLSAgICBJT01hcHBlcjo6RGlyZWN0aW9uIGRpcmVjdGlvbjsKKyAgICAgICAgICAvKiEgQGJyaWVmIEFic3RyYWN0IGRlc2NyaXB0b3Igb2YgZGV2aWNlIGhhbmRsZXMuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBVc2VkIHRvIGV4Y2hhbmdlIGluZm9ybWF0aW9uIGFib3V0IGhhbmRsZXMgYmV0d2VlbiB0aGUgZGV2aWNlIGNvbnRyb2xsZXIgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZ3VyYXRpb24gZmIuCisgICAgICAgICAgICogVGhlIGRldmljZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgZXh0ZW5kIHRoZSBzdHJ1Y3Qgd2l0aCBwcm9wZXJ0aWVzLCB3aGljaCB1bmlxdWVseSBpZGVudGlmeSB0aGUgaGFuZGxlLgorICAgICAgICAgICAqIFRoZSAjaW5pdEhhbmRsZSBtZXRob2QgdGhlbiBjcmVhdGVzIGFuICNJT0hhbmRsZSBpbnN0YW5jZSBiYXNlZCBvbiB0aGUgaGFuZGxlIGRlc2NyaXB0b3IuCisgICAgICAgICAgICovCisgICAgICAgICAgY2xhc3MgSGFuZGxlRGVzY3JpcHRvciB7CisgICAgICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICAgIENJRUNfV1NUUklORyBjb25zdCAmbUlkOworICAgICAgICAgICAgICBJT01hcHBlcjo6RGlyZWN0aW9uIG1EaXJlY3Rpb247CiAKLSAgICBIYW5kbGVEZXNjcmlwdG9yKENJRUNfV1NUUklORyBjb25zdCAmaWQsIElPTWFwcGVyOjpEaXJlY3Rpb24gZGlyZWN0aW9uKSA6Ci0gICAgICAgIGlkKGlkKSwgZGlyZWN0aW9uKGRpcmVjdGlvbikgeworICAgICAgICAgICAgICBIYW5kbGVEZXNjcmlwdG9yKENJRUNfV1NUUklORyBjb25zdCAmcGFJZCwgSU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbikgOgorICAgICAgICAgICAgICAgICAgbUlkKHBhSWQpLCBtRGlyZWN0aW9uKHBhRGlyZWN0aW9uKSB7CiAKLSAgICB9Ci0gIH07CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICB9OwogCi0gIGVudW0gTm90aWZpY2F0aW9uVHlwZSB7Ci0gICAgVW5rbm93bk5vdGlmaWNhdGlvblR5cGUsCi0gICAgLy8hIE5vdGlmaWVzIHRoZSBjb25maWd1cmF0aW9uIGZiIGFib3V0IGEgc3VjY2Vzc2Z1bCBvcGVyYXRpb24gZS5nLiBhIHN1Y2Nlc3NmdWwgc3RhcnR1cC4KLSAgICBTdWNjZXNzLAotICAgIC8vISBOb3RpZmllcyB0aGUgY29uZmlndXJhdGlvbiBhYm91dCBhbiBlcnJvci4gSXQgc2hvdWxkIGJlIGVtaXR0ZWQgZHVyaW5nIHRoZSBpbml0IG1ldGhvZCBvciB0aGUgcnVuTG9vcCBtZXRob2QuCi0gICAgRXJyb3IsCi0gICAgLy8hIFBsYWNlaG9sZGVyIGZvciBjdXN0b20gaGFyZHdhcmUgc3BlY2lmaWMgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZSBkZXZpY2UgYW5kIGNvbmZpZ3VyYXRpb24gZmIgY29udHJvbGxlci4KLSAgICBDdXN0b20KLSAgfTsKLSAgTm90aWZpY2F0aW9uVHlwZSBub3RpZmljYXRpb25UeXBlOwotICBjb25zdCB2b2lkKiBub3RpZmljYXRpb25BdHRhY2htZW50OwotICBib29sIG5vdGlmaWNhdGlvbkhhbmRsZWQ7CisgICAgICAgICAgZW51bSBOb3RpZmljYXRpb25UeXBlIHsKKyAgICAgICAgICAgIFVua25vd25Ob3RpZmljYXRpb25UeXBlLAorICAgICAgICAgICAgLy8hIE5vdGlmaWVzIHRoZSBjb25maWd1cmF0aW9uIGZiIGFib3V0IGEgc3VjY2Vzc2Z1bCBvcGVyYXRpb24gZS5nLiBhIHN1Y2Nlc3NmdWwgc3RhcnR1cC4KKyAgICAgICAgICAgIFN1Y2Nlc3MsCisgICAgICAgICAgICAvLyEgTm90aWZpZXMgdGhlIGNvbmZpZ3VyYXRpb24gYWJvdXQgYW4gZXJyb3IuIEl0IHNob3VsZCBiZSBlbWl0dGVkIGR1cmluZyB0aGUgaW5pdCBtZXRob2Qgb3IgdGhlIHJ1bkxvb3AgbWV0aG9kLgorICAgICAgICAgICAgRXJyb3IsCisgICAgICAgICAgICAvLyEgUGxhY2Vob2xkZXIgZm9yIGN1c3RvbSBoYXJkd2FyZSBzcGVjaWZpYyBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIGRldmljZSBhbmQgY29uZmlndXJhdGlvbiBmYiBjb250cm9sbGVyLgorICAgICAgICAgICAgQ3VzdG9tCisgICAgICAgICAgfTsKKyAgICAgICAgICBOb3RpZmljYXRpb25UeXBlIG1Ob3RpZmljYXRpb25UeXBlOworICAgICAgICAgIGNvbnN0IHZvaWQqIG1Ob3RpZmljYXRpb25BdHRhY2htZW50OworICAgICAgICAgIGJvb2wgbU5vdGlmaWNhdGlvbkhhbmRsZWQ7CiAKLSAgLyohIEBicmllZiBTZXRzIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBjb250cm9sbGVyCi0gICAqCi0gICAqIEBwYXJhbSBjb25maWcgUG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBzdHJ1Y3QgcHJvdmlkZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgY29udHJvbGxlciBjb25maWd1cmF0aW9uIGZiLiBVc2UgKnN0YXRpY19jYXN0PEN1c3RvbUNvbmZpZyo+KGNvbmZpZykgdG8gcmV0cmlldmUgdGhlIHN0cnVjdCBpbnN0YW5jZS4KLSAgICovCi0gIHZpcnR1YWwgdm9pZCBzZXRDb25maWcoQ29uZmlnKiBjb25maWcpID0gMDsKKyAgICAgICAgICAvKiEgQGJyaWVmIFNldHMgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNvbnRyb2xsZXIKKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYUNvbmZpZyBQb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIHN0cnVjdCBwcm92aWRlZCBieSB0aGUgY29ycmVzcG9uZGluZyBjb250cm9sbGVyIGNvbmZpZ3VyYXRpb24gZmIuIFVzZSAqc3RhdGljX2Nhc3Q8Q3VzdG9tQ29uZmlnKj4oY29uZmlnKSB0byByZXRyaWV2ZSB0aGUgc3RydWN0IGluc3RhbmNlLgorICAgICAgICAgICAqLworICAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRDb25maWcoQ29uZmlnKiBwYUNvbmZpZykgPSAwOwogCi0gIHZvaWQgZmlyZUluZGljYXRpb25FdmVudChJT09ic2VydmVyICpvYnNlcnZlcik7CisgICAgICAgICAgdm9pZCBmaXJlSW5kaWNhdGlvbkV2ZW50KElPT2JzZXJ2ZXIgKnBhT2JzZXJ2ZXIpOwogCi0gIHZpcnR1YWwgdm9pZCBoYW5kbGVDaGFuZ2VFdmVudChJT0hhbmRsZSAqaGFuZGxlKTsKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQ2hhbmdlRXZlbnQoSU9IYW5kbGUgKnBhSGFuZGxlKTsKIAotICAvL1RPRE86IGFkYXB0IHRoaXMgcHJvcGVybHkgdG8gdGhlIG5ldyBoYW5kbGVyIG1vZGVsLiBUaGlzIG1vY2t1cCBpcyBqdXN0IHRvIGF2b2lkIHRoZSBjbGFzc2VzIGJlbG93IHRvIGJlIGFic3RyYWN0Ci0gIHZpcnR1YWwgc2l6ZV90IGdldElkZW50aWZpZXIoKSBjb25zdHsKLSAgICByZXR1cm4gMDsKLSAgfQorICAgICAgICAgIC8vVE9ETzogYWRhcHQgdGhpcyBwcm9wZXJseSB0byB0aGUgbmV3IGhhbmRsZXIgbW9kZWwuIFRoaXMgbW9ja3VwIGlzIGp1c3QgdG8gYXZvaWQgdGhlIGNsYXNzZXMgYmVsb3cgdG8gYmUgYWJzdHJhY3QKKyAgICAgICAgICB2aXJ0dWFsIHNpemVfdCBnZXRJZGVudGlmaWVyKCkgY29uc3QgeworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gIGV4cGxpY2l0IElPRGV2aWNlQ29udHJvbGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbik7CisgICAgICAgIHByb3RlY3RlZDoKKyAgICAgICAgICBleHBsaWNpdCBJT0RldmljZUNvbnRyb2xsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pOwogCi0gIC8qISBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIGNvbnRyb2xsZXIuCi0gICAqCi0gICAqIFRoZSBtZXRob2Qgc2hvdWxkIGluaXRpYWxpemUgYW5kIHN0YXJ0dXAgdGhlIGNvbnRyb2xsZXIuCi0gICAqIEFsbCByZXF1aXJlZCBoYXJkd2FyZSBsaWJyYXJpZXMgc2hvdWxkIGJlIHN0YXJ0ZWQgYW5kIGNoZWNrZWQgZm9yIGVycm9ycy4KLSAgICogSWYgdGhlIHN5c3RlbSByZXF1aXJlcyBhbiBpbml0aWFsaXphdGlvbiBzZXF1ZW5jZSB3aGljaCBpcyBleGVjdXRlZCBvbmNlIGF0IHN0YXJ0dXAsIHBsYWNlIGl0IGhlcmUuCi0gICAqIEluIGNhc2Ugb2YgYW4gZXJyb3IsIHJldHVybiBhbiBlcnJvciBkZXNjcmlwdGlvbi4KLSAgICoKLSAgICogQHJldHVybiAwL05VTEwgaWYgdGhlIGluaXRpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsLiBPdGhlcndpc2UgcmV0dXJuIGFuIGVycm9yIGRlc2NyaXB0aW9uLgotICAgKi8KLSAgdmlydHVhbCBjb25zdCBjaGFyKiBpbml0KCkgPSAwOworICAgICAgICAgIC8qISBAYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIGNvbnRyb2xsZXIuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBUaGUgbWV0aG9kIHNob3VsZCBpbml0aWFsaXplIGFuZCBzdGFydHVwIHRoZSBjb250cm9sbGVyLgorICAgICAgICAgICAqIEFsbCByZXF1aXJlZCBoYXJkd2FyZSBsaWJyYXJpZXMgc2hvdWxkIGJlIHN0YXJ0ZWQgYW5kIGNoZWNrZWQgZm9yIGVycm9ycy4KKyAgICAgICAgICAgKiBJZiB0aGUgc3lzdGVtIHJlcXVpcmVzIGFuIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlIHdoaWNoIGlzIGV4ZWN1dGVkIG9uY2UgYXQgc3RhcnR1cCwgcGxhY2UgaXQgaGVyZS4KKyAgICAgICAgICAgKiBJbiBjYXNlIG9mIGFuIGVycm9yLCByZXR1cm4gYW4gZXJyb3IgZGVzY3JpcHRpb24uCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBAcmV0dXJuIDAvTlVMTCBpZiB0aGUgaW5pdGlhbGl6YXRpb24gd2FzIHN1Y2Nlc3NmdWwuIE90aGVyd2lzZSByZXR1cm4gYW4gZXJyb3IgZGVzY3JpcHRpb24uCisgICAgICAgICAgICovCisgICAgICAgICAgdmlydHVhbCBjb25zdCBjaGFyKiBpbml0KCkgPSAwOwogCi0gIC8qISBAYnJpZWYgQ29udGFpbnMgdGhlIGJsb2NraW5nIHJ1biBzZXF1ZW5jZS4KLSAgICoKLSAgICogVGhlIG1ldGhvZCBzaG91bGQgaW1wbGVtZW50IHRoZSBhbGdvcml0aG0sIHdoaWNoIHNldHMgYW5kIGdldHMgdGhlIHN0YXRlIG9mIHRoZSBoYXJkd2FyZSBoYW5kbGVzLgotICAgKiBJbiBjYXNlIG9mIGEgcnVudGltZSBlcnJvciwgc2V0IHRoZSAjZXJyb3IgcHJvcGVydHkuCi0gICAqIEl0IHNob3VsZCBhbHdheXMgY2hlY2sgaWYgdGhlIGNvbnRyb2xsZXIgaXMgc3RpbGwgYWN0aXZlICgjaXNBbGl2ZSBtZXRob2QpLgotICAgKiBJZiB0aGUgY29udHJvbGxlciBnb3QgaW5hY3RpdmUgb3IgYW4gZXJyb3Igb2NjdXJyZWQsIHRoZSBtZXRob2Qgc2hvdWxkIHJldHVybi4KLSAgICoKLSAgICogQGF0dGVudGlvbiBOZXZlciB1c2Ugd2hpbGUodHJ1ZSkgbG9vcHMgd2l0aG91dCBhbnkgc2xlZXAgbWV0aG9kcy4gVGhleSB3b3VsZCBjb25zdW1lIGFsbCBwcm9jZXNzaW5nIHBvd2VyIGFuZCBzbG93IGRvd24gRk9SVEUuCi0gICAqLwotICB2aXJ0dWFsIHZvaWQgcnVuTG9vcCgpID0gMDsKKyAgICAgICAgICAvKiEgQGJyaWVmIENvbnRhaW5zIHRoZSBibG9ja2luZyBydW4gc2VxdWVuY2UuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBUaGUgbWV0aG9kIHNob3VsZCBpbXBsZW1lbnQgdGhlIGFsZ29yaXRobSwgd2hpY2ggc2V0cyBhbmQgZ2V0cyB0aGUgc3RhdGUgb2YgdGhlIGhhcmR3YXJlIGhhbmRsZXMuCisgICAgICAgICAgICogSW4gY2FzZSBvZiBhIHJ1bnRpbWUgZXJyb3IsIHNldCB0aGUgI2Vycm9yIHByb3BlcnR5LgorICAgICAgICAgICAqIEl0IHNob3VsZCBhbHdheXMgY2hlY2sgaWYgdGhlIGNvbnRyb2xsZXIgaXMgc3RpbGwgYWN0aXZlICgjaXNBbGl2ZSBtZXRob2QpLgorICAgICAgICAgICAqIElmIHRoZSBjb250cm9sbGVyIGdvdCBpbmFjdGl2ZSBvciBhbiBlcnJvciBvY2N1cnJlZCwgdGhlIG1ldGhvZCBzaG91bGQgcmV0dXJuLgorICAgICAgICAgICAqCisgICAgICAgICAgICogQGF0dGVudGlvbiBOZXZlciB1c2UgV2hpbGUodHJ1ZSkgbG9vcHMgd2l0aG91dCBhbnkgc2xlZXAgbWV0aG9kcy4gVGhleSB3b3VsZCBjb25zdW1lIGFsbCBwcm9jZXNzaW5nIHBvd2VyIGFuZCBzbG93IGRvd24gRk9SVEUuCisgICAgICAgICAgICovCisgICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bkxvb3AoKSA9IDA7CiAKLSAgLyohIEBicmllZiBEZWluaXRpYWxpemVzIHRoZSBjb250cm9sbGVyLgotICAgKgotICAgKiBTdG9wcyBhbGwgaW5pdGlhbGl6ZWQgaGFyZHdhcmUgbGlicmFyaWVzLgotICAgKiBGcmVlcyB0aGUgYWxsb2NhdGVkIHJlc291cmNlcyBvZiB0aGUgY29udHJvbGxlci4KLSAgICovCi0gIHZpcnR1YWwgdm9pZCBkZUluaXQoKSA9IDA7CisgICAgICAgICAgLyohIEBicmllZiBEZWluaXRpYWxpemVzIHRoZSBjb250cm9sbGVyLgorICAgICAgICAgICAqCisgICAgICAgICAgICogU3RvcHMgYWxsIGluaXRpYWxpemVkIGhhcmR3YXJlIGxpYnJhcmllcy4KKyAgICAgICAgICAgKiBGcmVlcyB0aGUgYWxsb2NhdGVkIHJlc291cmNlcyBvZiB0aGUgY29udHJvbGxlci4KKyAgICAgICAgICAgKi8KKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgZGVJbml0KCkgPSAwOwogCi0gIElPQ29uZmlnRkJDb250cm9sbGVyICpkZWxlZ2F0ZTsKKyAgICAgICAgICBib29sIGhhc0Vycm9yKCk7CisgICAgICAgICAgY29uc3QgY2hhciogbUVycm9yOwogCi0gIGJvb2wgaGFzRXJyb3IoKTsKLSAgY29uc3QgY2hhciogZXJyb3I7CisgICAgICAgICAgLyohIEBicmllZiBOb3RpZmllcyB0aGUgY29ycmVzcG9uZGluZyBjb25maWd1cmF0aW9uIGZiIGFib3V0IGEgc3RhcnR1cCBvciBydW50aW1lIGV2ZW50LgorICAgICAgICAgICAqCisgICAgICAgICAgICogVGhlIG1ldGhvZCBzaG91bGQgbm90IGJlIHVzZWQgZm9yIHRpbWUgY3JpdGljYWwgb3BlcmF0aW9ucywgc3VjaCBhcyBhIHdyaXRlIG9wZXJhdGlvbiBvZiBhbiBvdXRwdXQgZmIuCisgICAgICAgICAgICogWW91IHNob3VsZCBhdm9pZCBtdWx0aXBsZSBtZXNzYWdlcyBpbiBhIHNob3J0IHRpbWUgcGVyaW9kLCBhcyBub3RpZmljYXRpb25zIGFyZSBub3QgeWV0IHF1ZXVlZCBidXQgZHJvcHBlZC4KKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYVR5cGUgVHlwZSBvZiBub3RpZmljYXRpb24KKyAgICAgICAgICAgKiBAcGFyYW0gcGFBdHRhY2htZW50IEF0dGFjaG1lbnQgb2Ygbm90aWZpY2F0aW9uLiBFLmcuIGEgY29uc3QqIGNoYXIgcG9pbnRlciBzaG91bGQgYmUgYXR0YWNoZWQgdG8gYW4gRXJyb3Igbm90aWZpY2F0aW9uLgorICAgICAgICAgICAqLworICAgICAgICAgIHZvaWQgbm90aWZ5Q29uZmlnRkIoTm90aWZpY2F0aW9uVHlwZSBwYVR5cGUsIGNvbnN0IHZvaWQqIHBhQXR0YWNobWVudCA9IDApOwogCi0gIC8qISBAYnJpZWYgTm90aWZpZXMgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlndXJhdGlvbiBmYiBhYm91dCBhIHN0YXJ0dXAgb3IgcnVudGltZSBldmVudC4KLSAgICoKLSAgICogVGhlIG1ldGhvZCBzaG91bGQgbm90IGJlIHVzZWQgZm9yIHRpbWUgY3JpdGljYWwgb3BlcmF0aW9ucywgc3VjaCBhcyBhIHdyaXRlIG9wZXJhdGlvbiBvZiBhbiBvdXRwdXQgZmIuCi0gICAqIFlvdSBzaG91bGQgYXZvaWQgbXVsdGlwbGUgbWVzc2FnZXMgaW4gYSBzaG9ydCB0aW1lIHBlcmlvZCwgYXMgbm90aWZpY2F0aW9ucyBhcmUgbm90IHlldCBxdWV1ZWQgYnV0IGRyb3BwZWQuCi0gICAqCi0gICAqIEBwYXJhbSB0eXBlIFR5cGUgb2Ygbm90aWZpY2F0aW9uCi0gICAqIEBwYXJhbSBhdHRhY2htZW50IEF0dGFjaG1lbnQgb2Ygbm90aWZpY2F0aW9uLiBFLmcuIGEgY29uc3QqIGNoYXIgcG9pbnRlciBzaG91bGQgYmUgYXR0YWNoZWQgdG8gYW4gRXJyb3Igbm90aWZpY2F0aW9uLgotICAgKi8KLSAgdm9pZCBub3RpZnlDb25maWdGQihOb3RpZmljYXRpb25UeXBlIHR5cGUsIGNvbnN0IHZvaWQqIGF0dGFjaG1lbnQgPSAwKTsKKyAgICAgICAgICB0eXBlZGVmIENTaW5nbHlMaW5rZWRMaXN0PElPSGFuZGxlICo+IFRIYW5kbGVMaXN0OwogCi0gIC8qISBAYnJpZWYgU3luY2hyb25pemVzIHRoZSBhY2Nlc3MgdG8gdGhlICNpbnB1dEhhbmRsZXMgYW5kICNvdXRwdXRIYW5kbGVzLiBVc2UgaXQgZm9yIGl0ZXJhdGlvbnMgb3ZlciB0aGUgbGlzdHMuICovCi0gIENTeW5jT2JqZWN0IGhhbmRsZU11dGV4OworICAgICAgICAgIC8qISBAYnJpZWYgQWRkcyBhbiBJTyBoYW5kbGUgdG8gdGhlIGNvbnRyb2xsZXIKKyAgICAgICAgICAgKgorICAgICAgICAgICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBieSB0aGUgY29ycmVzcG9uZGluZyBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIGJsb2NrIGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24uCisgICAgICAgICAgICogVGhlIGhhbmRsZSBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBjb3JyZWN0IGxpc3QgKCNpbnB1dEhhbmRsZXMgYW5kICNvdXRwdXRIYW5kbGVzKS4KKyAgICAgICAgICAgKiBUaGUgaGFuZGxlIGxpc3RzIHNob3VsZCBiZSBhY2Nlc3NlZCBieSB0aGUgY29udHJvbGxlciB0byByZWFkIGFuZCB3cml0ZSBJT3MuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBAcGFyYW0gcGFIYW5kbGVEZXNjcmlwdG9yIERlc2NyaXB0b3Igb2YgdGhlIGhhbmRsZQorICAgICAgICAgICAqLworICAgICAgICAgIHZpcnR1YWwgdm9pZCBhZGRIYW5kbGUoSGFuZGxlRGVzY3JpcHRvciAqcGFIYW5kbGVEZXNjcmlwdG9yKTsKIAotICB0eXBlZGVmIENTaW5nbHlMaW5rZWRMaXN0PElPSGFuZGxlICo+IFRIYW5kbGVMaXN0OworICAgICAgICAgIC8qISBAYnJpZWYgSW5pdGlhbGl6ZXIgZm9yIGFsbCBJTyBoYW5kbGVzLgorICAgICAgICAgICAqCisgICAgICAgICAgICogVGhlIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhIGNvbmZpZ3VyYXRpb24gZmIgYWRkcyBhbiBoYW5kbGUgdmlhIHRoZSAjYWRkSGFuZGxlIG1ldGhvZC4KKyAgICAgICAgICAgKiBJdCBzaG91bGQgcmV0dXJuIGFuIGhhbmRsZSBpbnN0YW5jZSBiYXNlZCBvbiB0aGUgZGVzY3JpcHRvciBpbmZvcm1hdGlvbi4KKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYUhhbmRsZURlc2NyaXB0b3IgRGVzY3JpcHRvciBvZiB0aGUgaGFuZGxlCisgICAgICAgICAgICovCisgICAgICAgICAgdmlydHVhbCBJT0hhbmRsZSogaW5pdEhhbmRsZShIYW5kbGVEZXNjcmlwdG9yICpwYUhhbmRsZURlc2NyaXB0b3IpID0gMDsKIAotICAvKiEgQGJyaWVmIEFsbCBpbnB1dCBoYW5kbGVzIG9mIHRoZSBtYWluIGNvbnRyb2xsZXIKLSAgICogVGhlIGxpc3Qgc2hvdWxkIG9ubHkgY29udGFpbiBpbnB1dCBoYW5kbGVzIG9mIHRoZSBtYWluIGNvbnRyb2xsZXIuCi0gICAqIFRoZSBsaXN0IGlzIG1hbmFnZWQgYnkgdGhlICNhZGRIYW5kbGUgYW5kICNkcm9wSGFuZGxlcyBtZXRob2QuCi0gICAqICNkcm9wSGFuZGxlcyBpcyBjYWxsZWQgYXV0b21hdGljYWxseSBkdXJpbmcgZGVpbml0aWFsaXphdGlvbi4KLSAgICovCi0gIFRIYW5kbGVMaXN0IGlucHV0SGFuZGxlczsKKyAgICAgICAgICAvKiEgQGJyaWVmIEl0ZXJhdGVzIG92ZXIgYWxsIGlucHV0IGhhbmRsZXMgYW5kIGZpcmVzIGFuIGluZGljYXRpb24gZXZlbnQgaW4gY2FzZSBvZiBhIGNoYW5nZS4KKyAgICAgICAgICAgKgorICAgICAgICAgICAqIFRoZSBtZXRob2QgaXRlcmF0ZXMgb3ZlciB0aGUgI2lucHV0SGFuZGxlcyBsaXN0LgorICAgICAgICAgICAqIEl0IGNoZWNrcyBpZiB0aGUgaW5wdXQgaGFuZGxlIGhhcyBhIGJvdW5kIG9ic2VydmVyIGFuZCB0aGVuIGNhbGxzIHRoZSAjaXNIYW5kbGVWYWx1ZUVxdWFsIG1ldGhvZC4KKyAgICAgICAgICAgKiBJZiB0aGUgI2lzSGFuZGxlVmFsdWVFcXVhbCByZXR1cm5zIHRydWUsIHRoZSBpbmRpY2F0aW9uIGV2ZW50IGlzIGZpcmVkIGZvciB0aGUgYm91bmQgb2JzZXJ2ZXIuCisgICAgICAgICAgICogQGF0dGVudGlvbiBUaGUgbWV0aG9kIGRvZXMgb25seSB3b3JrIGlmIHRoZSAjaXNIYW5kbGVWYWx1ZUVxdWFsIGlzIG92ZXJyaWRkZW4uCisgICAgICAgICAgICovCisgICAgICAgICAgdm9pZCBjaGVja0ZvcklucHV0Q2hhbmdlcygpOwogCi0gIC8qISBAYnJpZWYgQWxsIG91dHB1dCBoYW5kbGVzIG9mIHRoZSBtYWluIGNvbnRyb2xsZXIKLSAgICogVGhlIGxpc3Qgc2hvdWxkIG9ubHkgY29udGFpbiBvdXRwdXQgaGFuZGxlcyBvZiB0aGUgbWFpbiBjb250cm9sbGVyLgotICAgKiBUaGUgbGlzdCBpcyBtYW5hZ2VkIGJ5IHRoZSAjYWRkSGFuZGxlIGFuZCAjZHJvcEhhbmRsZXMgbWV0aG9kLgotICAgKiAjZHJvcEhhbmRsZXMgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgZHVyaW5nIGRlaW5pdGlhbGl6YXRpb24uCi0gICAqLwotICBUSGFuZGxlTGlzdCBvdXRwdXRIYW5kbGVzOworICAgICAgICAgIC8qISBAYnJpZWYgQ2hlY2tzIGlmIHRoZSB2YWx1ZSBvZiBhIGhhbmRsZSBoYXMgY2hhbmdlZC4gVXNlZCBieSB0aGUgI2NoZWNrRm9ySW5wdXRDaGFuZ2VzIG1ldGhvZC4KKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYUhhbmRsZSBJT0hhbmRsZSB3aGljaCBzaG91bGQgYmUgY29tcGFyZWQgdG8gdGhlIHByZXZpb3VzIElPIHN0YXRlCisgICAgICAgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSBjdXJyZW50IHN0YXRlIGlzIGVxdWFsIHRvIHRoZSBwcmV2aW91cyBJTyBzdGF0ZS4gSW4gY2FzZSBpdCBoYXMgY2hhbmdlZCwgcmV0dXJuIGZhbHNlLgorICAgICAgICAgICAqLworICAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0hhbmRsZVZhbHVlRXF1YWwoSU9IYW5kbGUqIHBhSGFuZGxlKTsKIAotICAvKiEgQGJyaWVmIEFkZHMgYW4gSU8gaGFuZGxlIHRvIHRoZSBjb250cm9sbGVyCi0gICAqCi0gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBieSB0aGUgY29ycmVzcG9uZGluZyBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIGJsb2NrIGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24uCi0gICAqIFRoZSBoYW5kbGUgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byB0aGUgY29ycmVjdCBsaXN0ICgjaW5wdXRIYW5kbGVzIGFuZCAjb3V0cHV0SGFuZGxlcykuCi0gICAqIFRoZSBoYW5kbGUgbGlzdHMgc2hvdWxkIGJlIGFjY2Vzc2VkIGJ5IHRoZSBjb250cm9sbGVyIHRvIHJlYWQgYW5kIHdyaXRlIElPcy4KLSAgICoKLSAgICogQHBhcmFtIGhhbmRsZURlc2NyaXB0b3IgRGVzY3JpcHRvciBvZiB0aGUgaGFuZGxlCi0gICAqLwotICB2aXJ0dWFsIHZvaWQgYWRkSGFuZGxlKEhhbmRsZURlc2NyaXB0b3IgKmhhbmRsZURlc2NyaXB0b3IpOworICAgICAgICAgIC8qISBAYnJpZWYgU3luY2hyb25pemVzIHRoZSBhY2Nlc3MgdG8gdGhlICNpbnB1dEhhbmRsZXMgYW5kICNvdXRwdXRIYW5kbGVzLiBVc2UgaXQgZm9yIGl0ZXJhdGlvbnMgb3ZlciB0aGUgbGlzdHMuICovCisgICAgICAgICAgQ1N5bmNPYmplY3QgbUhhbmRsZU11dGV4OwogCi0gIC8qISBAYnJpZWYgSW5pdGlhbGl6ZXIgZm9yIGFsbCBJTyBoYW5kbGVzLgotICAgKgotICAgKiBUaGUgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGEgY29uZmlndXJhdGlvbiBmYiBhZGRzIGFuIGhhbmRsZSB2aWEgdGhlICNhZGRIYW5kbGUgbWV0aG9kLgotICAgKiBJdCBzaG91bGQgcmV0dXJuIGFuIGhhbmRsZSBpbnN0YW5jZSBiYXNlZCBvbiB0aGUgZGVzY3JpcHRvciBpbmZvcm1hdGlvbi4KLSAgICoKLSAgICogQHBhcmFtIGhhbmRsZURlc2NyaXB0b3IgRGVzY3JpcHRvciBvZiB0aGUgaGFuZGxlCi0gICAqLwotICB2aXJ0dWFsIElPSGFuZGxlKiBpbml0SGFuZGxlKEhhbmRsZURlc2NyaXB0b3IgKmhhbmRsZURlc2NyaXB0b3IpID0gMDsKKyAgICAgICAgICAvKiEgQGJyaWVmIEFsbCBpbnB1dCBoYW5kbGVzIG9mIHRoZSBtYWluIGNvbnRyb2xsZXIKKyAgICAgICAgICAgKiBUaGUgbGlzdCBzaG91bGQgb25seSBjb250YWluIGlucHV0IGhhbmRsZXMgb2YgdGhlIG1haW4gY29udHJvbGxlci4KKyAgICAgICAgICAgKiBUaGUgbGlzdCBpcyBtYW5hZ2VkIGJ5IHRoZSAjYWRkSGFuZGxlIGFuZCAjZHJvcEhhbmRsZXMgbWV0aG9kLgorICAgICAgICAgICAqICNkcm9wSGFuZGxlcyBpcyBjYWxsZWQgYXV0b21hdGljYWxseSBkdXJpbmcgZGVpbml0aWFsaXphdGlvbi4KKyAgICAgICAgICAgKi8KKyAgICAgICAgICBUSGFuZGxlTGlzdCBtSW5wdXRIYW5kbGVzOwogCi0gIC8qISBAYnJpZWYgSXRlcmF0ZXMgb3ZlciBhbGwgaW5wdXQgaGFuZGxlcyBhbmQgZmlyZXMgYW4gaW5kaWNhdGlvbiBldmVudCBpbiBjYXNlIG9mIGEgY2hhbmdlLgotICAgKgotICAgKiBUaGUgbWV0aG9kIGl0ZXJhdGVzIG92ZXIgdGhlICNpbnB1dEhhbmRsZXMgbGlzdC4KLSAgICogSXQgY2hlY2tzIGlmIHRoZSBpbnB1dCBoYW5kbGUgaGFzIGEgYm91bmQgb2JzZXJ2ZXIgYW5kIHRoZW4gY2FsbHMgdGhlICNpc0hhbmRsZVZhbHVlRXF1YWwgbWV0aG9kLgotICAgKiBJZiB0aGUgI2lzSGFuZGxlVmFsdWVFcXVhbCByZXR1cm5zIHRydWUsIHRoZSBpbmRpY2F0aW9uIGV2ZW50IGlzIGZpcmVkIGZvciB0aGUgYm91bmQgb2JzZXJ2ZXIuCi0gICAqIEBhdHRlbnRpb24gVGhlIG1ldGhvZCBkb2VzIG9ubHkgd29yayBpZiB0aGUgI2lzSGFuZGxlVmFsdWVFcXVhbCBpcyBvdmVycmlkZGVuLgotICAgKi8KLSAgdm9pZCBjaGVja0ZvcklucHV0Q2hhbmdlcygpOworICAgICAgICAgIC8qISBAYnJpZWYgQWxsIG91dHB1dCBoYW5kbGVzIG9mIHRoZSBtYWluIGNvbnRyb2xsZXIKKyAgICAgICAgICAgKiBUaGUgbGlzdCBzaG91bGQgb25seSBjb250YWluIG91dHB1dCBoYW5kbGVzIG9mIHRoZSBtYWluIGNvbnRyb2xsZXIuCisgICAgICAgICAgICogVGhlIGxpc3QgaXMgbWFuYWdlZCBieSB0aGUgI2FkZEhhbmRsZSBhbmQgI2Ryb3BIYW5kbGVzIG1ldGhvZC4KKyAgICAgICAgICAgKiAjZHJvcEhhbmRsZXMgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgZHVyaW5nIGRlaW5pdGlhbGl6YXRpb24uCisgICAgICAgICAgICovCisgICAgICAgICAgVEhhbmRsZUxpc3QgbU91dHB1dEhhbmRsZXM7CiAKLSAgLyohIEBicmllZiBDaGVja3MgaWYgdGhlIHZhbHVlIG9mIGEgaGFuZGxlIGhhcyBjaGFuZ2VkLiBVc2VkIGJ5IHRoZSAjY2hlY2tGb3JJbnB1dENoYW5nZXMgbWV0aG9kLgotICAgKgotICAgKiBAcGFyYW0gaGFuZGxlIElPSGFuZGxlIHdoaWNoIHNob3VsZCBiZSBjb21wYXJlZCB0byB0aGUgcHJldmlvdXMgSU8gc3RhdGUKLSAgICogQHJldHVybiBUcnVlIGlmIHRoZSBjdXJyZW50IHN0YXRlIGlzIGVxdWFsIHRvIHRoZSBwcmV2aW91cyBJTyBzdGF0ZS4gSW4gY2FzZSBpdCBoYXMgY2hhbmdlZCwgcmV0dXJuIGZhbHNlLgotICAgKi8KLSAgdmlydHVhbCBib29sIGlzSGFuZGxlVmFsdWVFcXVhbChJT0hhbmRsZSogaGFuZGxlKTsKKyAgICAgICAgcHJpdmF0ZToKIAotcHJpdmF0ZToKKyAgICAgICAgICBJT0NvbmZpZ0ZCQ29udHJvbGxlciAqbURlbGVnYXRlOwogCi0gIC8qISBAYnJpZWYgRHJvcHMgYWxsIGhhbmRsZSBpbnN0YW5jZXMgd2hpY2ggd2VyZSBwcmV2aW91c2x5IGFkZGVkIGJ5IHRoZSAjYWRkSGFuZGxlIG1ldGhvZAotICAgKgotICAgKiBUaGUgbWV0aG9kIGlzIGF1dG9tYXRpY2FsbHkgY2FsbGVkIGR1cmluZyB0aGUgZGVpbml0aWFsaXphdGlvbiBvZiB0aGUgY29ycmVzcG9uZGluZyBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIGJsb2NrLgotICAgKi8KLSAgdm9pZCBkcm9wSGFuZGxlcygpOworICAgICAgICAgIC8qISBAYnJpZWYgRHJvcHMgYWxsIGhhbmRsZSBpbnN0YW5jZXMgd2hpY2ggd2VyZSBwcmV2aW91c2x5IGFkZGVkIGJ5IHRoZSAjYWRkSGFuZGxlIG1ldGhvZAorICAgICAgICAgICAqCisgICAgICAgICAgICogVGhlIG1ldGhvZCBpcyBhdXRvbWF0aWNhbGx5IGNhbGxlZCBkdXJpbmcgdGhlIGRlaW5pdGlhbGl6YXRpb24gb2YgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlndXJhdGlvbiBmdW5jdGlvbiBibG9jay4KKyAgICAgICAgICAgKi8KKyAgICAgICAgICB2b2lkIGRyb3BIYW5kbGVzKCk7CiAKLSAgdm9pZCBydW4oKTsKKyAgICAgICAgICB2b2lkIHJ1bigpOwogCi0gIHZvaWQgc2V0SW5pdERlbGF5KGludCBkZWxheSk7CisgICAgICAgICAgdm9pZCBzZXRJbml0RGVsYXkoaW50IHBhRGVsYXkpOwogCi0gIGludCBpbml0RGVsYXk7CisgICAgICAgICAgaW50IG1Jbml0RGVsYXk7CiAKLSAgdm9pZCBhZGRIYW5kbGUoVEhhbmRsZUxpc3QqIGxpc3QsIENJRUNfV1NUUklORyBjb25zdCAmaWQsIElPSGFuZGxlKiBoYW5kbGUpOworICAgICAgICAgIHZvaWQgYWRkSGFuZGxlKFRIYW5kbGVMaXN0KiBwYUxpc3QsIENJRUNfV1NUUklORyBjb25zdCAmcGFJZCwgSU9IYW5kbGUqIHBhSGFuZGxlKTsKIAotICAvLyBGdW5jdGlvbnMgbmVlZGVkIGZvciB0aGUgZXh0ZXJuYWwgZXZlbnQgaGFuZGxlciBpbnRlcmZhY2UKLSAgdm9pZCBlbmFibGVIYW5kbGVyKHZvaWQpIHsKLSAgfQotICB2b2lkIGRpc2FibGVIYW5kbGVyKHZvaWQpIHsKLSAgfQotICB2b2lkIHNldFByaW9yaXR5KGludCkgewotICB9Ci0gIGludCBnZXRQcmlvcml0eSh2b2lkKSBjb25zdCB7Ci0gICAgcmV0dXJuIDA7Ci0gIH0KLX07CisgICAgICAgICAgLy8gRnVuY3Rpb25zIG5lZWRlZCBmb3IgdGhlIGV4dGVybmFsIGV2ZW50IGhhbmRsZXIgaW50ZXJmYWNlCisgICAgICAgICAgdm9pZCBlbmFibGVIYW5kbGVyKHZvaWQpIHsKKyAgICAgICAgICAgIC8vZG8gbm90aGluZworICAgICAgICAgIH0KKyAgICAgICAgICB2b2lkIGRpc2FibGVIYW5kbGVyKHZvaWQpIHsKKyAgICAgICAgICAgIC8vZG8gbm90aGluZworICAgICAgICAgIH0KKyAgICAgICAgICB2b2lkIHNldFByaW9yaXR5KGludCkgeworICAgICAgICAgICAgLy9kbyBub3RoaW5nCisgICAgICAgICAgfQorICAgICAgICAgIGludCBnZXRQcmlvcml0eSh2b2lkKSBjb25zdCB7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICB9CisgICAgICB9OwogCiAgICAgfSAvL25hbWVzcGFjZSBJTwogICB9IC8vbmFtZXBzYWNlIGNvcmUKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2RldmljZS9pb19jb250cm9sbGVyX211bHRpLmNwcCBiL3NyYy9jb3JlL2lvL2RldmljZS9pb19jb250cm9sbGVyX211bHRpLmNwcAppbmRleCAzMDcyM2JkLi4xMmY4Njk1IDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlcl9tdWx0aS5jcHAKKysrIGIvc3JjL2NvcmUvaW8vZGV2aWNlL2lvX2NvbnRyb2xsZXJfbXVsdGkuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTEyLDI1ICsxMywyMyBAQAogCiAjaW5jbHVkZSAiaW9fY29udHJvbGxlcl9tdWx0aS5oIgogCi11c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvcmU6OklPOwordXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjppbzsKIAotSU9EZXZpY2VNdWx0aUNvbnRyb2xsZXI6OklPRGV2aWNlTXVsdGlDb250cm9sbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA6IElPRGV2aWNlQ29udHJvbGxlcihwYURldmljZUV4ZWN1dGlvbil7CitJT0RldmljZU11bHRpQ29udHJvbGxlcjo6SU9EZXZpY2VNdWx0aUNvbnRyb2xsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pIDoKKyAgICBJT0RldmljZUNvbnRyb2xsZXIocGFEZXZpY2VFeGVjdXRpb24pIHsKIH0KIAotdm9pZCBJT0RldmljZU11bHRpQ29udHJvbGxlcjo6YWRkSGFuZGxlKAotICAgIElPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqaGFuZGxlRGVzY3JpcHRvcikgewotICBIYW5kbGVEZXNjcmlwdG9yKiBkZXNjID0gc3RhdGljX2Nhc3Q8SGFuZGxlRGVzY3JpcHRvcio+KGhhbmRsZURlc2NyaXB0b3IpOwordm9pZCBJT0RldmljZU11bHRpQ29udHJvbGxlcjo6YWRkSGFuZGxlKElPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqcGFIYW5kbGVEZXNjcmlwdG9yKSB7CisgIEhhbmRsZURlc2NyaXB0b3IqIGRlc2MgPSBzdGF0aWNfY2FzdDxIYW5kbGVEZXNjcmlwdG9yKj4ocGFIYW5kbGVEZXNjcmlwdG9yKTsKICAgSU9IYW5kbGUqIGhhbmRsZSA9IGluaXRIYW5kbGUoZGVzYyk7CiAKLSAgaWYgKGhhbmRsZSA9PSAwKSB7Ci0gICAgREVWTE9HX1dBUk5JTkcoCi0gICAgICAgICJbSU9EZXZpY2VNdWx0aUNvbnRyb2xsZXJdIEZhaWxlZCB0byBpbml0aWFsaXplIGhhbmRsZSAnJXMnLiBDaGVjayBpbml0SGFuZGxlIG1ldGhvZC5cbiIsCi0gICAgICAgIGRlc2MtPmlkLmdldFZhbHVlKCkpOworICBpZigwID09IGhhbmRsZSkgeworICAgIERFVkxPR19XQVJOSU5HKCJbSU9EZXZpY2VNdWx0aUNvbnRyb2xsZXJdIEZhaWxlZCB0byBpbml0aWFsaXplIGhhbmRsZSAnJXMnLiBDaGVjayBpbml0SGFuZGxlIG1ldGhvZC5cbiIsIGRlc2MtPm1JZC5nZXRWYWx1ZSgpKTsKICAgICByZXR1cm47CiAgIH0KIAotICBpZiAoSU9NYXBwZXI6OmdldEluc3RhbmNlKCkucmVnaXN0ZXJIYW5kbGUoZGVzYy0+aWQsIGhhbmRsZSkpIHsKLSAgICBhZGRTbGF2ZUhhbmRsZShkZXNjLT5zbGF2ZUluZGV4LCBoYW5kbGUpOworICBpZihJT01hcHBlcjo6Z2V0SW5zdGFuY2UoKS5yZWdpc3RlckhhbmRsZShkZXNjLT5tSWQsIGhhbmRsZSkpIHsKKyAgICBhZGRTbGF2ZUhhbmRsZShkZXNjLT5tU2xhdmVJbmRleCwgaGFuZGxlKTsKICAgfSBlbHNlIHsKICAgICBkZWxldGUgaGFuZGxlOwogICB9CmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlcl9tdWx0aS5oIGIvc3JjL2NvcmUvaW8vZGV2aWNlL2lvX2NvbnRyb2xsZXJfbXVsdGkuaAppbmRleCBkNDRkMjkyLi4wMzJjY2Q0IDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlcl9tdWx0aS5oCisrKyBiL3NyYy9jb3JlL2lvL2RldmljZS9pb19jb250cm9sbGVyX211bHRpLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTgsNzkgKzE5LDc1IEBACiAKIG5hbWVzcGFjZSBmb3J0ZSB7CiAgIG5hbWVzcGFjZSBjb3JlIHsKLSAgICBuYW1lc3BhY2UgSU8geworICAgIG5hbWVzcGFjZSBpbyB7CiAKLWNsYXNzIElPQ29uZmlnRkJNdWx0aVNsYXZlOworICAgICAgY2xhc3MgSU9Db25maWdGQk11bHRpU2xhdmU7CiAKLS8qISBAYnJpZWYgQWJzdHJhY3QgRGV2aWNlIENvbnRyb2xsZXIgZm9yIG1vZHVsYXIgZGV2aWNlcwotICoKLSAqIFRoZSBJT0RldmljZU11bHRpQ29udHJvbGxlciBleHRlbmRzIHRoZSBhYnN0cmFjdCAjSU9EZXZpY2VDb250cm9sbGVyLgotICogSXQgaW50ZWdyYXRlcyBhZGRpdGlvbmFsIGZ1bmN0aW9uYWxpdHkgZm9yIG1vZHVsYXIgZGV2aWNlcy4KLSAqIFRoZSBjb250cm9sbGVyIHNob3VsZCBiZSB1c2VkIHdpdGggdGhlICNJT0NvbmZpZ0ZCTXVsdGkgY29uZmlndXJhdGlvbiBmYnMuCi0gKi8KLWNsYXNzIElPRGV2aWNlTXVsdGlDb250cm9sbGVyOiBwdWJsaWMgSU9EZXZpY2VDb250cm9sbGVyIHsKLSAgZnJpZW5kIGNsYXNzIElPQ29uZmlnRkJNdWx0aVNsYXZlOworICAgICAgLyohIEBicmllZiBBYnN0cmFjdCBEZXZpY2UgQ29udHJvbGxlciBmb3IgbW9kdWxhciBkZXZpY2VzCisgICAgICAgKgorICAgICAgICogVGhlIElPRGV2aWNlTXVsdGlDb250cm9sbGVyIGV4dGVuZHMgdGhlIGFic3RyYWN0ICNJT0RldmljZUNvbnRyb2xsZXIuCisgICAgICAgKiBJdCBpbnRlZ3JhdGVzIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSBmb3IgbW9kdWxhciBkZXZpY2VzLgorICAgICAgICogVGhlIGNvbnRyb2xsZXIgc2hvdWxkIGJlIHVzZWQgd2l0aCB0aGUgI0lPQ29uZmlnRkJNdWx0aSBjb25maWd1cmF0aW9uIGZicy4KKyAgICAgICAqLworICAgICAgY2xhc3MgSU9EZXZpY2VNdWx0aUNvbnRyb2xsZXIgOiBwdWJsaWMgSU9EZXZpY2VDb250cm9sbGVyIHsKKyAgICAgICAgICBmcmllbmQgY2xhc3MgSU9Db25maWdGQk11bHRpU2xhdmU7CiAKLXB1YmxpYzoKKyAgICAgICAgcHVibGljOgogCi0gIHN0cnVjdCBIYW5kbGVEZXNjcmlwdG9yOiBJT0RldmljZUNvbnRyb2xsZXI6OkhhbmRsZURlc2NyaXB0b3IgewotICAgIGludCBzbGF2ZUluZGV4OworICAgICAgICAgIGNsYXNzIEhhbmRsZURlc2NyaXB0b3IgOiBwdWJsaWMgSU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yIHsKKyAgICAgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgICAgaW50IG1TbGF2ZUluZGV4OwogCi0gICAgSGFuZGxlRGVzY3JpcHRvcihDSUVDX1dTVFJJTkcgY29uc3QgJmlkLCBJT01hcHBlcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwKLSAgICAgICAgaW50IHNsYXZlSW5kZXgpIDoKLSAgICAgICAgSU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yKGlkLCBkaXJlY3Rpb24pLCBzbGF2ZUluZGV4KHNsYXZlSW5kZXgpIHsKKyAgICAgICAgICAgICAgSGFuZGxlRGVzY3JpcHRvcihDSUVDX1dTVFJJTkcgY29uc3QgJnBhSWQsIElPTWFwcGVyOjpEaXJlY3Rpb24gcGFEaXJlY3Rpb24sIGludCBwYVNsYXZlSW5kZXgpIDoKKyAgICAgICAgICAgICAgICAgIElPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvcihwYUlkLCBwYURpcmVjdGlvbiksIG1TbGF2ZUluZGV4KHBhU2xhdmVJbmRleCkgewogCi0gICAgfQotICB9OworICAgICAgICAgICAgICB9CisgICAgICAgICAgfTsKIAotICAvKiEgQGJyaWVmIEFkZHMgYSBoYW5kbGUgZm9yIGEgc2xhdmUKLSAgICoKLSAgICogVGhlIGNvbnRyb2xsZXIgc2hvdWxkIHJlYWQgYW5kIHdyaXRlIHRoZSBnaXZlbiBoYW5kbGUuCi0gICAqIEl0IHNob3VsZCBrZWVwIGEgbGlzdCBvZiBoYW5kbGVzIGFuZCBkZWxldGUgdGhlIHByb3ZpZGVkIGhhbmRsZSBpbiBjYXNlIHRoZSAjZHJvcFNsYXZlSGFuZGxlcyBtZXRob2QgaXMgY2FsbGVkLgotICAgKgotICAgKiBAcGFyYW0gaW5kZXggSW5kZXgvUG9zaXRpb24gb2YgdGhlIG1vZHVsYXIgc2xhdmUKLSAgICogQHBhcmFtIGhhbmRsZSBJT0hhbmRsZSBvYmplY3Qgd2hpY2ggc2hvdWxkIGJlIHVwZGF0ZWQgYnkgdGhlIGNvbnRyb2xsZXIuCi0gICAqLwotICB2aXJ0dWFsIHZvaWQgYWRkU2xhdmVIYW5kbGUoaW50IGluZGV4LCBJT0hhbmRsZSogaGFuZGxlKSA9IDA7CisgICAgICAgICAgLyohIEBicmllZiBBZGRzIGEgaGFuZGxlIGZvciBhIHNsYXZlCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBUaGUgY29udHJvbGxlciBzaG91bGQgcmVhZCBhbmQgd3JpdGUgdGhlIGdpdmVuIGhhbmRsZS4KKyAgICAgICAgICAgKiBJdCBzaG91bGQga2VlcCBhIGxpc3Qgb2YgaGFuZGxlcyBhbmQgZGVsZXRlIHRoZSBwcm92aWRlZCBoYW5kbGUgaW4gY2FzZSB0aGUgI2Ryb3BTbGF2ZUhhbmRsZXMgbWV0aG9kIGlzIGNhbGxlZC4KKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYUluZGV4IEluZGV4L1Bvc2l0aW9uIG9mIHRoZSBtb2R1bGFyIHNsYXZlCisgICAgICAgICAgICogQHBhcmFtIHBhSGFuZGxlIElPSGFuZGxlIG9iamVjdCB3aGljaCBzaG91bGQgYmUgdXBkYXRlZCBieSB0aGUgY29udHJvbGxlci4KKyAgICAgICAgICAgKi8KKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkU2xhdmVIYW5kbGUoaW50IHBhSW5kZXgsIElPSGFuZGxlKiBwYUhhbmRsZSkgPSAwOwogCi0gIC8qISBAYnJpZWYgRHJvcCBhbGwgaGFuZGxlcyBvZiBhIHNwZWNpZmljIHNsYXZlCi0gICAqCi0gICAqIFRoZSBtZXRob2Qgc2hvdWxkIGRlbGV0ZSBhbGwgaGFuZGxlcyBvZiB0aGUgaW5kZXhlZCBzbGF2ZS4KLSAgICogQWxsIGhhbmRsZXMgd2hpY2ggd2VyZSBhZGRlZCBieSB0aGUgI2FkZFNsYXZlSGFuZGxlIG1ldGhvZCBzaG91bGQgYmUgZGVsZXRlZC4KLSAgICoKLSAgICogQHBhcmFtIGluZGV4IEluZGV4L1Bvc2l0aW9uIG9mIHRoZSBtb2R1bGFyIHNsYXZlCi0gICAqLwotICB2aXJ0dWFsIHZvaWQgZHJvcFNsYXZlSGFuZGxlcyhpbnQgaW5kZXgpID0gMDsKKyAgICAgICAgICAvKiEgQGJyaWVmIERyb3AgYWxsIGhhbmRsZXMgb2YgYSBzcGVjaWZpYyBzbGF2ZQorICAgICAgICAgICAqCisgICAgICAgICAgICogVGhlIG1ldGhvZCBzaG91bGQgZGVsZXRlIGFsbCBoYW5kbGVzIG9mIHRoZSBpbmRleGVkIHNsYXZlLgorICAgICAgICAgICAqIEFsbCBoYW5kbGVzIHdoaWNoIHdlcmUgYWRkZWQgYnkgdGhlICNhZGRTbGF2ZUhhbmRsZSBtZXRob2Qgc2hvdWxkIGJlIGRlbGV0ZWQuCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBAcGFyYW0gcGFJbmRleCBJbmRleC9Qb3NpdGlvbiBvZiB0aGUgbW9kdWxhciBzbGF2ZQorICAgICAgICAgICAqLworICAgICAgICAgIHZpcnR1YWwgdm9pZCBkcm9wU2xhdmVIYW5kbGVzKGludCBwYUluZGV4KSA9IDA7CiAKLXByb3RlY3RlZDoKLSAgZXhwbGljaXQgSU9EZXZpY2VNdWx0aUNvbnRyb2xsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pOworICAgICAgICBwcm90ZWN0ZWQ6CisgICAgICAgICAgZXhwbGljaXQgSU9EZXZpY2VNdWx0aUNvbnRyb2xsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pOwogCi0gIHZpcnR1YWwgdm9pZCBhZGRIYW5kbGUoSU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpoYW5kbGVEZXNjcmlwdG9yKTsKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkSGFuZGxlKElPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqcGFIYW5kbGVEZXNjcmlwdG9yKTsKIAotICB2aXJ0dWFsIElPSGFuZGxlKiBpbml0SGFuZGxlKEhhbmRsZURlc2NyaXB0b3IgKmhhbmRsZURlc2NyaXB0b3IpID0gMDsKKyAgICAgICAgICB2aXJ0dWFsIElPSGFuZGxlKiBpbml0SGFuZGxlKElPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqcGFIYW5kbGVEZXNjcmlwdG9yKSA9IDA7CiAKLXByaXZhdGU6CisgICAgICAgIHByaXZhdGU6CiAKLSAgSU9IYW5kbGUqIGluaXRIYW5kbGUoSU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpoYW5kbGVEZXNjcmlwdG9yKSB7Ci0gICAgcmV0dXJuIGluaXRIYW5kbGUoc3RhdGljX2Nhc3Q8SGFuZGxlRGVzY3JpcHRvcio+KGhhbmRsZURlc2NyaXB0b3IpKTsKLSAgfQorICAgICAgICAgIC8qISBAYnJpZWYgQ2hlY2tzIGlmIGEgc2xhdmUgZXhpc3RzIGF0IHRoZSBnaXZlbiBpbmRleAorICAgICAgICAgICAqCisgICAgICAgICAgICogQHBhcmFtIHBhSW5kZXggSW5kZXgvUG9zaXRpb24gb2YgdGhlIG1vZHVsYXIgc2xhdmUKKyAgICAgICAgICAgKiBAcmV0dXJuIFRydWUgaW4gY2FzZSBhIHNsYXZlIHdhcyBmb3VuZCBhdCB0aGUgZ2l2ZW4gcG9zaXRpb24KKyAgICAgICAgICAgKi8KKyAgICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTbGF2ZUF2YWlsYWJsZShpbnQgcGFJbmRleCkgPSAwOwogCi0gIC8qISBAYnJpZWYgQ2hlY2tzIGlmIGEgc2xhdmUgZXhpc3RzIGF0IHRoZSBnaXZlbiBpbmRleAotICAgKgotICAgKiBAcGFyYW0gaW5kZXggSW5kZXgvUG9zaXRpb24gb2YgdGhlIG1vZHVsYXIgc2xhdmUKLSAgICogQHJldHVybiBUcnVlIGluIGNhc2UgYSBzbGF2ZSB3YXMgZm91bmQgYXQgdGhlIGdpdmVuIHBvc2l0aW9uCi0gICAqLwotICB2aXJ0dWFsIGJvb2wgaXNTbGF2ZUF2YWlsYWJsZShpbnQgaW5kZXgpID0gMDsKKyAgICAgICAgICAvKiEgQGJyaWVmIENoZWNrcyBpZiB0aGUgc2xhdmUgdHlwZSBtYXRjaGVzIHRoZSBjb25maWd1cmVkIHR5cGUKKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYUluZGV4IEluZGV4L1Bvc2l0aW9uIG9mIHRoZSBtb2R1bGFyIHNsYXZlCisgICAgICAgICAgICogQHBhcmFtIHBhVHlwZSBUeXBlIGlkZW50aWZpZXIgd2hpY2ggZGVzY3JpYmVzIHRoZSBtb2R1bGFyIHNsYXZlCisgICAgICAgICAgICogQHJldHVybiBUcnVlIGluIGNhc2UgdGhlIHNsYXZlIGF0IHRoZSBpbmRleCBoYXMgdGhlIGdpdmVuIHR5cGUKKyAgICAgICAgICAgKi8KKyAgICAgICAgICB2aXJ0dWFsIGJvb2wgY2hlY2tTbGF2ZVR5cGUoaW50IHBhSW5kZXgsIGludCBwYVR5cGUpID0gMDsKIAotICAvKiEgQGJyaWVmIENoZWNrcyBpZiB0aGUgc2xhdmUgdHlwZSBtYXRjaGVzIHRoZSBjb25maWd1cmVkIHR5cGUKLSAgICoKLSAgICogQHBhcmFtIGluZGV4IEluZGV4L1Bvc2l0aW9uIG9mIHRoZSBtb2R1bGFyIHNsYXZlCi0gICAqIEBwYXJhbSB0eXBlIFR5cGUgaWRlbnRpZmllciB3aGljaCBkZXNjcmliZXMgdGhlIG1vZHVsYXIgc2xhdmUKLSAgICogQHJldHVybiBUcnVlIGluIGNhc2UgdGhlIHNsYXZlIGF0IHRoZSBpbmRleCBoYXMgdGhlIGdpdmVuIHR5cGUKLSAgICovCi0gIHZpcnR1YWwgYm9vbCBjaGVja1NsYXZlVHlwZShpbnQgaW5kZXgsIGludCB0eXBlKSA9IDA7Ci0KLX07CisgICAgICB9OwogCiAgICAgfSAvL25hbWVzcGFjZSBJTwogICB9IC8vbmFtZXBzYWNlIGNvcmUKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2RldmljZS9pb19jb250cm9sbGVyX3BvbGwuY3BwIGIvc3JjL2NvcmUvaW8vZGV2aWNlL2lvX2NvbnRyb2xsZXJfcG9sbC5jcHAKaW5kZXggODRhYjZiYS4uMGNmNjQ5ZiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vZGV2aWNlL2lvX2NvbnRyb2xsZXJfcG9sbC5jcHAKKysrIGIvc3JjL2NvcmUvaW8vZGV2aWNlL2lvX2NvbnRyb2xsZXJfcG9sbC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTIsMTAgKzEzLDEwIEBACiAKICNpbmNsdWRlICJpb19jb250cm9sbGVyX3BvbGwuaCIKIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKLUlPRGV2aWNlUG9sbENvbnRyb2xsZXI6OklPRGV2aWNlUG9sbENvbnRyb2xsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24sIGZsb2F0IFBvbGxJbnRlcnZhbCkgOiBJT0RldmljZUNvbnRyb2xsZXIocGFEZXZpY2VFeGVjdXRpb24pLAotICAgIFBvbGxJbnRlcnZhbChQb2xsSW50ZXJ2YWwpeworSU9EZXZpY2VQb2xsQ29udHJvbGxlcjo6SU9EZXZpY2VQb2xsQ29udHJvbGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbiwgZmxvYXQgcGFQb2xsSW50ZXJ2YWwpIDoKKyAgICBJT0RldmljZUNvbnRyb2xsZXIocGFEZXZpY2VFeGVjdXRpb24pLCBtUG9sbEludGVydmFsKHBhUG9sbEludGVydmFsKSB7CiB9CiAKIHZvaWQgSU9EZXZpY2VQb2xsQ29udHJvbGxlcjo6aGFuZGxlQ2hhbmdlRXZlbnQoSU9IYW5kbGUqKSB7CkBAIC0yMywzMCArMjQsMjkgQEAKIH0KIAogdm9pZCBJT0RldmljZVBvbGxDb250cm9sbGVyOjpydW5Mb29wKCkgewotICB3aGlsZSAoaXNBbGl2ZSgpKSB7Ci0gICAgZm9yY2VMb29wLnRpbWVkV2FpdChzdGF0aWNfY2FzdDxjb25zdCBURm9ydGVVSW50NjQ+KFBvbGxJbnRlcnZhbCAqIDFFNikpOyAvL0lmIHRpbWVvdXQgb2NjdXJyZWQgaXMgYSBub3JtYWwgd2FpdGluZywgb3RoZXJ3aXNlIGlzIGEgZm9yY2VkIGxvb3AuIERvbid0IGNhcmUgYWJvdXQgdGhlIHJldHVybiB2YWx1ZQorICB3aGlsZShpc0FsaXZlKCkpIHsKKyAgICBtRm9yY2VMb29wLnRpbWVkV2FpdChzdGF0aWNfY2FzdDxjb25zdCBURm9ydGVVSW50NjQ+KG1Qb2xsSW50ZXJ2YWwgKiAxRTYpKTsgLy9JZiB0aW1lb3V0IG9jY3VycmVkIGlzIGEgbm9ybWFsIHdhaXRpbmcsIG90aGVyd2lzZSBpcyBhIGZvcmNlZCBsb29wLiBEb24ndCBjYXJlIGFib3V0IHRoZSByZXR1cm4gdmFsdWUKIAogICAgIC8vIFBlcmZvcm0gcG9sbCBvcGVyYXRpb24KICAgICBwb2xsKCk7CiAKLSAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICBpZihoYXNFcnJvcigpKSB7CiAgICAgICBicmVhazsKKyAgICB9CiAKICAgfQogfQogCi12b2lkIElPRGV2aWNlUG9sbENvbnRyb2xsZXI6OnNldFBvbGxJbnRlcnZhbChmbG9hdCBQb2xsSW50ZXJ2YWwpIHsKLSAgaWYgKFBvbGxJbnRlcnZhbCA8PSAwKSB7Ci0gICAgREVWTE9HX1dBUk5JTkcoCi0gICAgICAgICJbSU9EZXZpY2VQb2xsQ29udHJvbGxlcl0gQ29uZmlndXJlZCBQb2xsSW50ZXJ2YWwgaXMgc2V0IHRvIGFuIGludmFsaWQgdmFsdWUgJyVkJy4gU2V0IHRvIDI1LlxuIiwKLSAgICAgICAgUG9sbEludGVydmFsKTsKLSAgICBQb2xsSW50ZXJ2YWwgPSAyNTsKK3ZvaWQgSU9EZXZpY2VQb2xsQ29udHJvbGxlcjo6c2V0UG9sbEludGVydmFsKGZsb2F0IHBhUG9sbEludGVydmFsKSB7CisgIGlmKHBhUG9sbEludGVydmFsIDw9IDApIHsKKyAgICBERVZMT0dfV0FSTklORygiW0lPRGV2aWNlUG9sbENvbnRyb2xsZXJdIENvbmZpZ3VyZWQgUG9sbEludGVydmFsIGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVlICclZCcuIFNldCB0byAyNS5cbiIsIHBhUG9sbEludGVydmFsKTsKKyAgICBwYVBvbGxJbnRlcnZhbCA9IDI1OwogICB9CiAKLSAgdGhpcy0+UG9sbEludGVydmFsID0gUG9sbEludGVydmFsOworICB0aGlzLT5tUG9sbEludGVydmFsID0gcGFQb2xsSW50ZXJ2YWw7CiB9CiAKIHZvaWQgSU9EZXZpY2VQb2xsQ29udHJvbGxlcjo6Zm9yY2VQb2xsKCkgewotICBmb3JjZUxvb3AuaW5jKCk7CisgIG1Gb3JjZUxvb3AuaW5jKCk7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL2RldmljZS9pb19jb250cm9sbGVyX3BvbGwuaCBiL3NyYy9jb3JlL2lvL2RldmljZS9pb19jb250cm9sbGVyX3BvbGwuaAppbmRleCA1YWM4ZTUyLi5mZWEwNmJlIDEwMDY0NAotLS0gYS9zcmMvY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlcl9wb2xsLmgKKysrIGIvc3JjL2NvcmUvaW8vZGV2aWNlL2lvX2NvbnRyb2xsZXJfcG9sbC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE4LDU2ICsxOSw1NyBAQAogCiBuYW1lc3BhY2UgZm9ydGUgewogICBuYW1lc3BhY2UgY29yZSB7Ci0gICAgbmFtZXNwYWNlIElPIHsKKyAgICBuYW1lc3BhY2UgaW8gewogCi0vKiEgQGJyaWVmIEFic3RyYWN0IERldmljZSBDb250cm9sbGVyIGZvciBkZXZpY2VzIHdoaWNoIHJlcXVpcmUgY3ljbGljIHBvbGwgb3BlcmF0aW9ucwotICoKLSAqIElPIGRldmljZSBjb250cm9sbGVyIGZvciBkZXZpY2VzIHdoaWNoIHJlcXVpcmUgYW4gaW1wbGVtZW50YXRpb24gb2YgSU9zIHVzaW5nIHBvbGwgb3BlcmF0aW9ucy4KLSAqIE9mZmVycyBhICNwb2xsIG1ldGhvZCB3aGljaCBwZXJmb3JtcyBhbiBJTyB1cGRhdGUgaW4gYSBjb25maWd1cmVkICNQb2xsSW50ZXJ2YWwuCi0gKiBBbGxvd3MgdG8gZm9yY2UgYSBwb2xsaW5nIHJvdXRpbmUgd2l0aCB0aGUgI2ZvcmNlUG9sbCBtZXRob2QgKGUuZy4gY2FuIGJlIHVzZWQgdG8gc2V0IGFuIG91dHB1dCBpbW1lZGlhdGVseSkuCi0gKi8KLWNsYXNzIElPRGV2aWNlUG9sbENvbnRyb2xsZXI6IHB1YmxpYyBJT0RldmljZUNvbnRyb2xsZXIgewotcHVibGljOgorICAgICAgLyohIEBicmllZiBBYnN0cmFjdCBEZXZpY2UgQ29udHJvbGxlciBmb3IgZGV2aWNlcyB3aGljaCByZXF1aXJlIGN5Y2xpYyBwb2xsIG9wZXJhdGlvbnMKKyAgICAgICAqCisgICAgICAgKiBJTyBkZXZpY2UgY29udHJvbGxlciBmb3IgZGV2aWNlcyB3aGljaCByZXF1aXJlIGFuIGltcGxlbWVudGF0aW9uIG9mIElPcyB1c2luZyBwb2xsIG9wZXJhdGlvbnMuCisgICAgICAgKiBPZmZlcnMgYSAjcG9sbCBtZXRob2Qgd2hpY2ggcGVyZm9ybXMgYW4gSU8gdXBkYXRlIGluIGEgY29uZmlndXJlZCAjUG9sbEludGVydmFsLgorICAgICAgICogQWxsb3dzIHRvIGZvcmNlIGEgcG9sbGluZyByb3V0aW5lIHdpdGggdGhlICNmb3JjZVBvbGwgbWV0aG9kIChlLmcuIGNhbiBiZSB1c2VkIHRvIHNldCBhbiBvdXRwdXQgaW1tZWRpYXRlbHkpLgorICAgICAgICovCisgICAgICBjbGFzcyBJT0RldmljZVBvbGxDb250cm9sbGVyIDogcHVibGljIElPRGV2aWNlQ29udHJvbGxlciB7CisgICAgICAgIHB1YmxpYzoKIAotICB2aXJ0dWFsIHZvaWQgaGFuZGxlQ2hhbmdlRXZlbnQoSU9IYW5kbGUgKmhhbmRsZSk7CisgICAgICAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUNoYW5nZUV2ZW50KElPSGFuZGxlICpwYUhhbmRsZSk7CiAKLXByb3RlY3RlZDoKLSAgLyohIEBicmllZiBDb25zdHJ1Y3RvcgotICAgKgotICAgKiBAcGFyYW0gUG9sbEludGVydmFsIERlZmF1bHQgcG9sbCByb3V0aW5lcyBwZXIgc2Vjb25kcyAoSHopLiBNdXN0IGJlIGdyZWF0ZXIgdGhhbiAwLiBDYWxsICNzZXRQb2xsSW50ZXJ2YWwgaW4gdGhlICNzZXRDb25maWcgbWV0aG9kLgotICAgKi8KLSAgSU9EZXZpY2VQb2xsQ29udHJvbGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbiwgZmxvYXQgUG9sbEludGVydmFsKTsKKyAgICAgICAgcHJvdGVjdGVkOgorICAgICAgICAgIC8qISBAYnJpZWYgQ29uc3RydWN0b3IKKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYURldmljZUV4ZWN1dGlvbiBEZXZpY2UgZXhlY3V0aW9uIHdoZXJlIHRoZSBjb250cm9sbGVyIHJ1bnMKKyAgICAgICAgICAgKiBAcGFyYW0gcGFQb2xsSW50ZXJ2YWwgRGVmYXVsdCBwb2xsIHJvdXRpbmVzIHBlciBzZWNvbmRzIChIeikuIE11c3QgYmUgZ3JlYXRlciB0aGFuIDAuIENhbGwgI3NldFBvbGxJbnRlcnZhbCBpbiB0aGUgI3NldENvbmZpZyBtZXRob2QuCisgICAgICAgICAgICovCisgICAgICAgICAgSU9EZXZpY2VQb2xsQ29udHJvbGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbiwgZmxvYXQgcGFQb2xsSW50ZXJ2YWwpOwogCi0gIC8qISBAYnJpZWYgUG9sbCByb3V0aW5lIHdoaWNoIHVwZGF0ZXMgdGhlIElPIHN0YXRlIG9mIHRoZSBkZXZpY2UKLSAgICoKLSAgICogVGhlIElPIHN0YXRlcyBvZiBhbGwgaGFuZGxlcyBzaG91bGQgYmUgd3JpdHRlbi9yZWFkIGluIHRoaXMgbWV0aG9kLgotICAgKiBUaGUgbWV0aG9kIHNob3VsZCBjYWxsIHRoZSAjY2hlY2tGb3JJbnB1dENoYW5nZXMgbWV0aG9kIGFmdGVyIHJlY2VpdmluZyBuZXcgaW5wdXQgc3RhdGVzLgotICAgKgotICAgKiBAYXR0ZW50aW9uIFRoZSBtZXRob2Qgc2hvdWxkIHBlcmZvcm0gYSBzaW5nbGUgdXBkYXRlIHJvdXRpbmUgYW5kIG5vdCBhIGJsb2NraW5nIGxvb3AuCi0gICAqLwotICB2aXJ0dWFsIHZvaWQgcG9sbCgpID0gMDsKKyAgICAgICAgICAvKiEgQGJyaWVmIFBvbGwgcm91dGluZSB3aGljaCB1cGRhdGVzIHRoZSBJTyBzdGF0ZSBvZiB0aGUgZGV2aWNlCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBUaGUgSU8gc3RhdGVzIG9mIGFsbCBoYW5kbGVzIHNob3VsZCBiZSB3cml0dGVuL3JlYWQgaW4gdGhpcyBtZXRob2QuCisgICAgICAgICAgICogVGhlIG1ldGhvZCBzaG91bGQgY2FsbCB0aGUgI2NoZWNrRm9ySW5wdXRDaGFuZ2VzIG1ldGhvZCBhZnRlciByZWNlaXZpbmcgbmV3IGlucHV0IHN0YXRlcy4KKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBhdHRlbnRpb24gVGhlIG1ldGhvZCBzaG91bGQgcGVyZm9ybSBhIHNpbmdsZSB1cGRhdGUgcm91dGluZSBhbmQgbm90IGEgYmxvY2tpbmcgbG9vcC4KKyAgICAgICAgICAgKi8KKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgcG9sbCgpID0gMDsKIAotICAvKiEgQGJyaWVmIEZvcmNlcyBhbiBleGVjdXRpb24gb2YgdGhlICNwb2xsIHJvdXRpbmUKLSAgICoKLSAgICogU2hvdWxkIGJlIGNhbGxlZCBieSB0aGUgY29ycmVzcG9uZGluZyBkZXZpY2UgI0lPSGFuZGxlIGltcGxlbWVudGF0aW9uIGFmdGVyIHNldHRpbmcvY2hhbmdpbmcgYW4gb3V0cHV0IGhhbmRsZS4KLSAgICovCi0gIHZvaWQgZm9yY2VQb2xsKCk7CisgICAgICAgICAgLyohIEBicmllZiBGb3JjZXMgYW4gZXhlY3V0aW9uIG9mIHRoZSAjcG9sbCByb3V0aW5lCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBTaG91bGQgYmUgY2FsbGVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIGRldmljZSAjSU9IYW5kbGUgaW1wbGVtZW50YXRpb24gYWZ0ZXIgc2V0dGluZy9jaGFuZ2luZyBhbiBvdXRwdXQgaGFuZGxlLgorICAgICAgICAgICAqLworICAgICAgICAgIHZvaWQgZm9yY2VQb2xsKCk7CiAKLSAgLyohIEBicmllZiBTZXRzIHRoZSBwb2xsaW5nIGludGVydmFsIGluIEh6IChwb2xsIHJvdXRpbmVzIHBlciBzZWNvbmQpCi0gICAqCi0gICAqIFRoZSBwb2xsIGludGVydmFsIHNob3VsZCBub3QgYmUgc2V0IHRvIGhpZ2ggYXMgdGhlIHBvbGwgb3BlcmF0aW9ucyBtYXkgY29uc3VtZSB0b28gbXVjaCBwcm9jZXNzaW5nIHBvd2VyIGFuZCBjb25zZXF1ZW50bHkgYmxvY2sgb3RoZXIgY29udHJvbCBvcGVyYXRpb25zLgotICAgKgotICAgKiBAcGFyYW0gUG9sbEludGVydmFsIFBvbGwgcm91dGluZXMgcGVyIHNlY29uZHMgKEh6KS4gTXVzdCBiZSBncmVhdGVyIHRoYW4gMC4KLSAgICovCi0gIHZvaWQgc2V0UG9sbEludGVydmFsKGZsb2F0IFBvbGxJbnRlcnZhbCk7CisgICAgICAgICAgLyohIEBicmllZiBTZXRzIHRoZSBwb2xsaW5nIGludGVydmFsIGluIEh6IChwb2xsIHJvdXRpbmVzIHBlciBzZWNvbmQpCisgICAgICAgICAgICoKKyAgICAgICAgICAgKiBUaGUgcG9sbCBpbnRlcnZhbCBzaG91bGQgbm90IGJlIHNldCB0byBoaWdoIGFzIHRoZSBwb2xsIG9wZXJhdGlvbnMgbWF5IGNvbnN1bWUgdG9vIG11Y2ggcHJvY2Vzc2luZyBwb3dlciBhbmQgY29uc2VxdWVudGx5IGJsb2NrIG90aGVyIGNvbnRyb2wgb3BlcmF0aW9ucy4KKyAgICAgICAgICAgKgorICAgICAgICAgICAqIEBwYXJhbSBwYVBvbGxJbnRlcnZhbCBQb2xsIHJvdXRpbmVzIHBlciBzZWNvbmRzIChIeikuIE11c3QgYmUgZ3JlYXRlciB0aGFuIDAuCisgICAgICAgICAgICovCisgICAgICAgICAgdm9pZCBzZXRQb2xsSW50ZXJ2YWwoZmxvYXQgcGFQb2xsSW50ZXJ2YWwpOwogCi1wcml2YXRlOgotICB2aXJ0dWFsIHZvaWQgcnVuTG9vcCgpOworICAgICAgICBwcml2YXRlOgorICAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5Mb29wKCk7CiAKLSAgZmxvYXQgUG9sbEludGVydmFsOworICAgICAgICAgIGZsb2F0IG1Qb2xsSW50ZXJ2YWw7CiAKLSAgQ1NlbWFwaG9yZSBmb3JjZUxvb3A7Ci19OworICAgICAgICAgIENTZW1hcGhvcmUgbUZvcmNlTG9vcDsKKyAgICAgIH07CiAKICAgICB9IC8vbmFtZXNwYWNlIElPCiAgIH0gLy9uYW1lcHNhY2UgY29yZQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vbWFwcGVyL0NNYWtlTGlzdHMudHh0IGIvc3JjL2NvcmUvaW8vbWFwcGVyL0NNYWtlTGlzdHMudHh0CmluZGV4IDMyZjI3NWQuLjIxMzFlMTEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL21hcHBlci9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvY29yZS9pby9tYXBwZXIvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICBKb2hhbm5lcyBNZXNzbWVyCisjIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb2hhbm5lcyBNZXNzbWVyCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL21hcHBlci9pb19oYW5kbGUuY3BwIGIvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZS5jcHAKaW5kZXggMWI5MzZiYS4uZTY1ZGUxOCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZS5jcHAKKysrIGIvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE1LDMxICsxNiwyNyBAQAogCiAjaW5jbHVkZSA8aW8vZGV2aWNlL2lvX2NvbnRyb2xsZXIuaD4KIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKLUlPSGFuZGxlOjpJT0hhbmRsZShJT0RldmljZUNvbnRyb2xsZXIgKmNvbnRyb2xsZXIsIElPTWFwcGVyOjpEaXJlY3Rpb24gZGlyZWN0aW9uLCBDSUVDX0FOWTo6RURhdGFUeXBlSUQgdHlwZSkgOgotICAgIGNvbnRyb2xsZXIoY29udHJvbGxlciksIG9ic2VydmVyKDApLCB0eXBlKHR5cGUpLCBkaXJlY3Rpb24oCi0gICAgICAgIGRpcmVjdGlvbikgewotCitJT0hhbmRsZTo6SU9IYW5kbGUoSU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIElPTWFwcGVyOjpEaXJlY3Rpb24gcGFEaXJlY3Rpb24sIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCBwYVR5cGUpIDoKKyAgICBtQ29udHJvbGxlcihwYUNvbnRyb2xsZXIpLCBtVHlwZShwYVR5cGUpLCBtRGlyZWN0aW9uKHBhRGlyZWN0aW9uKSwgbU9ic2VydmVyKDApIHsKIH0KIAogSU9IYW5kbGU6On5JT0hhbmRsZSgpIHsKICAgSU9NYXBwZXI6OmdldEluc3RhbmNlKCkuZGVyZWdpc3RlckhhbmRsZSh0aGlzKTsKIH0KIAotdm9pZCBJT0hhbmRsZTo6b25PYnNlcnZlcihJT09ic2VydmVyICpvYnNlcnZlcikgewotICB0aGlzLT5vYnNlcnZlciA9IG9ic2VydmVyOwordm9pZCBJT0hhbmRsZTo6b25PYnNlcnZlcihJT09ic2VydmVyICpwYU9ic2VydmVyKSB7CisgIHRoaXMtPm1PYnNlcnZlciA9IHBhT2JzZXJ2ZXI7CiB9CiAKIHZvaWQgSU9IYW5kbGU6OmRyb3BPYnNlcnZlcigpIHsKLSAgdGhpcy0+b2JzZXJ2ZXIgPSAwOworICB0aGlzLT5tT2JzZXJ2ZXIgPSAwOwogfQogCiB2b2lkIElPSGFuZGxlOjpvbkNoYW5nZSgpIHsKLSAgaWYgKG9ic2VydmVyICE9IDApIHsKLSAgICBpZiAob2JzZXJ2ZXItPm9uQ2hhbmdlKCkpIHsKLSAgICAgIGNvbnRyb2xsZXItPmZpcmVJbmRpY2F0aW9uRXZlbnQob2JzZXJ2ZXIpOwotICAgIH0KKyAgaWYobU9ic2VydmVyICE9IDAgJiYgbU9ic2VydmVyLT5vbkNoYW5nZSgpKSB7CisgICAgbUNvbnRyb2xsZXItPmZpcmVJbmRpY2F0aW9uRXZlbnQobU9ic2VydmVyKTsKICAgfQogfQogCmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9tYXBwZXIvaW9faGFuZGxlLmggYi9zcmMvY29yZS9pby9tYXBwZXIvaW9faGFuZGxlLmgKaW5kZXggNzY4ZDg1Zi4uZGU2ODMwMCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZS5oCisrKyBiL3NyYy9jb3JlL2lvL21hcHBlci9pb19oYW5kbGUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBKb2hhbm5lcyBNZXNzbWVyIChhZG1pbkBqb21lc3MuY29tKSwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMjAsNTIgKzIxLDU3IEBACiAKIG5hbWVzcGFjZSBmb3J0ZSB7CiAgIG5hbWVzcGFjZSBjb3JlIHsKLSAgICBuYW1lc3BhY2UgSU8geworICAgIG5hbWVzcGFjZSBpbyB7CiAKLWNsYXNzIElPRGV2aWNlQ29udHJvbGxlcjsKKyAgICAgIGNsYXNzIElPRGV2aWNlQ29udHJvbGxlcjsKIAotY2xhc3MgSU9IYW5kbGUgewotICBmcmllbmQgY2xhc3MgSU9NYXBwZXI7CisgICAgICBjbGFzcyBJT0hhbmRsZSB7CisgICAgICAgICAgZnJpZW5kIGNsYXNzIElPTWFwcGVyOwogCi1wdWJsaWM6Ci0gIElPSGFuZGxlKElPRGV2aWNlQ29udHJvbGxlciAqY29udHJvbGxlciwgSU9NYXBwZXI6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCB0eXBlKTsKLSAgdmlydHVhbCB+SU9IYW5kbGUoKTsKKyAgICAgICAgcHVibGljOgorICAgICAgICAgIElPSGFuZGxlKElPRGV2aWNlQ29udHJvbGxlciAqcGFDb250cm9sbGVyLCBJT01hcHBlcjo6RGlyZWN0aW9uIHBhRGlyZWN0aW9uLCBDSUVDX0FOWTo6RURhdGFUeXBlSUQgcGFUeXBlKTsKKyAgICAgICAgICB2aXJ0dWFsIH5JT0hhbmRsZSgpOwogCi0gIGJvb2wgaGFzT2JzZXJ2ZXIoKSB7Ci0gICAgcmV0dXJuICEhb2JzZXJ2ZXI7Ci0gIH0KKyAgICAgICAgICBib29sIGhhc09ic2VydmVyKCkgeworICAgICAgICAgICAgcmV0dXJuICEhbU9ic2VydmVyOworICAgICAgICAgIH0KIAotICBJT09ic2VydmVyKiBnZXRPYnNlcnZlcigpIHsKLSAgICByZXR1cm4gb2JzZXJ2ZXI7Ci0gIH0KKyAgICAgICAgICBJT09ic2VydmVyKiBnZXRPYnNlcnZlcigpIHsKKyAgICAgICAgICAgIHJldHVybiBtT2JzZXJ2ZXI7CisgICAgICAgICAgfQogCi0gIGJvb2wgaXMoQ0lFQ19BTlk6OkVEYXRhVHlwZUlEIHR5cGUpIHsKLSAgICByZXR1cm4gdGhpcy0+dHlwZSA9PSB0eXBlOwotICB9CisgICAgICAgICAgYm9vbCBpcyhDSUVDX0FOWTo6RURhdGFUeXBlSUQgcGFUeXBlKSB7CisgICAgICAgICAgICByZXR1cm4gdGhpcy0+bVR5cGUgPT0gcGFUeXBlOworICAgICAgICAgIH0KIAotICBib29sIGlzKElPTWFwcGVyOjpEaXJlY3Rpb24gZGlyZWN0aW9uKSB7Ci0gICAgcmV0dXJuIHRoaXMtPmRpcmVjdGlvbiA9PSBkaXJlY3Rpb247Ci0gIH0KKyAgICAgICAgICBib29sIGlzKElPTWFwcGVyOjpEaXJlY3Rpb24gcGFEaXJlY3Rpb24pIHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLT5tRGlyZWN0aW9uID09IHBhRGlyZWN0aW9uOworICAgICAgICAgIH0KIAotICB2aXJ0dWFsIHZvaWQgc2V0KGNvbnN0IENJRUNfQU5ZICYpID0gMDsKLSAgdmlydHVhbCB2b2lkIGdldChDSUVDX0FOWSAmKSA9IDA7CisgICAgICAgICAgdmlydHVhbCB2b2lkIHNldChjb25zdCBDSUVDX0FOWSAmKSA9IDA7CisgICAgICAgICAgdmlydHVhbCB2b2lkIGdldChDSUVDX0FOWSAmKSA9IDA7CiAKLSAgdm9pZCBvbkNoYW5nZSgpOworICAgICAgICAgIHZvaWQgb25DaGFuZ2UoKTsKIAotcHJvdGVjdGVkOgotICBJT0RldmljZUNvbnRyb2xsZXIgKmNvbnRyb2xsZXI7CisgICAgICAgIHByb3RlY3RlZDoKIAotICB2aXJ0dWFsIHZvaWQgb25PYnNlcnZlcihJT09ic2VydmVyICpvYnNlcnZlcik7Ci0gIHZpcnR1YWwgdm9pZCBkcm9wT2JzZXJ2ZXIoKTsKKyAgICAgICAgICBJT0RldmljZUNvbnRyb2xsZXIgKm1Db250cm9sbGVyOworICAgICAgICAgIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCBtVHlwZTsKIAotICBJT09ic2VydmVyICpvYnNlcnZlcjsKLSAgQ0lFQ19BTlk6OkVEYXRhVHlwZUlEIHR5cGU7Ci0gIElPTWFwcGVyOjpEaXJlY3Rpb24gZGlyZWN0aW9uOwotfTsKKyAgICAgICAgICBJT01hcHBlcjo6RGlyZWN0aW9uIG1EaXJlY3Rpb247CisKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgb25PYnNlcnZlcihJT09ic2VydmVyICpwYU9ic2VydmVyKTsKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgZHJvcE9ic2VydmVyKCk7CisKKyAgICAgICAgcHJpdmF0ZToKKworICAgICAgICAgIElPT2JzZXJ2ZXIgKm1PYnNlcnZlcjsKKworCisgICAgICB9OwogCiAgICAgfSAvL25hbWVzcGFjZSBJTwogICB9IC8vbmFtZXBzYWNlIGNvcmUKIH0gLy9uYW1lc3BhY2UgZm9ydGUKIAotCiAjZW5kaWYgLyogU1JDX0NPUkVfSU9fTUFQUEVSX0hBTkRMRV9IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZV9iaXQuY3BwIGIvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZV9iaXQuY3BwCmluZGV4IDFlM2M2YzQuLjk5ZDk3MmMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL21hcHBlci9pb19oYW5kbGVfYml0LmNwcAorKysgYi9zcmMvY29yZS9pby9tYXBwZXIvaW9faGFuZGxlX2JpdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTggZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTIsNDYgKzEzLDQ0IEBACiAKICNpbmNsdWRlICJpb19oYW5kbGVfYml0LmgiCiAKLXVzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6SU87Cit1c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvcmU6OmlvOwogCi1JT0hhbmRsZUJpdDo6SU9IYW5kbGVCaXQoSU9EZXZpY2VDb250cm9sbGVyICpjb250cm9sbGVyLCBJT01hcHBlcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwKLSAgICB1aW50OF90IG9mZnNldCwgdWludDhfdCBwb3NpdGlvbiwgdWludDhfdCogaW1hZ2UpIDoKLSAgICBJT0hhbmRsZShjb250cm9sbGVyLCBkaXJlY3Rpb24sIENJRUNfQU5ZOjplX0JPT0wpLCBpbWFnZShpbWFnZSksIG9mZnNldCgKLSAgICAgICAgb2Zmc2V0KSwgbWFzaygodWludDhfdCkgKDEgPDwgcG9zaXRpb24pKSB7CitJT0hhbmRsZUJpdDo6SU9IYW5kbGVCaXQoSU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIElPTWFwcGVyOjpEaXJlY3Rpb24gcGFEaXJlY3Rpb24sIHVpbnQ4X3QgcGFPZmZzZXQsIHVpbnQ4X3QgcGFQb3NpdGlvbiwgdWludDhfdCogcGFJbWFnZSkgOgorICAgIElPSGFuZGxlKHBhQ29udHJvbGxlciwgcGFEaXJlY3Rpb24sIENJRUNfQU5ZOjplX0JPT0wpLCBtT2Zmc2V0KHBhT2Zmc2V0KSwgbU1hc2soKHVpbnQ4X3QpICgxIDw8IHBhUG9zaXRpb24pKSwgbUltYWdlKHBhSW1hZ2UpIHsKIH0KIAotdm9pZCBJT0hhbmRsZUJpdDo6b25PYnNlcnZlcihJT09ic2VydmVyICpvYnNlcnZlcikgewotICBJT0hhbmRsZTo6b25PYnNlcnZlcihvYnNlcnZlcik7Cit2b2lkIElPSGFuZGxlQml0Ojpvbk9ic2VydmVyKElPT2JzZXJ2ZXIgKnBhT2JzZXJ2ZXIpIHsKKyAgSU9IYW5kbGU6Om9uT2JzZXJ2ZXIocGFPYnNlcnZlcik7CiAKLSAgaWYgKGRpcmVjdGlvbiA9PSBJT01hcHBlcjo6SW4pIHsKKyAgaWYobURpcmVjdGlvbiA9PSBJT01hcHBlcjo6SW4pIHsKICAgICBDSUVDX0JPT0wgc3RhdGU7CiAgICAgZ2V0KHN0YXRlKTsKLSAgICBpZiAoc3RhdGUpIHsKLSAgICAgIGNvbnRyb2xsZXItPmZpcmVJbmRpY2F0aW9uRXZlbnQob2JzZXJ2ZXIpOworICAgIGlmKHN0YXRlKSB7CisgICAgICBtQ29udHJvbGxlci0+ZmlyZUluZGljYXRpb25FdmVudChwYU9ic2VydmVyKTsKICAgICB9CiAgIH0KIH0KIAogdm9pZCBJT0hhbmRsZUJpdDo6ZHJvcE9ic2VydmVyKCkgewogICBJT0hhbmRsZTo6ZHJvcE9ic2VydmVyKCk7Ci0KICAgcmVzZXQoKTsKIH0KIAotdm9pZCBJT0hhbmRsZUJpdDo6c2V0KGNvbnN0IENJRUNfQU5ZICZzdGF0ZSkgewotICBpZiAoc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19CT09MJj4oc3RhdGUpKQotICAgICooaW1hZ2UgKyBvZmZzZXQpID0gKHVpbnQ4X3QpICgqKGltYWdlICsgb2Zmc2V0KSB8IG1hc2spOwotICBlbHNlCi0gICAgKihpbWFnZSArIG9mZnNldCkgPSAodWludDhfdCkgKCooaW1hZ2UgKyBvZmZzZXQpICYgfm1hc2spOwordm9pZCBJT0hhbmRsZUJpdDo6c2V0KGNvbnN0IENJRUNfQU5ZICZwYVN0YXRlKSB7CisgIGlmKHN0YXRpY19jYXN0PGNvbnN0IENJRUNfQk9PTCY+KHBhU3RhdGUpKSB7CisgICAgKihtSW1hZ2UgKyBtT2Zmc2V0KSA9ICh1aW50OF90KSAoKihtSW1hZ2UgKyBtT2Zmc2V0KSB8IG1NYXNrKTsKKyAgfSBlbHNlIHsKKyAgICAqKG1JbWFnZSArIG1PZmZzZXQpID0gKHVpbnQ4X3QpICgqKG1JbWFnZSArIG1PZmZzZXQpICYgfm1NYXNrKTsKKyAgfQogCi0gIGNvbnRyb2xsZXItPmhhbmRsZUNoYW5nZUV2ZW50KHRoaXMpOworICBtQ29udHJvbGxlci0+aGFuZGxlQ2hhbmdlRXZlbnQodGhpcyk7CiB9CiAKLXZvaWQgSU9IYW5kbGVCaXQ6OmdldChDSUVDX0FOWSAmc3RhdGUpIHsKLSAgc3RhdGljX2Nhc3Q8Q0lFQ19CT09MJj4oc3RhdGUpID0gKCooaW1hZ2UgKyBvZmZzZXQpICYgbWFzaykgIT0gMDsKK3ZvaWQgSU9IYW5kbGVCaXQ6OmdldChDSUVDX0FOWSAmcGFTdGF0ZSkgeworICBzdGF0aWNfY2FzdDxDSUVDX0JPT0wmPihwYVN0YXRlKSA9ICgqKG1JbWFnZSArIG1PZmZzZXQpICYgbU1hc2spICE9IDA7CiB9CiAKLWJvb2wgSU9IYW5kbGVCaXQ6OmVxdWFsKHVpbnQ4X3QqIG9sZEltYWdlKSB7Ci0gIHJldHVybiAoKihpbWFnZSArIG9mZnNldCkgJiBtYXNrKSA9PSAoKihvbGRJbWFnZSArIG9mZnNldCkgJiBtYXNrKTsKK2Jvb2wgSU9IYW5kbGVCaXQ6OmVxdWFsKHVpbnQ4X3QqIHBhT2xkSW1hZ2UpIHsKKyAgcmV0dXJuICgqKG1JbWFnZSArIG1PZmZzZXQpICYgbU1hc2spID09ICgqKHBhT2xkSW1hZ2UgKyBtT2Zmc2V0KSAmIG1NYXNrKTsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZV9iaXQuaCBiL3NyYy9jb3JlL2lvL21hcHBlci9pb19oYW5kbGVfYml0LmgKaW5kZXggNGE3M2JkYS4uN2ZkMDg0MiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZV9iaXQuaAorKysgYi9zcmMvY29yZS9pby9tYXBwZXIvaW9faGFuZGxlX2JpdC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgLSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE4LDMzICsxOSwzMyBAQAogCiBuYW1lc3BhY2UgZm9ydGUgewogICBuYW1lc3BhY2UgY29yZSB7Ci0gICAgbmFtZXNwYWNlIElPIHsKKyAgICBuYW1lc3BhY2UgaW8gewogCi1jbGFzcyBJT0hhbmRsZUJpdDogcHVibGljIElPSGFuZGxlIHsKLXB1YmxpYzoKLSAgSU9IYW5kbGVCaXQoSU9EZXZpY2VDb250cm9sbGVyICpjb250cm9sbGVyLCBJT01hcHBlcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwKLSAgICAgIHVpbnQ4X3Qgb2Zmc2V0LAotICAgICAgdWludDhfdCBwb3NpdGlvbiwgdWludDhfdCogaW1hZ2UpOworICAgICAgY2xhc3MgSU9IYW5kbGVCaXQgOiBwdWJsaWMgSU9IYW5kbGUgeworICAgICAgICBwdWJsaWM6CisgICAgICAgICAgSU9IYW5kbGVCaXQoSU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIElPTWFwcGVyOjpEaXJlY3Rpb24gcGFEaXJlY3Rpb24sIHVpbnQ4X3QgcGFPZmZzZXQsIHVpbnQ4X3QgcGFQb3NpdGlvbiwgdWludDhfdCogcGFJbWFnZSk7CiAKLSAgdmlydHVhbCB2b2lkIHNldChjb25zdCBDSUVDX0FOWSAmKTsKLSAgdm9pZCBnZXQoQ0lFQ19BTlkgJik7CisgICAgICAgICAgdmlydHVhbCB2b2lkIHNldChjb25zdCBDSUVDX0FOWSAmKTsKKyAgICAgICAgICB2b2lkIGdldChDSUVDX0FOWSAmKTsKIAotICBib29sIGVxdWFsKHVuc2lnbmVkIGNoYXIqIG9sZEltYWdlKTsKKyAgICAgICAgICBib29sIGVxdWFsKHVuc2lnbmVkIGNoYXIqIHBhT2xkSW1hZ2UpOwogCi1wcm90ZWN0ZWQ6Ci0gIHZpcnR1YWwgdm9pZCBvbk9ic2VydmVyKElPT2JzZXJ2ZXIgKm9ic2VydmVyKTsKKyAgICAgICAgcHJvdGVjdGVkOgorICAgICAgICAgIHZpcnR1YWwgdm9pZCBvbk9ic2VydmVyKElPT2JzZXJ2ZXIgKnBhT2JzZXJ2ZXIpOwogCi0gIHZpcnR1YWwgdm9pZCBkcm9wT2JzZXJ2ZXIoKTsKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgZHJvcE9ic2VydmVyKCk7CiAKLSAgdmlydHVhbCB2b2lkIHJlc2V0KCkgewotICAgIENJRUNfQk9PTCBzID0gZmFsc2U7Ci0gICAgc2V0KHMpOwotICB9CisgICAgICAgICAgdmlydHVhbCB2b2lkIHJlc2V0KCkgeworICAgICAgICAgICAgQ0lFQ19CT09MIHMgPSBmYWxzZTsKKyAgICAgICAgICAgIHNldChzKTsKKyAgICAgICAgICB9CiAKLSAgdWludDhfdCogaW1hZ2U7Ci0gIGNvbnN0IHVpbnQ4X3Qgb2Zmc2V0OwotICBjb25zdCB1aW50OF90IG1hc2s7Ci19OworICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgbU9mZnNldDsKKyAgICAgICAgICBjb25zdCB1aW50OF90IG1NYXNrOworCisgICAgICAgIHByaXZhdGU6CisgICAgICAgICAgdWludDhfdCogbUltYWdlOworICAgICAgfTsKIAogICAgIH0gLy9uYW1lc3BhY2UgSU8KICAgfSAvL25hbWVwc2FjZSBjb3JlCmRpZmYgLS1naXQgYS9zcmMvY29yZS9pby9tYXBwZXIvaW9fbWFwcGVyLmNwcCBiL3NyYy9jb3JlL2lvL21hcHBlci9pb19tYXBwZXIuY3BwCmluZGV4IGRmOTJlMmUuLmU5OWU2OWMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL21hcHBlci9pb19tYXBwZXIuY3BwCisrKyBiL3NyYy9jb3JlL2lvL21hcHBlci9pb19tYXBwZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xNiw3ICsxNyw3IEBACiAjaW5jbHVkZSA8ZGV2bG9nLmg+CiAjaW5jbHVkZSAiY3JpdGljYWxyZWdpb24uaCIKIAotdXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjpJTzsKK3VzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29yZTo6aW87CiAKIERFRklORV9TSU5HTEVUT04oSU9NYXBwZXIpCiAKQEAgLTI4LDk2ICsyOSw5MiBAQAogCiB9CiAKLWJvb2wgSU9NYXBwZXI6OnJlZ2lzdGVySGFuZGxlKENJRUNfV1NUUklORyBjb25zdCAmaWQsIElPSGFuZGxlKiBoYW5kbGUpIHsKLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKHN5bmNNdXRleCk7Ci0gIHN0ZDo6c3RyaW5nIGlkU3RyKGlkLmdldFZhbHVlKCkpOworYm9vbCBJT01hcHBlcjo6cmVnaXN0ZXJIYW5kbGUoQ0lFQ19XU1RSSU5HIGNvbnN0ICZwYUlkLCBJT0hhbmRsZSogcGFIYW5kbGUpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1TeW5jTXV0ZXgpOworICBzdGQ6OnN0cmluZyBpZFN0cihwYUlkLmdldFZhbHVlKCkpOwogCiAgIC8vIENoZWNrIGZvciBkdXBsaWNhdGVzCi0gIGlmIChoYW5kbGVzLmZpbmQoaWRTdHIpICE9IGhhbmRsZXMuZW5kKCkpIHsKLSAgICBERVZMT0dfV0FSTklORygiW0lPTWFwcGVyXSBEdXBsaWNhdGVkIGhhbmRsZSBlbnRyeSAnJXMnXG4iLAotICAgICAgICBpZC5nZXRWYWx1ZSgpKTsKKyAgaWYobUhhbmRsZXMuZmluZChpZFN0cikgIT0gbUhhbmRsZXMuZW5kKCkpIHsKKyAgICBERVZMT0dfV0FSTklORygiW0lPTWFwcGVyXSBEdXBsaWNhdGVkIGhhbmRsZSBlbnRyeSAnJXMnXG4iLCBwYUlkLmdldFZhbHVlKCkpOwogICAgIHJldHVybiBmYWxzZTsKICAgfQogCiAgIC8vIEluc2VydCBpbnRvIGhhbmRsZXMgbGlzdAotICBoYW5kbGVzLmluc2VydChzdGQ6Om1ha2VfcGFpcihpZFN0ciwgaGFuZGxlKSk7CisgIG1IYW5kbGVzLmluc2VydChzdGQ6Om1ha2VfcGFpcihpZFN0ciwgcGFIYW5kbGUpKTsKIAotICBERVZMT0dfREVCVUcoIltJT01hcHBlcl0gUmVnaXN0ZXIgaGFuZGxlICVzXG4iLCBpZC5nZXRWYWx1ZSgpKTsKKyAgREVWTE9HX0RFQlVHKCJbSU9NYXBwZXJdIFJlZ2lzdGVyIGhhbmRsZSAlc1xuIiwgcGFJZC5nZXRWYWx1ZSgpKTsKIAogICAvLyBDaGVjayBmb3IgZXhpc3Rpbmcgb2JzZXJ2ZXIKLSAgaWYgKG9ic2VydmVycy5maW5kKGlkU3RyKSAhPSBvYnNlcnZlcnMuZW5kKCkpIHsKLSAgICBoYW5kbGUtPm9uT2JzZXJ2ZXIob2JzZXJ2ZXJzW2lkU3RyXSk7Ci0gICAgb2JzZXJ2ZXJzW2lkU3RyXS0+b25IYW5kbGUoaGFuZGxlKTsKKyAgaWYobU9ic2VydmVycy5maW5kKGlkU3RyKSAhPSBtT2JzZXJ2ZXJzLmVuZCgpKSB7CisgICAgcGFIYW5kbGUtPm9uT2JzZXJ2ZXIobU9ic2VydmVyc1tpZFN0cl0pOworICAgIG1PYnNlcnZlcnNbaWRTdHJdLT5vbkhhbmRsZShwYUhhbmRsZSk7CiAKLSAgICBERVZMT0dfSU5GTygiW0lPTWFwcGVyXSBDb25uZWN0ZWQgJXNcbiIsIGlkLmdldFZhbHVlKCkpOworICAgIERFVkxPR19JTkZPKCJbSU9NYXBwZXJdIENvbm5lY3RlZCAlc1xuIiwgcGFJZC5nZXRWYWx1ZSgpKTsKICAgfQogCiAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIElPTWFwcGVyOjpkZXJlZ2lzdGVySGFuZGxlKElPSGFuZGxlKiBoYW5kbGUpIHsKLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKHN5bmNNdXRleCk7Cit2b2lkIElPTWFwcGVyOjpkZXJlZ2lzdGVySGFuZGxlKElPSGFuZGxlKiBwYUhhbmRsZSkgeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVN5bmNNdXRleCk7CiAKLSAgZm9yIChUSGFuZGxlTWFwOjppdGVyYXRvciBpdCA9IGhhbmRsZXMuYmVnaW4oKTsgaXQgIT0gaGFuZGxlcy5lbmQoKTsgKytpdCkKLSAgICBpZiAoaXQtPnNlY29uZCA9PSBoYW5kbGUpIHsKLSAgICAgIGlmIChvYnNlcnZlcnMuZmluZChpdC0+Zmlyc3QpICE9IG9ic2VydmVycy5lbmQoKSkgewotICAgICAgICBoYW5kbGUtPmRyb3BPYnNlcnZlcigpOwotICAgICAgICBvYnNlcnZlcnNbaXQtPmZpcnN0XS0+ZHJvcEhhbmRsZSgpOwotICAgICAgICBERVZMT0dfSU5GTygiW0lPTWFwcGVyXSAgRGlzY29ubmVjdGVkICVzIChsb3N0IGhhbmRsZSlcbiIsCi0gICAgICAgICAgICBpdC0+Zmlyc3QuZGF0YSgpKTsKKyAgZm9yKFRIYW5kbGVNYXA6Oml0ZXJhdG9yIGl0ID0gbUhhbmRsZXMuYmVnaW4oKTsgaXQgIT0gbUhhbmRsZXMuZW5kKCk7ICsraXQpIHsKKyAgICBpZihpdC0+c2Vjb25kID09IHBhSGFuZGxlKSB7CisgICAgICBpZihtT2JzZXJ2ZXJzLmZpbmQoaXQtPmZpcnN0KSAhPSBtT2JzZXJ2ZXJzLmVuZCgpKSB7CisgICAgICAgIHBhSGFuZGxlLT5kcm9wT2JzZXJ2ZXIoKTsKKyAgICAgICAgbU9ic2VydmVyc1tpdC0+Zmlyc3RdLT5kcm9wSGFuZGxlKCk7CisgICAgICAgIERFVkxPR19JTkZPKCJbSU9NYXBwZXJdICBEaXNjb25uZWN0ZWQgJXMgKGxvc3QgaGFuZGxlKVxuIiwgaXQtPmZpcnN0LmRhdGEoKSk7CiAgICAgICB9CiAKICAgICAgIERFVkxPR19ERUJVRygiW0lPTWFwcGVyXSBEZXJlZ2lzdGVyIGhhbmRsZSAlc1xuIiwgaXQtPmZpcnN0LmRhdGEoKSk7CiAKLSAgICAgIGhhbmRsZXMuZXJhc2UoaXQpOworICAgICAgbUhhbmRsZXMuZXJhc2UoaXQpOwogICAgICAgYnJlYWs7CiAgICAgfQotCisgIH0KIH0KIAotYm9vbCBJT01hcHBlcjo6cmVnaXN0ZXJPYnNlcnZlcihDSUVDX1dTVFJJTkcgY29uc3QgJmlkLCBJT09ic2VydmVyKiBvYnNlcnZlcikgewotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oc3luY011dGV4KTsKLSAgc3RkOjpzdHJpbmcgaWRTdHIoaWQuZ2V0VmFsdWUoKSk7Citib29sIElPTWFwcGVyOjpyZWdpc3Rlck9ic2VydmVyKENJRUNfV1NUUklORyBjb25zdCAmcGFJZCwgSU9PYnNlcnZlciogcGFPYnNlcnZlcikgeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVN5bmNNdXRleCk7CisgIHN0ZDo6c3RyaW5nIGlkU3RyKHBhSWQuZ2V0VmFsdWUoKSk7CiAKICAgLy8gQ2hlY2sgZm9yIGR1cGxpY2F0ZXMKLSAgaWYgKG9ic2VydmVycy5maW5kKGlkU3RyKSAhPSBvYnNlcnZlcnMuZW5kKCkpIHsKLSAgICBERVZMT0dfV0FSTklORygiW0lPTWFwcGVyXSAgRHVwbGljYXRlZCBvYnNlcnZlciBlbnRyeSAnJXMnXG4iLAotICAgICAgICBpZC5nZXRWYWx1ZSgpKTsKKyAgaWYobU9ic2VydmVycy5maW5kKGlkU3RyKSAhPSBtT2JzZXJ2ZXJzLmVuZCgpKSB7CisgICAgREVWTE9HX1dBUk5JTkcoIltJT01hcHBlcl0gIER1cGxpY2F0ZWQgb2JzZXJ2ZXIgZW50cnkgJyVzJ1xuIiwgcGFJZC5nZXRWYWx1ZSgpKTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KIAogICAvLyBJbnNlcnQgaW50byBvYnNlcnZlciBsaXN0Ci0gIG9ic2VydmVycy5pbnNlcnQoc3RkOjptYWtlX3BhaXIoaWRTdHIsIG9ic2VydmVyKSk7CisgIG1PYnNlcnZlcnMuaW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKGlkU3RyLCBwYU9ic2VydmVyKSk7CiAKLSAgREVWTE9HX0RFQlVHKCJbSU9NYXBwZXJdIFJlZ2lzdGVyIG9ic2VydmVyICVzXG4iLCBpZC5nZXRWYWx1ZSgpKTsKKyAgREVWTE9HX0RFQlVHKCJbSU9NYXBwZXJdIFJlZ2lzdGVyIG9ic2VydmVyICVzXG4iLCBwYUlkLmdldFZhbHVlKCkpOwogCiAgIC8vIENoZWNrIGZvciBleGlzdGluZyBoYW5kbGUKLSAgaWYgKGhhbmRsZXMuZmluZChpZFN0cikgIT0gaGFuZGxlcy5lbmQoKSkgewotICAgIGhhbmRsZXNbaWRTdHJdLT5vbk9ic2VydmVyKG9ic2VydmVyKTsKLSAgICBvYnNlcnZlci0+b25IYW5kbGUoaGFuZGxlc1tpZFN0cl0pOworICBpZihtSGFuZGxlcy5maW5kKGlkU3RyKSAhPSBtSGFuZGxlcy5lbmQoKSkgeworICAgIG1IYW5kbGVzW2lkU3RyXS0+b25PYnNlcnZlcihwYU9ic2VydmVyKTsKKyAgICBwYU9ic2VydmVyLT5vbkhhbmRsZShtSGFuZGxlc1tpZFN0cl0pOwogCi0gICAgREVWTE9HX0lORk8oIltJT01hcHBlcl0gIENvbm5lY3RlZCAlc1xuIiwgaWQuZ2V0VmFsdWUoKSk7CisgICAgREVWTE9HX0lORk8oIltJT01hcHBlcl0gIENvbm5lY3RlZCAlc1xuIiwgcGFJZC5nZXRWYWx1ZSgpKTsKICAgfQogCiAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIElPTWFwcGVyOjpkZXJlZ2lzdGVyT2JzZXJ2ZXIoSU9PYnNlcnZlciogb2JzZXJ2ZXIpIHsKLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKHN5bmNNdXRleCk7Cit2b2lkIElPTWFwcGVyOjpkZXJlZ2lzdGVyT2JzZXJ2ZXIoSU9PYnNlcnZlciogcGFPYnNlcnZlcikgeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVN5bmNNdXRleCk7CiAKLSAgZm9yIChUT2JzZXJ2ZXJNYXA6Oml0ZXJhdG9yIGl0ID0gb2JzZXJ2ZXJzLmJlZ2luKCk7IGl0ICE9IG9ic2VydmVycy5lbmQoKTsKLSAgICAgICsraXQpCi0gICAgaWYgKGl0LT5zZWNvbmQgPT0gb2JzZXJ2ZXIpIHsKLSAgICAgIGlmIChoYW5kbGVzLmZpbmQoaXQtPmZpcnN0KSAhPSBoYW5kbGVzLmVuZCgpKSB7Ci0gICAgICAgIGhhbmRsZXNbaXQtPmZpcnN0XS0+ZHJvcE9ic2VydmVyKCk7Ci0gICAgICAgIG9ic2VydmVyLT5kcm9wSGFuZGxlKCk7Ci0gICAgICAgIERFVkxPR19JTkZPKCJbSU9NYXBwZXJdICBEaXNjb25uZWN0ZWQgJXMgKGxvc3Qgb2JzZXJ2ZXIpXG4iLAotICAgICAgICAgICAgaXQtPmZpcnN0LmRhdGEoKSk7CisgIGZvcihUT2JzZXJ2ZXJNYXA6Oml0ZXJhdG9yIGl0ID0gbU9ic2VydmVycy5iZWdpbigpOyBpdCAhPSBtT2JzZXJ2ZXJzLmVuZCgpOyArK2l0KSB7CisgICAgaWYoaXQtPnNlY29uZCA9PSBwYU9ic2VydmVyKSB7CisgICAgICBpZihtSGFuZGxlcy5maW5kKGl0LT5maXJzdCkgIT0gbUhhbmRsZXMuZW5kKCkpIHsKKyAgICAgICAgbUhhbmRsZXNbaXQtPmZpcnN0XS0+ZHJvcE9ic2VydmVyKCk7CisgICAgICAgIHBhT2JzZXJ2ZXItPmRyb3BIYW5kbGUoKTsKKyAgICAgICAgREVWTE9HX0lORk8oIltJT01hcHBlcl0gIERpc2Nvbm5lY3RlZCAlcyAobG9zdCBvYnNlcnZlcilcbiIsIGl0LT5maXJzdC5kYXRhKCkpOwogICAgICAgfQogCiAgICAgICBERVZMT0dfREVCVUcoIltJT01hcHBlcl0gRGVyZWdpc3RlciBvYnNlcnZlciAlc1xuIiwgaXQtPmZpcnN0LmRhdGEoKSk7CiAKLSAgICAgIG9ic2VydmVycy5lcmFzZShpdCk7CisgICAgICBtT2JzZXJ2ZXJzLmVyYXNlKGl0KTsKICAgICAgIGJyZWFrOwogICAgIH0KKyAgfQogfQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX21hcHBlci5oIGIvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX21hcHBlci5oCmluZGV4IGRkYjBmY2UuLjYwMzM2MzAgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL21hcHBlci9pb19tYXBwZXIuaAorKysgYi9zcmMvY29yZS9pby9tYXBwZXIvaW9fbWFwcGVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTIxLDM1ICsyMiwzNyBAQAogCiBuYW1lc3BhY2UgZm9ydGUgewogICBuYW1lc3BhY2UgY29yZSB7Ci0gICAgbmFtZXNwYWNlIElPIHsKKyAgICBuYW1lc3BhY2UgaW8gewogCi1jbGFzcyBJT0hhbmRsZTsKLWNsYXNzIElPT2JzZXJ2ZXI7CisgICAgICBjbGFzcyBJT0hhbmRsZTsKKyAgICAgIGNsYXNzIElPT2JzZXJ2ZXI7CiAKLWNsYXNzIElPTWFwcGVyIHsKLSAgREVDTEFSRV9TSU5HTEVUT04gKElPTWFwcGVyKQorICAgICAgY2xhc3MgSU9NYXBwZXIgeworICAgICAgICBERUNMQVJFX1NJTkdMRVRPTiAoSU9NYXBwZXIpCiAKLXB1YmxpYzoKLSAgZW51bSBEaXJlY3Rpb24gewotICAgIFVua25vd25EaXJlY3Rpb24sIEluLCBPdXQsIEluT3V0Ci0gIH07CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICBlbnVtIERpcmVjdGlvbiB7CisgICAgICAgICAgICBVbmtub3duRGlyZWN0aW9uLAorICAgICAgICAgICAgSW4sCisgICAgICAgICAgICBPdXQsCisgICAgICAgICAgICBJbk91dAorICAgICAgICAgIH07CiAKLXB1YmxpYzoKLSAgYm9vbCByZWdpc3RlckhhbmRsZShDSUVDX1dTVFJJTkcgY29uc3QgJmlkLCBJT0hhbmRsZSogaGFuZGxlKTsKLSAgdm9pZCBkZXJlZ2lzdGVySGFuZGxlKElPSGFuZGxlKiBoYW5kbGUpOworICAgICAgICAgIGJvb2wgcmVnaXN0ZXJIYW5kbGUoQ0lFQ19XU1RSSU5HIGNvbnN0ICZwYUlkLCBJT0hhbmRsZSogcGFIYW5kbGUpOworICAgICAgICAgIHZvaWQgZGVyZWdpc3RlckhhbmRsZShJT0hhbmRsZSogcGFIYW5kbGUpOwogCi0gIGJvb2wgcmVnaXN0ZXJPYnNlcnZlcihDSUVDX1dTVFJJTkcgY29uc3QgJmlkLCBJT09ic2VydmVyKiBvYnNlcnZlcik7Ci0gIHZvaWQgZGVyZWdpc3Rlck9ic2VydmVyKElPT2JzZXJ2ZXIqIG9ic2VydmVyKTsKKyAgICAgICAgICBib29sIHJlZ2lzdGVyT2JzZXJ2ZXIoQ0lFQ19XU1RSSU5HIGNvbnN0ICZwYUlkLCBJT09ic2VydmVyKiBwYU9ic2VydmVyKTsKKyAgICAgICAgICB2b2lkIGRlcmVnaXN0ZXJPYnNlcnZlcihJT09ic2VydmVyKiBwYU9ic2VydmVyKTsKIAotcHJpdmF0ZToKLSAgdHlwZWRlZiBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgSU9IYW5kbGUqPiBUSGFuZGxlTWFwOwotICBUSGFuZGxlTWFwIGhhbmRsZXM7CisgICAgICAgIHByaXZhdGU6CisgICAgICAgICAgdHlwZWRlZiBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgSU9IYW5kbGUqPiBUSGFuZGxlTWFwOworICAgICAgICAgIFRIYW5kbGVNYXAgbUhhbmRsZXM7CiAKLSAgdHlwZWRlZiBzdGQ6Om1hcDxzdGQ6OnN0cmluZywgSU9PYnNlcnZlcio+IFRPYnNlcnZlck1hcDsKLSAgVE9ic2VydmVyTWFwIG9ic2VydmVyczsKKyAgICAgICAgICB0eXBlZGVmIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBJT09ic2VydmVyKj4gVE9ic2VydmVyTWFwOworICAgICAgICAgIFRPYnNlcnZlck1hcCBtT2JzZXJ2ZXJzOwogCi0gIENTeW5jT2JqZWN0IHN5bmNNdXRleDsKLX07CisgICAgICAgICAgQ1N5bmNPYmplY3QgbVN5bmNNdXRleDsKKyAgICAgIH07CiAKICAgICB9IC8vbmFtZXNwYWNlIElPCiAgIH0gLy9uYW1lcHNhY2UgY29yZQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX29ic2VydmVyLmNwcCBiL3NyYy9jb3JlL2lvL21hcHBlci9pb19vYnNlcnZlci5jcHAKaW5kZXggMTUwMmU5Zi4uOWI5NWRiMSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX29ic2VydmVyLmNwcAorKysgYi9zcmMvY29yZS9pby9tYXBwZXIvaW9fb2JzZXJ2ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMywxMCArMTQsMTAgQEAKICNpbmNsdWRlICJpb19vYnNlcnZlci5oIgogI2luY2x1ZGUgPGRldmxvZy5oPgogCi11c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvcmU6OklPOwordXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjppbzsKIAogSU9PYnNlcnZlcjo6SU9PYnNlcnZlcigpIDoKLSAgICBoYW5kbGUoTlVMTCksIHR5cGUoQ0lFQ19BTlk6OmVfQU5ZKSwgZGlyZWN0aW9uKElPTWFwcGVyOjpVbmtub3duRGlyZWN0aW9uKSB7CisgICAgbUhhbmRsZShOVUxMKSwgbVR5cGUoQ0lFQ19BTlk6OmVfQU5ZKSwgbURpcmVjdGlvbihJT01hcHBlcjo6VW5rbm93bkRpcmVjdGlvbikgewogCiB9CiAKQEAgLTI0LDExICsyNSwxMSBAQAogICBJT01hcHBlcjo6Z2V0SW5zdGFuY2UoKS5kZXJlZ2lzdGVyT2JzZXJ2ZXIodGhpcyk7CiB9CiAKLXZvaWQgSU9PYnNlcnZlcjo6b25IYW5kbGUoSU9IYW5kbGUgKmhhbmRsZSkgewotICB0aGlzLT5oYW5kbGUgPSBoYW5kbGU7Cit2b2lkIElPT2JzZXJ2ZXI6Om9uSGFuZGxlKElPSGFuZGxlICpwYUhhbmRsZSkgeworICB0aGlzLT5tSGFuZGxlID0gcGFIYW5kbGU7CiB9CiAKIHZvaWQgSU9PYnNlcnZlcjo6ZHJvcEhhbmRsZSgpIHsKLSAgdGhpcy0+aGFuZGxlID0gTlVMTDsKKyAgdGhpcy0+bUhhbmRsZSA9IE5VTEw7CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL21hcHBlci9pb19vYnNlcnZlci5oIGIvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX29ic2VydmVyLmgKaW5kZXggMjNkYTliZi4uZGZmMjcwYiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX29ic2VydmVyLmgKKysrIGIvc3JjL2NvcmUvaW8vbWFwcGVyL2lvX29ic2VydmVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE4LDI1ICsxOSwyNiBAQAogCiBuYW1lc3BhY2UgZm9ydGUgewogICBuYW1lc3BhY2UgY29yZSB7Ci0gICAgbmFtZXNwYWNlIElPIHsKKyAgICBuYW1lc3BhY2UgaW8gewogCi1jbGFzcyBJT09ic2VydmVyIHsKLSAgZnJpZW5kIGNsYXNzIElPTWFwcGVyOworICAgICAgY2xhc3MgSU9PYnNlcnZlciB7CisgICAgICAgICAgZnJpZW5kIGNsYXNzIElPTWFwcGVyOwogCi1wdWJsaWM6Ci0gIElPT2JzZXJ2ZXIoKTsKLSAgdmlydHVhbCB+SU9PYnNlcnZlcigpOworICAgICAgICBwdWJsaWM6CisgICAgICAgICAgSU9PYnNlcnZlcigpOworICAgICAgICAgIHZpcnR1YWwgfklPT2JzZXJ2ZXIoKTsKIAotICB2aXJ0dWFsIGJvb2wgb25DaGFuZ2UoKSA9IDA7CisgICAgICAgICAgdmlydHVhbCBib29sIG9uQ2hhbmdlKCkgPSAwOwogCi1wcm90ZWN0ZWQ6Ci0gIHZpcnR1YWwgdm9pZCBvbkhhbmRsZShJT0hhbmRsZSAqaGFuZGxlKTsKLSAgdmlydHVhbCB2b2lkIGRyb3BIYW5kbGUoKTsKKyAgICAgICAgcHJvdGVjdGVkOgorICAgICAgICAgIElPSGFuZGxlKiBtSGFuZGxlOworICAgICAgICAgIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCBtVHlwZTsKKyAgICAgICAgICBJT01hcHBlcjo6RGlyZWN0aW9uIG1EaXJlY3Rpb247CiAKLSAgSU9IYW5kbGUqIGhhbmRsZTsKLSAgQ0lFQ19BTlk6OkVEYXRhVHlwZUlEIHR5cGU7Ci0gIElPTWFwcGVyOjpEaXJlY3Rpb24gZGlyZWN0aW9uOwotfTsKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgb25IYW5kbGUoSU9IYW5kbGUgKnBhSGFuZGxlKTsKKyAgICAgICAgICB2aXJ0dWFsIHZvaWQgZHJvcEhhbmRsZSgpOworCisgICAgICB9OwogCiAgICAgfSAvL25hbWVzcGFjZSBJTwogICB9IC8vbmFtZXBzYWNlIGNvcmUKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2lvL3Byb2Nlc3NpbnRlcmZhY2UuY3BwIGIvc3JjL2NvcmUvaW8vcHJvY2Vzc2ludGVyZmFjZS5jcHAKaW5kZXggN2FlMjg4My4uMzc4YmU3NyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvaW8vcHJvY2Vzc2ludGVyZmFjZS5jcHAKKysrIGIvc3JjL2NvcmUvaW8vcHJvY2Vzc2ludGVyZmFjZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTEzLDI4ICsxNCwyMCBAQAogI2luY2x1ZGUgInByb2Nlc3NpbnRlcmZhY2UuaCIKICNpbmNsdWRlICJjcml0aWNhbHJlZ2lvbi5oIgogCi11c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvcmU6OklPOwordXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb3JlOjppbzsKIAogY29uc3QgY2hhciAqIGNvbnN0IFByb2Nlc3NJbnRlcmZhY2U6OnNjbU9LID0gIk9LIjsKLWNvbnN0IGNoYXIgKiBjb25zdCBQcm9jZXNzSW50ZXJmYWNlOjpzY21XYWl0aW5nRm9ySGFuZGxlID0KLSAgICAiV2FpdGluZyBmb3IgaGFuZGxlLi4iOwotY29uc3QgY2hhciAqIGNvbnN0IFByb2Nlc3NJbnRlcmZhY2U6OnNjbUZhaWxlZFRvUmVnaXN0ZXIgPQotICAgICJGYWlsZWQgdG8gcmVnaXN0ZXIgb2JzZXJ2ZXIuIjsKLWNvbnN0IGNoYXIgKiBjb25zdCBQcm9jZXNzSW50ZXJmYWNlOjpzY21NYXBwZWRXcm9uZ0RpcmVjdGlvbk91dHB1dCA9Ci0gICAgIk1hcHBlZCBpbnZhbGlkIGRpcmVjdGlvbi4gQSBRIGJsb2NrIHJlcXVpcmVzIGFuIG91dHB1dCBoYW5kbGUuIjsKLWNvbnN0IGNoYXIgKiBjb25zdCBQcm9jZXNzSW50ZXJmYWNlOjpzY21NYXBwZWRXcm9uZ0RpcmVjdGlvbklucHV0ID0KLSAgICAiTWFwcGVkIGludmFsaWQgZGlyZWN0aW9uLiBBbiBJIGJsb2NrIHJlcXVpcmVzIGFuIGlucHV0IGhhbmRsZS4iOwotY29uc3QgY2hhciAqIGNvbnN0IFByb2Nlc3NJbnRlcmZhY2U6OnNjbU1hcHBlZFdyb25nRGF0YVR5cGUgPQotICAgICJNYXBwZWQgaW52YWxpZCBkYXRhIHR5cGUuIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBQcm9jZXNzSW50ZXJmYWNlOjpzY21XYWl0aW5nRm9ySGFuZGxlID0gIldhaXRpbmcgZm9yIGhhbmRsZS4uIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBQcm9jZXNzSW50ZXJmYWNlOjpzY21GYWlsZWRUb1JlZ2lzdGVyID0gIkZhaWxlZCB0byByZWdpc3RlciBvYnNlcnZlci4iOworY29uc3QgY2hhciAqIGNvbnN0IFByb2Nlc3NJbnRlcmZhY2U6OnNjbU1hcHBlZFdyb25nRGlyZWN0aW9uT3V0cHV0ID0gIk1hcHBlZCBpbnZhbGlkIGRpcmVjdGlvbi4gQSBRIGJsb2NrIHJlcXVpcmVzIGFuIG91dHB1dCBoYW5kbGUuIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBQcm9jZXNzSW50ZXJmYWNlOjpzY21NYXBwZWRXcm9uZ0RpcmVjdGlvbklucHV0ID0gIk1hcHBlZCBpbnZhbGlkIGRpcmVjdGlvbi4gQW4gSSBibG9jayByZXF1aXJlcyBhbiBpbnB1dCBoYW5kbGUuIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBQcm9jZXNzSW50ZXJmYWNlOjpzY21NYXBwZWRXcm9uZ0RhdGFUeXBlID0gIk1hcHBlZCBpbnZhbGlkIGRhdGEgdHlwZS4iOwogCi1Qcm9jZXNzSW50ZXJmYWNlOjpQcm9jZXNzSW50ZXJmYWNlKENSZXNvdXJjZSAqcGFTcmNSZXMsCi0gICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLAotICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwKK1Byb2Nlc3NJbnRlcmZhY2U6OlByb2Nlc3NJbnRlcmZhY2UoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsCiAgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKLSAgICBDUHJvY2Vzc0ludGVyZmFjZUJhc2UocGFTcmNSZXMsIHBhSW50ZXJmYWNlU3BlYywgcGFJbnN0YW5jZU5hbWVJZCwKLSAgICAgICAgcGFGQkNvbm5EYXRhLCBwYUZCVmFyc0RhdGEpLCBJT09ic2VydmVyKCkgewotICBpc0xpc3RlbmluZyA9IGZhbHNlOwotICBpc1JlYWR5ID0gZmFsc2U7CisgICAgQ1Byb2Nlc3NJbnRlcmZhY2VCYXNlKHBhU3JjUmVzLCBwYUludGVyZmFjZVNwZWMsIHBhSW5zdGFuY2VOYW1lSWQsIHBhRkJDb25uRGF0YSwgcGFGQlZhcnNEYXRhKSwgSU9PYnNlcnZlcigpIHsKKyAgbUlzTGlzdGVuaW5nID0gZmFsc2U7CisgIG1Jc1JlYWR5ID0gZmFsc2U7CiB9CiAKIFByb2Nlc3NJbnRlcmZhY2U6On5Qcm9jZXNzSW50ZXJmYWNlKCkgewpAQCAtNDIsNjcgKzM1LDY3IEBACiB9CiAKIGJvb2wgUHJvY2Vzc0ludGVyZmFjZTo6aW5pdGlhbGlzZShib29sIHBhSXNJbnB1dCkgewotICBkaXJlY3Rpb24gPSBwYUlzSW5wdXQgPyBJT01hcHBlcjo6SW4gOiBJT01hcHBlcjo6T3V0OwotICB0eXBlID0gKHBhSXNJbnB1dCA/IGdldERPKDIpIDogZ2V0REkoMikpLT5nZXREYXRhVHlwZUlEKCk7CisgIG1EaXJlY3Rpb24gPSBwYUlzSW5wdXQgPyBJT01hcHBlcjo6SW4gOiBJT01hcHBlcjo6T3V0OworICBtVHlwZSA9IChwYUlzSW5wdXQgPyBnZXRETygyKSA6IGdldERJKDIpKS0+Z2V0RGF0YVR5cGVJRCgpOwogCi0gIGlzUmVhZHkgPSBmYWxzZTsKKyAgbUlzUmVhZHkgPSBmYWxzZTsKICAgU1RBVFVTKCkgPSBzY21XYWl0aW5nRm9ySGFuZGxlOwogCiAgIC8vIFJlc2V0IGJlZm9yZSBpbml0aWFsaXphdGlvbgogICBkZWluaXRpYWxpc2UoKTsKIAogICAvLyBSZWdpc3RlciBpbnRlcmZhY2UKLSAgaWYgKCEoaXNMaXN0ZW5pbmcgPSBJT01hcHBlcjo6Z2V0SW5zdGFuY2UoKS5yZWdpc3Rlck9ic2VydmVyKGdldEluc3RhbmNlTmFtZSgpLAotICAgICAgdGhpcykpKSB7CisgIGlmKCEobUlzTGlzdGVuaW5nID0gSU9NYXBwZXI6OmdldEluc3RhbmNlKCkucmVnaXN0ZXJPYnNlcnZlcihnZXRJbnN0YW5jZU5hbWUoKSwgdGhpcykpKSB7CiAgICAgU1RBVFVTKCkgPSBzY21GYWlsZWRUb1JlZ2lzdGVyOwogICAgIHJldHVybiBmYWxzZTsKICAgfQogCi0gIHJldHVybiBpc1JlYWR5OworICByZXR1cm4gbUlzUmVhZHk7CiB9CiAKIGJvb2wgUHJvY2Vzc0ludGVyZmFjZTo6ZGVpbml0aWFsaXNlKCkgewogICAvLyBEZXJlZ2lzdGVyIGludGVyZmFjZQotICBpZiAoaXNMaXN0ZW5pbmcpCisgIGlmKG1Jc0xpc3RlbmluZykgewogICAgIElPTWFwcGVyOjpnZXRJbnN0YW5jZSgpLmRlcmVnaXN0ZXJPYnNlcnZlcih0aGlzKTsKKyAgfQogCi0gIHJldHVybiAhaXNSZWFkeTsKKyAgcmV0dXJuICFtSXNSZWFkeTsKIH0KIAotYm9vbCBQcm9jZXNzSW50ZXJmYWNlOjpyZWFkKENJRUNfQU5ZICZkYXRhKSB7Ci0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihzeW5jTXV0ZXgpOwotICBpZiAoIWlzUmVhZHkpIHsKK2Jvb2wgUHJvY2Vzc0ludGVyZmFjZTo6cmVhZChDSUVDX0FOWSAmcGFEYXRhKSB7CisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtU3luY011dGV4KTsKKyAgaWYoIW1Jc1JlYWR5KSB7CiAgICAgcmV0dXJuIGZhbHNlOwogICB9CiAKLSAgaGFuZGxlLT5nZXQoZGF0YSk7CisgIG1IYW5kbGUtPmdldChwYURhdGEpOwogCiAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFByb2Nlc3NJbnRlcmZhY2U6OndyaXRlKENJRUNfQU5ZICZkYXRhKSB7Ci0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihzeW5jTXV0ZXgpOwotICBpZiAoIWlzUmVhZHkpIHsKK2Jvb2wgUHJvY2Vzc0ludGVyZmFjZTo6d3JpdGUoQ0lFQ19BTlkgJnBhRGF0YSkgeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVN5bmNNdXRleCk7CisgIGlmKCFtSXNSZWFkeSkgewogICAgIHJldHVybiBmYWxzZTsKICAgfQogCi0gIGhhbmRsZS0+c2V0KGRhdGEpOworICBtSGFuZGxlLT5zZXQocGFEYXRhKTsKIAogICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBQcm9jZXNzSW50ZXJmYWNlOjpyZWFkKCkgewotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oc3luY011dGV4KTsKLSAgaWYgKCFpc1JlYWR5KSB7CisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtU3luY011dGV4KTsKKyAgaWYoIW1Jc1JlYWR5KSB7CiAgICAgcmV0dXJuIGZhbHNlOwogICB9CiAKLSAgaWYgKGhhbmRsZS0+aXMoQ0lFQ19BTlk6OmVfQk9PTCkpIHsKLSAgICBoYW5kbGUtPmdldChJTl9YKCkpOwotICB9IGVsc2UgaWYgKGhhbmRsZS0+aXMoQ0lFQ19BTlk6OmVfV09SRCkpIHsKLSAgICBoYW5kbGUtPmdldChJTl9XKCkpOwotICB9IGVsc2UgaWYgKGhhbmRsZS0+aXMoQ0lFQ19BTlk6OmVfRFdPUkQpKSB7Ci0gICAgaGFuZGxlLT5nZXQoSU5fRCgpKTsKKyAgaWYobUhhbmRsZS0+aXMoQ0lFQ19BTlk6OmVfQk9PTCkpIHsKKyAgICBtSGFuZGxlLT5nZXQoSU5fWCgpKTsKKyAgfSBlbHNlIGlmKG1IYW5kbGUtPmlzKENJRUNfQU5ZOjplX1dPUkQpKSB7CisgICAgbUhhbmRsZS0+Z2V0KElOX1coKSk7CisgIH0gZWxzZSBpZihtSGFuZGxlLT5pcyhDSUVDX0FOWTo6ZV9EV09SRCkpIHsKKyAgICBtSGFuZGxlLT5nZXQoSU5fRCgpKTsKICAgfSBlbHNlIHsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KQEAgLTExMSwxNyArMTA0LDE3IEBACiB9CiAKIGJvb2wgUHJvY2Vzc0ludGVyZmFjZTo6d3JpdGUoKSB7Ci0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihzeW5jTXV0ZXgpOwotICBpZiAoIWlzUmVhZHkpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1TeW5jTXV0ZXgpOworICBpZighbUlzUmVhZHkpIHsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KIAotICBpZiAoaGFuZGxlLT5pcyhDSUVDX0FOWTo6ZV9CT09MKSkgewotICAgIGhhbmRsZS0+c2V0KE9VVF9YKCkpOwotICB9IGVsc2UgaWYgKGhhbmRsZS0+aXMoQ0lFQ19BTlk6OmVfV09SRCkpIHsKLSAgICBoYW5kbGUtPnNldChPVVRfVygpKTsKLSAgfSBlbHNlIGlmIChoYW5kbGUtPmlzKENJRUNfQU5ZOjplX0RXT1JEKSkgewotICAgIGhhbmRsZS0+c2V0KE9VVF9EKCkpOworICBpZihtSGFuZGxlLT5pcyhDSUVDX0FOWTo6ZV9CT09MKSkgeworICAgIG1IYW5kbGUtPnNldChPVVRfWCgpKTsKKyAgfSBlbHNlIGlmKG1IYW5kbGUtPmlzKENJRUNfQU5ZOjplX1dPUkQpKSB7CisgICAgbUhhbmRsZS0+c2V0KE9VVF9XKCkpOworICB9IGVsc2UgaWYobUhhbmRsZS0+aXMoQ0lFQ19BTlk6OmVfRFdPUkQpKSB7CisgICAgbUhhbmRsZS0+c2V0KE9VVF9EKCkpOwogICB9IGVsc2UgewogICAgIHJldHVybiBmYWxzZTsKICAgfQpAQCAtMTMzLDQ0ICsxMjYsNDUgQEAKICAgcmV0dXJuIHJlYWQoKTsKIH0KIAotdm9pZCBQcm9jZXNzSW50ZXJmYWNlOjpvbkhhbmRsZShJT0hhbmRsZSogaGFuZGxlKSB7Cit2b2lkIFByb2Nlc3NJbnRlcmZhY2U6Om9uSGFuZGxlKElPSGFuZGxlKiBwYUhhbmRsZSkgewogICB7Ci0gICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKHN5bmNNdXRleCk7CisgICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1TeW5jTXV0ZXgpOwogCi0gICAgSU9PYnNlcnZlcjo6b25IYW5kbGUoaGFuZGxlKTsKKyAgICBJT09ic2VydmVyOjpvbkhhbmRsZShwYUhhbmRsZSk7CiAKLSAgICBpZighaGFuZGxlLT5pcyh0eXBlKSl7CisgICAgaWYoIXBhSGFuZGxlLT5pcyhtVHlwZSkpIHsKICAgICAgIFNUQVRVUygpID0gc2NtTWFwcGVkV3JvbmdEYXRhVHlwZTsKICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZighaGFuZGxlLT5pcyhkaXJlY3Rpb24pKXsKLSAgICAgIFNUQVRVUygpID0gZGlyZWN0aW9uID09IElPTWFwcGVyOjpJbiA/IHNjbU1hcHBlZFdyb25nRGlyZWN0aW9uSW5wdXQgOiBzY21NYXBwZWRXcm9uZ0RpcmVjdGlvbk91dHB1dDsKKyAgICBpZighcGFIYW5kbGUtPmlzKG1EaXJlY3Rpb24pKSB7CisgICAgICBTVEFUVVMoKSA9IG1EaXJlY3Rpb24gPT0gSU9NYXBwZXI6OkluID8gc2NtTWFwcGVkV3JvbmdEaXJlY3Rpb25JbnB1dCA6IHNjbU1hcHBlZFdyb25nRGlyZWN0aW9uT3V0cHV0OwogICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmKGRpcmVjdGlvbiA9PSBJT01hcHBlcjo6SW4pCisgICAgaWYobURpcmVjdGlvbiA9PSBJT01hcHBlcjo6SW4pIHsKICAgICAgIHNldEV2ZW50Q2hhaW5FeGVjdXRvcihtX3BvSW52b2tpbmdFeGVjRW52KTsKKyAgICB9CiAKICAgICBTVEFUVVMoKSA9IHNjbU9LOwotICAgIGlzUmVhZHkgPSB0cnVlOworICAgIG1Jc1JlYWR5ID0gdHJ1ZTsKICAgfQogCiAgIC8vIFJlYWQgJiB3cml0ZSBjdXJyZW50IHN0YXRlCi0gIGlmIChkaXJlY3Rpb24gPT0gSU9NYXBwZXI6OkluKQorICBpZihtRGlyZWN0aW9uID09IElPTWFwcGVyOjpJbikgewogICAgIFFPKCkgPSByZWFkKCk7Ci0gIGVsc2UKKyAgfSBlbHNlIHsKICAgICBRTygpID0gd3JpdGUoKTsKKyAgfQogfQogCiB2b2lkIFByb2Nlc3NJbnRlcmZhY2U6OmRyb3BIYW5kbGUoKSB7Ci0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihzeW5jTXV0ZXgpOworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVN5bmNNdXRleCk7CiAKICAgSU9PYnNlcnZlcjo6ZHJvcEhhbmRsZSgpOwogCiAgIFFPKCkgPSBmYWxzZTsKICAgU1RBVFVTKCkgPSBzY21XYWl0aW5nRm9ySGFuZGxlOwotICBpc1JlYWR5ID0gZmFsc2U7Ci0KKyAgbUlzUmVhZHkgPSBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvaW8vcHJvY2Vzc2ludGVyZmFjZS5oIGIvc3JjL2NvcmUvaW8vcHJvY2Vzc2ludGVyZmFjZS5oCmluZGV4IGRmOGQxYWIuLjY1ZjY4MTkgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2lvL3Byb2Nlc3NpbnRlcmZhY2UuaAorKysgYi9zcmMvY29yZS9pby9wcm9jZXNzaW50ZXJmYWNlLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTIxLDY4ICsyMiw2NiBAQAogCiBuYW1lc3BhY2UgZm9ydGUgewogICBuYW1lc3BhY2UgY29yZSB7Ci0gICAgbmFtZXNwYWNlIElPIHsKKyAgICBuYW1lc3BhY2UgaW8gewogCi1jbGFzcyBQcm9jZXNzSW50ZXJmYWNlOiBwdWJsaWMgQ1Byb2Nlc3NJbnRlcmZhY2VCYXNlLCBwdWJsaWMgSU9PYnNlcnZlciB7CisgICAgICBjbGFzcyBQcm9jZXNzSW50ZXJmYWNlIDogcHVibGljIENQcm9jZXNzSW50ZXJmYWNlQmFzZSwgcHVibGljIElPT2JzZXJ2ZXIgewogCi1wdWJsaWM6Ci0gIFByb2Nlc3NJbnRlcmZhY2UoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLAotICAgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLAotICAgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpOwotICB2aXJ0dWFsIH5Qcm9jZXNzSW50ZXJmYWNlKCk7CisgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICBQcm9jZXNzSW50ZXJmYWNlKENSZXNvdXJjZSAqcGFTcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSk7CisgICAgICAgICAgdmlydHVhbCB+UHJvY2Vzc0ludGVyZmFjZSgpOwogCi0gIGJvb2wgb25DaGFuZ2UoKTsKKyAgICAgICAgICBib29sIG9uQ2hhbmdlKCk7CiAKLXByb3RlY3RlZDoKLSAgYm9vbCBpbml0aWFsaXNlKGJvb2wgcGFJc0lucHV0KTsKLSAgYm9vbCBkZWluaXRpYWxpc2UoKTsKLSAgYm9vbCByZWFkUGluKCkgewotICAgIHJldHVybiByZWFkKElOX1goKSk7Ci0gIH0KLSAgYm9vbCB3cml0ZVBpbigpIHsKLSAgICByZXR1cm4gd3JpdGUoT1VUX1goKSk7Ci0gIH0KLSAgYm9vbCByZWFkV29yZCgpIHsKLSAgICByZXR1cm4gcmVhZChJTl9XKCkpOwotICB9Ci0gIGJvb2wgd3JpdGVXb3JkKCkgewotICAgIHJldHVybiB3cml0ZShPVVRfVygpKTsKLSAgfQotICBib29sIHJlYWREV29yZCgpIHsKLSAgICByZXR1cm4gcmVhZChJTl9EKCkpOwotICB9Ci0gIGJvb2wgd3JpdGVEV29yZCgpIHsKLSAgICByZXR1cm4gd3JpdGUoT1VUX0QoKSk7Ci0gIH0KKyAgICAgICAgcHJvdGVjdGVkOgorICAgICAgICAgIGJvb2wgaW5pdGlhbGlzZShib29sIHBhSXNJbnB1dCk7CisgICAgICAgICAgYm9vbCBkZWluaXRpYWxpc2UoKTsKKyAgICAgICAgICBib29sIHJlYWRQaW4oKSB7CisgICAgICAgICAgICByZXR1cm4gcmVhZChJTl9YKCkpOworICAgICAgICAgIH0KKyAgICAgICAgICBib29sIHdyaXRlUGluKCkgeworICAgICAgICAgICAgcmV0dXJuIHdyaXRlKE9VVF9YKCkpOworICAgICAgICAgIH0KKyAgICAgICAgICBib29sIHJlYWRXb3JkKCkgeworICAgICAgICAgICAgcmV0dXJuIHJlYWQoSU5fVygpKTsKKyAgICAgICAgICB9CisgICAgICAgICAgYm9vbCB3cml0ZVdvcmQoKSB7CisgICAgICAgICAgICByZXR1cm4gd3JpdGUoT1VUX1coKSk7CisgICAgICAgICAgfQorICAgICAgICAgIGJvb2wgcmVhZERXb3JkKCkgeworICAgICAgICAgICAgcmV0dXJuIHJlYWQoSU5fRCgpKTsKKyAgICAgICAgICB9CisgICAgICAgICAgYm9vbCB3cml0ZURXb3JkKCkgeworICAgICAgICAgICAgcmV0dXJuIHdyaXRlKE9VVF9EKCkpOworICAgICAgICAgIH0KIAotICBib29sIHJlYWQoKTsKLSAgYm9vbCB3cml0ZSgpOworICAgICAgICAgIGJvb2wgcmVhZCgpOworICAgICAgICAgIGJvb2wgd3JpdGUoKTsKIAotICBib29sIHJlYWQoQ0lFQ19BTlkgJik7Ci0gIGJvb2wgd3JpdGUoQ0lFQ19BTlkgJik7CisgICAgICAgICAgYm9vbCByZWFkKENJRUNfQU5ZICYpOworICAgICAgICAgIGJvb2wgd3JpdGUoQ0lFQ19BTlkgJik7CiAKLSAgdmlydHVhbCB2b2lkIG9uSGFuZGxlKElPSGFuZGxlICpoYW5kbGUpOwotICB2aXJ0dWFsIHZvaWQgZHJvcEhhbmRsZSgpOworICAgICAgICAgIHZpcnR1YWwgdm9pZCBvbkhhbmRsZShJT0hhbmRsZSAqcGFIYW5kbGUpOworICAgICAgICAgIHZpcnR1YWwgdm9pZCBkcm9wSGFuZGxlKCk7CiAKLSAgQ1N5bmNPYmplY3Qgc3luY011dGV4OworICAgICAgICBwcml2YXRlOgorICAgICAgICAgIGJvb2wgbUlzTGlzdGVuaW5nOworICAgICAgICAgIGJvb2wgbUlzUmVhZHk7CisgICAgICAgICAgQ1N5bmNPYmplY3QgbVN5bmNNdXRleDsKIAotcHJpdmF0ZToKLSAgYm9vbCBpc0xpc3RlbmluZzsKLSAgYm9vbCBpc1JlYWR5OwotCi0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtT0s7Ci0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtV2FpdGluZ0ZvckhhbmRsZTsKLSAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb1JlZ2lzdGVyOwotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbU1hcHBlZFdyb25nRGlyZWN0aW9uT3V0cHV0OwotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbU1hcHBlZFdyb25nRGlyZWN0aW9uSW5wdXQ7Ci0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtTWFwcGVkV3JvbmdEYXRhVHlwZTsKLX07CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21PSzsKKyAgICAgICAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbVdhaXRpbmdGb3JIYW5kbGU7CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb1JlZ2lzdGVyOworICAgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtTWFwcGVkV3JvbmdEaXJlY3Rpb25PdXRwdXQ7CisgICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21NYXBwZWRXcm9uZ0RpcmVjdGlvbklucHV0OworICAgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtTWFwcGVkV3JvbmdEYXRhVHlwZTsKKyAgICAgIH07CiAKICAgICB9IC8vbmFtZXNwYWNlIElPCiAgIH0gLy9uYW1lcHNhY2UgY29yZQogfSAvL25hbWVzcGFjZSBmb3J0ZQogCi10eXBlZGVmIGZvcnRlOjpjb3JlOjpJTzo6UHJvY2Vzc0ludGVyZmFjZSBDUHJvY2Vzc0ludGVyZmFjZTsKK3R5cGVkZWYgZm9ydGU6OmNvcmU6OmlvOjpQcm9jZXNzSW50ZXJmYWNlIENQcm9jZXNzSW50ZXJmYWNlOwogCiAKIApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbHVhL0NNYWtlTGlzdHMudHh0IGIvc3JjL2NvcmUvbHVhL0NNYWtlTGlzdHMudHh0CmluZGV4IDQwZDgzNjguLjlhOTk3Y2MgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2x1YS9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvY29yZS9sdWEvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXINCisjIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXINCiAjICogICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2x1YS9sdWFhZGFwdGVyLmNwcCBiL3NyYy9jb3JlL2x1YS9sdWFhZGFwdGVyLmNwcAppbmRleCBiMmI0YjU5Li4zMTlkYTVlIDEwMDY0NAotLS0gYS9zcmMvY29yZS9sdWEvbHVhYWRhcHRlci5jcHAKKysrIGIvc3JjL2NvcmUvbHVhL2x1YWFkYXB0ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCkBAIC0xMyw5ICsxNCwxMCBAQAogI2luY2x1ZGUgImx1YWFkYXB0ZXIuaCINCiAjaW5jbHVkZSAicmVzb3VyY2UuaCINCiANCi1DTHVhQWRhcHRlcjo6Q0x1YUFkYXB0ZXIoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBpbnN0YW5jZU5hbWVJZCwgY29uc3QgQ0x1YUFkYXB0ZXJUeXBlRW50cnkqIHR5cGVFbnRyeSwgYm9vbCBwYV9iSXNQbHVnLCBURm9ydGVCeXRlICpjb25uRGF0YSwgVEZvcnRlQnl0ZSAqdmFyc0RhdGEsIENSZXNvdXJjZSAqcmVzb3VyY2UpDQotICAgIDogQ0FkYXB0ZXIocmVzb3VyY2UsIHR5cGVFbnRyeS0+Z2V0U29ja2V0SW50ZXJmYWNlU3BlYygpLCBpbnN0YW5jZU5hbWVJZCwgdHlwZUVudHJ5LT5nZXRQbHVnSW50ZXJmYWNlU3BlYygpLCBwYV9iSXNQbHVnLCBjb25uRGF0YSwgdmFyc0RhdGEpew0KLSAgdGhpcy0+dHlwZUVudHJ5ID0gdHlwZUVudHJ5Ow0KK0NMdWFBZGFwdGVyOjpDTHVhQWRhcHRlcihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIGNvbnN0IENMdWFBZGFwdGVyVHlwZUVudHJ5KiBwYVR5cGVFbnRyeSwgYm9vbCBwYUlzUGx1ZywgVEZvcnRlQnl0ZSAqcGFDb25uRGF0YSwNCisgICAgVEZvcnRlQnl0ZSAqcGFWYXJzRGF0YSwgQ1Jlc291cmNlICpwYVJlc291cmNlKSA6DQorICAgIENBZGFwdGVyKHBhUmVzb3VyY2UsIHBhVHlwZUVudHJ5LT5nZXRTb2NrZXRJbnRlcmZhY2VTcGVjKCksIHBhSW5zdGFuY2VOYW1lSWQsIHBhVHlwZUVudHJ5LT5nZXRQbHVnSW50ZXJmYWNlU3BlYygpLCBwYUlzUGx1ZywgcGFDb25uRGF0YSwgcGFWYXJzRGF0YSksDQorICAgICAgICBtVHlwZUVudHJ5KHBhVHlwZUVudHJ5KSB7DQogfQ0KIA0KIENMdWFBZGFwdGVyOjp+Q0x1YUFkYXB0ZXIoKSB7DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbHVhL2x1YWFkYXB0ZXIuaCBiL3NyYy9jb3JlL2x1YS9sdWFhZGFwdGVyLmgKaW5kZXggMGM2Y2EyNC4uN2EzMDZiMyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvbHVhL2x1YWFkYXB0ZXIuaAorKysgYi9zcmMvY29yZS9sdWEvbHVhYWRhcHRlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCkBAIC0xNiwxNyArMTcsMTggQEAKICNpbmNsdWRlICJhZGFwdGVyLmgiDQogI2luY2x1ZGUgImx1YWFkYXB0ZXJ0eXBlZW50cnkuaCINCiANCi1jbGFzcyBDTHVhQWRhcHRlcjogcHVibGljIENBZGFwdGVyIHsNCi1wcml2YXRlOg0KLSAgY29uc3QgQ0x1YUFkYXB0ZXJUeXBlRW50cnkqIHR5cGVFbnRyeTsNCitjbGFzcyBDTHVhQWRhcHRlciA6IHB1YmxpYyBDQWRhcHRlciB7DQorICBwdWJsaWM6DQorICAgIENMdWFBZGFwdGVyKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgY29uc3QgQ0x1YUFkYXB0ZXJUeXBlRW50cnkqIHBhVHlwZUVudHJ5LCBib29sIHBhSXNQbHVnLCBURm9ydGVCeXRlICpwYUNvbm5EYXRhLA0KKyAgICAgICAgVEZvcnRlQnl0ZSAqcGFWYXJzRGF0YSwgQ1Jlc291cmNlICpwYVJlc291cmNlKTsNCisgICAgdmlydHVhbCB+Q0x1YUFkYXB0ZXIoKTsNCiANCi1wdWJsaWM6DQotICBDTHVhQWRhcHRlcihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGluc3RhbmNlTmFtZUlkLCBjb25zdCBDTHVhQWRhcHRlclR5cGVFbnRyeSogdHlwZUVudHJ5LCBib29sIHBhX2JJc1BsdWcsIFRGb3J0ZUJ5dGUgKmNvbm5EYXRhLCBURm9ydGVCeXRlICp2YXJzRGF0YSwgQ1Jlc291cmNlICpyZXNvdXJjZSk7DQotICB2aXJ0dWFsIH5DTHVhQWRhcHRlcigpOw0KKyAgICB2aXJ0dWFsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgZ2V0RkJUeXBlSWQodm9pZCkgY29uc3Qgew0KKyAgICAgIHJldHVybiBtVHlwZUVudHJ5LT5nZXRUeXBlTmFtZUlkKCk7DQorICAgIH0NCiANCi0gIHZpcnR1YWwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBnZXRGQlR5cGVJZCh2b2lkKSBjb25zdCB7DQotICAgIHJldHVybiB0eXBlRW50cnktPmdldFR5cGVOYW1lSWQoKTsNCi0gIH0NCisgIHByaXZhdGU6DQorICAgIGNvbnN0IENMdWFBZGFwdGVyVHlwZUVudHJ5KiBtVHlwZUVudHJ5Ow0KIH07DQogDQogI2VuZGlmIC8qIFNSQ19DT1JFX0xVQUFEQVBURVJfSF8gKi8NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9sdWEvbHVhYWRhcHRlcnR5cGVlbnRyeS5jcHAgYi9zcmMvY29yZS9sdWEvbHVhYWRhcHRlcnR5cGVlbnRyeS5jcHAKaW5kZXggODc5YmJjMC4uNWI4NTFkOSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvbHVhL2x1YWFkYXB0ZXJ0eXBlZW50cnkuY3BwCisrKyBiL3NyYy9jb3JlL2x1YS9sdWFhZGFwdGVydHlwZWVudHJ5LmNwcApAQCAtMSwxNTQgKzEsMTU0IEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAqDQotICogQ29udHJpYnV0b3JzOg0KLSAqICAgTW9uaWthIFdlbmdlcg0KLSAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLQ0KLSNpbmNsdWRlICJsdWFhZGFwdGVydHlwZWVudHJ5LmgiDQotI2luY2x1ZGUgImx1YWVuZ2luZS5oIg0KLSNpbmNsdWRlICJsdWF0eXBlLmgiDQotI2luY2x1ZGUgImx1YWFkYXB0ZXIuaCINCi0jaW5jbHVkZSAicmVzb3VyY2UuaCINCi0jaW5jbHVkZSAiYWRhcHRlci5oIg0KLQ0KLQ0KLQ0KLUNMdWFBZGFwdGVyVHlwZUVudHJ5OjpDTHVhQWRhcHRlclR5cGVFbnRyeShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHR5cGVOYW1lSWQsIENJRUNfU1RSSU5HIHBhTHVhU2NyaXB0QXNTdHJpbmcsICBTRkJJbnRlcmZhY2VTcGVjJiBpbnRlcmZhY2VTcGVjKQ0KLSAgICA6IENUeXBlTGliOjpDQWRhcHRlclR5cGVFbnRyeSh0eXBlTmFtZUlkLCAwKSwgY21fc0x1YVNjcmlwdEFzU3RyaW5nKHBhTHVhU2NyaXB0QXNTdHJpbmcpLCBtU29ja2V0SW50ZXJmYWNlU3BlYyhpbnRlcmZhY2VTcGVjKSB7DQotICBpbml0UGx1Z0ludGVyZmFjZVNwZWMobVNvY2tldEludGVyZmFjZVNwZWMpOw0KLX0NCi0NCi1DTHVhQWRhcHRlclR5cGVFbnRyeTo6fkNMdWFBZGFwdGVyVHlwZUVudHJ5KCkgew0KLSAgZGVsZXRlSW50ZXJmYWNlU3BlYyhtU29ja2V0SW50ZXJmYWNlU3BlYyk7DQotfQ0KLQ0KLUNMdWFBZGFwdGVyVHlwZUVudHJ5KiBDTHVhQWRhcHRlclR5cGVFbnRyeTo6Y3JlYXRlTHVhQWRhcHRlclR5cGVFbnRyeShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHR5cGVOYW1lSWQsIENJRUNfU1RSSU5HJiBwYUx1YVNjcmlwdEFzU3RyaW5nKSB7DQotICBDTHVhRW5naW5lIGx1YUVuZ2luZTsNCi0gIGlmICghbHVhRW5naW5lLmxvYWRTdHJpbmcoc3RkOjpzdHJpbmcocGFMdWFTY3JpcHRBc1N0cmluZy5nZXRWYWx1ZSgpKSkpIHsNCi0gICAgcmV0dXJuIE5VTEw7DQotICB9DQotICAvL2ludGVyZmFjZVNwZWMNCi0gIFNGQkludGVyZmFjZVNwZWMgaW50ZXJmYWNlU3BlYyA9IHsgfTsNCi0gIGlmICghbHVhRW5naW5lLnB1c2hGaWVsZCgtMSwgImludGVyZmFjZVNwZWMiLCBMVUFfVFRBQkxFKSkgew0KLSAgICByZXR1cm4gTlVMTDsNCi0gIH0NCi0gIGlmICghaW5pdEludGVyZmFjZVNwZWMoaW50ZXJmYWNlU3BlYywgJmx1YUVuZ2luZSwgLTEpKSB7DQotICAgIGRlbGV0ZUludGVyZmFjZVNwZWMoaW50ZXJmYWNlU3BlYyk7DQotICAgIHJldHVybiBOVUxMOw0KLSAgfQ0KLSAgbHVhRW5naW5lLnBvcCgpOyAvL3BvcCBpbnRlcmZhY2VTcGVjDQotICBsdWFFbmdpbmUucG9wKCk7IC8vcG9wIGxvYWRlZCBkZWZzDQotICByZXR1cm4gbmV3IENMdWFBZGFwdGVyVHlwZUVudHJ5KHR5cGVOYW1lSWQsIHBhTHVhU2NyaXB0QXNTdHJpbmcsIGludGVyZmFjZVNwZWMpOw0KLX0NCi0NCi1DQWRhcHRlciogQ0x1YUFkYXB0ZXJUeXBlRW50cnk6OmNyZWF0ZUFkYXB0ZXJJbnN0YW5jZShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcywgYm9vbCBwYV9iSXNQbHVnKSB7DQotICBDTHVhRW5naW5lKiBsdWFFbmdpbmUgPSBwYV9wb1NyY1Jlcy0+Z2V0THVhRW5naW5lKCk7DQotICBpZiAoIWx1YUVuZ2luZS0+bG9hZCh0aGlzKSkgew0KLSAgICBpZiAoIWx1YUVuZ2luZS0+bG9hZFN0cmluZyhzdGQ6OnN0cmluZyhjbV9zTHVhU2NyaXB0QXNTdHJpbmcuZ2V0VmFsdWUoKSkpKSB7DQotICAgICAgcmV0dXJuIE5VTEw7DQotICAgIH0NCi0gIH0NCi0gIFRGb3J0ZUJ5dGUqIGNvbm5EYXRhID0gMDsNCi0gIFRGb3J0ZUJ5dGUqIHZhcnNEYXRhID0gMDsNCi0gIGlmKHBhX2JJc1BsdWcpew0KLSAgICBjb25uRGF0YSA9IG5ldyBURm9ydGVCeXRlW0NBZGFwdGVyOjpnZW5BZGFwdGVyRkJDb25uRGF0YVNpemUobVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bUVJcywgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bUVPcywgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bURJcywgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bURPcyldOw0KLSAgICB2YXJzRGF0YSA9IG5ldyBURm9ydGVCeXRlW0NBZGFwdGVyOjpnZW5GQlZhcnNEYXRhU2l6ZShtUGx1Z0ludGVyZmFjZVNwZWMubV9uTnVtRElzLCBtUGx1Z0ludGVyZmFjZVNwZWMubV9uTnVtRE9zLCBtUGx1Z0ludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnMpXTsNCi0gIH1lbHNlew0KLSAgICBjb25uRGF0YSA9IG5ldyBURm9ydGVCeXRlW0NBZGFwdGVyOjpnZW5BZGFwdGVyRkJDb25uRGF0YVNpemUobVNvY2tldEludGVyZmFjZVNwZWMubV9uTnVtRUlzLCBtU29ja2V0SW50ZXJmYWNlU3BlYy5tX25OdW1FT3MsIG1Tb2NrZXRJbnRlcmZhY2VTcGVjLm1fbk51bURJcywgbVNvY2tldEludGVyZmFjZVNwZWMubV9uTnVtRE9zKV07DQotICAgIHZhcnNEYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0FkYXB0ZXI6OmdlbkZCVmFyc0RhdGFTaXplKG1Tb2NrZXRJbnRlcmZhY2VTcGVjLm1fbk51bURJcywgbVNvY2tldEludGVyZmFjZVNwZWMubV9uTnVtRE9zLCBtU29ja2V0SW50ZXJmYWNlU3BlYy5tX25OdW1BZGFwdGVycyldOw0KLSAgfQ0KLSAgcmV0dXJuIG5ldyBDTHVhQWRhcHRlcihwYV9uSW5zdGFuY2VOYW1lSWQsIHRoaXMsIHBhX2JJc1BsdWcsIGNvbm5EYXRhLCB2YXJzRGF0YSwgcGFfcG9TcmNSZXMpOw0KLX0NCi0NCi1ib29sIENMdWFBZGFwdGVyVHlwZUVudHJ5Ojppbml0SW50ZXJmYWNlU3BlYyhTRkJJbnRlcmZhY2VTcGVjJiBpbnRlcmZhY2VTcGVjLCBDTHVhRW5naW5lKiBsdWFFbmdpbmUsIGludCBpbmRleCkgew0KLSAgLy9FSQ0KLSAgaW50ZXJmYWNlU3BlYy5tX25OdW1FSXMgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bUVJcyIpOw0KLSAgc2l6ZV90IG51bUVJcyA9IGludGVyZmFjZVNwZWMubV9uTnVtRUlzOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2F1bkVJTmFtZXMgPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihpbmRleCwgIkVJTmFtZXMiLCBudW1FSXMpOw0KLSAgc2l6ZV90IG51bUVJV2l0aCA9IFNJWkVfTUFYOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoID0gbHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPFREYXRhSU9JRCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VERhdGFJT0lEPiA+KGluZGV4LCAiRUlXaXRoIiwgbnVtRUlXaXRoKTsNCi0gIGludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXMgPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8VEZvcnRlSW50MTYsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZUludDE2PiA+KGluZGV4LCAiRUlXaXRoSW5kZXhlcyIsIG51bUVJcyk7DQotICAvL0VPDQotICBpbnRlcmZhY2VTcGVjLm1fbk51bUVPcyA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KGluZGV4LCAibnVtRU9zIik7DQotICBzaXplX3QgbnVtRU9zID0gaW50ZXJmYWNlU3BlYy5tX25OdW1FT3M7DQotICBpbnRlcmZhY2VTcGVjLm1fYXVuRU9OYW1lcyA9IGx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KGluZGV4LCAiRU9OYW1lcyIsIG51bUVPcyk7DQotICBzaXplX3QgbnVtRU9XaXRoID0gU0laRV9NQVg7DQotICBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGggPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8VERhdGFJT0lELCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURGF0YUlPSUQ+ID4oaW5kZXgsICJFT1dpdGgiLCBudW1FT1dpdGgpOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoSW5kZXhlcyA9IGx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURm9ydGVJbnQxNiwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VEZvcnRlSW50MTY+ID4oaW5kZXgsICJFT1dpdGhJbmRleGVzIiwgbnVtRU9zKTsNCi0gIC8vREkNCi0gIGludGVyZmFjZVNwZWMubV9uTnVtRElzID0gbHVhRW5naW5lLT5nZXRGaWVsZDxURm9ydGVVSW50OCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VEZvcnRlVUludDg+ID4oaW5kZXgsICJudW1ESXMiKTsNCi0gIHNpemVfdCBudW1ESXMgPSBpbnRlcmZhY2VTcGVjLm1fbk51bURJczsNCi0gIGludGVyZmFjZVNwZWMubV9hdW5ESU5hbWVzID0gbHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsICZDTHVhRW5naW5lOjpnZXRTdHJpbmdJZD4oaW5kZXgsICJESU5hbWVzIiwgbnVtRElzKTsNCi0gIHNpemVfdCBudW1ESURhdGFUeXBlTmFtZXMgPSBTSVpFX01BWDsNCi0gIGludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXMgPSBsdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgbHVhdHlwZTo6Z2V0VHlwZU5hbWVJZD4oaW5kZXgsICJESURhdGFUeXBlTmFtZXMiLA0KLSAgICAgIG51bURJRGF0YVR5cGVOYW1lcyk7DQotICAvL0RPDQotICBpbnRlcmZhY2VTcGVjLm1fbk51bURPcyA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KGluZGV4LCAibnVtRE9zIik7DQotICBzaXplX3QgbnVtRE9zID0gaW50ZXJmYWNlU3BlYy5tX25OdW1ET3M7DQotICBpbnRlcmZhY2VTcGVjLm1fYXVuRE9OYW1lcyA9IGx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KGluZGV4LCAiRE9OYW1lcyIsIG51bURPcyk7DQotICBzaXplX3QgbnVtRE9EYXRhVHlwZU5hbWVzID0gU0laRV9NQVg7DQotICBpbnRlcmZhY2VTcGVjLm1fYXVuRE9EYXRhVHlwZU5hbWVzID0gbHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsIGx1YXR5cGU6OmdldFR5cGVOYW1lSWQ+KGluZGV4LCAiRE9EYXRhVHlwZU5hbWVzIiwNCi0gICAgICBudW1ET0RhdGFUeXBlTmFtZXMpOw0KLSAgaW50ZXJmYWNlU3BlYy5tX25OdW1BZGFwdGVycyA9IDA7DQotICBpbnRlcmZhY2VTcGVjLm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbiA9IDA7DQotICAvL2NoZWNrcw0KLSAgaWYgKGludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoSW5kZXhlcyA9PSBOVUxMIHx8IGludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzID09IE5VTEwNCi0gICAgICB8fCBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGggPT0gTlVMTCB8fCBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXMgPT0gTlVMTA0KLSAgICAgIHx8IGludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXMgPT0gTlVMTCB8fCBpbnRlcmZhY2VTcGVjLm1fYXVuRE9OYW1lcyA9PSBOVUxMIHx8IGludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXMgPT0gTlVMTCkgew0KLSAgICByZXR1cm4gZmFsc2U7DQotICB9DQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUVJczsgaSsrKSB7DQotICAgIGlmIChpbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzW2ldID49IChURm9ydGVJbnQxNikgbnVtRUlXaXRoKSB7DQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICB9DQotICB9DQotICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUVPczsgaSsrKSB7DQotICAgIGlmIChpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzW2ldID49IChURm9ydGVJbnQxNikgbnVtRU9XaXRoKSB7DQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICB9DQotICB9DQotICByZXR1cm4gdHJ1ZTsNCi19DQotDQotYm9vbCBDTHVhQWRhcHRlclR5cGVFbnRyeTo6aW5pdFBsdWdJbnRlcmZhY2VTcGVjKFNGQkludGVyZmFjZVNwZWMmIGludGVyZmFjZVNwZWMpIHsNCi0gIC8vRUkNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX25OdW1FSXMgPSBpbnRlcmZhY2VTcGVjLm1fbk51bUVPczsNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2F1bkVJTmFtZXMgPSBpbnRlcmZhY2VTcGVjLm1fYXVuRU9OYW1lczsNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoID0gaW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoOw0KLSAgbVBsdWdJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzID0gaW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoSW5kZXhlczsNCi0gIC8vRU8NCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX25OdW1FT3MgPSBpbnRlcmZhY2VTcGVjLm1fbk51bUVJczsNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXMgPSBpbnRlcmZhY2VTcGVjLm1fYXVuRUlOYW1lczsNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoID0gaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoOw0KLSAgbVBsdWdJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzID0gaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoSW5kZXhlczsNCi0gIC8vREkNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX25OdW1ESXMgPSBpbnRlcmZhY2VTcGVjLm1fbk51bURPczsNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXMgPSBpbnRlcmZhY2VTcGVjLm1fYXVuRE9OYW1lczsNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2F1bkRJRGF0YVR5cGVOYW1lcyA9IGludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXM7DQotICAvL0RPDQotICBtUGx1Z0ludGVyZmFjZVNwZWMubV9uTnVtRE9zID0gaW50ZXJmYWNlU3BlYy5tX25OdW1ESXM7DQotICBtUGx1Z0ludGVyZmFjZVNwZWMubV9hdW5ET05hbWVzID0gaW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXM7DQotICBtUGx1Z0ludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXMgPSBpbnRlcmZhY2VTcGVjLm1fYXVuRElEYXRhVHlwZU5hbWVzOw0KLSAgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bUFkYXB0ZXJzID0gMDsNCi0gIG1QbHVnSW50ZXJmYWNlU3BlYy5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPSAwOw0KLSAgcmV0dXJuIHRydWU7DQotfQ0KLQ0KLXZvaWQgQ0x1YUFkYXB0ZXJUeXBlRW50cnk6OmRlbGV0ZUludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYykgew0KLSAgZGVsZXRlW10gaW50ZXJmYWNlU3BlYy5tX2F1bkVJTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGg7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzOw0KLSAgZGVsZXRlW10gaW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGg7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzOw0KLSAgZGVsZXRlW10gaW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRElEYXRhVHlwZU5hbWVzOw0KLSAgZGVsZXRlW10gaW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRE9EYXRhVHlwZU5hbWVzOw0KLX0NCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1vbmlrYSBXZW5nZXIKKyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJsdWFhZGFwdGVydHlwZWVudHJ5LmgiCisjaW5jbHVkZSAibHVhZW5naW5lLmgiCisjaW5jbHVkZSAibHVhdHlwZS5oIgorI2luY2x1ZGUgImx1YWFkYXB0ZXIuaCIKKyNpbmNsdWRlICJyZXNvdXJjZS5oIgorI2luY2x1ZGUgImFkYXB0ZXIuaCIKKworQ0x1YUFkYXB0ZXJUeXBlRW50cnk6OkNMdWFBZGFwdGVyVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFUeXBlTmFtZUlkLCBDSUVDX1NUUklORyBwYUx1YVNjcmlwdEFzU3RyaW5nLCBTRkJJbnRlcmZhY2VTcGVjJiBwYUludGVyZmFjZVNwZWMpIDoKKyAgICBDVHlwZUxpYjo6Q0FkYXB0ZXJUeXBlRW50cnkocGFUeXBlTmFtZUlkLCAwLCAmbVNvY2tldEludGVyZmFjZVNwZWMpLCBjbV9zTHVhU2NyaXB0QXNTdHJpbmcocGFMdWFTY3JpcHRBc1N0cmluZyksIG1Tb2NrZXRJbnRlcmZhY2VTcGVjKHBhSW50ZXJmYWNlU3BlYykgeworICBpbml0UGx1Z0ludGVyZmFjZVNwZWMobVNvY2tldEludGVyZmFjZVNwZWMpOworfQorCitDTHVhQWRhcHRlclR5cGVFbnRyeTo6fkNMdWFBZGFwdGVyVHlwZUVudHJ5KCkgeworICBkZWxldGVJbnRlcmZhY2VTcGVjKG1Tb2NrZXRJbnRlcmZhY2VTcGVjKTsKK30KKworQ0x1YUFkYXB0ZXJUeXBlRW50cnkqIENMdWFBZGFwdGVyVHlwZUVudHJ5OjpjcmVhdGVMdWFBZGFwdGVyVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFUeXBlTmFtZUlkLCBDSUVDX1NUUklORyYgcGFMdWFTY3JpcHRBc1N0cmluZykgeworICBDTHVhRW5naW5lIGx1YUVuZ2luZTsKKyAgaWYoIWx1YUVuZ2luZS5sb2FkU3RyaW5nKHN0ZDo6c3RyaW5nKHBhTHVhU2NyaXB0QXNTdHJpbmcuZ2V0VmFsdWUoKSkpKSB7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKyAgLy9pbnRlcmZhY2VTcGVjCisgIFNGQkludGVyZmFjZVNwZWMgaW50ZXJmYWNlU3BlYyA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9OworICBpZighbHVhRW5naW5lLnB1c2hGaWVsZCgtMSwgImludGVyZmFjZVNwZWMiLCBMVUFfVFRBQkxFKSkgeworICAgIHJldHVybiBOVUxMOworICB9CisgIGlmKCFpbml0SW50ZXJmYWNlU3BlYyhpbnRlcmZhY2VTcGVjLCAmbHVhRW5naW5lLCAtMSkpIHsKKyAgICBkZWxldGVJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMpOworICAgIHJldHVybiBOVUxMOworICB9CisgIGx1YUVuZ2luZS5wb3AoKTsgLy9wb3AgaW50ZXJmYWNlU3BlYworICBsdWFFbmdpbmUucG9wKCk7IC8vcG9wIGxvYWRlZCBkZWZzCisgIHJldHVybiBuZXcgQ0x1YUFkYXB0ZXJUeXBlRW50cnkocGFUeXBlTmFtZUlkLCBwYUx1YVNjcmlwdEFzU3RyaW5nLCBpbnRlcmZhY2VTcGVjKTsKK30KKworQ0FkYXB0ZXIqIENMdWFBZGFwdGVyVHlwZUVudHJ5OjpjcmVhdGVBZGFwdGVySW5zdGFuY2UoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsIGJvb2wgcGFfYklzUGx1ZykgeworICBDTHVhRW5naW5lKiBsdWFFbmdpbmUgPSBwYV9wb1NyY1Jlcy0+Z2V0THVhRW5naW5lKCk7CisgIGlmKCFsdWFFbmdpbmUtPmxvYWQodGhpcykgJiYgKCFsdWFFbmdpbmUtPmxvYWRTdHJpbmcoc3RkOjpzdHJpbmcoY21fc0x1YVNjcmlwdEFzU3RyaW5nLmdldFZhbHVlKCkpKSkpIHsKKyAgICByZXR1cm4gTlVMTDsKKyAgfQorICBURm9ydGVCeXRlKiBjb25uRGF0YSA9IDA7CisgIFRGb3J0ZUJ5dGUqIHZhcnNEYXRhID0gMDsKKyAgaWYocGFfYklzUGx1ZykgeworICAgIGNvbm5EYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0FkYXB0ZXI6OmdlbkFkYXB0ZXJGQkNvbm5EYXRhU2l6ZShtUGx1Z0ludGVyZmFjZVNwZWMubV9uTnVtRUlzLCBtUGx1Z0ludGVyZmFjZVNwZWMubV9uTnVtRU9zLCBtUGx1Z0ludGVyZmFjZVNwZWMubV9uTnVtRElzLAorICAgICAgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bURPcyldOworICAgIHZhcnNEYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0FkYXB0ZXI6OmdlbkZCVmFyc0RhdGFTaXplKG1QbHVnSW50ZXJmYWNlU3BlYy5tX25OdW1ESXMsIG1QbHVnSW50ZXJmYWNlU3BlYy5tX25OdW1ET3MsIG1QbHVnSW50ZXJmYWNlU3BlYy5tX25OdW1BZGFwdGVycyldOworICB9IGVsc2UgeworICAgIGNvbm5EYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0FkYXB0ZXI6OmdlbkFkYXB0ZXJGQkNvbm5EYXRhU2l6ZShtU29ja2V0SW50ZXJmYWNlU3BlYy5tX25OdW1FSXMsIG1Tb2NrZXRJbnRlcmZhY2VTcGVjLm1fbk51bUVPcywgbVNvY2tldEludGVyZmFjZVNwZWMubV9uTnVtRElzLAorICAgICAgbVNvY2tldEludGVyZmFjZVNwZWMubV9uTnVtRE9zKV07CisgICAgdmFyc0RhdGEgPSBuZXcgVEZvcnRlQnl0ZVtDQWRhcHRlcjo6Z2VuRkJWYXJzRGF0YVNpemUobVNvY2tldEludGVyZmFjZVNwZWMubV9uTnVtRElzLCBtU29ja2V0SW50ZXJmYWNlU3BlYy5tX25OdW1ET3MsIG1Tb2NrZXRJbnRlcmZhY2VTcGVjLm1fbk51bUFkYXB0ZXJzKV07CisgIH0KKyAgcmV0dXJuIG5ldyBDTHVhQWRhcHRlcihwYV9uSW5zdGFuY2VOYW1lSWQsIHRoaXMsIHBhX2JJc1BsdWcsIGNvbm5EYXRhLCB2YXJzRGF0YSwgcGFfcG9TcmNSZXMpOworfQorCitib29sIENMdWFBZGFwdGVyVHlwZUVudHJ5Ojppbml0SW50ZXJmYWNlU3BlYyhTRkJJbnRlcmZhY2VTcGVjJiBwYUludGVyZmFjZVNwZWMsIENMdWFFbmdpbmUqIHBhTHVhRW5naW5lLCBpbnQgcGFJbmRleCkgeworICAvL0VJCisgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FSXMgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1FSXMiKTsKKyAgc2l6ZV90IG51bUVJcyA9IHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FSXM7CisgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkVJTmFtZXMgPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KHBhSW5kZXgsICJFSU5hbWVzIiwgbnVtRUlzKTsKKyAgc2l6ZV90IG51bUVJV2l0aCA9IFNJWkVfTUFYOworICBwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aCA9IHBhTHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPFREYXRhSU9JRCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VERhdGFJT0lEPiA+KHBhSW5kZXgsICJFSVdpdGgiLCBudW1FSVdpdGgpOworICBwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXMgPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURm9ydGVJbnQxNiwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VEZvcnRlSW50MTY+ID4ocGFJbmRleCwgIkVJV2l0aEluZGV4ZXMiLCBudW1FSXMpOworICAvL0VPCisgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FT3MgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1FT3MiKTsKKyAgc2l6ZV90IG51bUVPcyA9IHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FT3M7CisgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXMgPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KHBhSW5kZXgsICJFT05hbWVzIiwgbnVtRU9zKTsKKyAgc2l6ZV90IG51bUVPV2l0aCA9IFNJWkVfTUFYOworICBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aCA9IHBhTHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPFREYXRhSU9JRCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VERhdGFJT0lEPiA+KHBhSW5kZXgsICJFT1dpdGgiLCBudW1FT1dpdGgpOworICBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXMgPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURm9ydGVJbnQxNiwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VEZvcnRlSW50MTY+ID4ocGFJbmRleCwgIkVPV2l0aEluZGV4ZXMiLCBudW1FT3MpOworICAvL0RJCisgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ESXMgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1ESXMiKTsKKyAgc2l6ZV90IG51bURJcyA9IHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ESXM7CisgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXMgPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KHBhSW5kZXgsICJESU5hbWVzIiwgbnVtRElzKTsKKyAgc2l6ZV90IG51bURJRGF0YVR5cGVOYW1lcyA9IFNJWkVfTUFYOworICBwYUludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXMgPSBwYUx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCBsdWF0eXBlOjpnZXRUeXBlTmFtZUlkPihwYUluZGV4LCAiRElEYXRhVHlwZU5hbWVzIiwKKyAgICBudW1ESURhdGFUeXBlTmFtZXMpOworICAvL0RPCisgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ET3MgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1ET3MiKTsKKyAgc2l6ZV90IG51bURPcyA9IHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ET3M7CisgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXMgPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KHBhSW5kZXgsICJET05hbWVzIiwgbnVtRE9zKTsKKyAgc2l6ZV90IG51bURPRGF0YVR5cGVOYW1lcyA9IFNJWkVfTUFYOworICBwYUludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXMgPSBwYUx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCBsdWF0eXBlOjpnZXRUeXBlTmFtZUlkPihwYUluZGV4LCAiRE9EYXRhVHlwZU5hbWVzIiwKKyAgICBudW1ET0RhdGFUeXBlTmFtZXMpOworICBwYUludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnMgPSAwOworICBwYUludGVyZmFjZVNwZWMubV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uID0gMDsKKyAgLy9jaGVja3MKKyAgaWYocGFJbnRlcmZhY2VTcGVjLm1fYXVuRUlOYW1lcyA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoID09IE5VTEwgfHwgcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzID09IE5VTEwKKyAgICB8fCBwYUludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzID09IE5VTEwgfHwgcGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGggPT0gTlVMTCB8fCBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXMgPT0gTlVMTAorICAgIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXMgPT0gTlVMTCB8fCBwYUludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXMgPT0gTlVMTCB8fCBwYUludGVyZmFjZVNwZWMubV9hdW5ET05hbWVzID09IE5VTEwKKyAgICB8fCBwYUludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXMgPT0gTlVMTCkgeworICAgIHJldHVybiBmYWxzZTsKKyAgfQorICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgbnVtRUlzOyBpKyspIHsKKyAgICBpZihwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXNbaV0gPj0gKFRGb3J0ZUludDE2KSBudW1FSVdpdGgpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgIH0KKyAgZm9yKHNpemVfdCBpID0gMDsgaSA8IG51bUVPczsgaSsrKSB7CisgICAgaWYocGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzW2ldID49IChURm9ydGVJbnQxNikgbnVtRU9XaXRoKSB7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiB0cnVlOworfQorCitib29sIENMdWFBZGFwdGVyVHlwZUVudHJ5Ojppbml0UGx1Z0ludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgcGFJbnRlcmZhY2VTcGVjKSB7CisgIC8vRUkKKyAgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bUVJcyA9IHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FT3M7CisgIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2F1bkVJTmFtZXMgPSBwYUludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzOworICBtUGx1Z0ludGVyZmFjZVNwZWMubV9hbkVJV2l0aCA9IHBhSW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoOworICBtUGx1Z0ludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXMgPSBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXM7CisgIC8vRU8KKyAgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bUVPcyA9IHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FSXM7CisgIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXMgPSBwYUludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzOworICBtUGx1Z0ludGVyZmFjZVNwZWMubV9hbkVPV2l0aCA9IHBhSW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoOworICBtUGx1Z0ludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXMgPSBwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXM7CisgIC8vREkKKyAgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bURJcyA9IHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ET3M7CisgIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXMgPSBwYUludGVyZmFjZVNwZWMubV9hdW5ET05hbWVzOworICBtUGx1Z0ludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXMgPSBwYUludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXM7CisgIC8vRE8KKyAgbVBsdWdJbnRlcmZhY2VTcGVjLm1fbk51bURPcyA9IHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ESXM7CisgIG1QbHVnSW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXMgPSBwYUludGVyZmFjZVNwZWMubV9hdW5ESU5hbWVzOworICBtUGx1Z0ludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXMgPSBwYUludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXM7CisgIG1QbHVnSW50ZXJmYWNlU3BlYy5tX25OdW1BZGFwdGVycyA9IDA7CisgIG1QbHVnSW50ZXJmYWNlU3BlYy5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPSAwOworICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBDTHVhQWRhcHRlclR5cGVFbnRyeTo6ZGVsZXRlSW50ZXJmYWNlU3BlYyhTRkJJbnRlcmZhY2VTcGVjJiBwYUludGVyZmFjZVNwZWMpIHsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYXVuRUlOYW1lczsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGg7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoSW5kZXhlczsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYXVuRU9OYW1lczsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGg7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoSW5kZXhlczsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYXVuRElOYW1lczsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYXVuRElEYXRhVHlwZU5hbWVzOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hdW5ET05hbWVzOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXM7Cit9CmRpZmYgLS1naXQgYS9zcmMvY29yZS9sdWEvbHVhYWRhcHRlcnR5cGVlbnRyeS5oIGIvc3JjL2NvcmUvbHVhL2x1YWFkYXB0ZXJ0eXBlZW50cnkuaAppbmRleCBmY2M0NTA4Li5iYWZmMzdkIDEwMDY0NAotLS0gYS9zcmMvY29yZS9sdWEvbHVhYWRhcHRlcnR5cGVlbnRyeS5oCisrKyBiL3NyYy9jb3JlL2x1YS9sdWFhZGFwdGVydHlwZWVudHJ5LmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2x1YS9sdWFiZmIuY3BwIGIvc3JjL2NvcmUvbHVhL2x1YWJmYi5jcHAKaW5kZXggOWI1MTEwYy4uMjljNTg5ZCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvbHVhL2x1YWJmYi5jcHAKKysrIGIvc3JjL2NvcmUvbHVhL2x1YWJmYi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWFydGluIEpvYnN0DQpAQCAtMTUsMzUgKzE2LDM0IEBACiAjaW5jbHVkZSAibHVhZW5naW5lLmgiDQogI2luY2x1ZGUgIi4uL2FkYXB0ZXIuaCINCiANCi0NCiBleHRlcm4gIkMiIHsNCiAjaW5jbHVkZSA8bHVhbGliLmg+DQogfQ0KIA0KIC8vIHdyaXRlIHZhcmlhYmxlIHRvIGx1YSBlbmdpbmUNCi1pbnQgQ0x1YUZCX2luZGV4KGx1YV9TdGF0ZSAqbHVhU3RhdGUpIHsNCi0gIENMdWFCRkIqIGx1YUZCID0gQ0x1YUVuZ2luZTo6bHVhR2V0T2JqZWN0PENMdWFCRkI+KGx1YVN0YXRlLCAxKTsNCi0gIFRGb3J0ZVVJbnQzMiBpZCA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4obHVhTF9jaGVja2ludGVnZXIobHVhU3RhdGUsIDIpKTsNCitpbnQgQ0x1YUZCX2luZGV4KGx1YV9TdGF0ZSAqcGFMdWFTdGF0ZSkgew0KKyAgQ0x1YUJGQiogbHVhRkIgPSBDTHVhRW5naW5lOjpsdWFHZXRPYmplY3Q8Q0x1YUJGQj4ocGFMdWFTdGF0ZSwgMSk7DQorICBURm9ydGVVSW50MzIgaWQgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50MzI+KGx1YUxfY2hlY2tpbnRlZ2VyKHBhTHVhU3RhdGUsIDIpKTsNCiAgIENJRUNfQU5ZKiB2YXIgPSBsdWFGQi0+Z2V0VmFyaWFibGUoaWQpOw0KLSAgQ0x1YUVuZ2luZTo6bHVhUHVzaEFueShsdWFTdGF0ZSwgdmFyKTsNCisgIENMdWFFbmdpbmU6Omx1YVB1c2hBbnkocGFMdWFTdGF0ZSwgdmFyKTsNCiAgIHJldHVybiAxOw0KIH0NCiANCiAvLyBnZXQgdmFyaWFibGVzIGZyb20gbHVhIGVuZ2luZQ0KLWludCBDTHVhRkJfbmV3aW5kZXgobHVhX1N0YXRlICpsdWFTdGF0ZSkgew0KLSAgQ0x1YUJGQiogbHVhRkIgPSBDTHVhRW5naW5lOjpsdWFHZXRPYmplY3Q8Q0x1YUJGQj4obHVhU3RhdGUsIDEpOw0KLSAgVEZvcnRlVUludDMyIGlkID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPihsdWFMX2NoZWNraW50ZWdlcihsdWFTdGF0ZSwgMikpOw0KK2ludCBDTHVhRkJfbmV3aW5kZXgobHVhX1N0YXRlICpwYUx1YVN0YXRlKSB7DQorICBDTHVhQkZCKiBsdWFGQiA9IENMdWFFbmdpbmU6Omx1YUdldE9iamVjdDxDTHVhQkZCPihwYUx1YVN0YXRlLCAxKTsNCisgIFRGb3J0ZVVJbnQzMiBpZCA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4obHVhTF9jaGVja2ludGVnZXIocGFMdWFTdGF0ZSwgMikpOw0KICAgQ0lFQ19BTlkqIHZhciA9IGx1YUZCLT5nZXRWYXJpYWJsZShpZCk7DQotICBDTHVhRW5naW5lOjpsdWFHZXRBbnkobHVhU3RhdGUsIHZhciwgMyk7DQorICBDTHVhRW5naW5lOjpsdWFHZXRBbnkocGFMdWFTdGF0ZSwgdmFyLCAzKTsNCiAgIHJldHVybiAwOw0KIH0NCiANCi1pbnQgQ0x1YUZCX2NhbGwobHVhX1N0YXRlICpsdWFTdGF0ZSkgew0KLSAgQ0x1YUJGQiogbHVhRkIgPSBDTHVhRW5naW5lOjpsdWFHZXRPYmplY3Q8Q0x1YUJGQj4obHVhU3RhdGUsIDEpOw0KLSAgVEZvcnRlVUludDMyIGlkID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPihsdWFMX2NoZWNraW50ZWdlcihsdWFTdGF0ZSwgMikpOw0KLSAgaWYoKGlkICYgQ0x1YUJGQjo6TFVBX0ZCX0FEX0ZMQUcpICE9IDApew0KK2ludCBDTHVhRkJfY2FsbChsdWFfU3RhdGUgKnBhTHVhU3RhdGUpIHsNCisgIENMdWFCRkIqIGx1YUZCID0gQ0x1YUVuZ2luZTo6bHVhR2V0T2JqZWN0PENMdWFCRkI+KHBhTHVhU3RhdGUsIDEpOw0KKyAgVEZvcnRlVUludDMyIGlkID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPihsdWFMX2NoZWNraW50ZWdlcihwYUx1YVN0YXRlLCAyKSk7DQorICBpZigoaWQgJiBDTHVhQkZCOjpMVUFfRkJfQURfRkxBRykgIT0gMCkgew0KICAgICBsdWFGQi0+c2VuZEFkYXB0ZXJFdmVudCgoaWQgPj4gMTYpICYgQ0x1YUJGQjo6TFVBX0FEX1ZBUl9NQVgsIGlkICYgQ0x1YUJGQjo6TFVBX0ZCX1ZBUl9NQVgpOw0KLSAgfWVsc2V7DQorICB9IGVsc2Ugew0KICAgICBsdWFGQi0+c2VuZE91dHB1dEV2ZW50KGlkKTsNCiAgIH0NCiAgIHJldHVybiAwOw0KQEAgLTUyLDggKzUyLDEwIEBACiBjb25zdCBjaGFyIENMdWFCRkI6OkxVQV9OQU1FW10gPSAiRk9SVEVfQ0x1YUZCIjsNCiBjb25zdCBsdWFMX1JlZyBDTHVhQkZCOjpMVUFfRlVOQ1NbXSA9IHsgeyAiX19pbmRleCIsIENMdWFGQl9pbmRleCB9LCB7ICJfX25ld2luZGV4IiwgQ0x1YUZCX25ld2luZGV4IH0sIHsgIl9fY2FsbCIsIENMdWFGQl9jYWxsIH0sIHsgTlVMTCwgTlVMTCB9IH07DQogDQotQ0x1YUJGQjo6Q0x1YUJGQihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGluc3RhbmNlTmFtZUlkLCBjb25zdCBDTHVhQkZCVHlwZUVudHJ5KiB0eXBlRW50cnksIFRGb3J0ZUJ5dGUgKmNvbm5EYXRhLCBURm9ydGVCeXRlICp2YXJzRGF0YSwgQ1Jlc291cmNlICpyZXNvdXJjZSkNCi0gICAgOiBDQmFzaWNGQihyZXNvdXJjZSwgdHlwZUVudHJ5LT5nZXRJbnRlcmZhY2VTcGVjKCksIGluc3RhbmNlTmFtZUlkLCB0eXBlRW50cnktPmdldEludGVybmFsVmFyc0luZm9ybWF0aW9uKCksIGNvbm5EYXRhLCB2YXJzRGF0YSksIHR5cGVFbnRyeSh0eXBlRW50cnkpIHsNCitDTHVhQkZCOjpDTHVhQkZCKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgY29uc3QgQ0x1YUJGQlR5cGVFbnRyeSogcGFUeXBlRW50cnksIFRGb3J0ZUJ5dGUgKnBhQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhVmFyc0RhdGEsDQorICAgIENSZXNvdXJjZSAqcGFSZXNvdXJjZSkgOg0KKyAgICBDQmFzaWNGQihwYVJlc291cmNlLCBwYVR5cGVFbnRyeS0+Z2V0SW50ZXJmYWNlU3BlYygpLCBwYUluc3RhbmNlTmFtZUlkLCBwYVR5cGVFbnRyeS0+Z2V0SW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oKSwgcGFDb25uRGF0YSwgcGFWYXJzRGF0YSksDQorICAgICAgICBtVHlwZUVudHJ5KHBhVHlwZUVudHJ5KSB7DQogICBDTHVhRW5naW5lICpsdWFFbmdpbmUgPSBnZXRSZXNvdXJjZSgpLmdldEx1YUVuZ2luZSgpOw0KICAgbHVhRW5naW5lLT5yZWdpc3RlclR5cGU8Q0x1YUJGQj4oKTsNCiAgIGx1YUVuZ2luZS0+cHVzaE9iamVjdDxDTHVhQkZCPih0aGlzKTsNCkBAIC02MywzOCArNjUsMzcgQEAKIENMdWFCRkI6On5DTHVhQkZCKCkgew0KIH0NCiANCi12b2lkIENMdWFCRkI6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpIHsNCit2b2lkIENMdWFCRkI6OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKSB7DQogICBDTHVhRW5naW5lICpsdWFFbmdpbmUgPSBnZXRSZXNvdXJjZSgpLmdldEx1YUVuZ2luZSgpOw0KLSAgbHVhRW5naW5lLT5sb2FkKHR5cGVFbnRyeSk7DQorICBsdWFFbmdpbmUtPmxvYWQobVR5cGVFbnRyeSk7DQogICBsdWFFbmdpbmUtPmxvYWQodGhpcyk7DQotICBsdWFFbmdpbmUtPnB1c2hJbnRlZ2VyKHBhX25FSUlEID4gMjU1ID8gcmVjYWxjdWxhdGVJRChwYV9uRUlJRCkgOiBwYV9uRUlJRCk7DQotICBpZiAoIWx1YUVuZ2luZS0+Y2FsbCgyLCAwKSkgew0KKyAgbHVhRW5naW5lLT5wdXNoSW50ZWdlcihwYUVJSUQgPiAyNTUgPyByZWNhbGN1bGF0ZUlEKHBhRUlJRCkgOiBwYUVJSUQpOw0KKyAgaWYoIWx1YUVuZ2luZS0+Y2FsbCgyLCAwKSkgew0KICAgICBERVZMT0dfRVJST1IoIkVycm9yIGNhbGxpbmcgZnVuY3Rpb24gZXhlY3V0ZUV2ZW50IGZvciBpbnN0YW5jZSAlc1xuIiwgZ2V0SW5zdGFuY2VOYW1lKCkpOw0KLSAgICByZXR1cm47DQogICB9DQogfQ0KIA0KLUNJRUNfQU5ZKiBDTHVhQkZCOjpnZXRWYXJpYWJsZShURm9ydGVVSW50MzIgaWQpIHsNCi0gIGlmIChDTHVhQkZCOjpMVUFfRkJfU1RBVEUgPT0gaWQpIHsNCitDSUVDX0FOWSogQ0x1YUJGQjo6Z2V0VmFyaWFibGUoVEZvcnRlVUludDMyIHBhSWQpIHsNCisgIGlmKENMdWFCRkI6OkxVQV9GQl9TVEFURSA9PSBwYUlkKSB7DQogICAgIHJldHVybiAmbV9uRUNDU3RhdGU7DQogICB9DQotICBpZigoaWQgJiBDTHVhQkZCOjpMVUFfRkJfSU5fRkxBRykgIT0gMCkgew0KLSAgICByZXR1cm4gZ2V0VmFySW50ZXJuYWwoaWQgJiBDTHVhQkZCOjpMVUFfRkJfVkFSX01BWCk7DQorICBpZigocGFJZCAmIENMdWFCRkI6OkxVQV9GQl9JTl9GTEFHKSAhPSAwKSB7DQorICAgIHJldHVybiBnZXRWYXJJbnRlcm5hbChwYUlkICYgQ0x1YUJGQjo6TFVBX0ZCX1ZBUl9NQVgpOw0KICAgfQ0KLSAgaWYgKChpZCAmIENMdWFCRkI6OkxVQV9GQl9BRF9GTEFHKSAhPSAwKSB7DQotICAgIGlmICgoaWQgJiBDTHVhQkZCOjpMVUFfRkJfRElfRkxBRykgIT0gMCkgew0KLSAgICAgIHJldHVybiBtX2Fwb0FkYXB0ZXJzWyhpZCA+PiAxNikgJiBDTHVhQkZCOjpMVUFfQURfVkFSX01BWF0tPmdldERPKGlkICYgQ0x1YUJGQjo6TFVBX0ZCX1ZBUl9NQVgpOw0KKyAgaWYoKHBhSWQgJiBDTHVhQkZCOjpMVUFfRkJfQURfRkxBRykgIT0gMCkgew0KKyAgICBpZigocGFJZCAmIENMdWFCRkI6OkxVQV9GQl9ET19GTEFHKSAhPSAwKSB7DQorICAgICAgcmV0dXJuIG1fYXBvQWRhcHRlcnNbKHBhSWQgPj4gMTYpICYgQ0x1YUJGQjo6TFVBX0FEX1ZBUl9NQVhdLT5nZXRETyhwYUlkICYgQ0x1YUJGQjo6TFVBX0ZCX1ZBUl9NQVgpOw0KICAgICB9DQotICAgIGlmICgoaWQgJiBDTHVhQkZCOjpMVUFfRkJfRE9fRkxBRykgIT0gMCkgew0KLSAgICAgIHJldHVybiBtX2Fwb0FkYXB0ZXJzWyhpZCA+PiAxNikgJiBDTHVhQkZCOjpMVUFfQURfVkFSX01BWF0tPmdldERJKGlkICYgQ0x1YUJGQjo6TFVBX0ZCX1ZBUl9NQVgpOw0KKyAgICBpZigocGFJZCAmIENMdWFCRkI6OkxVQV9GQl9ESV9GTEFHKSAhPSAwKSB7DQorICAgICAgcmV0dXJuIG1fYXBvQWRhcHRlcnNbKHBhSWQgPj4gMTYpICYgQ0x1YUJGQjo6TFVBX0FEX1ZBUl9NQVhdLT5nZXRESShwYUlkICYgQ0x1YUJGQjo6TFVBX0ZCX1ZBUl9NQVgpOw0KICAgICB9DQogICAgIHJldHVybiAwOw0KICAgfQ0KLSAgaWYgKChpZCAmIENMdWFCRkI6OkxVQV9GQl9ESV9GTEFHKSAhPSAwKSB7DQotICAgIHJldHVybiBnZXRESShpZCAmIENMdWFCRkI6OkxVQV9GQl9WQVJfTUFYKTsNCisgIGlmKChwYUlkICYgQ0x1YUJGQjo6TFVBX0ZCX0RJX0ZMQUcpICE9IDApIHsNCisgICAgcmV0dXJuIGdldERJKHBhSWQgJiBDTHVhQkZCOjpMVUFfRkJfVkFSX01BWCk7DQogICB9DQotICBpZiAoKGlkICYgQ0x1YUJGQjo6TFVBX0ZCX0RPX0ZMQUcpICE9IDApIHsNCi0gICAgcmV0dXJuIGdldERPKGlkICYgQ0x1YUJGQjo6TFVBX0ZCX1ZBUl9NQVgpOw0KKyAgaWYoKHBhSWQgJiBDTHVhQkZCOjpMVUFfRkJfRE9fRkxBRykgIT0gMCkgew0KKyAgICByZXR1cm4gZ2V0RE8ocGFJZCAmIENMdWFCRkI6OkxVQV9GQl9WQVJfTUFYKTsNCiAgIH0NCiAgIHJldHVybiAwOw0KIH0NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9sdWEvbHVhYmZiLmggYi9zcmMvY29yZS9sdWEvbHVhYmZiLmgKaW5kZXggZmJkZDYxMi4uODI4ZjdhYSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvbHVhL2x1YWJmYi5oCisrKyBiL3NyYy9jb3JlL2x1YS9sdWFiZmIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNSBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXJ0aW4gSm9ic3QNCkBAIC0yNyw0MSArMjgsNDIgQEAKICAgaW50IENMdWFGQl9jYWxsKGx1YV9TdGF0ZSAqbHVhU3RhdGUpOw0KIH0NCiANCi1jbGFzcyBDTHVhQkZCOiBwdWJsaWMgQ0Jhc2ljRkIgew0KLXByaXZhdGU6DQotICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDMyIExVQV9GQl9WQVJfTUFYID0gNjU1MzU7DQotICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDMyIExVQV9BRF9WQVJfTUFYID0gMjU1Ow0KK2NsYXNzIENMdWFCRkIgOiBwdWJsaWMgQ0Jhc2ljRkIgew0KKyAgcHJpdmF0ZToNCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQzMiBMVUFfRkJfVkFSX01BWCA9IDY1NTM1Ow0KKyAgICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDMyIExVQV9BRF9WQVJfTUFYID0gMjU1Ow0KIA0KLSAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQzMiBMVUFfRkJfU1RBVEUgPSAwOw0KLSAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQzMiBMVUFfRkJfRElfRkxBRyA9IDEgPDwgMjU7DQotICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDMyIExVQV9GQl9ET19GTEFHID0gMSA8PCAyNjsNCi0gIHN0YXRpYyBjb25zdCBURm9ydGVVSW50MzIgTFVBX0ZCX0FEX0ZMQUcgPSAxIDw8IDI3Ow0KLSAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQzMiBMVUFfRkJfSU5fRkxBRyA9IDEgPDwgMjg7DQorICAgIHN0YXRpYyBjb25zdCBURm9ydGVVSW50MzIgTFVBX0ZCX1NUQVRFID0gMDsNCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQzMiBMVUFfRkJfRElfRkxBRyA9IDEgPDwgMjU7DQorICAgIHN0YXRpYyBjb25zdCBURm9ydGVVSW50MzIgTFVBX0ZCX0RPX0ZMQUcgPSAxIDw8IDI2Ow0KKyAgICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDMyIExVQV9GQl9BRF9GTEFHID0gMSA8PCAyNzsNCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQzMiBMVUFfRkJfSU5fRkxBRyA9IDEgPDwgMjg7DQogDQotICBjb25zdCBDTHVhQkZCVHlwZUVudHJ5KiB0eXBlRW50cnk7DQorICAgIGNvbnN0IENMdWFCRkJUeXBlRW50cnkqIG1UeXBlRW50cnk7DQogDQotICBDSUVDX0FOWSogZ2V0VmFyaWFibGUoVEZvcnRlVUludDMyIGlkKTsNCisgICAgQ0lFQ19BTlkqIGdldFZhcmlhYmxlKFRGb3J0ZVVJbnQzMiBwYUlkKTsNCiANCi0gIGludCByZWNhbGN1bGF0ZUlEKGludCBwYV9uRUlJRCkgew0KLSAgICByZXR1cm4gQ0x1YUJGQjo6TFVBX0ZCX0FEX0ZMQUcgfCAoKHBhX25FSUlEID4+IDgpIC0gMSkgfCAocGFfbkVJSUQgJiAweDAwZmYpOw0KLSAgfQ0KKyAgICBpbnQgcmVjYWxjdWxhdGVJRChpbnQgcGFfbkVJSUQpIHsNCisgICAgICByZXR1cm4gQ0x1YUJGQjo6TFVBX0ZCX0FEX0ZMQUcgfCAoKCgocGFfbkVJSUQgPj4gOCkgLSAxKSA8PCAxNikgJiAweEZGMDApIHwgKHBhX25FSUlEICYgMHgwMEZGKTsNCisgICAgfQ0KIA0KLXB1YmxpYzoNCi0gIHN0YXRpYyBjb25zdCBjaGFyIExVQV9OQU1FW107DQotICBzdGF0aWMgY29uc3QgbHVhTF9SZWcgTFVBX0ZVTkNTW107DQorICBwdWJsaWM6DQorICAgIHN0YXRpYyBjb25zdCBjaGFyIExVQV9OQU1FW107DQorICAgIHN0YXRpYyBjb25zdCBsdWFMX1JlZyBMVUFfRlVOQ1NbXTsNCiANCi0gIENMdWFCRkIoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBpbnN0YW5jZU5hbWVJZCwgY29uc3QgQ0x1YUJGQlR5cGVFbnRyeSogdHlwZUVudHJ5LCBURm9ydGVCeXRlICpjb25uRGF0YSwgVEZvcnRlQnl0ZSAqdmFyc0RhdGEsIENSZXNvdXJjZSAqcmVzb3VyY2UpOw0KLSAgdmlydHVhbCB+Q0x1YUJGQigpOw0KKyAgICBDTHVhQkZCKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgY29uc3QgQ0x1YUJGQlR5cGVFbnRyeSogcGFUeXBlRW50cnksIFRGb3J0ZUJ5dGUgKnBhQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhVmFyc0RhdGEsDQorICAgICAgICBDUmVzb3VyY2UgKnBhUmVzb3VyY2UpOw0KKyAgICB2aXJ0dWFsIH5DTHVhQkZCKCk7DQogDQotICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7DQorICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhRUlJRCk7DQogDQotICB2aXJ0dWFsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgZ2V0RkJUeXBlSWQodm9pZCkgY29uc3Qgew0KLSAgICByZXR1cm4gdHlwZUVudHJ5LT5nZXRUeXBlTmFtZUlkKCk7DQotICB9DQorICAgIHZpcnR1YWwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBnZXRGQlR5cGVJZCh2b2lkKSBjb25zdCB7DQorICAgICAgcmV0dXJuIG1UeXBlRW50cnktPmdldFR5cGVOYW1lSWQoKTsNCisgICAgfQ0KIA0KLSAgZnJpZW5kIGludCBDTHVhRkJfaW5kZXgobHVhX1N0YXRlICpsdWFTdGF0ZSk7DQotICBmcmllbmQgaW50IENMdWFGQl9uZXdpbmRleChsdWFfU3RhdGUgKmx1YVN0YXRlKTsNCi0gIGZyaWVuZCBpbnQgQ0x1YUZCX2NhbGwobHVhX1N0YXRlICpsdWFTdGF0ZSk7DQorICAgIGZyaWVuZCBpbnQgQ0x1YUZCX2luZGV4KGx1YV9TdGF0ZSAqcGFMdWFTdGF0ZSk7DQorICAgIGZyaWVuZCBpbnQgQ0x1YUZCX25ld2luZGV4KGx1YV9TdGF0ZSAqcGFMdWFTdGF0ZSk7DQorICAgIGZyaWVuZCBpbnQgQ0x1YUZCX2NhbGwobHVhX1N0YXRlICpwYUx1YVN0YXRlKTsNCiB9Ow0KIA0KICNlbmRpZiAvKiBTUkNfQ09SRV9MVUFCRkJfSF8gKi8NCmRpZmYgLS1naXQgYS9zcmMvY29yZS9sdWEvbHVhYmZidHlwZWVudHJ5LmNwcCBiL3NyYy9jb3JlL2x1YS9sdWFiZmJ0eXBlZW50cnkuY3BwCmluZGV4IGFlMWFjM2IuLjljMDkwZTYgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2x1YS9sdWFiZmJ0eXBlZW50cnkuY3BwCisrKyBiL3NyYy9jb3JlL2x1YS9sdWFiZmJ0eXBlZW50cnkuY3BwCkBAIC0xLDE2MiArMSwxNTQgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICoNCi0gKiBDb250cmlidXRvcnM6DQotICogICBNb25pa2EgV2VuZ2VyDQotICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotDQotI2luY2x1ZGUgImx1YWJmYnR5cGVlbnRyeS5oIg0KLQ0KLSNpbmNsdWRlICJsdWFlbmdpbmUuaCINCi0jaW5jbHVkZSAibHVhYmZiLmgiDQotI2luY2x1ZGUgImx1YXR5cGUuaCINCi0jaW5jbHVkZSAicmVzb3VyY2UuaCINCi0NCi1DTHVhQkZCVHlwZUVudHJ5OjpDTHVhQkZCVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgdHlwZU5hbWVJZCwgQ0lFQ19TVFJJTkcgcGFMdWFTY3JpcHRBc1N0cmluZywgU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYywNCi0gICAgU0ludGVybmFsVmFyc0luZm9ybWF0aW9uJiBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbikNCi0gICAgOiBDVHlwZUxpYjo6Q0ZCVHlwZUVudHJ5KHR5cGVOYW1lSWQsIDApLCBjbV9zTHVhU2NyaXB0QXNTdHJpbmcocGFMdWFTY3JpcHRBc1N0cmluZyksIG1faW50ZXJmYWNlU3BlYyhpbnRlcmZhY2VTcGVjKSwgbV9pbnRlcm5hbFZhcnNJbmZvcm1hdGlvbihpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbikgew0KLX0NCi0NCi1DTHVhQkZCVHlwZUVudHJ5Ojp+Q0x1YUJGQlR5cGVFbnRyeSgpIHsNCi0gIGRlbGV0ZUludGVyZmFjZVNwZWMobV9pbnRlcmZhY2VTcGVjKTsNCi0gIGRlbGV0ZUludGVybmFsVmFyc0luZm9ybWF0aW9uKG1faW50ZXJuYWxWYXJzSW5mb3JtYXRpb24pOw0KLX0NCi0NCi1DTHVhQkZCVHlwZUVudHJ5KiBDTHVhQkZCVHlwZUVudHJ5OjpjcmVhdGVMdWFGQlR5cGVFbnRyeShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHR5cGVOYW1lSWQsIENJRUNfU1RSSU5HJiBwYUx1YVNjcmlwdEFzU3RyaW5nKSB7DQotICBDTHVhRW5naW5lIGx1YUVuZ2luZTsNCi0gIGlmICghbHVhRW5naW5lLmxvYWRTdHJpbmcoc3RkOjpzdHJpbmcocGFMdWFTY3JpcHRBc1N0cmluZy5nZXRWYWx1ZSgpKSkpIHsNCi0gICAgcmV0dXJuIE5VTEw7DQotICB9DQotICAvL2ludGVyZmFjZVNwZWMNCi0gIFNGQkludGVyZmFjZVNwZWMgaW50ZXJmYWNlU3BlYyA9IHsgfTsNCi0gIGlmICghbHVhRW5naW5lLnB1c2hGaWVsZCgtMSwgImludGVyZmFjZVNwZWMiLCBMVUFfVFRBQkxFKSkgew0KLSAgICByZXR1cm4gTlVMTDsNCi0gIH0NCi0gIGlmICghaW5pdEludGVyZmFjZVNwZWMoaW50ZXJmYWNlU3BlYywgJmx1YUVuZ2luZSwgLTEpKSB7DQotICAgIGRlbGV0ZUludGVyZmFjZVNwZWMoaW50ZXJmYWNlU3BlYyk7DQotICAgIHJldHVybiBOVUxMOw0KLSAgfQ0KLSAgbHVhRW5naW5lLnBvcCgpOyAvL3BvcCBpbnRlcmZhY2VTcGVjDQotICAvL2ludGVybmFsVmFyc0luZm9ybWF0aW9uDQotICBTSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24gaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24gPSB7IH07DQotICBpZiAoIWx1YUVuZ2luZS5wdXNoRmllbGQoLTEsICJpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiIsIExVQV9UVEFCTEUpKSB7DQotICAgIGRlbGV0ZUludGVyZmFjZVNwZWMoaW50ZXJmYWNlU3BlYyk7DQotICAgIHJldHVybiBOVUxMOw0KLSAgfQ0KLSAgaWYgKCFpbml0SW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24sICZsdWFFbmdpbmUsIC0xKSkgew0KLSAgICBkZWxldGVJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMpOw0KLSAgICBkZWxldGVJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbihpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbik7DQotICAgIHJldHVybiBOVUxMOw0KLSAgfQ0KLSAgbHVhRW5naW5lLnBvcCgpOyAvL3BvcCBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbg0KLSAgbHVhRW5naW5lLnBvcCgpOyAvL3BvcCBsb2FkZWQgZGVmcw0KLSAgcmV0dXJuIG5ldyBDTHVhQkZCVHlwZUVudHJ5KHR5cGVOYW1lSWQsIHBhTHVhU2NyaXB0QXNTdHJpbmcsIGludGVyZmFjZVNwZWMsIGludGVybmFsVmFyc0luZm9ybWF0aW9uKTsNCi19DQotDQotQ0Z1bmN0aW9uQmxvY2sqIENMdWFCRkJUeXBlRW50cnk6OmNyZWF0ZUZCSW5zdGFuY2UoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIHsNCi0gIENMdWFFbmdpbmUqIGx1YUVuZ2luZSA9IHBhX3BvU3JjUmVzLT5nZXRMdWFFbmdpbmUoKTsNCi0gIGlmICghbHVhRW5naW5lLT5sb2FkKHRoaXMpKSB7DQotICAgIGlmICghbHVhRW5naW5lLT5sb2FkU3RyaW5nKHN0ZDo6c3RyaW5nKGNtX3NMdWFTY3JpcHRBc1N0cmluZy5nZXRWYWx1ZSgpKSkpIHsNCi0gICAgICByZXR1cm4gTlVMTDsNCi0gICAgfQ0KLSAgICBsdWFFbmdpbmUtPnB1c2hGaWVsZCgtMSwgIkVDQyIsIExVQV9URlVOQ1RJT04pOw0KLSAgICBsdWFFbmdpbmUtPnN0b3JlKHRoaXMpOyAvL3N0b3JlIEVDQw0KLSAgfQ0KLSAgbHVhRW5naW5lLT5wb3AoKTsgLy9wb3AgRUNDIC8gbG9hZGVkIGRlZnMNCi0gIFRGb3J0ZUJ5dGUqIGNvbm5EYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0Z1bmN0aW9uQmxvY2s6OmdlbkZCQ29ubkRhdGFTaXplKG1faW50ZXJmYWNlU3BlYy5tX25OdW1FT3MsIG1faW50ZXJmYWNlU3BlYy5tX25OdW1ESXMsIG1faW50ZXJmYWNlU3BlYy5tX25OdW1ET3MpXTsNCi0gIFRGb3J0ZUJ5dGUqIHZhcnNEYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0Jhc2ljRkI6OmdlbkJhc2ljRkJWYXJzRGF0YVNpemUobV9pbnRlcmZhY2VTcGVjLm1fbk51bURJcywgbV9pbnRlcmZhY2VTcGVjLm1fbk51bURPcywNCi0gICAgICBtX2ludGVybmFsVmFyc0luZm9ybWF0aW9uLm1fbk51bUludFZhcnMsIG1faW50ZXJmYWNlU3BlYy5tX25OdW1BZGFwdGVycyldOw0KLSAgcmV0dXJuIG5ldyBDTHVhQkZCKHBhX25JbnN0YW5jZU5hbWVJZCwgdGhpcywgY29ubkRhdGEsIHZhcnNEYXRhLCBwYV9wb1NyY1Jlcyk7DQotfQ0KLQ0KLWJvb2wgQ0x1YUJGQlR5cGVFbnRyeTo6aW5pdEludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYywgQ0x1YUVuZ2luZSogbHVhRW5naW5lLCBpbnQgaW5kZXgpIHsNCi0gIC8vRUkNCi0gIGludGVyZmFjZVNwZWMubV9uTnVtRUlzID0gbHVhRW5naW5lLT5nZXRGaWVsZDxURm9ydGVVSW50OCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VEZvcnRlVUludDg+ID4oaW5kZXgsICJudW1FSXMiKTsNCi0gIHNpemVfdCBudW1FSXMgPSBpbnRlcmZhY2VTcGVjLm1fbk51bUVJczsNCi0gIGludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID0gbHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsICZDTHVhRW5naW5lOjpnZXRTdHJpbmdJZD4oaW5kZXgsICJFSU5hbWVzIiwgbnVtRUlzKTsNCi0gIHNpemVfdCBudW1FSVdpdGggPSBTSVpFX01BWDsNCi0gIGludGVyZmFjZVNwZWMubV9hbkVJV2l0aCA9IGx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURGF0YUlPSUQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFREYXRhSU9JRD4gPihpbmRleCwgIkVJV2l0aCIsIG51bUVJV2l0aCk7DQotICBpbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzID0gbHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPFRGb3J0ZUludDE2LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVJbnQxNj4gPihpbmRleCwgIkVJV2l0aEluZGV4ZXMiLCBudW1FSXMpOw0KLSAgLy9FTw0KLSAgaW50ZXJmYWNlU3BlYy5tX25OdW1FT3MgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bUVPcyIpOw0KLSAgc2l6ZV90IG51bUVPcyA9IGludGVyZmFjZVNwZWMubV9uTnVtRU9zOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXMgPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihpbmRleCwgIkVPTmFtZXMiLCBudW1FT3MpOw0KLSAgc2l6ZV90IG51bUVPV2l0aCA9IFNJWkVfTUFYOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoID0gbHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPFREYXRhSU9JRCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VERhdGFJT0lEPiA+KGluZGV4LCAiRU9XaXRoIiwgbnVtRU9XaXRoKTsNCi0gIGludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXMgPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8VEZvcnRlSW50MTYsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZUludDE2PiA+KGluZGV4LCAiRU9XaXRoSW5kZXhlcyIsIG51bUVPcyk7DQotICAvL0RJDQotICBpbnRlcmZhY2VTcGVjLm1fbk51bURJcyA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KGluZGV4LCAibnVtRElzIik7DQotICBzaXplX3QgbnVtRElzID0gaW50ZXJmYWNlU3BlYy5tX25OdW1ESXM7DQotICBpbnRlcmZhY2VTcGVjLm1fYXVuRElOYW1lcyA9IGx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KGluZGV4LCAiRElOYW1lcyIsIG51bURJcyk7DQotICBzaXplX3QgbnVtRElEYXRhVHlwZU5hbWVzID0gU0laRV9NQVg7DQotICBpbnRlcmZhY2VTcGVjLm1fYXVuRElEYXRhVHlwZU5hbWVzID0gbHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsIGx1YXR5cGU6OmdldFR5cGVOYW1lSWQ+KGluZGV4LCAiRElEYXRhVHlwZU5hbWVzIiwNCi0gICAgICBudW1ESURhdGFUeXBlTmFtZXMpOw0KLSAgLy9ETw0KLSAgaW50ZXJmYWNlU3BlYy5tX25OdW1ET3MgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bURPcyIpOw0KLSAgc2l6ZV90IG51bURPcyA9IGludGVyZmFjZVNwZWMubV9uTnVtRE9zOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXMgPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihpbmRleCwgIkRPTmFtZXMiLCBudW1ET3MpOw0KLSAgc2l6ZV90IG51bURPRGF0YVR5cGVOYW1lcyA9IFNJWkVfTUFYOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2F1bkRPRGF0YVR5cGVOYW1lcyA9IGx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCBsdWF0eXBlOjpnZXRUeXBlTmFtZUlkPihpbmRleCwgIkRPRGF0YVR5cGVOYW1lcyIsDQotICAgICAgbnVtRE9EYXRhVHlwZU5hbWVzKTsNCi0gIC8vQWRhcHRlcnMNCi0gIGludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnMgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bUFkYXB0ZXJzIik7DQotICBzaXplX3QgbnVtQWRhcHRlcnMgPSBpbnRlcmZhY2VTcGVjLm1fbk51bUFkYXB0ZXJzOw0KLSAgaW50ZXJmYWNlU3BlYy5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPSBsdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8U0FkYXB0ZXJJbnN0YW5jZURlZiwgbHVhdHlwZTo6Z2V0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbj4oaW5kZXgsDQotICAgICAgImFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24iLCBudW1BZGFwdGVycyk7DQotICAvL2NoZWNrcw0KLSAgaWYgKGludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoSW5kZXhlcyA9PSBOVUxMIHx8IGludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzID09IE5VTEwNCi0gICAgICB8fCBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGggPT0gTlVMTCB8fCBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXMgPT0gTlVMTA0KLSAgICAgIHx8IGludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXMgPT0gTlVMTCB8fCBpbnRlcmZhY2VTcGVjLm1fYXVuRE9OYW1lcyA9PSBOVUxMIHx8IGludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXMgPT0gTlVMTA0KLSAgICAgIHx8IGludGVyZmFjZVNwZWMubV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uID09IE5VTEwpIHsNCi0gICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1FSXM7IGkrKykgew0KLSAgICBpZiAoaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoSW5kZXhlc1tpXSA+PSAoVEZvcnRlSW50MTYpIG51bUVJV2l0aCkgew0KLSAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgfQ0KLSAgfQ0KLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1FT3M7IGkrKykgew0KLSAgICBpZiAoaW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoSW5kZXhlc1tpXSA+PSAoVEZvcnRlSW50MTYpIG51bUVPV2l0aCkgew0KLSAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgfQ0KLSAgfQ0KLSAgcmV0dXJuIHRydWU7DQotfQ0KLQ0KLXZvaWQgQ0x1YUJGQlR5cGVFbnRyeTo6ZGVsZXRlSW50ZXJmYWNlU3BlYyhTRkJJbnRlcmZhY2VTcGVjJiBpbnRlcmZhY2VTcGVjKSB7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRUlOYW1lczsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hbkVJV2l0aDsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRU9OYW1lczsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hbkVPV2l0aDsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRElOYW1lczsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRE9OYW1lczsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbjsNCi19DQotDQotYm9vbCBDTHVhQkZCVHlwZUVudHJ5Ojppbml0SW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oU0ludGVybmFsVmFyc0luZm9ybWF0aW9uJiBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiwgQ0x1YUVuZ2luZSogbHVhRW5naW5lLCBpbnQgaW5kZXgpIHsNCi0gIGludGVybmFsVmFyc0luZm9ybWF0aW9uLm1fbk51bUludFZhcnMgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRQb3J0SWQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRQb3J0SWQ+ID4oaW5kZXgsICJudW1JbnRWYXJzIik7DQotICBzaXplX3QgbnVtSW50VmFycyA9IGludGVybmFsVmFyc0luZm9ybWF0aW9uLm1fbk51bUludFZhcnM7DQotICBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbi5tX2F1bkludFZhcnNOYW1lcyA9IGx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KGluZGV4LCAiaW50VmFyc05hbWVzIiwNCi0gICAgICBudW1JbnRWYXJzKTsNCi0gIHNpemVfdCBudW1JbnRWYXJUeXBlcyA9IFNJWkVfTUFYOw0KLSAgaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24ubV9hdW5JbnRWYXJzRGF0YVR5cGVOYW1lcyA9IGx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCBsdWF0eXBlOjpnZXRUeXBlTmFtZUlkPihpbmRleCwNCi0gICAgICAiaW50VmFyc0RhdGFUeXBlTmFtZXMiLCBudW1JbnRWYXJUeXBlcyk7DQotICBpZiAoaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24ubV9hdW5JbnRWYXJzTmFtZXMgPT0gTlVMTCB8fCBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbi5tX2F1bkludFZhcnNEYXRhVHlwZU5hbWVzID09IE5VTEwpIHsNCi0gICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLSAgcmV0dXJuIHRydWU7DQotfQ0KLQ0KLXZvaWQgQ0x1YUJGQlR5cGVFbnRyeTo6ZGVsZXRlSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oU0ludGVybmFsVmFyc0luZm9ybWF0aW9uJiBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbikgew0KLSAgZGVsZXRlW10gaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24ubV9hdW5JbnRWYXJzTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbi5tX2F1bkludFZhcnNEYXRhVHlwZU5hbWVzOw0KLX0NCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1vbmlrYSBXZW5nZXIKKyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJsdWFiZmJ0eXBlZW50cnkuaCIKKworI2luY2x1ZGUgImx1YWVuZ2luZS5oIgorI2luY2x1ZGUgImx1YWJmYi5oIgorI2luY2x1ZGUgImx1YXR5cGUuaCIKKyNpbmNsdWRlICJyZXNvdXJjZS5oIgorCitDTHVhQkZCVHlwZUVudHJ5OjpDTHVhQkZCVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFUeXBlTmFtZUlkLCBDSUVDX1NUUklORyBwYUx1YVNjcmlwdEFzU3RyaW5nLCBTRkJJbnRlcmZhY2VTcGVjJiBwYUludGVyZmFjZVNwZWMsCisgICAgU0ludGVybmFsVmFyc0luZm9ybWF0aW9uJiBwYUludGVybmFsVmFyc0luZm9ybWF0aW9uKSA6CisgICAgQ0ZCVHlwZUVudHJ5KHBhVHlwZU5hbWVJZCwgMCwgJm1faW50ZXJmYWNlU3BlYyksIGNtX3NMdWFTY3JpcHRBc1N0cmluZyhwYUx1YVNjcmlwdEFzU3RyaW5nKSwgbV9pbnRlcmZhY2VTcGVjKHBhSW50ZXJmYWNlU3BlYyksCisgICAgICAgIG1faW50ZXJuYWxWYXJzSW5mb3JtYXRpb24ocGFJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbikgeworfQorCitDTHVhQkZCVHlwZUVudHJ5Ojp+Q0x1YUJGQlR5cGVFbnRyeSgpIHsKKyAgZGVsZXRlSW50ZXJmYWNlU3BlYyhtX2ludGVyZmFjZVNwZWMpOworICBkZWxldGVJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbihtX2ludGVybmFsVmFyc0luZm9ybWF0aW9uKTsKK30KKworQ0x1YUJGQlR5cGVFbnRyeSogQ0x1YUJGQlR5cGVFbnRyeTo6Y3JlYXRlTHVhRkJUeXBlRW50cnkoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYVR5cGVOYW1lSWQsIENJRUNfU1RSSU5HJiBwYUx1YVNjcmlwdEFzU3RyaW5nKSB7CisgIENMdWFFbmdpbmUgbHVhRW5naW5lOworICBpZighbHVhRW5naW5lLmxvYWRTdHJpbmcoc3RkOjpzdHJpbmcocGFMdWFTY3JpcHRBc1N0cmluZy5nZXRWYWx1ZSgpKSkpIHsKKyAgICByZXR1cm4gTlVMTDsKKyAgfQorICAvL2ludGVyZmFjZVNwZWMKKyAgU0ZCSW50ZXJmYWNlU3BlYyBpbnRlcmZhY2VTcGVjID0geyAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwIH07CisgIGlmKCFsdWFFbmdpbmUucHVzaEZpZWxkKC0xLCAiaW50ZXJmYWNlU3BlYyIsIExVQV9UVEFCTEUpKSB7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKyAgaWYoIWluaXRJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMsICZsdWFFbmdpbmUsIC0xKSkgeworICAgIGRlbGV0ZUludGVyZmFjZVNwZWMoaW50ZXJmYWNlU3BlYyk7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKyAgbHVhRW5naW5lLnBvcCgpOyAvL3BvcCBpbnRlcmZhY2VTcGVjCisgIC8vaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24KKyAgU0ludGVybmFsVmFyc0luZm9ybWF0aW9uIGludGVybmFsVmFyc0luZm9ybWF0aW9uID0geyAwLCAwLCAwIH07CisgIGlmKCFsdWFFbmdpbmUucHVzaEZpZWxkKC0xLCAiaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24iLCBMVUFfVFRBQkxFKSkgeworICAgIGRlbGV0ZUludGVyZmFjZVNwZWMoaW50ZXJmYWNlU3BlYyk7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKyAgaWYoIWluaXRJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbihpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiwgJmx1YUVuZ2luZSwgLTEpKSB7CisgICAgZGVsZXRlSW50ZXJmYWNlU3BlYyhpbnRlcmZhY2VTcGVjKTsKKyAgICBkZWxldGVJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbihpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbik7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKyAgbHVhRW5naW5lLnBvcCgpOyAvL3BvcCBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbgorICBsdWFFbmdpbmUucG9wKCk7IC8vcG9wIGxvYWRlZCBkZWZzCisgIHJldHVybiBuZXcgQ0x1YUJGQlR5cGVFbnRyeShwYVR5cGVOYW1lSWQsIHBhTHVhU2NyaXB0QXNTdHJpbmcsIGludGVyZmFjZVNwZWMsIGludGVybmFsVmFyc0luZm9ybWF0aW9uKTsKK30KKworQ0Z1bmN0aW9uQmxvY2sqIENMdWFCRkJUeXBlRW50cnk6OmNyZWF0ZUZCSW5zdGFuY2UoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhU3JjUmVzKSB7CisgIENMdWFFbmdpbmUqIGx1YUVuZ2luZSA9IHBhU3JjUmVzLT5nZXRMdWFFbmdpbmUoKTsKKyAgaWYoIWx1YUVuZ2luZS0+bG9hZCh0aGlzKSkgeworICAgIGlmKCFsdWFFbmdpbmUtPmxvYWRTdHJpbmcoc3RkOjpzdHJpbmcoY21fc0x1YVNjcmlwdEFzU3RyaW5nLmdldFZhbHVlKCkpKSkgeworICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGx1YUVuZ2luZS0+cHVzaEZpZWxkKC0xLCAiRUNDIiwgTFVBX1RGVU5DVElPTik7CisgICAgbHVhRW5naW5lLT5zdG9yZSh0aGlzKTsgLy9zdG9yZSBFQ0MKKyAgfQorICBsdWFFbmdpbmUtPnBvcCgpOyAvL3BvcCBFQ0MgLyBsb2FkZWQgZGVmcworICBURm9ydGVCeXRlKiBjb25uRGF0YSA9IG5ldyBURm9ydGVCeXRlW0NGdW5jdGlvbkJsb2NrOjpnZW5GQkNvbm5EYXRhU2l6ZShtX2ludGVyZmFjZVNwZWMubV9uTnVtRU9zLCBtX2ludGVyZmFjZVNwZWMubV9uTnVtRElzLCBtX2ludGVyZmFjZVNwZWMubV9uTnVtRE9zKV07CisgIFRGb3J0ZUJ5dGUqIHZhcnNEYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0Jhc2ljRkI6OmdlbkJhc2ljRkJWYXJzRGF0YVNpemUobV9pbnRlcmZhY2VTcGVjLm1fbk51bURJcywgbV9pbnRlcmZhY2VTcGVjLm1fbk51bURPcywKKyAgICBtX2ludGVybmFsVmFyc0luZm9ybWF0aW9uLm1fbk51bUludFZhcnMsIG1faW50ZXJmYWNlU3BlYy5tX25OdW1BZGFwdGVycyldOworICByZXR1cm4gbmV3IENMdWFCRkIocGFJbnN0YW5jZU5hbWVJZCwgdGhpcywgY29ubkRhdGEsIHZhcnNEYXRhLCBwYVNyY1Jlcyk7Cit9CisKK2Jvb2wgQ0x1YUJGQlR5cGVFbnRyeTo6aW5pdEludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgcGFJbnRlcmZhY2VTcGVjLCBDTHVhRW5naW5lKiBwYUx1YUVuZ2luZSwgaW50IHBhSW5kZXgpIHsKKyAgLy9FSQorICBwYUludGVyZmFjZVNwZWMubV9uTnVtRUlzID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRUlzIik7CisgIHNpemVfdCBudW1FSXMgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtRUlzOworICBwYUludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiRUlOYW1lcyIsIG51bUVJcyk7CisgIHNpemVfdCBudW1FSVdpdGggPSBTSVpFX01BWDsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGggPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURGF0YUlPSUQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFREYXRhSU9JRD4gPihwYUluZGV4LCAiRUlXaXRoIiwgbnVtRUlXaXRoKTsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8VEZvcnRlSW50MTYsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZUludDE2PiA+KHBhSW5kZXgsICJFSVdpdGhJbmRleGVzIiwgbnVtRUlzKTsKKyAgLy9FTworICBwYUludGVyZmFjZVNwZWMubV9uTnVtRU9zID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRU9zIik7CisgIHNpemVfdCBudW1FT3MgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtRU9zOworICBwYUludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiRU9OYW1lcyIsIG51bUVPcyk7CisgIHNpemVfdCBudW1FT1dpdGggPSBTSVpFX01BWDsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGggPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURGF0YUlPSUQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFREYXRhSU9JRD4gPihwYUluZGV4LCAiRU9XaXRoIiwgbnVtRU9XaXRoKTsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8VEZvcnRlSW50MTYsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZUludDE2PiA+KHBhSW5kZXgsICJFT1dpdGhJbmRleGVzIiwgbnVtRU9zKTsKKyAgLy9ESQorICBwYUludGVyZmFjZVNwZWMubV9uTnVtRElzID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRElzIik7CisgIHNpemVfdCBudW1ESXMgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtRElzOworICBwYUludGVyZmFjZVNwZWMubV9hdW5ESU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiRElOYW1lcyIsIG51bURJcyk7CisgIHNpemVfdCBudW1ESURhdGFUeXBlTmFtZXMgPSBTSVpFX01BWDsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRElEYXRhVHlwZU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgbHVhdHlwZTo6Z2V0VHlwZU5hbWVJZD4ocGFJbmRleCwgIkRJRGF0YVR5cGVOYW1lcyIsCisgICAgbnVtRElEYXRhVHlwZU5hbWVzKTsKKyAgLy9ETworICBwYUludGVyZmFjZVNwZWMubV9uTnVtRE9zID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRE9zIik7CisgIHNpemVfdCBudW1ET3MgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtRE9zOworICBwYUludGVyZmFjZVNwZWMubV9hdW5ET05hbWVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiRE9OYW1lcyIsIG51bURPcyk7CisgIHNpemVfdCBudW1ET0RhdGFUeXBlTmFtZXMgPSBTSVpFX01BWDsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRE9EYXRhVHlwZU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgbHVhdHlwZTo6Z2V0VHlwZU5hbWVJZD4ocGFJbmRleCwgIkRPRGF0YVR5cGVOYW1lcyIsCisgICAgbnVtRE9EYXRhVHlwZU5hbWVzKTsKKyAgLy9BZGFwdGVycworICBwYUludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnMgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1BZGFwdGVycyIpOworICBzaXplX3QgbnVtQWRhcHRlcnMgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnM7CisgIHBhSW50ZXJmYWNlU3BlYy5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPSBwYUx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxTQWRhcHRlckluc3RhbmNlRGVmLCBsdWF0eXBlOjpnZXRBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uPihwYUluZGV4LAorICAgICJhZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uIiwgbnVtQWRhcHRlcnMpOworICAvL2NoZWNrcworICBpZihwYUludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID09IE5VTEwgfHwgcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGggPT0gTlVMTCB8fCBwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXMgPT0gTlVMTAorICAgIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXMgPT0gTlVMTCB8fCBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aCA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoSW5kZXhlcyA9PSBOVUxMCisgICAgfHwgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRElOYW1lcyA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRJRGF0YVR5cGVOYW1lcyA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXMgPT0gTlVMTAorICAgIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPRGF0YVR5cGVOYW1lcyA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPT0gTlVMTCkgeworICAgIHJldHVybiBmYWxzZTsKKyAgfQorICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBDTHVhQkZCVHlwZUVudHJ5OjpkZWxldGVJbnRlcmZhY2VTcGVjKFNGQkludGVyZmFjZVNwZWMmIHBhSW50ZXJmYWNlU3BlYykgeworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aDsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aDsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hdW5ESU5hbWVzOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXM7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXM7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPRGF0YVR5cGVOYW1lczsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbjsKK30KKworYm9vbCBDTHVhQkZCVHlwZUVudHJ5Ojppbml0SW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oU0ludGVybmFsVmFyc0luZm9ybWF0aW9uJiBwYUludGVybmFsVmFyc0luZm9ybWF0aW9uLCBDTHVhRW5naW5lKiBwYUx1YUVuZ2luZSwgaW50IHBhSW5kZXgpIHsKKyAgcGFJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbi5tX25OdW1JbnRWYXJzID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRQb3J0SWQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRQb3J0SWQ+ID4ocGFJbmRleCwgIm51bUludFZhcnMiKTsKKyAgc2l6ZV90IG51bUludFZhcnMgPSBwYUludGVybmFsVmFyc0luZm9ybWF0aW9uLm1fbk51bUludFZhcnM7CisgIHBhSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24ubV9hdW5JbnRWYXJzTmFtZXMgPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KHBhSW5kZXgsICJpbnRWYXJzTmFtZXMiLAorICAgIG51bUludFZhcnMpOworICBzaXplX3QgbnVtSW50VmFyVHlwZXMgPSBTSVpFX01BWDsKKyAgcGFJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbi5tX2F1bkludFZhcnNEYXRhVHlwZU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgbHVhdHlwZTo6Z2V0VHlwZU5hbWVJZD4ocGFJbmRleCwKKyAgICAiaW50VmFyc0RhdGFUeXBlTmFtZXMiLCBudW1JbnRWYXJUeXBlcyk7CisgIGlmKHBhSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24ubV9hdW5JbnRWYXJzTmFtZXMgPT0gTlVMTCB8fCBwYUludGVybmFsVmFyc0luZm9ybWF0aW9uLm1fYXVuSW50VmFyc0RhdGFUeXBlTmFtZXMgPT0gTlVMTCkgeworICAgIHJldHVybiBmYWxzZTsKKyAgfQorICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBDTHVhQkZCVHlwZUVudHJ5OjpkZWxldGVJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbihTSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24mIHBhSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24pIHsKKyAgZGVsZXRlW10gcGFJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbi5tX2F1bkludFZhcnNOYW1lczsKKyAgZGVsZXRlW10gcGFJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbi5tX2F1bkludFZhcnNEYXRhVHlwZU5hbWVzOworfQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbHVhL2x1YWJmYnR5cGVlbnRyeS5oIGIvc3JjL2NvcmUvbHVhL2x1YWJmYnR5cGVlbnRyeS5oCmluZGV4IGI4NTIwOGQuLjAyOGI0MTIgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2x1YS9sdWFiZmJ0eXBlZW50cnkuaAorKysgYi9zcmMvY29yZS9sdWEvbHVhYmZidHlwZWVudHJ5LmgKQEAgLTEsNTAgKzEsNTIgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICoNCi0gKiBDb250cmlidXRvcnM6DQotICogICBNYXJ0aW4gSm9ic3QNCi0gKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0NCi0jaWZuZGVmIFNSQ19DT1JFX0xVQUZCVFlQRUVOVFJZX0hfDQotI2RlZmluZSBTUkNfQ09SRV9MVUFGQlRZUEVFTlRSWV9IXw0KLQ0KLSNpbmNsdWRlICJ0eXBlbGliLmgiDQotI2luY2x1ZGUgImJhc2ljZmIuaCINCi0NCi1jbGFzcyBDTHVhRW5naW5lOw0KLQ0KLWNsYXNzIENMdWFCRkJUeXBlRW50cnk6IHB1YmxpYyBDVHlwZUxpYjo6Q0ZCVHlwZUVudHJ5IHsNCi1wcml2YXRlOg0KLQ0KLSAgY29uc3QgQ0lFQ19TVFJJTkcgY21fc0x1YVNjcmlwdEFzU3RyaW5nOw0KLSAgU0ZCSW50ZXJmYWNlU3BlYyBtX2ludGVyZmFjZVNwZWM7DQotICBTSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24gbV9pbnRlcm5hbFZhcnNJbmZvcm1hdGlvbjsNCi0NCi0gIENMdWFCRkJUeXBlRW50cnkoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCB0eXBlTmFtZUlkLCBDSUVDX1NUUklORyBwYUx1YVNjcmlwdEFzU3RyaW5nLCAgU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYywNCi0gICAgICBTSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24mIGludGVybmFsVmFyc0luZm9ybWF0aW9uKTsNCi0NCi0gIHZpcnR1YWwgfkNMdWFCRkJUeXBlRW50cnkoKTsNCi0NCi0gIHN0YXRpYyBib29sIGluaXRJbnRlcmZhY2VTcGVjKFNGQkludGVyZmFjZVNwZWMmIGludGVyZmFjZVNwZWMsIENMdWFFbmdpbmUqIGx1YUVuZ2luZSwgaW50IGluZGV4KTsNCi0gIHN0YXRpYyB2b2lkIGRlbGV0ZUludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYyk7DQotICBzdGF0aWMgYm9vbCBpbml0SW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oU0ludGVybmFsVmFyc0luZm9ybWF0aW9uJiBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiwgQ0x1YUVuZ2luZSogbHVhRW5naW5lLCBpbnQgaW5kZXgpOw0KLSAgc3RhdGljIHZvaWQgZGVsZXRlSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oU0ludGVybmFsVmFyc0luZm9ybWF0aW9uJiBpbnRlcm5hbFZhcnNJbmZvcm1hdGlvbik7DQotcHVibGljOg0KLSAgc3RhdGljIENMdWFCRkJUeXBlRW50cnkqIGNyZWF0ZUx1YUZCVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgdHlwZU5hbWVJZCwgQ0lFQ19TVFJJTkcmIHBhTHVhU2NyaXB0QXNTdHJpbmcpOw0KLQ0KLSAgdmlydHVhbCBDRnVuY3Rpb25CbG9jayogY3JlYXRlRkJJbnN0YW5jZShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1Jlcyk7DQotDQotICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjKiBnZXRJbnRlcmZhY2VTcGVjKCkgY29uc3Qgew0KLSAgICByZXR1cm4gJm1faW50ZXJmYWNlU3BlYzsNCi0gIH0NCi0gIGNvbnN0IFNJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiogZ2V0SW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oKSBjb25zdCB7DQotICAgIHJldHVybiAmbV9pbnRlcm5hbFZhcnNJbmZvcm1hdGlvbjsNCi0gIH0NCi19Ow0KLQ0KLSNlbmRpZiAvKiBTUkNfQ09SRV9MVUFCRkJUWVBFRU5UUllfSF8gKi8NCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBKb2JzdAorICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQ09SRV9MVUFGQlRZUEVFTlRSWV9IXworI2RlZmluZSBTUkNfQ09SRV9MVUFGQlRZUEVFTlRSWV9IXworCisjaW5jbHVkZSAidHlwZWxpYi5oIgorI2luY2x1ZGUgImJhc2ljZmIuaCIKKworY2xhc3MgQ0x1YUVuZ2luZTsKKworY2xhc3MgQ0x1YUJGQlR5cGVFbnRyeTogcHVibGljIENUeXBlTGliOjpDRkJUeXBlRW50cnkgeworcHJpdmF0ZToKKworICBjb25zdCBDSUVDX1NUUklORyBjbV9zTHVhU2NyaXB0QXNTdHJpbmc7CisgIFNGQkludGVyZmFjZVNwZWMgbV9pbnRlcmZhY2VTcGVjOworICBTSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24gbV9pbnRlcm5hbFZhcnNJbmZvcm1hdGlvbjsKKworICBDTHVhQkZCVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgdHlwZU5hbWVJZCwgQ0lFQ19TVFJJTkcgcGFMdWFTY3JpcHRBc1N0cmluZywgU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYywKKyAgICAgIFNJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiYgaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24pOworCisgIHZpcnR1YWwgfkNMdWFCRkJUeXBlRW50cnkoKTsKKworICBzdGF0aWMgYm9vbCBpbml0SW50ZXJmYWNlU3BlYyhTRkJJbnRlcmZhY2VTcGVjJiBpbnRlcmZhY2VTcGVjLCBDTHVhRW5naW5lKiBsdWFFbmdpbmUsIGludCBpbmRleCk7CisgIHN0YXRpYyB2b2lkIGRlbGV0ZUludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYyk7CisgIHN0YXRpYyBib29sIGluaXRJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbihTSW50ZXJuYWxWYXJzSW5mb3JtYXRpb24mIGludGVybmFsVmFyc0luZm9ybWF0aW9uLCBDTHVhRW5naW5lKiBsdWFFbmdpbmUsIGludCBpbmRleCk7CisgIHN0YXRpYyB2b2lkIGRlbGV0ZUludGVybmFsVmFyc0luZm9ybWF0aW9uKFNJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiYgaW50ZXJuYWxWYXJzSW5mb3JtYXRpb24pOworcHVibGljOgorICBzdGF0aWMgQ0x1YUJGQlR5cGVFbnRyeSogY3JlYXRlTHVhRkJUeXBlRW50cnkoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCB0eXBlTmFtZUlkLCBDSUVDX1NUUklORyYgcGFMdWFTY3JpcHRBc1N0cmluZyk7CisKKyAgdmlydHVhbCBDRnVuY3Rpb25CbG9jayogY3JlYXRlRkJJbnN0YW5jZShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1Jlcyk7CisKKyAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogZ2V0SW50ZXJmYWNlU3BlYygpIGNvbnN0IHsKKyAgICByZXR1cm4gJm1faW50ZXJmYWNlU3BlYzsKKyAgfQorCisgIGNvbnN0IFNJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiogZ2V0SW50ZXJuYWxWYXJzSW5mb3JtYXRpb24oKSBjb25zdCB7CisgICAgcmV0dXJuICZtX2ludGVybmFsVmFyc0luZm9ybWF0aW9uOworICB9Cit9OworCisjZW5kaWYgLyogU1JDX0NPUkVfTFVBQkZCVFlQRUVOVFJZX0hfICovCmRpZmYgLS1naXQgYS9zcmMvY29yZS9sdWEvbHVhY2ZiLmNwcCBiL3NyYy9jb3JlL2x1YS9sdWFjZmIuY3BwCmluZGV4IGI4MWUzMjQuLjcyODA3ODcgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2x1YS9sdWFjZmIuY3BwCisrKyBiL3NyYy9jb3JlL2x1YS9sdWFjZmIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCkBAIC0xMyw4ICsxNCw5IEBACiAjaW5jbHVkZSAibHVhY2ZiLmgiDQogI2luY2x1ZGUgInJlc291cmNlLmgiDQogDQotQ0x1YUNGQjo6Q0x1YUNGQihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGluc3RhbmNlTmFtZUlkLCBjb25zdCBDTHVhQ0ZCVHlwZUVudHJ5KiB0eXBlRW50cnksIFNDRkJfRkJORGF0YSAqZmJuRGF0YSwgVEZvcnRlQnl0ZSAqY29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnZhcnNEYXRhLCBDUmVzb3VyY2UgKnJlc291cmNlKQ0KLSAgICA6IENDb21wb3NpdGVGQihyZXNvdXJjZSwgdHlwZUVudHJ5LT5nZXRJbnRlcmZhY2VTcGVjKCksIGluc3RhbmNlTmFtZUlkLCBmYm5EYXRhLCBjb25uRGF0YSwgdmFyc0RhdGEpLCB0eXBlRW50cnkodHlwZUVudHJ5KSB7DQorQ0x1YUNGQjo6Q0x1YUNGQihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIGNvbnN0IENMdWFDRkJUeXBlRW50cnkqIHBhVHlwZUVudHJ5LCBTQ0ZCX0ZCTkRhdGEgKnBhRmJuRGF0YSwgVEZvcnRlQnl0ZSAqcGFDb25uRGF0YSwNCisgICAgVEZvcnRlQnl0ZSAqcGFWYXJzRGF0YSwgQ1Jlc291cmNlICpwYVJlc291cmNlKSA6DQorICAgIENDb21wb3NpdGVGQihwYVJlc291cmNlLCBwYVR5cGVFbnRyeS0+Z2V0SW50ZXJmYWNlU3BlYygpLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZibkRhdGEsIHBhQ29ubkRhdGEsIHBhVmFyc0RhdGEpLCBtVHlwZUVudHJ5KHBhVHlwZUVudHJ5KSB7DQogfQ0KIA0KIENMdWFDRkI6On5DTHVhQ0ZCKCkgew0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2x1YS9sdWFjZmIuaCBiL3NyYy9jb3JlL2x1YS9sdWFjZmIuaAppbmRleCBhMWU4N2E5Li42YzNlY2ZjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9sdWEvbHVhY2ZiLmgKKysrIGIvc3JjL2NvcmUvbHVhL2x1YWNmYi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCkBAIC0xNiwxNyArMTcsMTggQEAKICNpbmNsdWRlICJjZmIuaCINCiAjaW5jbHVkZSAibHVhY2ZidHlwZWVudHJ5LmgiDQogDQotY2xhc3MgQ0x1YUNGQjogcHVibGljIENDb21wb3NpdGVGQiB7DQotcHJpdmF0ZToNCi0gIGNvbnN0IENMdWFDRkJUeXBlRW50cnkqIHR5cGVFbnRyeTsNCitjbGFzcyBDTHVhQ0ZCIDogcHVibGljIENDb21wb3NpdGVGQiB7DQorICBwcml2YXRlOg0KKyAgICBjb25zdCBDTHVhQ0ZCVHlwZUVudHJ5KiBtVHlwZUVudHJ5Ow0KIA0KLXB1YmxpYzoNCi0gIENMdWFDRkIoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBpbnN0YW5jZU5hbWVJZCwgY29uc3QgQ0x1YUNGQlR5cGVFbnRyeSogdHlwZUVudHJ5LCBTQ0ZCX0ZCTkRhdGEgKmZibkRhdGEsIFRGb3J0ZUJ5dGUgKmNvbm5EYXRhLCBURm9ydGVCeXRlICp2YXJzRGF0YSwgQ1Jlc291cmNlICpyZXNvdXJjZSk7DQotICB2aXJ0dWFsIH5DTHVhQ0ZCKCk7DQorICBwdWJsaWM6DQorICAgIENMdWFDRkIoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBjb25zdCBDTHVhQ0ZCVHlwZUVudHJ5KiBwYVR5cGVFbnRyeSwgU0NGQl9GQk5EYXRhICpwYUZibkRhdGEsIFRGb3J0ZUJ5dGUgKnBhQ29ubkRhdGEsDQorICAgICAgICBURm9ydGVCeXRlICpwYVZhcnNEYXRhLCBDUmVzb3VyY2UgKnBhUmVzb3VyY2UpOw0KKyAgICB2aXJ0dWFsIH5DTHVhQ0ZCKCk7DQogDQotICB2aXJ0dWFsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgZ2V0RkJUeXBlSWQodm9pZCkgY29uc3Qgew0KLSAgICByZXR1cm4gdHlwZUVudHJ5LT5nZXRUeXBlTmFtZUlkKCk7DQotICB9DQorICAgIHZpcnR1YWwgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBnZXRGQlR5cGVJZCh2b2lkKSBjb25zdCB7DQorICAgICAgcmV0dXJuIG1UeXBlRW50cnktPmdldFR5cGVOYW1lSWQoKTsNCisgICAgfQ0KIH07DQogDQogI2VuZGlmIC8qIFNSQ19DT1JFX0xVQUNGQl9IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2x1YS9sdWFjZmJ0eXBlZW50cnkuY3BwIGIvc3JjL2NvcmUvbHVhL2x1YWNmYnR5cGVlbnRyeS5jcHAKaW5kZXggN2QyYjM3NC4uNjZiZTEyMiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvbHVhL2x1YWNmYnR5cGVlbnRyeS5jcHAKKysrIGIvc3JjL2NvcmUvbHVhL2x1YWNmYnR5cGVlbnRyeS5jcHAKQEAgLTEsMjIxICsxLDIyNCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gKg0KLSAqIENvbnRyaWJ1dG9yczoNCi0gKiAgIE1vbmlrYSBXZW5nZXINCi0gKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0NCi0jaW5jbHVkZSAibHVhY2ZidHlwZWVudHJ5LmgiDQotDQotI2luY2x1ZGUgInJlc291cmNlLmgiDQotI2luY2x1ZGUgImx1YWVuZ2luZS5oIg0KLSNpbmNsdWRlICJsdWFjZmIuaCINCi0jaW5jbHVkZSAibHVhdHlwZS5oIg0KLQ0KLW5hbWVzcGFjZSBsdWF0eXBlIHsNCi0gIGJvb2wgZ2V0RkJJbnN0YW5jZURhdGEoU0NGQl9GQkluc3RhbmNlRGF0YSYgZGVmLCBDTHVhRW5naW5lKiBsdWFFbmdpbmUsIGludCBpbmRleCkgew0KLSAgICBkZWYubV9uRkJJbnN0YW5jZU5hbWVJZCA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihpbmRleCwgImZiTmFtZUlEIik7DQotICAgIGRlZi5tX25GQlR5cGVOYW1lSWQgPSBsdWFFbmdpbmUtPmdldEZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsICZDTHVhRW5naW5lOjpnZXRTdHJpbmdJZD4oaW5kZXgsICJmYlR5cGVJRCIpOw0KLSAgICBpZiAoZGVmLm1fbkZCSW5zdGFuY2VOYW1lSWQgPT0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkIHx8IGRlZi5tX25GQlR5cGVOYW1lSWQgPT0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkKSB7DQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICB9DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSAgYm9vbCBnZXRGQkNvbm5lY3Rpb25EYXRhKFNDRkJfRkJDb25uZWN0aW9uRGF0YSYgZGVmLCBDTHVhRW5naW5lKiBsdWFFbmdpbmUsIGludCBpbmRleCkgew0KLSAgICBkZWYubV9uRHN0RkJOdW0gPSBsdWFFbmdpbmUtPmdldEZpZWxkPGludCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8aW50PiA+KGluZGV4LCAiZHN0RkJOdW0iKTsNCi0gICAgZGVmLm1fbkRzdElkID0gbHVhRW5naW5lLT5nZXRGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KGluZGV4LCAiZHN0SUQiKTsNCi0gICAgZGVmLm1fblNyY0ZCTnVtID0gbHVhRW5naW5lLT5nZXRGaWVsZDxpbnQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPGludD4gPihpbmRleCwgInNyY0ZCTnVtIik7DQotICAgIGRlZi5tX25TcmNJZCA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihpbmRleCwgInNyY0lEIik7DQotICAgIGlmIChkZWYubV9uRHN0SWQgPT0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkIHx8IGRlZi5tX25TcmNJZCA9PSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQpIHsNCi0gICAgICByZXR1cm4gZmFsc2U7DQotICAgIH0NCi0gICAgcmV0dXJuIHRydWU7DQotICB9DQotDQotICBib29sIGdldEZCRmFubmVkT3V0Q29ubmVjdGlvbkRhdGEoU0NGQl9GQkZhbm5lZE91dENvbm5lY3Rpb25EYXRhJiBkZWYsIENMdWFFbmdpbmUqIGx1YUVuZ2luZSwgaW50IGluZGV4KSB7DQotICAgIGRlZi5tX25Db25uZWN0aW9uTnVtID0gbHVhRW5naW5lLT5nZXRGaWVsZDxpbnQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPGludD4gPihpbmRleCwgImNvbm5lY3Rpb25OdW0iKTsNCi0gICAgZGVmLm1fbkRzdEZCTnVtID0gbHVhRW5naW5lLT5nZXRGaWVsZDxpbnQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPGludD4gPihpbmRleCwgImRzdEZCTnVtIik7DQotICAgIGRlZi5tX25Ec3RJZCA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihpbmRleCwgImRzdElEIik7DQotICAgIGlmIChkZWYubV9uRHN0SWQgPT0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkKSB7DQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICB9DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLQ0KLSAgYm9vbCBnZXRGQlBhcmFtZXRlcihTQ0ZCX0ZCUGFyYW1ldGVyJiBkZWYsIENMdWFFbmdpbmUqIGx1YUVuZ2luZSwgaW50IGluZGV4KSB7DQotICAgIGRlZi5tX2FjUGFyYW1WYWx1ZSA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8Y2hhciAqLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nPihpbmRleCwgInBhcmFtVmFsdWUiKTsNCi0gICAgZGVmLm1fbkRJTmFtZUlEID0gbHVhRW5naW5lLT5nZXRGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KGluZGV4LCAiZGlOYW1lSUQiKTsNCi0gICAgZGVmLm1fbkZCTnVtID0gbHVhRW5naW5lLT5nZXRGaWVsZDxpbnQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPGludD4gPihpbmRleCwgImZiTnVtIik7DQotICAgIGlmIChkZWYubV9uRElOYW1lSUQgPT0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkKSB7DQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICB9DQotICAgIHJldHVybiB0cnVlOw0KLSAgfQ0KLX0NCi0NCi1DTHVhQ0ZCVHlwZUVudHJ5OjpDTHVhQ0ZCVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgdHlwZU5hbWVJZCwgQ0lFQ19TVFJJTkcgcGFMdWFTY3JpcHRBc1N0cmluZywgU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYywgU0NGQl9GQk5EYXRhJiBmYm5TcGVjKQ0KLSAgICA6IENUeXBlTGliOjpDRkJUeXBlRW50cnkodHlwZU5hbWVJZCwgMCksIGNtX3NMdWFTY3JpcHRBc1N0cmluZyhwYUx1YVNjcmlwdEFzU3RyaW5nKSwgbV9pbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMpLCBtX2ZiblNwZWMoZmJuU3BlYykgew0KLX0NCi0NCi1DTHVhQ0ZCVHlwZUVudHJ5Ojp+Q0x1YUNGQlR5cGVFbnRyeSgpIHsNCi0gIGRlbGV0ZUludGVyZmFjZVNwZWMobV9pbnRlcmZhY2VTcGVjKTsNCi0gIGRlbGV0ZUZiblNwZWMobV9mYm5TcGVjKTsNCi19DQotDQotQ0x1YUNGQlR5cGVFbnRyeSogQ0x1YUNGQlR5cGVFbnRyeTo6Y3JlYXRlTHVhRkJUeXBlRW50cnkoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCB0eXBlTmFtZUlkLCBDSUVDX1NUUklORyYgcGFMdWFTY3JpcHRBc1N0cmluZykgew0KLSAgQ0x1YUVuZ2luZSBsdWFFbmdpbmU7DQotICBpZiAoIWx1YUVuZ2luZS5sb2FkU3RyaW5nKHN0ZDo6c3RyaW5nKHBhTHVhU2NyaXB0QXNTdHJpbmcuZ2V0VmFsdWUoKSkpKSB7DQotICAgIHJldHVybiBOVUxMOw0KLSAgfQ0KLSAgLy9pbnRlcmZhY2VTcGVjDQotICBTRkJJbnRlcmZhY2VTcGVjIGludGVyZmFjZVNwZWMgPSB7IH07DQotICBpZiAoIWx1YUVuZ2luZS5wdXNoRmllbGQoLTEsICJpbnRlcmZhY2VTcGVjIiwgTFVBX1RUQUJMRSkpIHsNCi0gICAgcmV0dXJuIE5VTEw7DQotICB9DQotICBpZiAoIWluaXRJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMsICZsdWFFbmdpbmUsIC0xKSkgew0KLSAgICBkZWxldGVJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMpOw0KLSAgICByZXR1cm4gTlVMTDsNCi0gIH0NCi0gIGx1YUVuZ2luZS5wb3AoKTsgLy9wb3AgaW50ZXJmYWNlU3BlYw0KLSAgLy9mYm5TcGVjDQotICBTQ0ZCX0ZCTkRhdGEgZmJuU3BlYyA9IHsgfTsNCi0gIGlmICghbHVhRW5naW5lLnB1c2hGaWVsZCgtMSwgImZiblNwZWMiLCBMVUFfVFRBQkxFKSkgew0KLSAgICBkZWxldGVJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMpOw0KLSAgICByZXR1cm4gTlVMTDsNCi0gIH0NCi0gIGlmICghaW5pdEZiblNwZWMoZmJuU3BlYywgJmx1YUVuZ2luZSwgLTEpKSB7DQotICAgIGRlbGV0ZUludGVyZmFjZVNwZWMoaW50ZXJmYWNlU3BlYyk7DQotICAgIGRlbGV0ZUZiblNwZWMoZmJuU3BlYyk7DQotICAgIHJldHVybiBOVUxMOw0KLSAgfQ0KLSAgbHVhRW5naW5lLnBvcCgpOyAvL3BvcCBmYm5TcGVjDQotICBsdWFFbmdpbmUucG9wKCk7IC8vcG9wIGxvYWRlZCBkZWZzDQotICByZXR1cm4gbmV3IENMdWFDRkJUeXBlRW50cnkodHlwZU5hbWVJZCwgcGFMdWFTY3JpcHRBc1N0cmluZywgaW50ZXJmYWNlU3BlYywgZmJuU3BlYyk7DQotfQ0KLQ0KLUNGdW5jdGlvbkJsb2NrKiBDTHVhQ0ZCVHlwZUVudHJ5OjpjcmVhdGVGQkluc3RhbmNlKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSB7DQotICBDTHVhRW5naW5lKiBsdWFFbmdpbmUgPSBwYV9wb1NyY1Jlcy0+Z2V0THVhRW5naW5lKCk7DQotICBpZiAoIWx1YUVuZ2luZS0+bG9hZCh0aGlzKSkgew0KLSAgICBpZiAoIWx1YUVuZ2luZS0+bG9hZFN0cmluZyhzdGQ6OnN0cmluZyhjbV9zTHVhU2NyaXB0QXNTdHJpbmcuZ2V0VmFsdWUoKSkpKSB7DQotICAgICAgcmV0dXJuIE5VTEw7DQotICAgIH0NCi0gIH0NCi0gIFRGb3J0ZUJ5dGUqIGNvbm5EYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0Z1bmN0aW9uQmxvY2s6OmdlbkZCQ29ubkRhdGFTaXplKG1faW50ZXJmYWNlU3BlYy5tX25OdW1FT3MsIG1faW50ZXJmYWNlU3BlYy5tX25OdW1ESXMsIG1faW50ZXJmYWNlU3BlYy5tX25OdW1ET3MpXTsNCi0gIFRGb3J0ZUJ5dGUqIHZhcnNEYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0NvbXBvc2l0ZUZCOjpnZW5GQlZhcnNEYXRhU2l6ZShtX2ludGVyZmFjZVNwZWMubV9uTnVtRElzLCBtX2ludGVyZmFjZVNwZWMubV9uTnVtRE9zLCBtX2ludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnMpXTsNCi0gIHJldHVybiBuZXcgQ0x1YUNGQihwYV9uSW5zdGFuY2VOYW1lSWQsIHRoaXMsIGdldEZiblNwZWMoKSwgY29ubkRhdGEsIHZhcnNEYXRhLCBwYV9wb1NyY1Jlcyk7DQotfQ0KLQ0KLWJvb2wgQ0x1YUNGQlR5cGVFbnRyeTo6aW5pdEludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgaW50ZXJmYWNlU3BlYywgQ0x1YUVuZ2luZSogbHVhRW5naW5lLCBpbnQgaW5kZXgpIHsNCi0gIC8vRUkNCi0gIGludGVyZmFjZVNwZWMubV9uTnVtRUlzID0gbHVhRW5naW5lLT5nZXRGaWVsZDxURm9ydGVVSW50OCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VEZvcnRlVUludDg+ID4oaW5kZXgsICJudW1FSXMiKTsNCi0gIHNpemVfdCBudW1FSXMgPSBpbnRlcmZhY2VTcGVjLm1fbk51bUVJczsNCi0gIGludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID0gbHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsICZDTHVhRW5naW5lOjpnZXRTdHJpbmdJZD4oaW5kZXgsICJFSU5hbWVzIiwgbnVtRUlzKTsNCi0gIHNpemVfdCBudW1FSVdpdGggPSBTSVpFX01BWDsNCi0gIGludGVyZmFjZVNwZWMubV9hbkVJV2l0aCA9IGx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURGF0YUlPSUQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFREYXRhSU9JRD4gPihpbmRleCwgIkVJV2l0aCIsIG51bUVJV2l0aCk7DQotICBpbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzID0gbHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPFRGb3J0ZUludDE2LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVJbnQxNj4gPihpbmRleCwgIkVJV2l0aEluZGV4ZXMiLCBudW1FSXMpOw0KLSAgLy9FTw0KLSAgaW50ZXJmYWNlU3BlYy5tX25OdW1FT3MgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bUVPcyIpOw0KLSAgc2l6ZV90IG51bUVPcyA9IGludGVyZmFjZVNwZWMubV9uTnVtRU9zOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXMgPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihpbmRleCwgIkVPTmFtZXMiLCBudW1FT3MpOw0KLSAgc2l6ZV90IG51bUVPV2l0aCA9IFNJWkVfTUFYOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoID0gbHVhRW5naW5lLT5nZXRBcnJheUZpZWxkPFREYXRhSU9JRCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VERhdGFJT0lEPiA+KGluZGV4LCAiRU9XaXRoIiwgbnVtRU9XaXRoKTsNCi0gIGludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXMgPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8VEZvcnRlSW50MTYsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZUludDE2PiA+KGluZGV4LCAiRU9XaXRoSW5kZXhlcyIsIG51bUVPcyk7DQotICAvL0RJDQotICBpbnRlcmZhY2VTcGVjLm1fbk51bURJcyA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KGluZGV4LCAibnVtRElzIik7DQotICBzaXplX3QgbnVtRElzID0gaW50ZXJmYWNlU3BlYy5tX25OdW1ESXM7DQotICBpbnRlcmZhY2VTcGVjLm1fYXVuRElOYW1lcyA9IGx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KGluZGV4LCAiRElOYW1lcyIsIG51bURJcyk7DQotICBzaXplX3QgbnVtRElEYXRhVHlwZU5hbWVzID0gU0laRV9NQVg7DQotICBpbnRlcmZhY2VTcGVjLm1fYXVuRElEYXRhVHlwZU5hbWVzID0gbHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsIGx1YXR5cGU6OmdldFR5cGVOYW1lSWQ+KGluZGV4LCAiRElEYXRhVHlwZU5hbWVzIiwNCi0gICAgICBudW1ESURhdGFUeXBlTmFtZXMpOw0KLSAgLy9ETw0KLSAgaW50ZXJmYWNlU3BlYy5tX25OdW1ET3MgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bURPcyIpOw0KLSAgc2l6ZV90IG51bURPcyA9IGludGVyZmFjZVNwZWMubV9uTnVtRE9zOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXMgPSBsdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihpbmRleCwgIkRPTmFtZXMiLCBudW1ET3MpOw0KLSAgc2l6ZV90IG51bURPRGF0YVR5cGVOYW1lcyA9IFNJWkVfTUFYOw0KLSAgaW50ZXJmYWNlU3BlYy5tX2F1bkRPRGF0YVR5cGVOYW1lcyA9IGx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCBsdWF0eXBlOjpnZXRUeXBlTmFtZUlkPihpbmRleCwgIkRPRGF0YVR5cGVOYW1lcyIsDQotICAgICAgbnVtRE9EYXRhVHlwZU5hbWVzKTsNCi0gIC8vQWRhcHRlcnMNCi0gIGludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnMgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bUFkYXB0ZXJzIik7DQotICBzaXplX3QgbnVtQWRhcHRlcnMgPSBpbnRlcmZhY2VTcGVjLm1fbk51bUFkYXB0ZXJzOw0KLSAgaW50ZXJmYWNlU3BlYy5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPSBsdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8U0FkYXB0ZXJJbnN0YW5jZURlZiwgbHVhdHlwZTo6Z2V0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbj4oaW5kZXgsDQotICAgICAgImFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24iLCBudW1BZGFwdGVycyk7DQotICAvL2NoZWNrcw0KLSAgaWYgKGludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoSW5kZXhlcyA9PSBOVUxMIHx8IGludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzID09IE5VTEwNCi0gICAgICB8fCBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGggPT0gTlVMTCB8fCBpbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzID09IE5VTEwgfHwgaW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXMgPT0gTlVMTA0KLSAgICAgIHx8IGludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXMgPT0gTlVMTCB8fCBpbnRlcmZhY2VTcGVjLm1fYXVuRE9OYW1lcyA9PSBOVUxMIHx8IGludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXMgPT0gTlVMTA0KLSAgICAgIHx8IGludGVyZmFjZVNwZWMubV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uID09IE5VTEwpIHsNCi0gICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1FSXM7IGkrKykgew0KLSAgICBpZiAoaW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoSW5kZXhlc1tpXSA+PSAoVEZvcnRlSW50MTYpIG51bUVJV2l0aCkgew0KLSAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgfQ0KLSAgfQ0KLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1FT3M7IGkrKykgew0KLSAgICBpZiAoaW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoSW5kZXhlc1tpXSA+PSAoVEZvcnRlSW50MTYpIG51bUVPV2l0aCkgew0KLSAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgfQ0KLSAgfQ0KLSAgcmV0dXJuIHRydWU7DQotfQ0KLQ0KLXZvaWQgQ0x1YUNGQlR5cGVFbnRyeTo6ZGVsZXRlSW50ZXJmYWNlU3BlYyhTRkJJbnRlcmZhY2VTcGVjJiBpbnRlcmZhY2VTcGVjKSB7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRUlOYW1lczsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hbkVJV2l0aDsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRU9OYW1lczsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hbkVPV2l0aDsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRElOYW1lczsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fYXVuRE9OYW1lczsNCi0gIGRlbGV0ZVtdIGludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXM7DQotICBkZWxldGVbXSBpbnRlcmZhY2VTcGVjLm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbjsNCi19DQotDQotYm9vbCBDTHVhQ0ZCVHlwZUVudHJ5Ojppbml0RmJuU3BlYyhTQ0ZCX0ZCTkRhdGEmIGZiblNwZWMsIENMdWFFbmdpbmUqIGx1YUVuZ2luZSwgaW50IGluZGV4KSB7DQotICAvL2ludGVybmFsRkJzDQotICBmYm5TcGVjLm1fbk51bUZCcyA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KGluZGV4LCAibnVtRkJzIik7DQotICBzaXplX3QgbnVtRkJzID0gZmJuU3BlYy5tX25OdW1GQnM7DQotICBmYm5TcGVjLm1fcHN0RkJJbnN0YW5jZXMgPSAgbHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPFNDRkJfRkJJbnN0YW5jZURhdGEsIGx1YXR5cGU6OmdldEZCSW5zdGFuY2VEYXRhPihpbmRleCwgImludGVybmFsRkJzIiwgbnVtRkJzKTsNCi0gIC8vZXZlbnRDb25uZWN0aW9ucw0KLSAgZmJuU3BlYy5tX25OdW1FdmVudENvbm5lY3Rpb25zID0gbHVhRW5naW5lLT5nZXRGaWVsZDxURm9ydGVVSW50OCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VEZvcnRlVUludDg+ID4oaW5kZXgsICJudW1FQ29ucyIpOw0KLSAgc2l6ZV90IG51bUVDb25zID0gZmJuU3BlYy5tX25OdW1FdmVudENvbm5lY3Rpb25zOw0KLSAgZmJuU3BlYy5tX3BzdEV2ZW50Q29ubmVjdGlvbnMgPSBsdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8U0NGQl9GQkNvbm5lY3Rpb25EYXRhLCBsdWF0eXBlOjpnZXRGQkNvbm5lY3Rpb25EYXRhPihpbmRleCwgImV2ZW50Q29ubmVjdGlvbnMiLCBudW1FQ29ucyk7DQotICAvL2Zhbm5lZE91dEV2ZW50Q29ubmVjdGlvbnMNCi0gIGZiblNwZWMubV9uTnVtRmFubmVkT3V0RXZlbnRDb25uZWN0aW9ucyA9IGx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KGluZGV4LCAibnVtRkVDb25zIik7DQotICBzaXplX3QgbnVtRkVDb25zID0gZmJuU3BlYy5tX25OdW1GYW5uZWRPdXRFdmVudENvbm5lY3Rpb25zOw0KLSAgZmJuU3BlYy5tX3BzdEZhbm5lZE91dEV2ZW50Q29ubmVjdGlvbnMgPSBsdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8U0NGQl9GQkZhbm5lZE91dENvbm5lY3Rpb25EYXRhLCBsdWF0eXBlOjpnZXRGQkZhbm5lZE91dENvbm5lY3Rpb25EYXRhPihpbmRleCwgImZhbm5lZE91dEV2ZW50Q29ubmVjdGlvbnMiLCBudW1GRUNvbnMpOw0KLSAgLy9kYXRhQ29ubmVjdGlvbnMNCi0gIGZiblNwZWMubV9uTnVtRGF0YUNvbm5lY3Rpb25zID0gbHVhRW5naW5lLT5nZXRGaWVsZDxURm9ydGVVSW50OCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8VEZvcnRlVUludDg+ID4oaW5kZXgsICJudW1EQ29ucyIpOw0KLSAgc2l6ZV90IG51bURDb25zID0gZmJuU3BlYy5tX25OdW1EYXRhQ29ubmVjdGlvbnM7DQotICBmYm5TcGVjLm1fcHN0RGF0YUNvbm5lY3Rpb25zID0gbHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPFNDRkJfRkJDb25uZWN0aW9uRGF0YSwgbHVhdHlwZTo6Z2V0RkJDb25uZWN0aW9uRGF0YT4oaW5kZXgsICJkYXRhQ29ubmVjdGlvbnMiLCBudW1EQ29ucyk7DQotICAvL2Zhbm5lZE91dERhdGFDb25uZWN0aW9ucw0KLSAgZmJuU3BlYy5tX25OdW1GYW5uZWRPdXREYXRhQ29ubmVjdGlvbnMgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bUZEQ29ucyIpOw0KLSAgc2l6ZV90IG51bUZEQ29ucyA9IGZiblNwZWMubV9uTnVtRmFubmVkT3V0RGF0YUNvbm5lY3Rpb25zOw0KLSAgZmJuU3BlYy5tX3BzdEZhbm5lZE91dERhdGFDb25uZWN0aW9ucyA9IGx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxTQ0ZCX0ZCRmFubmVkT3V0Q29ubmVjdGlvbkRhdGEsIGx1YXR5cGU6OmdldEZCRmFubmVkT3V0Q29ubmVjdGlvbkRhdGE+KGluZGV4LCAiZmFubmVkT3V0RGF0YUNvbm5lY3Rpb25zIiwgbnVtRkRDb25zKTsNCi0gIC8vcGFyYW1ldGVycw0KLSAgZmJuU3BlYy5tX25OdW1QYXJhbXMgPSBsdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihpbmRleCwgIm51bVBhcmFtcyIpOw0KLSAgc2l6ZV90IG51bVBhcmFtcyA9IGZiblNwZWMubV9uTnVtUGFyYW1zOw0KLSAgZmJuU3BlYy5tX3BzdFBhcmFtcyA9IGx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxTQ0ZCX0ZCUGFyYW1ldGVyLCBsdWF0eXBlOjpnZXRGQlBhcmFtZXRlcj4oaW5kZXgsICJwYXJhbWV0ZXJzIiwgbnVtUGFyYW1zKTsNCi0gIC8vY2hlY2tzDQotICBpZiAoZmJuU3BlYy5tX3BzdEZCSW5zdGFuY2VzID09IE5VTEwpIHsNCi0gICAgcmV0dXJuIGZhbHNlOw0KLSAgfQ0KLSAgcmV0dXJuIHRydWU7DQotfQ0KLQ0KLXZvaWQgQ0x1YUNGQlR5cGVFbnRyeTo6ZGVsZXRlRmJuU3BlYyhTQ0ZCX0ZCTkRhdGEmIGZiblNwZWMpIHsNCi0gIGRlbGV0ZVtdIGZiblNwZWMubV9wc3RGQkluc3RhbmNlczsNCi0gIGRlbGV0ZVtdIGZiblNwZWMubV9wc3RFdmVudENvbm5lY3Rpb25zOw0KLSAgZGVsZXRlW10gZmJuU3BlYy5tX3BzdEZhbm5lZE91dEV2ZW50Q29ubmVjdGlvbnM7DQotICBkZWxldGVbXSBmYm5TcGVjLm1fcHN0RGF0YUNvbm5lY3Rpb25zOw0KLSAgZGVsZXRlW10gZmJuU3BlYy5tX3BzdEZhbm5lZE91dERhdGFDb25uZWN0aW9uczsNCi0gIGRlbGV0ZVtdIGZiblNwZWMubV9wc3RQYXJhbXM7DQotfQ0KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTW9uaWthIFdlbmdlcgorICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImx1YWNmYnR5cGVlbnRyeS5oIgorCisjaW5jbHVkZSAicmVzb3VyY2UuaCIKKyNpbmNsdWRlICJsdWFlbmdpbmUuaCIKKyNpbmNsdWRlICJsdWFjZmIuaCIKKyNpbmNsdWRlICJsdWF0eXBlLmgiCisKK25hbWVzcGFjZSBsdWF0eXBlIHsKKyAgYm9vbCBnZXRGQkluc3RhbmNlRGF0YShTQ0ZCX0ZCSW5zdGFuY2VEYXRhJiBwYURlZiwgQ0x1YUVuZ2luZSogcGFMdWFFbmdpbmUsIGludCBwYUluZGV4KSB7CisgICAgcGFEZWYubV9uRkJJbnN0YW5jZU5hbWVJZCA9IHBhTHVhRW5naW5lLT5nZXRGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KHBhSW5kZXgsICJmYk5hbWVJRCIpOworICAgIHBhRGVmLm1fbkZCVHlwZU5hbWVJZCA9IHBhTHVhRW5naW5lLT5nZXRGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KHBhSW5kZXgsICJmYlR5cGVJRCIpOworICAgIGlmKHBhRGVmLm1fbkZCSW5zdGFuY2VOYW1lSWQgPT0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkIHx8IHBhRGVmLm1fbkZCVHlwZU5hbWVJZCA9PSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICBib29sIGdldEZCQ29ubmVjdGlvbkRhdGEoU0NGQl9GQkNvbm5lY3Rpb25EYXRhJiBwYURlZiwgQ0x1YUVuZ2luZSogcGFMdWFFbmdpbmUsIGludCBwYUluZGV4KSB7CisgICAgcGFEZWYubV9uRHN0RkJOdW0gPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8aW50LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxpbnQ+ID4ocGFJbmRleCwgImRzdEZCTnVtIik7CisgICAgcGFEZWYubV9uRHN0SWQgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiZHN0SUQiKTsKKyAgICBwYURlZi5tX25TcmNGQk51bSA9IHBhTHVhRW5naW5lLT5nZXRGaWVsZDxpbnQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPGludD4gPihwYUluZGV4LCAic3JjRkJOdW0iKTsKKyAgICBwYURlZi5tX25TcmNJZCA9IHBhTHVhRW5naW5lLT5nZXRGaWVsZDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nSWQ+KHBhSW5kZXgsICJzcmNJRCIpOworICAgIGlmKHBhRGVmLm1fbkRzdElkID09IENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCB8fCBwYURlZi5tX25TcmNJZCA9PSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7CisgIH0KKworICBib29sIGdldEZCRmFubmVkT3V0Q29ubmVjdGlvbkRhdGEoU0NGQl9GQkZhbm5lZE91dENvbm5lY3Rpb25EYXRhJiBwYURlZiwgQ0x1YUVuZ2luZSogcGFMdWFFbmdpbmUsIGludCBwYUluZGV4KSB7CisgICAgcGFEZWYubV9uQ29ubmVjdGlvbk51bSA9IHBhTHVhRW5naW5lLT5nZXRGaWVsZDxpbnQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPGludD4gPihwYUluZGV4LCAiY29ubmVjdGlvbk51bSIpOworICAgIHBhRGVmLm1fbkRzdEZCTnVtID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPGludCwgJkNMdWFFbmdpbmU6OmdldEludGVnZXI8aW50PiA+KHBhSW5kZXgsICJkc3RGQk51bSIpOworICAgIHBhRGVmLm1fbkRzdElkID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsICZDTHVhRW5naW5lOjpnZXRTdHJpbmdJZD4ocGFJbmRleCwgImRzdElEIik7CisgICAgaWYocGFEZWYubV9uRHN0SWQgPT0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkKSB7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworICB9CisKKyAgYm9vbCBnZXRGQlBhcmFtZXRlcihTQ0ZCX0ZCUGFyYW1ldGVyJiBwYURlZiwgQ0x1YUVuZ2luZSogcGFMdWFFbmdpbmUsIGludCBwYUluZGV4KSB7CisgICAgcGFEZWYubV9hY1BhcmFtVmFsdWUgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8Y2hhciAqLCAmQ0x1YUVuZ2luZTo6Z2V0U3RyaW5nPihwYUluZGV4LCAicGFyYW1WYWx1ZSIpOworICAgIHBhRGVmLm1fbkRJTmFtZUlEID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQsICZDTHVhRW5naW5lOjpnZXRTdHJpbmdJZD4ocGFJbmRleCwgImRpTmFtZUlEIik7CisgICAgcGFEZWYubV9uRkJOdW0gPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8aW50LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxpbnQ+ID4ocGFJbmRleCwgImZiTnVtIik7CisgICAgaWYocGFEZWYubV9uRElOYW1lSUQgPT0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkKSB7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworICB9Cit9CisKK0NMdWFDRkJUeXBlRW50cnk6OkNMdWFDRkJUeXBlRW50cnkoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYVR5cGVOYW1lSWQsIENJRUNfU1RSSU5HIHBhTHVhU2NyaXB0QXNTdHJpbmcsIFNGQkludGVyZmFjZVNwZWMmIHBhSW50ZXJmYWNlU3BlYywKKyAgICBTQ0ZCX0ZCTkRhdGEmIHBhRmJuU3BlYykgOgorICAgIENUeXBlTGliOjpDRkJUeXBlRW50cnkocGFUeXBlTmFtZUlkLCAwLCAmbV9pbnRlcmZhY2VTcGVjKSwgY21fc0x1YVNjcmlwdEFzU3RyaW5nKHBhTHVhU2NyaXB0QXNTdHJpbmcpLCBtX2ludGVyZmFjZVNwZWMocGFJbnRlcmZhY2VTcGVjKSwgbV9mYm5TcGVjKHBhRmJuU3BlYykgeworfQorCitDTHVhQ0ZCVHlwZUVudHJ5Ojp+Q0x1YUNGQlR5cGVFbnRyeSgpIHsKKyAgZGVsZXRlSW50ZXJmYWNlU3BlYyhtX2ludGVyZmFjZVNwZWMpOworICBkZWxldGVGYm5TcGVjKG1fZmJuU3BlYyk7Cit9CisKK0NMdWFDRkJUeXBlRW50cnkqIENMdWFDRkJUeXBlRW50cnk6OmNyZWF0ZUx1YUZCVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFUeXBlTmFtZUlkLCBDSUVDX1NUUklORyYgcGFMdWFTY3JpcHRBc1N0cmluZykgeworICBDTHVhRW5naW5lIGx1YUVuZ2luZTsKKyAgaWYoIWx1YUVuZ2luZS5sb2FkU3RyaW5nKHN0ZDo6c3RyaW5nKHBhTHVhU2NyaXB0QXNTdHJpbmcuZ2V0VmFsdWUoKSkpKSB7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKyAgLy9pbnRlcmZhY2VTcGVjCisgIFNGQkludGVyZmFjZVNwZWMgaW50ZXJmYWNlU3BlYyA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCB9OworICBpZighbHVhRW5naW5lLnB1c2hGaWVsZCgtMSwgImludGVyZmFjZVNwZWMiLCBMVUFfVFRBQkxFKSkgeworICAgIHJldHVybiBOVUxMOworICB9CisgIGlmKCFpbml0SW50ZXJmYWNlU3BlYyhpbnRlcmZhY2VTcGVjLCAmbHVhRW5naW5lLCAtMSkpIHsKKyAgICBkZWxldGVJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMpOworICAgIHJldHVybiBOVUxMOworICB9CisgIGx1YUVuZ2luZS5wb3AoKTsgLy9wb3AgaW50ZXJmYWNlU3BlYworICAvL2ZiblNwZWMKKyAgU0NGQl9GQk5EYXRhIGZiblNwZWMgPSB7IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAgfTsKKyAgaWYoIWx1YUVuZ2luZS5wdXNoRmllbGQoLTEsICJmYm5TcGVjIiwgTFVBX1RUQUJMRSkpIHsKKyAgICBkZWxldGVJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMpOworICAgIHJldHVybiBOVUxMOworICB9CisgIGlmKCFpbml0RmJuU3BlYyhmYm5TcGVjLCAmbHVhRW5naW5lLCAtMSkpIHsKKyAgICBkZWxldGVJbnRlcmZhY2VTcGVjKGludGVyZmFjZVNwZWMpOworICAgIGRlbGV0ZUZiblNwZWMoZmJuU3BlYyk7CisgICAgcmV0dXJuIE5VTEw7CisgIH0KKyAgbHVhRW5naW5lLnBvcCgpOyAvL3BvcCBmYm5TcGVjCisgIGx1YUVuZ2luZS5wb3AoKTsgLy9wb3AgbG9hZGVkIGRlZnMKKyAgcmV0dXJuIG5ldyBDTHVhQ0ZCVHlwZUVudHJ5KHBhVHlwZU5hbWVJZCwgcGFMdWFTY3JpcHRBc1N0cmluZywgaW50ZXJmYWNlU3BlYywgZmJuU3BlYyk7Cit9CisKK0NGdW5jdGlvbkJsb2NrKiBDTHVhQ0ZCVHlwZUVudHJ5OjpjcmVhdGVGQkluc3RhbmNlKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYVNyY1JlcykgeworICBDTHVhRW5naW5lKiBsdWFFbmdpbmUgPSBwYVNyY1Jlcy0+Z2V0THVhRW5naW5lKCk7CisgIGlmKCFsdWFFbmdpbmUtPmxvYWQodGhpcykgJiYgKCFsdWFFbmdpbmUtPmxvYWRTdHJpbmcoc3RkOjpzdHJpbmcoY21fc0x1YVNjcmlwdEFzU3RyaW5nLmdldFZhbHVlKCkpKSkpIHsKKyAgICByZXR1cm4gTlVMTDsKKyAgfQorICBURm9ydGVCeXRlKiBjb25uRGF0YSA9IG5ldyBURm9ydGVCeXRlW0NGdW5jdGlvbkJsb2NrOjpnZW5GQkNvbm5EYXRhU2l6ZShtX2ludGVyZmFjZVNwZWMubV9uTnVtRU9zLCBtX2ludGVyZmFjZVNwZWMubV9uTnVtRElzLCBtX2ludGVyZmFjZVNwZWMubV9uTnVtRE9zKV07CisgIFRGb3J0ZUJ5dGUqIHZhcnNEYXRhID0gbmV3IFRGb3J0ZUJ5dGVbQ0NvbXBvc2l0ZUZCOjpnZW5GQlZhcnNEYXRhU2l6ZShtX2ludGVyZmFjZVNwZWMubV9uTnVtRElzLCBtX2ludGVyZmFjZVNwZWMubV9uTnVtRE9zLCBtX2ludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnMpXTsKKyAgcmV0dXJuIG5ldyBDTHVhQ0ZCKHBhSW5zdGFuY2VOYW1lSWQsIHRoaXMsIGdldEZiblNwZWMoKSwgY29ubkRhdGEsIHZhcnNEYXRhLCBwYVNyY1Jlcyk7Cit9CisKK2Jvb2wgQ0x1YUNGQlR5cGVFbnRyeTo6aW5pdEludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgcGFJbnRlcmZhY2VTcGVjLCBDTHVhRW5naW5lKiBwYUx1YUVuZ2luZSwgaW50IHBhSW5kZXgpIHsKKyAgLy9FSQorICBwYUludGVyZmFjZVNwZWMubV9uTnVtRUlzID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRUlzIik7CisgIHNpemVfdCBudW1FSXMgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtRUlzOworICBwYUludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiRUlOYW1lcyIsIG51bUVJcyk7CisgIHNpemVfdCBudW1FSVdpdGggPSBTSVpFX01BWDsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGggPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURGF0YUlPSUQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFREYXRhSU9JRD4gPihwYUluZGV4LCAiRUlXaXRoIiwgbnVtRUlXaXRoKTsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGhJbmRleGVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8VEZvcnRlSW50MTYsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZUludDE2PiA+KHBhSW5kZXgsICJFSVdpdGhJbmRleGVzIiwgbnVtRUlzKTsKKyAgLy9FTworICBwYUludGVyZmFjZVNwZWMubV9uTnVtRU9zID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRU9zIik7CisgIHNpemVfdCBudW1FT3MgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtRU9zOworICBwYUludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiRU9OYW1lcyIsIG51bUVPcyk7CisgIHNpemVfdCBudW1FT1dpdGggPSBTSVpFX01BWDsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGggPSBwYUx1YUVuZ2luZS0+Z2V0QXJyYXlGaWVsZDxURGF0YUlPSUQsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFREYXRhSU9JRD4gPihwYUluZGV4LCAiRU9XaXRoIiwgbnVtRU9XaXRoKTsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8VEZvcnRlSW50MTYsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZUludDE2PiA+KHBhSW5kZXgsICJFT1dpdGhJbmRleGVzIiwgbnVtRU9zKTsKKyAgLy9ESQorICBwYUludGVyZmFjZVNwZWMubV9uTnVtRElzID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRElzIik7CisgIHNpemVfdCBudW1ESXMgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtRElzOworICBwYUludGVyZmFjZVNwZWMubV9hdW5ESU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiRElOYW1lcyIsIG51bURJcyk7CisgIHNpemVfdCBudW1ESURhdGFUeXBlTmFtZXMgPSBTSVpFX01BWDsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRElEYXRhVHlwZU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgbHVhdHlwZTo6Z2V0VHlwZU5hbWVJZD4ocGFJbmRleCwgIkRJRGF0YVR5cGVOYW1lcyIsCisgICAgbnVtRElEYXRhVHlwZU5hbWVzKTsKKyAgLy9ETworICBwYUludGVyZmFjZVNwZWMubV9uTnVtRE9zID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRE9zIik7CisgIHNpemVfdCBudW1ET3MgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtRE9zOworICBwYUludGVyZmFjZVNwZWMubV9hdW5ET05hbWVzID0gcGFMdWFFbmdpbmUtPmdldEFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgJkNMdWFFbmdpbmU6OmdldFN0cmluZ0lkPihwYUluZGV4LCAiRE9OYW1lcyIsIG51bURPcyk7CisgIHNpemVfdCBudW1ET0RhdGFUeXBlTmFtZXMgPSBTSVpFX01BWDsKKyAgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRE9EYXRhVHlwZU5hbWVzID0gcGFMdWFFbmdpbmUtPmdldEN1c3RvbUFycmF5RmllbGQ8Q1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCwgbHVhdHlwZTo6Z2V0VHlwZU5hbWVJZD4ocGFJbmRleCwgIkRPRGF0YVR5cGVOYW1lcyIsCisgICAgbnVtRE9EYXRhVHlwZU5hbWVzKTsKKyAgLy9BZGFwdGVycworICBwYUludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnMgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1BZGFwdGVycyIpOworICBzaXplX3QgbnVtQWRhcHRlcnMgPSBwYUludGVyZmFjZVNwZWMubV9uTnVtQWRhcHRlcnM7CisgIHBhSW50ZXJmYWNlU3BlYy5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPSBwYUx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxTQWRhcHRlckluc3RhbmNlRGVmLCBsdWF0eXBlOjpnZXRBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uPihwYUluZGV4LAorICAgICJhZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uIiwgbnVtQWRhcHRlcnMpOworICAvL2NoZWNrcworICBpZihwYUludGVyZmFjZVNwZWMubV9hdW5FSU5hbWVzID09IE5VTEwgfHwgcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGggPT0gTlVMTCB8fCBwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXMgPT0gTlVMTAorICAgIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXMgPT0gTlVMTCB8fCBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aCA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoSW5kZXhlcyA9PSBOVUxMCisgICAgfHwgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRElOYW1lcyA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRJRGF0YVR5cGVOYW1lcyA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXMgPT0gTlVMTAorICAgIHx8IHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPRGF0YVR5cGVOYW1lcyA9PSBOVUxMIHx8IHBhSW50ZXJmYWNlU3BlYy5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPT0gTlVMTCkgeworICAgIHJldHVybiBmYWxzZTsKKyAgfQorICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgbnVtRUlzOyBpKyspIHsKKyAgICBpZihwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXNbaV0gPj0gKFRGb3J0ZUludDE2KSBudW1FSVdpdGgpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgIH0KKyAgZm9yKHNpemVfdCBpID0gMDsgaSA8IG51bUVPczsgaSsrKSB7CisgICAgaWYocGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzW2ldID49IChURm9ydGVJbnQxNikgbnVtRU9XaXRoKSB7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiB0cnVlOworfQorCit2b2lkIENMdWFDRkJUeXBlRW50cnk6OmRlbGV0ZUludGVyZmFjZVNwZWMoU0ZCSW50ZXJmYWNlU3BlYyYgcGFJbnRlcmZhY2VTcGVjKSB7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkVJTmFtZXM7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hbkVJV2l0aEluZGV4ZXM7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkVPTmFtZXM7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2FuRU9XaXRoOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXM7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXM7CisgIGRlbGV0ZVtdIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRJRGF0YVR5cGVOYW1lczsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYXVuRE9OYW1lczsKKyAgZGVsZXRlW10gcGFJbnRlcmZhY2VTcGVjLm1fYXVuRE9EYXRhVHlwZU5hbWVzOworICBkZWxldGVbXSBwYUludGVyZmFjZVNwZWMubV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uOworfQorCitib29sIENMdWFDRkJUeXBlRW50cnk6OmluaXRGYm5TcGVjKFNDRkJfRkJORGF0YSYgcGFGYm5TcGVjLCBDTHVhRW5naW5lKiBwYUx1YUVuZ2luZSwgaW50IHBhSW5kZXgpIHsKKyAgLy9pbnRlcm5hbEZCcworICBwYUZiblNwZWMubV9uTnVtRkJzID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRkJzIik7CisgIHNpemVfdCBudW1GQnMgPSBwYUZiblNwZWMubV9uTnVtRkJzOworICBwYUZiblNwZWMubV9wc3RGQkluc3RhbmNlcyA9IHBhTHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPFNDRkJfRkJJbnN0YW5jZURhdGEsIGx1YXR5cGU6OmdldEZCSW5zdGFuY2VEYXRhPihwYUluZGV4LCAiaW50ZXJuYWxGQnMiLCBudW1GQnMpOworICAvL2V2ZW50Q29ubmVjdGlvbnMKKyAgcGFGYm5TcGVjLm1fbk51bUV2ZW50Q29ubmVjdGlvbnMgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1FQ29ucyIpOworICBzaXplX3QgbnVtRUNvbnMgPSBwYUZiblNwZWMubV9uTnVtRXZlbnRDb25uZWN0aW9uczsKKyAgcGFGYm5TcGVjLm1fcHN0RXZlbnRDb25uZWN0aW9ucyA9IHBhTHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPFNDRkJfRkJDb25uZWN0aW9uRGF0YSwgbHVhdHlwZTo6Z2V0RkJDb25uZWN0aW9uRGF0YT4ocGFJbmRleCwgImV2ZW50Q29ubmVjdGlvbnMiLAorICAgIG51bUVDb25zKTsKKyAgLy9mYW5uZWRPdXRFdmVudENvbm5lY3Rpb25zCisgIHBhRmJuU3BlYy5tX25OdW1GYW5uZWRPdXRFdmVudENvbm5lY3Rpb25zID0gcGFMdWFFbmdpbmUtPmdldEZpZWxkPFRGb3J0ZVVJbnQ4LCAmQ0x1YUVuZ2luZTo6Z2V0SW50ZWdlcjxURm9ydGVVSW50OD4gPihwYUluZGV4LCAibnVtRkVDb25zIik7CisgIHNpemVfdCBudW1GRUNvbnMgPSBwYUZiblNwZWMubV9uTnVtRmFubmVkT3V0RXZlbnRDb25uZWN0aW9uczsKKyAgcGFGYm5TcGVjLm1fcHN0RmFubmVkT3V0RXZlbnRDb25uZWN0aW9ucyA9IHBhTHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPFNDRkJfRkJGYW5uZWRPdXRDb25uZWN0aW9uRGF0YSwgbHVhdHlwZTo6Z2V0RkJGYW5uZWRPdXRDb25uZWN0aW9uRGF0YT4ocGFJbmRleCwKKyAgICAiZmFubmVkT3V0RXZlbnRDb25uZWN0aW9ucyIsIG51bUZFQ29ucyk7CisgIC8vZGF0YUNvbm5lY3Rpb25zCisgIHBhRmJuU3BlYy5tX25OdW1EYXRhQ29ubmVjdGlvbnMgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1EQ29ucyIpOworICBzaXplX3QgbnVtRENvbnMgPSBwYUZiblNwZWMubV9uTnVtRGF0YUNvbm5lY3Rpb25zOworICBwYUZiblNwZWMubV9wc3REYXRhQ29ubmVjdGlvbnMgPSBwYUx1YUVuZ2luZS0+Z2V0Q3VzdG9tQXJyYXlGaWVsZDxTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEsIGx1YXR5cGU6OmdldEZCQ29ubmVjdGlvbkRhdGE+KHBhSW5kZXgsICJkYXRhQ29ubmVjdGlvbnMiLCBudW1EQ29ucyk7CisgIC8vZmFubmVkT3V0RGF0YUNvbm5lY3Rpb25zCisgIHBhRmJuU3BlYy5tX25OdW1GYW5uZWRPdXREYXRhQ29ubmVjdGlvbnMgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1GRENvbnMiKTsKKyAgc2l6ZV90IG51bUZEQ29ucyA9IHBhRmJuU3BlYy5tX25OdW1GYW5uZWRPdXREYXRhQ29ubmVjdGlvbnM7CisgIHBhRmJuU3BlYy5tX3BzdEZhbm5lZE91dERhdGFDb25uZWN0aW9ucyA9IHBhTHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPFNDRkJfRkJGYW5uZWRPdXRDb25uZWN0aW9uRGF0YSwgbHVhdHlwZTo6Z2V0RkJGYW5uZWRPdXRDb25uZWN0aW9uRGF0YT4ocGFJbmRleCwKKyAgICAiZmFubmVkT3V0RGF0YUNvbm5lY3Rpb25zIiwgbnVtRkRDb25zKTsKKyAgLy9wYXJhbWV0ZXJzCisgIHBhRmJuU3BlYy5tX25OdW1QYXJhbXMgPSBwYUx1YUVuZ2luZS0+Z2V0RmllbGQ8VEZvcnRlVUludDgsICZDTHVhRW5naW5lOjpnZXRJbnRlZ2VyPFRGb3J0ZVVJbnQ4PiA+KHBhSW5kZXgsICJudW1QYXJhbXMiKTsKKyAgc2l6ZV90IG51bVBhcmFtcyA9IHBhRmJuU3BlYy5tX25OdW1QYXJhbXM7CisgIHBhRmJuU3BlYy5tX3BzdFBhcmFtcyA9IHBhTHVhRW5naW5lLT5nZXRDdXN0b21BcnJheUZpZWxkPFNDRkJfRkJQYXJhbWV0ZXIsIGx1YXR5cGU6OmdldEZCUGFyYW1ldGVyPihwYUluZGV4LCAicGFyYW1ldGVycyIsIG51bVBhcmFtcyk7CisgIC8vY2hlY2tzCisgIGlmKHBhRmJuU3BlYy5tX3BzdEZCSW5zdGFuY2VzID09IE5VTEwpIHsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQ0x1YUNGQlR5cGVFbnRyeTo6ZGVsZXRlRmJuU3BlYyhTQ0ZCX0ZCTkRhdGEmIHBhRmJuU3BlYykgeworICBkZWxldGVbXSBwYUZiblNwZWMubV9wc3RGQkluc3RhbmNlczsKKyAgZGVsZXRlW10gcGFGYm5TcGVjLm1fcHN0RXZlbnRDb25uZWN0aW9uczsKKyAgZGVsZXRlW10gcGFGYm5TcGVjLm1fcHN0RmFubmVkT3V0RXZlbnRDb25uZWN0aW9uczsKKyAgZGVsZXRlW10gcGFGYm5TcGVjLm1fcHN0RGF0YUNvbm5lY3Rpb25zOworICBkZWxldGVbXSBwYUZiblNwZWMubV9wc3RGYW5uZWRPdXREYXRhQ29ubmVjdGlvbnM7CisgIGRlbGV0ZVtdIHBhRmJuU3BlYy5tX3BzdFBhcmFtczsKK30KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2x1YS9sdWFjZmJ0eXBlZW50cnkuaCBiL3NyYy9jb3JlL2x1YS9sdWFjZmJ0eXBlZW50cnkuaAppbmRleCBlMTExYmVhLi4wMTJiNWI3IDEwMDY0NAotLS0gYS9zcmMvY29yZS9sdWEvbHVhY2ZidHlwZWVudHJ5LmgKKysrIGIvc3JjL2NvcmUvbHVhL2x1YWNmYnR5cGVlbnRyeS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hcnRpbiBKb2JzdA0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2x1YS9sdWFlbmdpbmUuY3BwIGIvc3JjL2NvcmUvbHVhL2x1YWVuZ2luZS5jcHAKaW5kZXggNjIxYjY3Mi4uYzc4OWNmMCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvbHVhL2x1YWVuZ2luZS5jcHAKKysrIGIvc3JjL2NvcmUvbHVhL2x1YWVuZ2luZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE2IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hcnRpbiBKb2JzdCwgTW9uaWthIFdlbmdlcg0KQEAgLTUwLDEwICs1MSwxMCBAQAogICBsdWFfY2xvc2UobHVhU3RhdGUpOw0KIH0NCiANCi1ib29sIENMdWFFbmdpbmU6OmxvYWRTdHJpbmcoY29uc3Qgc3RkOjpzdHJpbmcmIHN0cikgew0KLSAgaW50IGVyciA9IGx1YUxfbG9hZHN0cmluZyhsdWFTdGF0ZSwgc3RyLmNfc3RyKCkpOw0KLSAgaWYgKGVycikgew0KLSAgICBzd2l0Y2ggKGVycikgew0KK2Jvb2wgQ0x1YUVuZ2luZTo6bG9hZFN0cmluZyhjb25zdCBzdGQ6OnN0cmluZyYgcGFTdHIpIHsNCisgIGludCBlcnIgPSBsdWFMX2xvYWRzdHJpbmcobHVhU3RhdGUsIHBhU3RyLmNfc3RyKCkpOw0KKyAgaWYoZXJyKSB7DQorICAgIHN3aXRjaChlcnIpew0KICAgICAgIGNhc2UgTFVBX0VSUlNZTlRBWDoNCiAgICAgICAgIERFVkxPR19FUlJPUigiU3ludGF4IGVycm9yIGxvYWRpbmcgTHVhIGRlZmluaXRpb25zXG4iKTsNCiAgICAgICAgIGJyZWFrOw0KQEAgLTY1LDE3ICs2NiwxNyBAQAogICAgIH0NCiAgICAgcmV0dXJuIGZhbHNlOw0KICAgfQ0KLSAgaWYgKCFjYWxsKDAsIDEpKSB7DQorICBpZighY2FsbCgwLCAxKSkgew0KICAgICBERVZMT0dfRVJST1IoIkVycm9yIGxvYWRpbmcgZGVmaW5pdGlvbnNcbiIpOw0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogICByZXR1cm4gdHJ1ZTsNCiB9DQogDQotYm9vbCBDTHVhRW5naW5lOjpjYWxsKGludCBhcmdzLCBpbnQgcmVzdWx0cykgew0KLSAgaW50IGVyciA9IGx1YV9wY2FsbChsdWFTdGF0ZSwgYXJncywgcmVzdWx0cywgMCk7DQotICBpZiAoZXJyKSB7DQotICAgIHN3aXRjaCAoZXJyKSB7DQorYm9vbCBDTHVhRW5naW5lOjpjYWxsKGludCBwYUFyZ3MsIGludCBwYVJlc3VsdHMpIHsNCisgIGludCBlcnIgPSBsdWFfcGNhbGwobHVhU3RhdGUsIHBhQXJncywgcGFSZXN1bHRzLCAwKTsNCisgIGlmKGVycikgew0KKyAgICBzd2l0Y2goZXJyKXsNCiAgICAgICBjYXNlIExVQV9FUlJSVU46DQogICAgICAgICBERVZMT0dfRVJST1IoIlJ1bnRpbWUgZXJyb3IgY2FsbGluZyBMdWEgZnVuY3Rpb246ICVzXG4iLCBsdWFfdG9zdHJpbmcobHVhU3RhdGUsIC0xKSk7DQogICAgICAgICBicmVhazsNCkBAIC05MywxODUgKzk0LDE4NyBAQAogICByZXR1cm4gdHJ1ZTsNCiB9DQogDQotYm9vbCBDTHVhRW5naW5lOjpsdWFQdXNoQW55KGx1YV9TdGF0ZSAqbHVhU3RhdGUsIENJRUNfQU5ZICp2YWx1ZSkgew0KLSAgaWYgKCF2YWx1ZSkNCitib29sIENMdWFFbmdpbmU6Omx1YVB1c2hBbnkobHVhX1N0YXRlICpwYUx1YVN0YXRlLCBDSUVDX0FOWSAqcGFWYWx1ZSkgew0KKyAgaWYoIXBhVmFsdWUpIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KKyAgfQ0KIA0KLSAgc3dpdGNoICh2YWx1ZS0+Z2V0RGF0YVR5cGVJRCgpKSB7DQorICBzd2l0Y2gocGFWYWx1ZS0+Z2V0RGF0YVR5cGVJRCgpKXsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9CT09MOg0KLSAgICAgIGx1YV9wdXNoYm9vbGVhbihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8Ym9vbD4oKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KHZhbHVlKSkpOw0KKyAgICAgIGx1YV9wdXNoYm9vbGVhbihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxib29sPigqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4ocGFWYWx1ZSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9TSU5UOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlSW50OD4oKnN0YXRpY19jYXN0PENJRUNfU0lOVCo+KHZhbHVlKSkpOw0KKyAgICAgIGx1YV9wdXNoaW50ZWdlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVJbnQ4Pigqc3RhdGljX2Nhc3Q8Q0lFQ19TSU5UKj4ocGFWYWx1ZSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9JTlQ6DQotICAgICAgbHVhX3B1c2hpbnRlZ2VyKGx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVJbnQxNj4oKnN0YXRpY19jYXN0PENJRUNfSU5UKj4odmFsdWUpKSk7DQorICAgICAgbHVhX3B1c2hpbnRlZ2VyKHBhTHVhU3RhdGUsIHN0YXRpY19jYXN0PFRGb3J0ZUludDE2Pigqc3RhdGljX2Nhc3Q8Q0lFQ19JTlQqPihwYVZhbHVlKSkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIENJRUNfQU5ZOjplX0RJTlQ6DQotICAgICAgbHVhX3B1c2hpbnRlZ2VyKGx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVJbnQzMj4oKnN0YXRpY19jYXN0PENJRUNfRElOVCo+KHZhbHVlKSkpOw0KKyAgICAgIGx1YV9wdXNoaW50ZWdlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVJbnQzMj4oKnN0YXRpY19jYXN0PENJRUNfRElOVCo+KHBhVmFsdWUpKSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfTElOVDoNCi0gICAgICBsdWFfcHVzaGludGVnZXIobHVhU3RhdGUsIHN0YXRpY19jYXN0PFRGb3J0ZUludDY0Pigqc3RhdGljX2Nhc3Q8Q0lFQ19MSU5UKj4odmFsdWUpKSk7DQorICAgICAgbHVhX3B1c2hpbnRlZ2VyKHBhTHVhU3RhdGUsIHN0YXRpY19jYXN0PGx1YV9JbnRlZ2VyPihzdGF0aWNfY2FzdDxURm9ydGVJbnQ2ND4oKnN0YXRpY19jYXN0PENJRUNfTElOVCo+KHBhVmFsdWUpKSkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIENJRUNfQU5ZOjplX1VTSU5UOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDg+KCpzdGF0aWNfY2FzdDxDSUVDX1VTSU5UKj4odmFsdWUpKSk7DQorICAgICAgbHVhX3B1c2hpbnRlZ2VyKHBhTHVhU3RhdGUsIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ4Pigqc3RhdGljX2Nhc3Q8Q0lFQ19VU0lOVCo+KHBhVmFsdWUpKSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfVUlOVDoNCi0gICAgICBsdWFfcHVzaGludGVnZXIobHVhU3RhdGUsIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oKnN0YXRpY19jYXN0PENJRUNfVUlOVCo+KHZhbHVlKSkpOw0KKyAgICAgIGx1YV9wdXNoaW50ZWdlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KCpzdGF0aWNfY2FzdDxDSUVDX1VJTlQqPihwYVZhbHVlKSkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIENJRUNfQU5ZOjplX1VESU5UOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPigqc3RhdGljX2Nhc3Q8Q0lFQ19VRElOVCo+KHZhbHVlKSkpOw0KKyAgICAgIGx1YV9wdXNoaW50ZWdlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVVSW50MzI+KCpzdGF0aWNfY2FzdDxDSUVDX1VESU5UKj4ocGFWYWx1ZSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9VTElOVDoNCi0gICAgICBsdWFfcHVzaGludGVnZXIobHVhU3RhdGUsIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ2ND4oKnN0YXRpY19jYXN0PENJRUNfVUxJTlQqPih2YWx1ZSkpKTsNCisgICAgICBsdWFfcHVzaGludGVnZXIocGFMdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8bHVhX0ludGVnZXI+KHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ2ND4oKnN0YXRpY19jYXN0PENJRUNfVUxJTlQqPihwYVZhbHVlKSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9CWVRFOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlQnl0ZT4oKnN0YXRpY19jYXN0PENJRUNfQllURSo+KHZhbHVlKSkpOw0KKyAgICAgIGx1YV9wdXNoaW50ZWdlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVCeXRlPigqc3RhdGljX2Nhc3Q8Q0lFQ19CWVRFKj4ocGFWYWx1ZSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9XT1JEOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlV29yZD4oKnN0YXRpY19jYXN0PENJRUNfV09SRCo+KHZhbHVlKSkpOw0KKyAgICAgIGx1YV9wdXNoaW50ZWdlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVXb3JkPigqc3RhdGljX2Nhc3Q8Q0lFQ19XT1JEKj4ocGFWYWx1ZSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9EV09SRDoNCi0gICAgICBsdWFfcHVzaGludGVnZXIobHVhU3RhdGUsIHN0YXRpY19jYXN0PFRGb3J0ZURXb3JkPigqc3RhdGljX2Nhc3Q8Q0lFQ19EV09SRCo+KHZhbHVlKSkpOw0KKyAgICAgIGx1YV9wdXNoaW50ZWdlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVEV29yZD4oKnN0YXRpY19jYXN0PENJRUNfRFdPUkQqPihwYVZhbHVlKSkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIENJRUNfQU5ZOjplX0xXT1JEOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlTFdvcmQ+KCpzdGF0aWNfY2FzdDxDSUVDX0xXT1JEKj4odmFsdWUpKSk7DQorICAgICAgbHVhX3B1c2hpbnRlZ2VyKHBhTHVhU3RhdGUsIHN0YXRpY19jYXN0PGx1YV9JbnRlZ2VyPihzdGF0aWNfY2FzdDxURm9ydGVMV29yZD4oKnN0YXRpY19jYXN0PENJRUNfTFdPUkQqPihwYVZhbHVlKSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9EQVRFOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDY0Pigqc3RhdGljX2Nhc3Q8Q0lFQ19EQVRFKj4odmFsdWUpKSk7DQorICAgICAgbHVhX3B1c2hpbnRlZ2VyKHBhTHVhU3RhdGUsIHN0YXRpY19jYXN0PGx1YV9JbnRlZ2VyPihzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KCpzdGF0aWNfY2FzdDxDSUVDX0RBVEUqPihwYVZhbHVlKSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9USU1FX09GX0RBWToNCi0gICAgICBsdWFfcHVzaGludGVnZXIobHVhU3RhdGUsIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ2ND4oKnN0YXRpY19jYXN0PENJRUNfVElNRV9PRl9EQVkqPih2YWx1ZSkpKTsNCisgICAgICBsdWFfcHVzaGludGVnZXIocGFMdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8bHVhX0ludGVnZXI+KHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ2ND4oKnN0YXRpY19jYXN0PENJRUNfVElNRV9PRl9EQVkqPihwYVZhbHVlKSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9EQVRFX0FORF9USU1FOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDY0Pigqc3RhdGljX2Nhc3Q8Q0lFQ19EQVRFX0FORF9USU1FKj4odmFsdWUpKSk7DQorICAgICAgbHVhX3B1c2hpbnRlZ2VyKHBhTHVhU3RhdGUsIHN0YXRpY19jYXN0PGx1YV9JbnRlZ2VyPihzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KCpzdGF0aWNfY2FzdDxDSUVDX0RBVEVfQU5EX1RJTUUqPihwYVZhbHVlKSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9USU1FOg0KLSAgICAgIGx1YV9wdXNoaW50ZWdlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlSW50NjQ+KCpzdGF0aWNfY2FzdDxDSUVDX1RJTUUqPih2YWx1ZSkpKTsNCisgICAgICBsdWFfcHVzaGludGVnZXIocGFMdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8bHVhX0ludGVnZXI+KHN0YXRpY19jYXN0PFRGb3J0ZUludDY0Pigqc3RhdGljX2Nhc3Q8Q0lFQ19USU1FKj4ocGFWYWx1ZSkpKSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfUkVBTDoNCi0gICAgICBsdWFfcHVzaG51bWJlcihsdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8VEZvcnRlRmxvYXQ+KCpzdGF0aWNfY2FzdDxDSUVDX1JFQUwqPih2YWx1ZSkpKTsNCisgICAgICBsdWFfcHVzaG51bWJlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVGbG9hdD4oKnN0YXRpY19jYXN0PENJRUNfUkVBTCo+KHBhVmFsdWUpKSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfTFJFQUw6DQotICAgICAgbHVhX3B1c2hudW1iZXIobHVhU3RhdGUsIHN0YXRpY19jYXN0PFRGb3J0ZURGbG9hdD4oKnN0YXRpY19jYXN0PENJRUNfTFJFQUwqPih2YWx1ZSkpKTsNCisgICAgICBsdWFfcHVzaG51bWJlcihwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxURm9ydGVERmxvYXQ+KCpzdGF0aWNfY2FzdDxDSUVDX0xSRUFMKj4ocGFWYWx1ZSkpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9TVFJJTkc6DQotICAgICAgbHVhX3B1c2hzdHJpbmcobHVhU3RhdGUsIHN0YXRpY19jYXN0PENJRUNfU1RSSU5HKj4odmFsdWUpLT5nZXRWYWx1ZSgpKTsNCisgICAgICBsdWFfcHVzaHN0cmluZyhwYUx1YVN0YXRlLCBzdGF0aWNfY2FzdDxDSUVDX1NUUklORyo+KHBhVmFsdWUpLT5nZXRWYWx1ZSgpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9XU1RSSU5HOg0KLSAgICAgIGx1YV9wdXNoc3RyaW5nKGx1YVN0YXRlLCBzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPih2YWx1ZSktPmdldFZhbHVlKCkpOw0KKyAgICAgIGx1YV9wdXNoc3RyaW5nKHBhTHVhU3RhdGUsIHN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KHBhVmFsdWUpLT5nZXRWYWx1ZSgpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9BUlJBWToNCi0gICAgICByZXR1cm4gbHVhUHVzaEFycmF5KGx1YVN0YXRlLCBzdGF0aWNfY2FzdDxDSUVDX0FSUkFZKj4odmFsdWUpKTsNCisgICAgICByZXR1cm4gbHVhUHVzaEFycmF5KHBhTHVhU3RhdGUsIHN0YXRpY19jYXN0PENJRUNfQVJSQVkqPihwYVZhbHVlKSk7DQogICAgIGRlZmF1bHQ6DQotICAgICAgREVWTE9HX0VSUk9SKCJDb252ZXJzaW9uIHRvIEx1YSBkYXRhdHlwZSB1bnN1cHBvcnRlZCBmb3IgdHlwZSB3aXRoIGlkICVzXG4iLCB2YWx1ZS0+Z2V0RGF0YVR5cGVJRCgpKTsNCi0gICAgICBsdWFfcHVzaG5pbChsdWFTdGF0ZSk7DQorICAgICAgREVWTE9HX0VSUk9SKCJDb252ZXJzaW9uIHRvIEx1YSBkYXRhdHlwZSB1bnN1cHBvcnRlZCBmb3IgdHlwZSB3aXRoIGlkICVzXG4iLCBwYVZhbHVlLT5nZXREYXRhVHlwZUlEKCkpOw0KKyAgICAgIGx1YV9wdXNobmlsKHBhTHVhU3RhdGUpOw0KICAgfQ0KIA0KICAgcmV0dXJuIHRydWU7DQogfQ0KIA0KLWJvb2wgQ0x1YUVuZ2luZTo6bHVhR2V0QW55KGx1YV9TdGF0ZSAqbHVhU3RhdGUsIENJRUNfQU5ZICp2YWx1ZSwgaW50IGluZGV4KSB7DQotICBpZiAoIXZhbHVlKQ0KK2Jvb2wgQ0x1YUVuZ2luZTo6bHVhR2V0QW55KGx1YV9TdGF0ZSAqcGFMdWFTdGF0ZSwgQ0lFQ19BTlkgKnBhVmFsdWUsIGludCBwYUluZGV4KSB7DQorICBpZighcGFWYWx1ZSkgew0KICAgICByZXR1cm4gZmFsc2U7DQotICBzd2l0Y2ggKHZhbHVlLT5nZXREYXRhVHlwZUlEKCkpIHsNCisgIH0NCisgIHN3aXRjaChwYVZhbHVlLT5nZXREYXRhVHlwZUlEKCkpew0KICAgICBjYXNlIENJRUNfQU5ZOjplX0JPT0w6DQotICAgICAgKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KHZhbHVlKSA9IHN0YXRpY19jYXN0PGJvb2w+KGx1YV90b2Jvb2xlYW4obHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KHBhVmFsdWUpID0gc3RhdGljX2Nhc3Q8Ym9vbD4obHVhX3RvYm9vbGVhbihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfU0lOVDoNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19TSU5UKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlSW50OD4obHVhX3RvaW50ZWdlcihsdWFTdGF0ZSwgaW5kZXgpKTsNCisgICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19TSU5UKj4ocGFWYWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVJbnQ4PihsdWFfdG9pbnRlZ2VyKHBhTHVhU3RhdGUsIHBhSW5kZXgpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9JTlQ6DQotICAgICAgKnN0YXRpY19jYXN0PENJRUNfSU5UKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlSW50MTY+KGx1YV90b2ludGVnZXIobHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfSU5UKj4ocGFWYWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVJbnQxNj4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfRElOVDoNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19ESU5UKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlSW50MzI+KGx1YV90b2ludGVnZXIobHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfRElOVCo+KHBhVmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlSW50MzI+KGx1YV90b2ludGVnZXIocGFMdWFTdGF0ZSwgcGFJbmRleCkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIENJRUNfQU5ZOjplX0xJTlQ6DQotICAgICAgKnN0YXRpY19jYXN0PENJRUNfTElOVCo+KHZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZUludDY0PihsdWFfdG9pbnRlZ2VyKGx1YVN0YXRlLCBpbmRleCkpOw0KKyAgICAgICpzdGF0aWNfY2FzdDxDSUVDX0xJTlQqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZUludDY0PihsdWFfdG9pbnRlZ2VyKHBhTHVhU3RhdGUsIHBhSW5kZXgpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9VU0lOVDoNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19VU0lOVCo+KHZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ4PihsdWFfdG9pbnRlZ2VyKGx1YVN0YXRlLCBpbmRleCkpOw0KKyAgICAgICpzdGF0aWNfY2FzdDxDSUVDX1VTSU5UKj4ocGFWYWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfVUlOVDoNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihsdWFfdG9pbnRlZ2VyKGx1YVN0YXRlLCBpbmRleCkpOw0KKyAgICAgICpzdGF0aWNfY2FzdDxDSUVDX1VJTlQqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfVURJTlQ6DQotICAgICAgKnN0YXRpY19jYXN0PENJRUNfVURJTlQqPih2YWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50MzI+KGx1YV90b2ludGVnZXIobHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfVURJTlQqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfVUxJTlQ6DQotICAgICAgKnN0YXRpY19jYXN0PENJRUNfVUxJTlQqPih2YWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KGx1YV90b2ludGVnZXIobHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfVUxJTlQqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ2ND4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfQllURToNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19CWVRFKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlQnl0ZT4obHVhX3RvaW50ZWdlcihsdWFTdGF0ZSwgaW5kZXgpKTsNCisgICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19CWVRFKj4ocGFWYWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVCeXRlPihsdWFfdG9pbnRlZ2VyKHBhTHVhU3RhdGUsIHBhSW5kZXgpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9XT1JEOg0KLSAgICAgICpzdGF0aWNfY2FzdDxDSUVDX1dPUkQqPih2YWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVXb3JkPihsdWFfdG9pbnRlZ2VyKGx1YVN0YXRlLCBpbmRleCkpOw0KKyAgICAgICpzdGF0aWNfY2FzdDxDSUVDX1dPUkQqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZVdvcmQ+KGx1YV90b2ludGVnZXIocGFMdWFTdGF0ZSwgcGFJbmRleCkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIENJRUNfQU5ZOjplX0RXT1JEOg0KLSAgICAgICpzdGF0aWNfY2FzdDxDSUVDX0RXT1JEKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlRFdvcmQ+KGx1YV90b2ludGVnZXIobHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfRFdPUkQqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZURXb3JkPihsdWFfdG9pbnRlZ2VyKHBhTHVhU3RhdGUsIHBhSW5kZXgpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9MV09SRDoNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19MV09SRCo+KHZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZUxXb3JkPihsdWFfdG9pbnRlZ2VyKGx1YVN0YXRlLCBpbmRleCkpOw0KKyAgICAgICpzdGF0aWNfY2FzdDxDSUVDX0xXT1JEKj4ocGFWYWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVMV29yZD4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfREFURToNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19EQVRFKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDY0PihsdWFfdG9pbnRlZ2VyKGx1YVN0YXRlLCBpbmRleCkpOw0KKyAgICAgICpzdGF0aWNfY2FzdDxDSUVDX0RBVEUqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ2ND4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfVElNRV9PRl9EQVk6DQotICAgICAgKnN0YXRpY19jYXN0PENJRUNfVElNRV9PRl9EQVkqPih2YWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50NjQ+KGx1YV90b2ludGVnZXIobHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfVElNRV9PRl9EQVkqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ2ND4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfREFURV9BTkRfVElNRToNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19EQVRFX0FORF9USU1FKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDY0PihsdWFfdG9pbnRlZ2VyKGx1YVN0YXRlLCBpbmRleCkpOw0KKyAgICAgICpzdGF0aWNfY2FzdDxDSUVDX0RBVEVfQU5EX1RJTUUqPihwYVZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ2ND4obHVhX3RvaW50ZWdlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfVElNRToNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19USU1FKj4odmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlSW50NjQ+KGx1YV90b2ludGVnZXIobHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfVElNRSo+KHBhVmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlSW50NjQ+KGx1YV90b2ludGVnZXIocGFMdWFTdGF0ZSwgcGFJbmRleCkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIENJRUNfQU5ZOjplX1JFQUw6DQotICAgICAgKnN0YXRpY19jYXN0PENJRUNfUkVBTCo+KHZhbHVlKSA9IHN0YXRpY19jYXN0PFRGb3J0ZUZsb2F0PihsdWFfdG9udW1iZXIobHVhU3RhdGUsIGluZGV4KSk7DQorICAgICAgKnN0YXRpY19jYXN0PENJRUNfUkVBTCo+KHBhVmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlRmxvYXQ+KGx1YV90b251bWJlcihwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfTFJFQUw6DQotICAgICAgKnN0YXRpY19jYXN0PENJRUNfTFJFQUwqPih2YWx1ZSkgPSBzdGF0aWNfY2FzdDxURm9ydGVERmxvYXQ+KGx1YV90b251bWJlcihsdWFTdGF0ZSwgaW5kZXgpKTsNCisgICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19MUkVBTCo+KHBhVmFsdWUpID0gc3RhdGljX2Nhc3Q8VEZvcnRlREZsb2F0PihsdWFfdG9udW1iZXIocGFMdWFTdGF0ZSwgcGFJbmRleCkpOw0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIENJRUNfQU5ZOjplX1NUUklORzoNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19TVFJJTkcqPih2YWx1ZSkgPSBzdHJkdXAobHVhX3Rvc3RyaW5nKGx1YVN0YXRlLCBpbmRleCkpOw0KKyAgICAgICpzdGF0aWNfY2FzdDxDSUVDX1NUUklORyo+KHBhVmFsdWUpID0gc3RyZHVwKGx1YV90b3N0cmluZyhwYUx1YVN0YXRlLCBwYUluZGV4KSk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfV1NUUklORzoNCi0gICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4odmFsdWUpID0gc3RyZHVwKGx1YV90b3N0cmluZyhsdWFTdGF0ZSwgaW5kZXgpKTsNCisgICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4ocGFWYWx1ZSkgPSBzdHJkdXAobHVhX3Rvc3RyaW5nKHBhTHVhU3RhdGUsIHBhSW5kZXgpKTsNCiAgICAgICBicmVhazsNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9BUlJBWToNCi0gICAgICByZXR1cm4gbHVhR2V0QXJyYXkobHVhU3RhdGUsIHN0YXRpY19jYXN0PENJRUNfQVJSQVkqPih2YWx1ZSksIGluZGV4KTsNCisgICAgICByZXR1cm4gbHVhR2V0QXJyYXkocGFMdWFTdGF0ZSwgc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSo+KHBhVmFsdWUpLCBwYUluZGV4KTsNCiAgICAgZGVmYXVsdDoNCi0gICAgICBERVZMT0dfRVJST1IoIkNvbnZlcnNpb24gZnJvbSBMdWEgZGF0YXR5cGUgdW5zdXBwb3J0ZWQgZm9yIHR5cGUgd2l0aCBpZCAlc1xuIiwgdmFsdWUtPmdldERhdGFUeXBlSUQoKSk7DQorICAgICAgREVWTE9HX0VSUk9SKCJDb252ZXJzaW9uIGZyb20gTHVhIGRhdGF0eXBlIHVuc3VwcG9ydGVkIGZvciB0eXBlIHdpdGggaWQgJXNcbiIsIHBhVmFsdWUtPmdldERhdGFUeXBlSUQoKSk7DQogICAgICAgcmV0dXJuIGZhbHNlOw0KICAgfQ0KIA0KICAgcmV0dXJuIHRydWU7DQogfQ0KIA0KLWJvb2wgQ0x1YUVuZ2luZTo6bHVhUHVzaEFycmF5KGx1YV9TdGF0ZSAqbHVhU3RhdGUsIENJRUNfQVJSQVkqIGFycmF5KSB7DQotICBpZiAoIWFycmF5KSB7DQorYm9vbCBDTHVhRW5naW5lOjpsdWFQdXNoQXJyYXkobHVhX1N0YXRlICpwYUx1YVN0YXRlLCBDSUVDX0FSUkFZKiBwYUFycmF5KSB7DQorICBpZighcGFBcnJheSkgew0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQotICBsdWFfY3JlYXRldGFibGUobHVhU3RhdGUsIGFycmF5LT5zaXplKCksIDApOw0KLSAgZm9yIChpbnQgaSA9IGFycmF5LT5zaXplKCk7IGkgPiAwOyBpLS0pIHsNCi0gICAgaWYgKCFsdWFQdXNoQW55KGx1YVN0YXRlLCAoKmFycmF5KVsoVEZvcnRlVUludDE2KShpIC0gMSldKSkgeyAvLyBpbmRleCBzdGFydHMgYXQgMA0KLSAgICAgIGx1YV9wb3AobHVhU3RhdGUsIDEpOyAvLyBwb3AgdGFibGUNCisgIGx1YV9jcmVhdGV0YWJsZShwYUx1YVN0YXRlLCBwYUFycmF5LT5zaXplKCksIDApOw0KKyAgZm9yKGludCBpID0gcGFBcnJheS0+c2l6ZSgpOyBpID4gMDsgaS0tKSB7DQorICAgIGlmKCFsdWFQdXNoQW55KHBhTHVhU3RhdGUsICgqcGFBcnJheSlbKFRGb3J0ZVVJbnQxNikgKGkgLSAxKV0pKSB7IC8vIGluZGV4IHN0YXJ0cyBhdCAwDQorICAgICAgbHVhX3BvcChwYUx1YVN0YXRlLCAxKTsgLy8gcG9wIHRhYmxlDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICB9DQotICAgIGx1YV9yYXdzZXRpKGx1YVN0YXRlLCAtMiwgaSk7IC8vIGluZGV4IHN0YXJ0cyBhdCAxDQorICAgIGx1YV9yYXdzZXRpKHBhTHVhU3RhdGUsIC0yLCBpKTsgLy8gaW5kZXggc3RhcnRzIGF0IDENCiAgIH0NCiAgIHJldHVybiB0cnVlOw0KIH0NCiANCi1ib29sIENMdWFFbmdpbmU6Omx1YUdldEFycmF5KGx1YV9TdGF0ZSAqbHVhU3RhdGUsIENJRUNfQVJSQVkqIGFycmF5LCBpbnQgaW5kZXgpIHsNCi0gIGlmICghYXJyYXkgfHwgIWx1YV9pc3RhYmxlKGx1YVN0YXRlLCBpbmRleCkpIHsNCitib29sIENMdWFFbmdpbmU6Omx1YUdldEFycmF5KGx1YV9TdGF0ZSAqcGFMdWFTdGF0ZSwgQ0lFQ19BUlJBWSogcGFBcnJheSwgaW50IHBhSW5kZXgpIHsNCisgIGlmKCFwYUFycmF5IHx8ICFsdWFfaXN0YWJsZShwYUx1YVN0YXRlLCBwYUluZGV4KSkgew0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQotICBmb3IgKGludCBpID0gYXJyYXktPnNpemUoKTsgaSA+IDA7IGktLSkgew0KLSAgICBsdWFfcmF3Z2V0aShsdWFTdGF0ZSwgaW5kZXgsIGkpOyAvLyBpbmRleCBzdGFydHMgYXQgMQ0KLSAgICBib29sIHJlcyA9IGx1YUdldEFueShsdWFTdGF0ZSwgKCphcnJheSlbKFRGb3J0ZVVJbnQxNikoaSAtIDEpXSwgLTEpOyAvLyBpbmRleCBzdGFydHMgYXQgMA0KLSAgICBsdWFfcG9wKGx1YVN0YXRlLCAxKTsgLy8gcG9wIGVsZW1lbnQNCi0gICAgaWYgKCFyZXMpIHsNCisgIGZvcihpbnQgaSA9IHBhQXJyYXktPnNpemUoKTsgaSA+IDA7IGktLSkgew0KKyAgICBsdWFfcmF3Z2V0aShwYUx1YVN0YXRlLCBwYUluZGV4LCBpKTsgLy8gaW5kZXggc3RhcnRzIGF0IDENCisgICAgYm9vbCByZXMgPSBsdWFHZXRBbnkocGFMdWFTdGF0ZSwgKCpwYUFycmF5KVsoVEZvcnRlVUludDE2KSAoaSAtIDEpXSwgLTEpOyAvLyBpbmRleCBzdGFydHMgYXQgMA0KKyAgICBsdWFfcG9wKHBhTHVhU3RhdGUsIDEpOyAvLyBwb3AgZWxlbWVudA0KKyAgICBpZighcmVzKSB7DQogICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICB9DQogICB9DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbHVhL2x1YWVuZ2luZS5oIGIvc3JjL2NvcmUvbHVhL2x1YWVuZ2luZS5oCmluZGV4IGVlYzhiMWMuLjljY2YxNjIgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2x1YS9sdWFlbmdpbmUuaAorKysgYi9zcmMvY29yZS9sdWEvbHVhZW5naW5lLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWFydGluIEpvYnN0DQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbHVhL2x1YXR5cGUuY3BwIGIvc3JjL2NvcmUvbHVhL2x1YXR5cGUuY3BwCmluZGV4IGU0NzA1ZjQuLjM1NDIyYWUgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL2x1YS9sdWF0eXBlLmNwcAorKysgYi9zcmMvY29yZS9sdWEvbHVhdHlwZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWFydGluIEpvYnN0LCBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbHVhL2x1YXR5cGUuaCBiL3NyYy9jb3JlL2x1YS9sdWF0eXBlLmgKaW5kZXggNjk2YzM3NC4uZDVhNWQ2NyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvbHVhL2x1YXR5cGUuaAorKysgYi9zcmMvY29yZS9sdWEvbHVhdHlwZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvY29yZS9tZ21jbWQuaCBiL3NyYy9jb3JlL21nbWNtZC5oCmluZGV4IDdkOTM3YTIuLjU1YzkwYWMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL21nbWNtZC5oCisrKyBiL3NyYy9jb3JlL21nbWNtZC5oCkBAIC0xLDIzNyArMSwyNTYgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gKg0KLSAqIENvbnRyaWJ1dG9yczoNCi0gKiAgICBBbG9pcyBab2l0bCwgR3VubmFyIEdyYWJtYWllciwgVGhvbWFzIFN0cmFzc2VyLCBHZXJoYXJkIEViZW5ob2ZlciwNCi0gKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwNCi0gKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUNCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0jaWZuZGVmIF9NR01DTURfSF8NCi0jZGVmaW5lIF9NR01DTURfSF8NCi0NCi0vKiogIFxpbmdyb3VwIENPUkUgXGRlZmdyb3VwIE1HTUNvbW1hbmRzIE1hbmFnZW1lbnQgQ29tbWFuZHMgSW50ZXJuYWwgUmVwcmVzZW50YXRpb24NCi0gKiBcYnJpZWYgSW4gdGhpcyBzZWN0aW9uIHRoZSBGT1JURSByZXByZXNlbnRhdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBjb21tYW5kcyBpcyBkZXNjcmliZWQuDQotICovDQotLypAeyovDQotDQotLyohXGJyaWVmIFR5cGUgZm9yIHRoZSBtYW5hZ2VtZW50IGNvbW1hbmQgKGUuZy4gY3JlYXRlLCBkZWxldGUgLi4uKQ0KLSAqDQotICogVGhlIGNvbnN0YW50cyBmb3IgdGhlIG1hbmFnZW1lbnQgY29tbWFuZHMgYXJlIHNlbGVjdGVkIGluIHRoZSBmb2xsb3dpbmcgd2F5Og0KLSAqICAtIHRoZSBsb3dlciA0IGJpdCBhcmUgdGhlIHNhbWUgYXMgdGhlIGNvcnJlc3BvbmRpbmcgY29tbWFuZCBkZWZpbmVkIGJ5IHRoZSBzdGFuZGFyZCAoc2VlIDYxNDk5LTE6IFRhYmxlIDYsIHA0NykuDQotICogIC0gdGhlIGhpZ2hlciA0IGJpdHMgYXJlIGNvdW50ZWQgYXMgdGhleSBhcmUgbGlzdGVkIGluIHRoZSBUYWJsZSA4LCBwNDggaW4gNjE0OTktMS4NCi0gKg0KLSAqLw0KLWVudW0gRU1HTUNvbW1hbmRUeXBlew0KLSAgY2dfbk1HTV9DTURfQ3JlYXRlX0dyb3VwID0gMHgwMCwgLy8hPCBJZGVudGlmaWVyIGZvciBhbGwgY3JlYXRlIGNvbW1hbmRzDQotDQotICBjZ19uTUdNX0NNRF9DcmVhdGVfRGF0YVR5cGUgPSAweDEwLCAvLyE8IENyZWF0ZSBhIG5ldyBkYXRhIHR5cGUgZGVmaW5pdGlvbiBpbiB0aGUgRk9SVEUuDQotICBjZ19uTUdNX0NNRF9DcmVhdGVfRkJUeXBlID0gMHgyMCwgICAvLyE8IENyZWF0ZSBhIG5ldyBGQiB0eXBlIGRlZmluaXRpb24gaW4gdGhlIEZPUlRFLg0KLSAgY2dfbk1HTV9DTURfQ3JlYXRlX0FkYXB0ZXJUeXBlID0gMHg1MCwgICAvLyE8IENyZWF0ZSBhIG5ldyBBZGFwdGVyIHR5cGUgZGVmaW5pdGlvbiBpbiB0aGUgRk9SVEUuDQotDQotICAvKiEgXGJyaWVmIENyZWF0ZSBhIG5ldyBGQiBvciByZXNvdXJjZSBpbnN0YW5jZS4NCi0gICAqDQotICAgKiBXaGVuIGNyZWF0aW5nIGEgRkIgaW5zdGFuY2UgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOg0KLSAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIGZvciBjcmVhdGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIGNyZWF0aW5nIHdpdGhpbiBhIHJlc291cmNlDQotICAgKiAgICAtIG1fc0Zpc3RQYXJhbSA9IEZCIEluc3RhbmNlIG5hbWUNCi0gICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBGQiBUeXBlDQotICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQNCi0gICAqLw0KLSAgY2dfbk1HTV9DTURfQ3JlYXRlX0ZCSW5zdGFuY2UgPSAweDMwLA0KLQ0KLSAgLyohIFxicmllZiBDcmVhdGUgYSBuZXcgY29ubmVjdGlvbiAoY2FuIGJlIGV2ZW50IG9yIGRhdGEgY29ubmVjdGlvbikuDQotICAgKg0KLSAgICogV2hlbiBjcmVhdGluZyBhIGNvbm5lY3Rpb24gdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOg0KLSAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIGZvciBjcmVhdGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIGNyZWF0aW5nIHdpdGhpbiBhIHJlc291cmNlDQotICAgKiAgICAtIG1fc0Zpc3RQYXJhbSA9IHNvdXJjZSBvZiB0aGUgY29ubmVjdGlvbiBnaXZlbiBieTogImZibmFtZS5vdXRwdXQiDQotICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gZGVzdGluYXRpb24gb2YgdGhlIGNvbm5lY3Rpb24gZ2l2ZW4gYnk6ICJmYm5hbWUuaW50cHV0Ig0KLSAgICogICAgLSBtX3NBZGRpdGlvbmFsUGFyYW1zIG5vdCB1c2VkDQotICAgKi8NCi0gIGNnX25NR01fQ01EX0NyZWF0ZV9Db25uZWN0aW9uID0gMHg0MCwNCi0NCi0gIGNnX25NR01fQ01EX0RlbGV0ZV9Hcm91cCA9IDB4MDEsICAgLy8hPElkZW50aWZpZXIgZm9yIGFsbCBkZWxldGUgY29tbWFuZHMNCi0gIGNnX25NR01fQ01EX0RlbGV0ZV9EYXRhVHlwZSA9IDB4MTEsDQotICBjZ19uTUdNX0NNRF9EZWxldGVfRkJUeXBlID0gMHgyMSwNCi0NCi0gIC8qISBcYnJpZWYgRGVsZXRlIGEgRkIgb3IgcmVzb3VyY2UgaW5zdGFuY2UuDQotICAgKg0KLSAgICogV2hlbiBkZWxldGluZyBhIEZCIGluc3RhbmNlIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBTTWFuYWdlbWVudENNRCBhcmUgZGVmaW5lZCBhczoNCi0gICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgZGVsZXRpbmcgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciBjcmVhdGluZyB3aXRoaW4gYSByZXNvdXJjZQ0KLSAgICogICAgLSBtX3NGaXN0UGFyYW0gPSBGQiBJbnN0YW5jZSBuYW1lDQotICAgKiAgICAtIG1fc1NlY29uZFBhcmFtIG5vdCB1c2VkDQotICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQNCi0gICAqLw0KLSAgY2dfbk1HTV9DTURfRGVsZXRlX0ZCSW5zdGFuY2UgPSAweDMxLA0KLQ0KLSAgLyohIFxicmllZiBEZWxldGUgYSBjb25uZWN0aW9uIChjYW4gYmUgZXZlbnQgb3IgZGF0YSBjb25uZWN0aW9uKS4NCi0gICAqDQotICAgKiBXaGVuIGRlbGV0aW5nIGEgY29ubmVjdGlvbiB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6DQotICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIGRlbGV0aW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgZGVsZXRpbmcgd2l0aGluIGEgcmVzb3VyY2UNCi0gICAqICAgIC0gbV9zRmlzdFBhcmFtID0gc291cmNlIG9mIHRoZSBjb25uZWN0aW9uIGdpdmVuIGJ5OiAiZmJuYW1lLm91dHB1dCINCi0gICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBkZXN0aW5hdGlvbiBvZiB0aGUgY29ubmVjdGlvbiBnaXZlbiBieTogImZibmFtZS5pbnRwdXQiDQotICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQNCi0gICAqLw0KLSAgY2dfbk1HTV9DTURfRGVsZXRlX0Nvbm5lY3Rpb24gPSAweDQxLA0KLQ0KLSAgLyohIFxicmllZiBEZWxldGUgYWxsIEZCcyBvciByZXNvdXJjZSBpbnN0YW5jZXMuDQotICAgKg0KLSAgICogV2hlbiBkZWxldGluZyBhIEZCIGluc3RhbmNlIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBTTWFuYWdlbWVudENNRCBhcmUgZGVmaW5lZCBhczoNCi0gICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgZGVsZXRpbmcgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciBkZWxldGluZyB3aXRoaW4gYSByZXNvdXJjZQ0KLSAgICogICAgLSBtX3NGaXN0UGFyYW0gbm90IHVzZWQNCi0gICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gbm90IHVzZWQNCi0gICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyBub3QgdXNlZA0KLSAgICovDQotICBjZ19uTUdNX0NNRF9EZWxldGVfQWxsRkJJbnN0YW5jZXMgPSAweDYxLA0KLQ0KLSAgLyohIFxicmllZiBzdGFydCBhIEZCLCByZXNvdXJjZSBvciB0aGUgZGV2aWNlLg0KLSAgICoNCi0gICAqIFdoZW4gc3RhcnRpbmcgYSBGQiwgcmVzb3VyY2Ugb3IgdGhlIGRldmljZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6DQotICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIHN0YXJ0aW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3Igc3RhcnRpbmcgd2l0aGluIGEgcmVzb3VyY2UNCi0gICAqICAgIC0gbV9zRmlyc3RQYXJhbSA9IHRhcmdldCB0byBiZSBzdGFydGVkIGNhbiBiZSBlbXB0eSBmb3Igc3RhcnRpbmcgdGhlIHdob2xlIGRldmljZSBvciByZXNvdXJjZSwgb3IgY29udGFpbiBhIG5hbWUgZm9yIHRoZSByZXNvdXJjZSBvciBGQiB0byBzdGFydC4NCi0gICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBub3QgdXNlZA0KLSAgICogICAgLSBtX3NBZGRpdGlvbmFsUGFyYW1zIG5vdCB1c2VkDQotICAgKi8NCi0gIGNnX25NR01fQ01EX1N0YXJ0ID0gMHgwMiwNCi0NCi0gIC8qISBcYnJpZWYgc3RvcCBhIEZCLCByZXNvdXJjZSBvciB0aGUgZGV2aWNlLg0KLSAgICoNCi0gICAqIFdoZW4gc3RvcHBpbmcgYSBGQiwgcmVzb3VyY2Ugb3IgdGhlIGRldmljZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6DQotICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIHN0b3BwaW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3Igc3RvcHBpbmcgd2l0aGluIGEgcmVzb3VyY2UNCi0gICAqICAgIC0gbV9zRmlyc3RQYXJhbSA9IHRhcmdldCB0byBiZSBzdG9wcGVkIGNhbiBiZSBlbXB0eSBmb3Igc3RhcnRpbmcgdGhlIHdob2xlIGRldmljZSBvciByZXNvdXJjZSwgb3IgY29udGFpbiBhIG5hbWUgZm9yIHRoZSByZXNvdXJjZSBvciBGQiB0byBzdG9wLg0KLSAgICogICAgLSBtX3NTZWNvbmRQYXJhbSA9IG5vdCB1c2VkDQotICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQNCi0gICAqLw0KLSAgY2dfbk1HTV9DTURfU3RvcCA9IDB4MDMsDQotDQotICAvKiEgXGJyaWVmIFJlYWQgdmFsdWVzIGZyb20gRkIgaW4tIGFuZCBvdXRwdXRzIG9yIGZyb20gcmVzb3VyY2UgaW5wdXRzDQotICAgKg0KLSAgICogV2hlbiByZWFkaW5nIGEgcGFyYW1ldGVyIHZhbHVlIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBTTWFuYWdlbWVudENNRCBhcmUgZGVmaW5lZCBhczoNCi0gICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgY3JlYXRpbmcgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciBjcmVhdGluZyB3aXRoaW4gYSByZXNvdXJjZQ0KLSAgICogICAgLSBtX3NGaXN0UGFyYW0gPSBTb3VyY2UgcXVhbGlmaWVyIGZvciByZWFkaW5nIGFuIEZCJ3MgdmFyaWFibGUgKCJmYm5hbWUudmFyIikgdmFyaWFibGUgaWRlbnRpZmllciBtYXkgYmUgaW5wdXQsIG91dHB1dCwgb3IgaW50ZXJuYWwgdmFyDQotICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkDQotICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgdGhlIHJlYWQgdmFsdWUgaXMgc3RvcmVkIGhlcmUNCi0gICAqLw0KLSAgY2dfbk1HTV9DTURfUmVhZCA9IDB4MDQsDQotDQotICAvKiEgXGJyaWVmIFdyaXRlIHZhbHVlIHRvIGEgZ2l2ZW4gZGF0YSBpbnB1dCBvciBvdXRwdXQgKEZCIG9yIFJlc291cmNlKQ0KLSAgICoNCi0gICAqIFdoZW4gd3JpdGluZyBhIHBhcmFtZXRlciB2YWx1ZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6DQotICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIGNyZWF0aW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgY3JlYXRpbmcgd2l0aGluIGEgcmVzb3VyY2UNCi0gICAqICAgIC0gbV9zRmlzdFBhcmFtID0gRGVzdGluYXRpb24gcXVhbGlmaWVyIGZvciB3cml0aW5nIG9uIGFuIEZCJ3MgdmFyaWFibGUgKCJmYm5hbWUudmFyIikgdmFyaWFibGUgaWRlbnRpZmllciBtYXkgYmUgaW5wdXQsIG91dHB1dCwgb3IgaW50ZXJuYWwgdmFyDQotICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkDQotICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgPSB0aGUgc3RyaW5nIGNvbnZlcnRlZCB2YWx1ZSB0byBiZSBzZXQNCi0gICAqLw0KLSAgY2dfbk1HTV9DTURfV3JpdGUgPSAweDA1LA0KLQ0KLSAgLyohIFxicmllZiBraWxsIGEgRkIsIHJlc291cmNlIG9yIHRoZSBkZXZpY2UuDQotICAgKg0KLSAgICogV2hlbiBraWxsaW5nIGEgRkIsIHJlc291cmNlIG9yIHRoZSBkZXZpY2UgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOg0KLSAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIGZvciBraWxsaW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3Igc3RvcHBpbmcgd2l0aGluIGEgcmVzb3VyY2UNCi0gICAqICAgIC0gbV9zRmlzdFBhcmFtID0gdGFyZ2V0IHRvIGJlIGtpbGxlZCBjYW4gYmUgZW1wdHkgZm9yIHN0YXJ0aW5nIHRoZSB3aG9sZSBkZXZpY2Ugb3IgcmVzb3VyY2UsIG9yIGNvbnRhaW4gYSBuYW1lIGZvciB0aGUgcmVzb3VyY2Ugb3IgRkIgdG8gc3RvcC4NCi0gICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBub3QgdXNlZA0KLSAgICogICAgLSBtX3NBZGRpdGlvbmFsUGFyYW1zIG5vdCB1c2VkDQotICAgKi8NCi0gIGNnX25NR01fQ01EX0tpbGwgPSAweDA2LA0KLQ0KLSNpZmRlZiBGT1JURV9TVVBQT1JUX1FVRVJZX0NNRA0KLSAgY2dfbk1HTV9DTURfUXVlcnlfR3JvdXAgPSAweDA3LCAgIC8vITwgSWRlbnRpZmllciBmb3IgYWxsIHF1ZXJ5IGNvbW1hbmRzDQotDQotICAvKiEgXGJyaWVmIHF1ZXJ5IEZCcw0KLSAgICoNCi0gICAqIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBTTWFuYWdlbWVudENNRCBhcmUgZGVmaW5lZCBhczoNCi0gICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiB0byBxdWVyeSB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIGZldGNoaW5nIHdpdGhpbiBhIHJlc291cmNlDQotICAgKiAgICAtIG1fYWNGaXJzdFBhcmFtID0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkIGZvciBhbGwgRkJzIG9yIGluc3RhbmNlIG5hbWUNCi0gICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQgZm9yIGFsbCBGQiB0eXBlcyBvciB0eXBlIG5hbWUNCi0gICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyAgdGhlIHJlc3BvbnNlIHZhbHVlIG9mIHRoZSBxdWVyeQ0KLSAgICovDQotICBjZ19uTUdNX0NNRF9RVUVSWV9GQiA9IDB4MTcsDQotDQotICAvKiEgXGJyaWVmIHF1ZXJ5IGNvbm5lY3Rpb25zDQotICAgKg0KLSAgICogVGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOg0KLSAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIHRvIHF1ZXJ5IHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgZmV0Y2hpbmcgd2l0aGluIGEgcmVzb3VyY2UNCi0gICAqICAgIC0gbV9hY0ZpcnN0UGFyYW0gPSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQNCi0gICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQNCi0gICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyAgdGhlIHJlc3BvbnNlIHZhbHVlIG9mIHRoZSBxdWVyeSAtIGEgbGlzdCBvZiBldmVudCBhbmQgZGF0YSBjb25uZWN0aW9ucyAoY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZW5kIHBvaW50cyB0byBlbmQgcG9pbnRzKQ0KLSAgICovDQotICBjZ19uTUdNX0NNRF9RVUVSWV9Db25uZWN0aW9uID0gMHgyNywNCi0NCi0gIC8qISBcYnJpZWYgUmVhZCB0aGUgZXhpc3RpbmcgZmIgdHlwZXMuDQotICAgKg0KLSAgICogV2hlbiByZWFkaW5nIHRoZSBmYiB0eXBlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6DQotICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIHJlYWRpbmcgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciByZWFkaW5nIHdpdGhpbiBhIHJlc291cmNlDQotICAgKiAgICAtIG1fc0Zpc3RQYXJhbSA9IG5vdCB1c2VkDQotICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gbm90IHVzZWQNCi0gICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyB0aGUgcmVhZCB2YWx1ZSBpcyBzdG9yZWQgaGVyZQ0KLSAgICovDQotICBjZ19uTUdNX0NNRF9RVUVSWV9GQlR5cGVzID0gMHgzNywNCi0NCi0gIC8qISBcYnJpZWYgUmVhZCB0aGUgZXhpc3RpbmcgZGF0YSB0eXBlcy4NCi0gICAqDQotICAgKiBXaGVuIHJlYWRpbmcgdGhlIGRhdGEgdHlwZXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOg0KLSAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIGZvciByZWFkaW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgcmVhZGluZyB3aXRoaW4gYSByZXNvdXJjZQ0KLSAgICogICAgLSBtX3NGaXN0UGFyYW0gPSBub3QgdXNlZA0KLSAgICogICAgLSBtX3NTZWNvbmRQYXJhbSA9IG5vdCB1c2VkDQotICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgdGhlIHJlYWQgdmFsdWUgaXMgc3RvcmVkIGhlcmUNCi0gICAqLw0KLSAgY2dfbk1HTV9DTURfUVVFUllfRFRUeXBlcyA9IDB4NDcsDQotDQotICAvKiEgXGJyaWVmIFJlYWQgdGhlIGV4aXN0aW5nIGRhdGEgdHlwZXMuDQotICAgKg0KLSAgICogV2hlbiByZWFkaW5nIHRoZSBkYXRhIHR5cGVzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBTTWFuYWdlbWVudENNRCBhcmUgZGVmaW5lZCBhczoNCi0gICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgcmVhZGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIHJlYWRpbmcgd2l0aGluIGEgcmVzb3VyY2UNCi0gICAqICAgIC0gbV9zRmlyc3RQYXJhbSA9IG5vdCB1c2VkDQotICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gbm90IHVzZWQNCi0gICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyB0aGUgcmVhZCB2YWx1ZSBpcyBzdG9yZWQgaGVyZQ0KLSAgICovDQotICBjZ19uTUdNX0NNRF9RVUVSWV9BZGFwdGVyVHlwZXMgPSAweDU3LA0KLQ0KLSAgLyoqDQotICAgKiBjdXJyZW50bHkgbm90IGltcGxlbWVudGVkDQotICAgKi8NCi0gIGNnX25NR01fQ01EX1FVRVJZX1R5cGVWZXJzID0gMHg2NywNCi0jZW5kaWYNCi0NCi0gIC8qISBcYnJpZWYgcmVzZXQgYSBGQiwgcmVzb3VyY2Ugb3IgdGhlIGRldmljZS4NCi0gICAqDQotICAgKiBXaGVuIHJlc2V0aW5nIGEgRkIsIHJlc291cmNlIG9yIHRoZSBkZXZpY2UgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOg0KLSAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIGZvciByZXNldGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIHJlc2V0aW5nIHdpdGhpbiBhIHJlc291cmNlDQotICAgKiAgICAtIG1fc0Zpc3RQYXJhbSA9IHRhcmdldCB0byBiZSByZXNldCBjYW4gYmUgZW1wdHkgZm9yIHJlc2V0aW5nIHRoZSB3aG9sZSBkZXZpY2Ugb3IgcmVzb3VyY2UsIG9yIGNvbnRhaW4gYSBuYW1lIGZvciB0aGUgcmVzb3VyY2Ugb3IgRkIgdG8gcmVzZXQuDQotICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gbm90IHVzZWQNCi0gICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyBub3QgdXNlZA0KLSAgICovDQotICBjZ19uTUdNX0NNRF9SZXNldCA9IDB4MDgsDQotDQotDQotDQotICAjaWZkZWYgRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HDQotICAgIGNnX25NR01fQ01EX01vbml0b3JpbmdfR3JvdXAgPSAweDBBLA0KLSAgICBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX0FkZF9XYXRjaCA9IDB4MUEsDQotICAgIGNnX25NR01fQ01EX01vbml0b3JpbmdfUmVtb3ZlX1dhdGNoID0gMHgyQSwNCi0gICAgY2dfbk1HTV9DTURfTW9uaXRvcmluZ19SZWFkX1dhdGNoZXMgPSAweDNBLA0KLSAgICBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX0ZvcmNlID0gMHg1QSwNCi0gICAgY2dfbk1HTV9DTURfTW9uaXRvcmluZ19DbGVhckZvcmNlID0gMHg2QSwNCi0gICAgY2dfbk1HTV9DTURfTW9uaXRvcmluZ19UcmlnZ2VyX0V2ZW50ID0gMHg3QSwNCi0gICAgY2dfbk1HTV9DTURfTW9uaXRvcmluZ19SZXNldF9FdmVudF9Db3VudCA9IDB4OEEsDQotICAjZW5kaWYgLy8gRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HDQotDQotDQotICAvKiEgXGJyaWVmIGludmFsaWQgY29tbWFuZDogc29tZSBvZiB0aGUgZGF0YSBjb3VsZCBub3QgYmUgcGFyc2VkDQotICAgICAqLw0KLSAgY2dfbk1HTV9DTURfSU5WQUxJRCA9IDB4RkYNCi19Ow0KLQ0KLQ0KLS8qIVxicmllZiBUeXBlIGZvciB0aGUgcmVzcG9uc2Ugb2YgTUdNIGNvbW1hbmRzDQotICoNCi0gKiBUT0RPIGZ1bGx5IGRlZmluZSBhbGwgcmVzcG9uc2VzIGFzIGRlZmluZWQgaW4gSUVDIDYxNDk5IGluYy4gbnVtYmVycy4NCi0gKi8NCi1lbnVtIEVNR01SZXNwb25zZSB7ZV9SRFksIGVfQkFEX1BBUkFNUywgZV9MT0NBTF9URVJNSU5BVElPTiwgZV9TWVNURU1fVEVSTUlOQVRJT04sIGVfTk9UX1JFQURZLCBlX1VOU1VQUE9SVEVEX0NNRCwNCi0gIGVfVU5TVVBQT1JURURfVFlQRSwgZV9OT19TVUNIX09CSkVDVCwgZV9JTlZBTElEX09CSkVDVCwgZV9JTlZBTElEX09QRVJBVElPTiwgZV9JTlZBTElEX1NUQVRFLA0KLSAgZV9PVkVSRkxPVywgZV9JTlZBTElEX0RTVH07DQotDQotLypAfSovDQotI2VuZGlmIC8qTUdNQ01EX0hfKi8NCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEFsb2lzIFpvaXRsLCBHdW5uYXIgR3JhYm1haWVyLCBUaG9tYXMgU3RyYXNzZXIsIEdlcmhhcmQgRWJlbmhvZmVyLAorICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBhbmQgcmV3b3JrIGNvbW11bmljYXRpb24gaW5mcmFzdHJ1Y3R1cmUKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfTUdNQ01EX0hfCisjZGVmaW5lIF9NR01DTURfSF8KKworLyoqICBcaW5ncm91cCBDT1JFIFxkZWZncm91cCBNR01Db21tYW5kcyBNYW5hZ2VtZW50IENvbW1hbmRzIEludGVybmFsIFJlcHJlc2VudGF0aW9uCisgKiBcYnJpZWYgSW4gdGhpcyBzZWN0aW9uIHRoZSBGT1JURSByZXByZXNlbnRhdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBjb21tYW5kcyBpcyBkZXNjcmliZWQuCisgKi8KKy8qQHsqLworCisvKiFcYnJpZWYgVHlwZSBmb3IgdGhlIG1hbmFnZW1lbnQgY29tbWFuZCAoZS5nLiBjcmVhdGUsIGRlbGV0ZSAuLi4pCisgKgorICogVGhlIGNvbnN0YW50cyBmb3IgdGhlIG1hbmFnZW1lbnQgY29tbWFuZHMgYXJlIHNlbGVjdGVkIGluIHRoZSBmb2xsb3dpbmcgd2F5OgorICogIC0gdGhlIGxvd2VyIDQgYml0IGFyZSB0aGUgc2FtZSBhcyB0aGUgY29ycmVzcG9uZGluZyBjb21tYW5kIGRlZmluZWQgYnkgdGhlIHN0YW5kYXJkIChzZWUgNjE0OTktMTogVGFibGUgNiwgcDQ3KS4KKyAqICAtIHRoZSBoaWdoZXIgNCBiaXRzIGFyZSBjb3VudGVkIGFzIHRoZXkgYXJlIGxpc3RlZCBpbiB0aGUgVGFibGUgOCwgcDQ4IGluIDYxNDk5LTEuCisgKgorICovCitlbnVtIEVNR01Db21tYW5kVHlwZXsKKyAgY2dfbk1HTV9DTURfQ3JlYXRlX0dyb3VwID0gMHgwMCwgLy8hPCBJZGVudGlmaWVyIGZvciBhbGwgY3JlYXRlIGNvbW1hbmRzCisKKyAgY2dfbk1HTV9DTURfQ3JlYXRlX0RhdGFUeXBlID0gMHgxMCwgLy8hPCBDcmVhdGUgYSBuZXcgZGF0YSB0eXBlIGRlZmluaXRpb24gaW4gdGhlIEZPUlRFLgorICBjZ19uTUdNX0NNRF9DcmVhdGVfRkJUeXBlID0gMHgyMCwgICAvLyE8IENyZWF0ZSBhIG5ldyBGQiB0eXBlIGRlZmluaXRpb24gaW4gdGhlIEZPUlRFLgorICBjZ19uTUdNX0NNRF9DcmVhdGVfQWRhcHRlclR5cGUgPSAweDUwLCAgIC8vITwgQ3JlYXRlIGEgbmV3IEFkYXB0ZXIgdHlwZSBkZWZpbml0aW9uIGluIHRoZSBGT1JURS4KKworICAvKiEgXGJyaWVmIENyZWF0ZSBhIG5ldyBGQiBvciByZXNvdXJjZSBpbnN0YW5jZS4KKyAgICoKKyAgICogV2hlbiBjcmVhdGluZyBhIEZCIGluc3RhbmNlIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBTTWFuYWdlbWVudENNRCBhcmUgZGVmaW5lZCBhczoKKyAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIGZvciBjcmVhdGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIGNyZWF0aW5nIHdpdGhpbiBhIHJlc291cmNlCisgICAqICAgIC0gbV9zRmlzdFBhcmFtID0gRkIgSW5zdGFuY2UgbmFtZQorICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gRkIgVHlwZQorICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQKKyAgICovCisgIGNnX25NR01fQ01EX0NyZWF0ZV9GQkluc3RhbmNlID0gMHgzMCwKKworICAvKiEgXGJyaWVmIENyZWF0ZSBhIG5ldyBjb25uZWN0aW9uIChjYW4gYmUgZXZlbnQgb3IgZGF0YSBjb25uZWN0aW9uKS4KKyAgICoKKyAgICogV2hlbiBjcmVhdGluZyBhIGNvbm5lY3Rpb24gdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOgorICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIGNyZWF0aW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgY3JlYXRpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX3NGaXN0UGFyYW0gPSBzb3VyY2Ugb2YgdGhlIGNvbm5lY3Rpb24gZ2l2ZW4gYnk6ICJmYm5hbWUub3V0cHV0IgorICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gZGVzdGluYXRpb24gb2YgdGhlIGNvbm5lY3Rpb24gZ2l2ZW4gYnk6ICJmYm5hbWUuaW50cHV0IgorICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQKKyAgICovCisgIGNnX25NR01fQ01EX0NyZWF0ZV9Db25uZWN0aW9uID0gMHg0MCwKKworICBjZ19uTUdNX0NNRF9EZWxldGVfR3JvdXAgPSAweDAxLCAgIC8vITxJZGVudGlmaWVyIGZvciBhbGwgZGVsZXRlIGNvbW1hbmRzCisgIGNnX25NR01fQ01EX0RlbGV0ZV9EYXRhVHlwZSA9IDB4MTEsCisgIGNnX25NR01fQ01EX0RlbGV0ZV9GQlR5cGUgPSAweDIxLAorCisgIC8qISBcYnJpZWYgRGVsZXRlIGEgRkIgb3IgcmVzb3VyY2UgaW5zdGFuY2UuCisgICAqCisgICAqIFdoZW4gZGVsZXRpbmcgYSBGQiBpbnN0YW5jZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6CisgICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgZGVsZXRpbmcgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciBjcmVhdGluZyB3aXRoaW4gYSByZXNvdXJjZQorICAgKiAgICAtIG1fc0Zpc3RQYXJhbSA9IEZCIEluc3RhbmNlIG5hbWUKKyAgICogICAgLSBtX3NTZWNvbmRQYXJhbSBub3QgdXNlZAorICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQKKyAgICovCisgIGNnX25NR01fQ01EX0RlbGV0ZV9GQkluc3RhbmNlID0gMHgzMSwKKworICAvKiEgXGJyaWVmIERlbGV0ZSBhIGNvbm5lY3Rpb24gKGNhbiBiZSBldmVudCBvciBkYXRhIGNvbm5lY3Rpb24pLgorICAgKgorICAgKiBXaGVuIGRlbGV0aW5nIGEgY29ubmVjdGlvbiB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6CisgICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgZGVsZXRpbmcgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciBkZWxldGluZyB3aXRoaW4gYSByZXNvdXJjZQorICAgKiAgICAtIG1fc0Zpc3RQYXJhbSA9IHNvdXJjZSBvZiB0aGUgY29ubmVjdGlvbiBnaXZlbiBieTogImZibmFtZS5vdXRwdXQiCisgICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBkZXN0aW5hdGlvbiBvZiB0aGUgY29ubmVjdGlvbiBnaXZlbiBieTogImZibmFtZS5pbnRwdXQiCisgICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyBub3QgdXNlZAorICAgKi8KKyAgY2dfbk1HTV9DTURfRGVsZXRlX0Nvbm5lY3Rpb24gPSAweDQxLAorCisgIC8qISBcYnJpZWYgRGVsZXRlIGFsbCBGQnMgb3IgcmVzb3VyY2UgaW5zdGFuY2VzLgorICAgKgorICAgKiBXaGVuIGRlbGV0aW5nIGEgRkIgaW5zdGFuY2UgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOgorICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIGRlbGV0aW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgZGVsZXRpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX3NGaXN0UGFyYW0gbm90IHVzZWQKKyAgICogICAgLSBtX3NTZWNvbmRQYXJhbSBub3QgdXNlZAorICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQKKyAgICovCisgIGNnX25NR01fQ01EX0RlbGV0ZV9BbGxGQkluc3RhbmNlcyA9IDB4NjEsCisKKyAgLyohIFxicmllZiBzdGFydCBhIEZCLCByZXNvdXJjZSBvciB0aGUgZGV2aWNlLgorICAgKgorICAgKiBXaGVuIHN0YXJ0aW5nIGEgRkIsIHJlc291cmNlIG9yIHRoZSBkZXZpY2UgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOgorICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIHN0YXJ0aW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3Igc3RhcnRpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX3NGaXJzdFBhcmFtID0gdGFyZ2V0IHRvIGJlIHN0YXJ0ZWQgY2FuIGJlIGVtcHR5IGZvciBzdGFydGluZyB0aGUgd2hvbGUgZGV2aWNlIG9yIHJlc291cmNlLCBvciBjb250YWluIGEgbmFtZSBmb3IgdGhlIHJlc291cmNlIG9yIEZCIHRvIHN0YXJ0LgorICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gbm90IHVzZWQKKyAgICogICAgLSBtX3NBZGRpdGlvbmFsUGFyYW1zIG5vdCB1c2VkCisgICAqLworICBjZ19uTUdNX0NNRF9TdGFydCA9IDB4MDIsCisKKyAgLyohIFxicmllZiBzdG9wIGEgRkIsIHJlc291cmNlIG9yIHRoZSBkZXZpY2UuCisgICAqCisgICAqIFdoZW4gc3RvcHBpbmcgYSBGQiwgcmVzb3VyY2Ugb3IgdGhlIGRldmljZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6CisgICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3Igc3RvcHBpbmcgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciBzdG9wcGluZyB3aXRoaW4gYSByZXNvdXJjZQorICAgKiAgICAtIG1fc0ZpcnN0UGFyYW0gPSB0YXJnZXQgdG8gYmUgc3RvcHBlZCBjYW4gYmUgZW1wdHkgZm9yIHN0YXJ0aW5nIHRoZSB3aG9sZSBkZXZpY2Ugb3IgcmVzb3VyY2UsIG9yIGNvbnRhaW4gYSBuYW1lIGZvciB0aGUgcmVzb3VyY2Ugb3IgRkIgdG8gc3RvcC4KKyAgICogICAgLSBtX3NTZWNvbmRQYXJhbSA9IG5vdCB1c2VkCisgICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyBub3QgdXNlZAorICAgKi8KKyAgY2dfbk1HTV9DTURfU3RvcCA9IDB4MDMsCisKKyAgLyohIFxicmllZiBSZWFkIHZhbHVlcyBmcm9tIEZCIGluLSBhbmQgb3V0cHV0cyBvciBmcm9tIHJlc291cmNlIGlucHV0cworICAgKgorICAgKiBXaGVuIHJlYWRpbmcgYSBwYXJhbWV0ZXIgdmFsdWUgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOgorICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIGNyZWF0aW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgY3JlYXRpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX3NGaXN0UGFyYW0gPSBTb3VyY2UgcXVhbGlmaWVyIGZvciByZWFkaW5nIGFuIEZCJ3MgdmFyaWFibGUgKCJmYm5hbWUudmFyIikgdmFyaWFibGUgaWRlbnRpZmllciBtYXkgYmUgaW5wdXQsIG91dHB1dCwgb3IgaW50ZXJuYWwgdmFyCisgICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQKKyAgICogICAgLSBtX3NBZGRpdGlvbmFsUGFyYW1zIHRoZSByZWFkIHZhbHVlIGlzIHN0b3JlZCBoZXJlCisgICAqLworICBjZ19uTUdNX0NNRF9SZWFkID0gMHgwNCwKKworICAvKiEgXGJyaWVmIFdyaXRlIHZhbHVlIHRvIGEgZ2l2ZW4gZGF0YSBpbnB1dCBvciBvdXRwdXQgKEZCIG9yIFJlc291cmNlKQorICAgKgorICAgKiBXaGVuIHdyaXRpbmcgYSBwYXJhbWV0ZXIgdmFsdWUgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOgorICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIGNyZWF0aW5nIHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgY3JlYXRpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX3NGaXN0UGFyYW0gPSBEZXN0aW5hdGlvbiBxdWFsaWZpZXIgZm9yIHdyaXRpbmcgb24gYW4gRkIncyB2YXJpYWJsZSAoImZibmFtZS52YXIiKSB2YXJpYWJsZSBpZGVudGlmaWVyIG1heSBiZSBpbnB1dCwgb3V0cHV0LCBvciBpbnRlcm5hbCB2YXIKKyAgICogICAgLSBtX3NTZWNvbmRQYXJhbSA9IENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZAorICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgPSB0aGUgc3RyaW5nIGNvbnZlcnRlZCB2YWx1ZSB0byBiZSBzZXQKKyAgICovCisgIGNnX25NR01fQ01EX1dyaXRlID0gMHgwNSwKKworICAvKiEgXGJyaWVmIGtpbGwgYSBGQiwgcmVzb3VyY2Ugb3IgdGhlIGRldmljZS4KKyAgICoKKyAgICogV2hlbiBraWxsaW5nIGEgRkIsIHJlc291cmNlIG9yIHRoZSBkZXZpY2UgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOgorICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgZm9yIGtpbGxpbmcgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciBzdG9wcGluZyB3aXRoaW4gYSByZXNvdXJjZQorICAgKiAgICAtIG1fc0Zpc3RQYXJhbSA9IHRhcmdldCB0byBiZSBraWxsZWQgY2FuIGJlIGVtcHR5IGZvciBzdGFydGluZyB0aGUgd2hvbGUgZGV2aWNlIG9yIHJlc291cmNlLCBvciBjb250YWluIGEgbmFtZSBmb3IgdGhlIHJlc291cmNlIG9yIEZCIHRvIHN0b3AuCisgICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBub3QgdXNlZAorICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgbm90IHVzZWQKKyAgICovCisgIGNnX25NR01fQ01EX0tpbGwgPSAweDA2LAorCisjaWZkZWYgRk9SVEVfU1VQUE9SVF9RVUVSWV9DTUQKKyAgY2dfbk1HTV9DTURfUXVlcnlfR3JvdXAgPSAweDA3LCAgIC8vITwgSWRlbnRpZmllciBmb3IgYWxsIHF1ZXJ5IGNvbW1hbmRzCisKKyAgLyohIFxicmllZiBxdWVyeSBGQnMKKyAgICoKKyAgICogVGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOgorICAgKiAgICAtIG1fc0Rlc3RpbmF0aW9uID0gIiIgdG8gcXVlcnkgd2l0aGluIHRoZSBkZXZpY2Ugb3IgInJlc25hbWUiIGZvciBmZXRjaGluZyB3aXRoaW4gYSByZXNvdXJjZQorICAgKiAgICAtIG1fYWNGaXJzdFBhcmFtID0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkIGZvciBhbGwgRkJzIG9yIGluc3RhbmNlIG5hbWUKKyAgICogICAgLSBtX3NTZWNvbmRQYXJhbSA9IENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCBmb3IgYWxsIEZCIHR5cGVzIG9yIHR5cGUgbmFtZQorICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgIHRoZSByZXNwb25zZSB2YWx1ZSBvZiB0aGUgcXVlcnkKKyAgICovCisgIGNnX25NR01fQ01EX1FVRVJZX0ZCID0gMHgxNywKKworICAvKiEgXGJyaWVmIHF1ZXJ5IGNvbm5lY3Rpb25zCisgICAqCisgICAqIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBTTWFuYWdlbWVudENNRCBhcmUgZGVmaW5lZCBhczoKKyAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIHRvIHF1ZXJ5IHdpdGhpbiB0aGUgZGV2aWNlIG9yICJyZXNuYW1lIiBmb3IgZmV0Y2hpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX2FjRmlyc3RQYXJhbSA9IENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZAorICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkCisgICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyAgdGhlIHJlc3BvbnNlIHZhbHVlIG9mIHRoZSBxdWVyeSAtIGEgbGlzdCBvZiBldmVudCBhbmQgZGF0YSBjb25uZWN0aW9ucyAoY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZW5kIHBvaW50cyB0byBlbmQgcG9pbnRzKQorICAgKi8KKyAgY2dfbk1HTV9DTURfUVVFUllfQ29ubmVjdGlvbiA9IDB4MjcsCisKKyAgLyohIFxicmllZiBSZWFkIHRoZSBleGlzdGluZyBmYiB0eXBlcy4KKyAgICoKKyAgICogV2hlbiByZWFkaW5nIHRoZSBmYiB0eXBlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6CisgICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgcmVhZGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIHJlYWRpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX3NGaXN0UGFyYW0gPSBub3QgdXNlZAorICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gbm90IHVzZWQKKyAgICogICAgLSBtX3NBZGRpdGlvbmFsUGFyYW1zIHRoZSByZWFkIHZhbHVlIGlzIHN0b3JlZCBoZXJlCisgICAqLworICBjZ19uTUdNX0NNRF9RVUVSWV9GQlR5cGVzID0gMHgzNywKKworICAvKiEgXGJyaWVmIFJlYWQgdGhlIGV4aXN0aW5nIGRhdGEgdHlwZXMuCisgICAqCisgICAqIFdoZW4gcmVhZGluZyB0aGUgZGF0YSB0eXBlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6CisgICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgcmVhZGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIHJlYWRpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX3NGaXN0UGFyYW0gPSBub3QgdXNlZAorICAgKiAgICAtIG1fc1NlY29uZFBhcmFtID0gbm90IHVzZWQKKyAgICogICAgLSBtX3NBZGRpdGlvbmFsUGFyYW1zIHRoZSByZWFkIHZhbHVlIGlzIHN0b3JlZCBoZXJlCisgICAqLworICBjZ19uTUdNX0NNRF9RVUVSWV9EVFR5cGVzID0gMHg0NywKKworICAvKiEgXGJyaWVmIFJlYWQgdGhlIGV4aXN0aW5nIGRhdGEgdHlwZXMuCisgICAqCisgICAqIFdoZW4gcmVhZGluZyB0aGUgZGF0YSB0eXBlcyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6CisgICAqICAgIC0gbV9zRGVzdGluYXRpb24gPSAiIiBmb3IgcmVhZGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIHJlYWRpbmcgd2l0aGluIGEgcmVzb3VyY2UKKyAgICogICAgLSBtX3NGaXJzdFBhcmFtID0gbm90IHVzZWQKKyAgICogICAgLSBtX3NTZWNvbmRQYXJhbSA9IG5vdCB1c2VkCisgICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyB0aGUgcmVhZCB2YWx1ZSBpcyBzdG9yZWQgaGVyZQorICAgKi8KKyAgY2dfbk1HTV9DTURfUVVFUllfQWRhcHRlclR5cGVzID0gMHg1NywKKworICAvKioKKyAgICogY3VycmVudGx5IG5vdCBpbXBsZW1lbnRlZAorICAgKi8KKyAgY2dfbk1HTV9DTURfUVVFUllfVHlwZVZlcnMgPSAweDY3LAorCisgIC8qISBcYnJpZWYgUmVhZCB0aGUgaW50ZXJmYWNlIG9mIGEgc3BlY2lmaWMgRkIgdHlwZS4KKyAgICoKKyAgICogV2hlbiByZWFkaW5nIHRoZSBGQiBpbnRlcmZhY2UgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIFNNYW5hZ2VtZW50Q01EIGFyZSBkZWZpbmVkIGFzOgorICAgKiAgICAtIG1fc0ZpcnN0UGFyYW0gPSBGQiB0eXBlIG5hbWUKKyAgICogICAgLSBtX3NTZWNvbmRQYXJhbSA9IG5vdCB1c2VkCisgICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyB0aGUgcmVhZCB2YWx1ZSBpcyBzdG9yZWQgaGVyZQorICAgKi8KKyAgY2dfbk1HTV9DTURfUVVFUllfRkJUeXBlID0gMHg3NywKKworICAvKiEgXGJyaWVmIFJlYWQgdGhlIGludGVyZmFjZSBvZiBhIHNwZWNpZmljIGFkYXB0ZXIgdHlwZS4KKyAgICoKKyAgICogV2hlbiByZWFkaW5nIHRoZSBhZGFwdGVyIGludGVyZmFjZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgU01hbmFnZW1lbnRDTUQgYXJlIGRlZmluZWQgYXM6CisgICAqICAgIC0gbV9zRmlyc3RQYXJhbSA9IGFkYXB0ZXIgdHlwZSBuYW1lCisgICAqICAgIC0gbV9zU2Vjb25kUGFyYW0gPSBub3QgdXNlZAorICAgKiAgICAtIG1fc0FkZGl0aW9uYWxQYXJhbXMgdGhlIHJlYWQgdmFsdWUgaXMgc3RvcmVkIGhlcmUKKyAgICovCisgIGNnX25NR01fQ01EX1FVRVJZX0FkYXB0ZXJUeXBlID0gMHg4NywKKyNlbmRpZgorCisgIC8qISBcYnJpZWYgcmVzZXQgYSBGQiwgcmVzb3VyY2Ugb3IgdGhlIGRldmljZS4KKyAgICoKKyAgICogV2hlbiByZXNldGluZyBhIEZCLCByZXNvdXJjZSBvciB0aGUgZGV2aWNlIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBTTWFuYWdlbWVudENNRCBhcmUgZGVmaW5lZCBhczoKKyAgICogICAgLSBtX3NEZXN0aW5hdGlvbiA9ICIiIGZvciByZXNldGluZyB3aXRoaW4gdGhlIGRldmljZSBvciAicmVzbmFtZSIgZm9yIHJlc2V0aW5nIHdpdGhpbiBhIHJlc291cmNlCisgICAqICAgIC0gbV9zRmlzdFBhcmFtID0gdGFyZ2V0IHRvIGJlIHJlc2V0IGNhbiBiZSBlbXB0eSBmb3IgcmVzZXRpbmcgdGhlIHdob2xlIGRldmljZSBvciByZXNvdXJjZSwgb3IgY29udGFpbiBhIG5hbWUgZm9yIHRoZSByZXNvdXJjZSBvciBGQiB0byByZXNldC4KKyAgICogICAgLSBtX3NTZWNvbmRQYXJhbSA9IG5vdCB1c2VkCisgICAqICAgIC0gbV9zQWRkaXRpb25hbFBhcmFtcyBub3QgdXNlZAorICAgKi8KKyAgY2dfbk1HTV9DTURfUmVzZXQgPSAweDA4LAorCisKKworI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX0dyb3VwID0gMHgwQSwKKyAgY2dfbk1HTV9DTURfTW9uaXRvcmluZ19BZGRfV2F0Y2ggPSAweDFBLAorICBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX1JlbW92ZV9XYXRjaCA9IDB4MkEsCisgIGNnX25NR01fQ01EX01vbml0b3JpbmdfUmVhZF9XYXRjaGVzID0gMHgzQSwKKyAgY2dfbk1HTV9DTURfTW9uaXRvcmluZ19Gb3JjZSA9IDB4NUEsCisgIGNnX25NR01fQ01EX01vbml0b3JpbmdfQ2xlYXJGb3JjZSA9IDB4NkEsCisgIGNnX25NR01fQ01EX01vbml0b3JpbmdfVHJpZ2dlcl9FdmVudCA9IDB4N0EsCisgIGNnX25NR01fQ01EX01vbml0b3JpbmdfUmVzZXRfRXZlbnRfQ291bnQgPSAweDhBLAorI2VuZGlmIC8vIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworCisKKyAgLyohIFxicmllZiBpbnZhbGlkIGNvbW1hbmQ6IHNvbWUgb2YgdGhlIGRhdGEgY291bGQgbm90IGJlIHBhcnNlZAorICAgICAqLworICBjZ19uTUdNX0NNRF9JTlZBTElEID0gMHhGRgorfTsKKworCisvKiFcYnJpZWYgVHlwZSBmb3IgdGhlIHJlc3BvbnNlIG9mIE1HTSBjb21tYW5kcworICoKKyAqIFRPRE8gZnVsbHkgZGVmaW5lIGFsbCByZXNwb25zZXMgYXMgZGVmaW5lZCBpbiBJRUMgNjE0OTkgaW5jLiBudW1iZXJzLgorICovCitlbnVtIEVNR01SZXNwb25zZSB7ZV9SRFksIGVfQkFEX1BBUkFNUywgZV9MT0NBTF9URVJNSU5BVElPTiwgZV9TWVNURU1fVEVSTUlOQVRJT04sIGVfTk9UX1JFQURZLCBlX1VOU1VQUE9SVEVEX0NNRCwKKyAgZV9VTlNVUFBPUlRFRF9UWVBFLCBlX05PX1NVQ0hfT0JKRUNULCBlX0lOVkFMSURfT0JKRUNULCBlX0lOVkFMSURfT1BFUkFUSU9OLCBlX0lOVkFMSURfU1RBVEUsCisgIGVfT1ZFUkZMT1csIGVfSU5WQUxJRF9EU1R9OworCisvKkB9Ki8KKyNlbmRpZiAvKk1HTUNNRF9IXyovCmRpZmYgLS1naXQgYS9zcmMvY29yZS9tZ21jbWRzdHJ1Y3QuaCBiL3NyYy9jb3JlL21nbWNtZHN0cnVjdC5oCmluZGV4IGMyNjMxMjMuLjU3YTNhZjkgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL21nbWNtZHN0cnVjdC5oCisrKyBiL3NyYy9jb3JlL21nbWNtZHN0cnVjdC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxNSBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICAgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvY29yZS9tb25pdG9yaW5nLmNwcCBiL3NyYy9jb3JlL21vbml0b3JpbmcuY3BwCmluZGV4IGFjOWU0MDYuLmNkZjRiZWYgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL21vbml0b3JpbmcuY3BwCisrKyBiL3NyYy9jb3JlL21vbml0b3JpbmcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIDIwMTggZm9ydGlzcyBHbWJILCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQWxvaXMgWm9pdGwKQEAgLTM1Niw3ICszNTcsNyBAQAogCiB2b2lkIENNb25pdG9yaW5nSGFuZGxlcjo6YXBwZW5kRGF0YVdhdGNoKENJRUNfU1RSSU5HICZwYVJlc3BvbnNlLAogICAgIFNEYXRhV2F0Y2hFbnRyeSAmcGFEYXRhV2F0Y2hFbnRyeSl7Ci0gIHVuc2lnbmVkIGludCBidWZmZXJTaXplID0gcGFEYXRhV2F0Y2hFbnRyeS5tRGF0YVZhbHVlLmdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpICsgZ2V0RXh0cmFTaXplRm9yRXNjYXBlZENoYXJzKHBhRGF0YVdhdGNoRW50cnkubURhdGFWYWx1ZSk7CisgIHNpemVfdCBidWZmZXJTaXplID0gcGFEYXRhV2F0Y2hFbnRyeS5tRGF0YVZhbHVlLmdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpICsgZ2V0RXh0cmFTaXplRm9yRXNjYXBlZENoYXJzKHBhRGF0YVdhdGNoRW50cnkubURhdGFWYWx1ZSk7CiAgIGFwcGVuZFBvcnRUYWcocGFSZXNwb25zZSwgcGFEYXRhV2F0Y2hFbnRyeS5tUG9ydElkKTsKICAgcGFSZXNwb25zZS5hcHBlbmQoIjxEYXRhIHZhbHVlPVwiIik7CiAgIGNoYXIqIGFjRGF0YVZhbHVlID0gbmV3IGNoYXIgW2J1ZmZlclNpemVdOyAvL1RPRE8gdHJ5IHRvIGRpcmVjdGx5IHVzZSB0aGUgcmVzcG9uc2Ugc3RyaW5nIGluc3RlYWQKQEAgLTM2NiwxNCArMzY3LDE0IEBACiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9TVFJJTkc6CiAgICAgICBjb25zdW1lZEJ5dGVzID0gc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HJj4ocGFEYXRhV2F0Y2hFbnRyeS5tRGF0YVZhbHVlKS50b1VURjgoYWNEYXRhVmFsdWUsIGJ1ZmZlclNpemUsIGZhbHNlKTsKICAgICAgIGlmKGJ1ZmZlclNpemUgIT0gcGFEYXRhV2F0Y2hFbnRyeS5tRGF0YVZhbHVlLmdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpICYmIDAgPCBjb25zdW1lZEJ5dGVzKSB7IC8vYXZvaWQgcmUtcnVubmluZyBvbiBzdHJpbmdzIHdoaWNoIHdlcmUgYWxyZWFkeSBwcm92ZW4gbm90IHRvIGhhdmUgYW55IHNwZWNpYWwgY2hhcmFjdGVyCi0gICAgICAgIGNvbnN1bWVkQnl0ZXMgKz0gZm9ydGU6OmNvcmU6OnV0aWw6OnRyYW5zZm9ybU5vbkVzY2FwZWRUb0VzY2FwZWRYTUxUZXh0KGFjRGF0YVZhbHVlKTsKKyAgICAgICAgY29uc3VtZWRCeXRlcyArPSBzdGF0aWNfY2FzdDxpbnQ+KGZvcnRlOjpjb3JlOjp1dGlsOjp0cmFuc2Zvcm1Ob25Fc2NhcGVkVG9Fc2NhcGVkWE1MVGV4dChhY0RhdGFWYWx1ZSkpOwogICAgICAgfQogICAgICAgYnJlYWs7CiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9BUlJBWToKICAgICBjYXNlIENJRUNfQU5ZOjplX1NUUlVDVDoKICAgICAgIGNvbnN1bWVkQnl0ZXMgPSBwYURhdGFXYXRjaEVudHJ5Lm1EYXRhVmFsdWUudG9TdHJpbmcoYWNEYXRhVmFsdWUsIGJ1ZmZlclNpemUpOwogICAgICAgaWYoYnVmZmVyU2l6ZSAhPSBwYURhdGFXYXRjaEVudHJ5Lm1EYXRhVmFsdWUuZ2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgJiYgMCA8IGNvbnN1bWVkQnl0ZXMpIHsgLy9hdm9pZCByZS1ydW5uaW5nIG9uIGVsZW1lbnRzIHdoaWNoIHdlcmUgYWxyZWFkeSBwcm92ZW4gbm90IHRvIGhhdmUgYW55IHNwZWNpYWwgY2hhcmFjdGVyCi0gICAgICAgIGNvbnN1bWVkQnl0ZXMgKz0gZm9ydGU6OmNvcmU6OnV0aWw6OnRyYW5zZm9ybU5vbkVzY2FwZWRUb0VzY2FwZWRYTUxUZXh0KGFjRGF0YVZhbHVlKTsKKyAgICAgICAgY29uc3VtZWRCeXRlcyArPSBzdGF0aWNfY2FzdDxpbnQ+KGZvcnRlOjpjb3JlOjp1dGlsOjp0cmFuc2Zvcm1Ob25Fc2NhcGVkVG9Fc2NhcGVkWE1MVGV4dChhY0RhdGFWYWx1ZSkpOwogICAgICAgfQogICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKQEAgLTQxOCwxMiArNDE5LDEyIEBACiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9XU1RSSU5HOgogICAgIGNhc2UgQ0lFQ19BTlk6OmVfU1RSSU5HOgogICAgICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHBhRGF0YVZhbHVlLnNpemUoKTsgaSsrKSB7Ci0gICAgICAgIHJldFZhbCArPSBmb3J0ZTo6Y29yZTo6dXRpbDo6Z2V0RXh0cmFTaXplRm9yRXNjYXBlZENoYXJzKHN0YXRpY19jYXN0PGNvbnN0IENJRUNfV1NUUklORyo+KHBhRGF0YVZhbHVlW2ldKS0+Z2V0VmFsdWUoKSkgKyAxMDsgLy9mb3Igb3BlbmluZyBhbmQgY2xvc2luZyBxdW90ZXMgb3IgYXBvcworICAgICAgICByZXRWYWwgKz0gZm9ydGU6OmNvcmU6OnV0aWw6OmdldEV4dHJhU2l6ZUZvckVzY2FwZWRDaGFycyhzdGF0aWNfY2FzdDxjb25zdCBDSUVDX1dTVFJJTkcqPihwYURhdGFWYWx1ZVtzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KGkpXSktPmdldFZhbHVlKCkpICsgMTA7IC8vZm9yIG9wZW5pbmcgYW5kIGNsb3NpbmcgcXVvdGVzIG9yIGFwb3MKICAgICAgIH0KICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ0lFQ19BTlk6OmVfU1RSVUNUOgogICAgICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHBhRGF0YVZhbHVlLnNpemUoKTsgaSsrKSB7Ci0gICAgICAgIHJldFZhbCArPSBnZXRFeHRyYVNpemVGb3JFc2NhcGVkQ2hhcnNTdHJ1Y3QoKnN0YXRpY19jYXN0PGNvbnN0IENJRUNfU1RSVUNUKj4ocGFEYXRhVmFsdWVbaV0pKTsKKyAgICAgICAgcmV0VmFsICs9IGdldEV4dHJhU2l6ZUZvckVzY2FwZWRDaGFyc1N0cnVjdCgqc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19TVFJVQ1QqPihwYURhdGFWYWx1ZVtzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KGkpXSkpOwogICAgICAgfQogICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL21vbml0b3JpbmcuaCBiL3NyYy9jb3JlL21vbml0b3JpbmcuaAppbmRleCAwYTIxMjYyLi5kMzVhY2JjIDEwMDY0NAotLS0gYS9zcmMvY29yZS9tb25pdG9yaW5nLmgKKysrIGIvc3JjL2NvcmUvbW9uaXRvcmluZy5oCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE1LCAyMDE4IGZvcnRpc3MgR21iSCwgSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKICAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvcmVzb3VyY2UuY3BwIGIvc3JjL2NvcmUvcmVzb3VyY2UuY3BwCmluZGV4IDBiNWQzZTMuLjc3YmRjMWYgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL3Jlc291cmNlLmNwcAorKysgYi9zcmMvY29yZS9yZXNvdXJjZS5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE4IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgsCiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMsIEdlcmhhcmQgRWJlbmhvZmVyLCBUaG9tYXMgU3RyYXNzZXIsCkBAIC0yOCwzNiArMjksMjggQEAKICNpbmNsdWRlICJsdWEvbHVhYWRhcHRlcnR5cGVlbnRyeS5oIgogI2VuZGlmCiAKLUNSZXNvdXJjZTo6Q1Jlc291cmNlKENSZXNvdXJjZSogcGFfcG9EZXZpY2UsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsCi0gICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJDb25uRGF0YSwKLSAgICBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpIDoKLSAgICAgICAgQ0Z1bmN0aW9uQmxvY2socGFfcG9EZXZpY2UsIHBhX3BzdEludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwgcGFfYWNGQkNvbm5EYXRhLCBwYV9hY0ZCVmFyc0RhdGEpLAotICAgICAgICBmb3J0ZTo6Y29yZTo6Q0ZCQ29udGFpbmVyKENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCwgMCksIC8vIHRoZSBmYmNvbnRhaW5lciBvZiByZXNvdXJjZXMgZG9lcyBub3QgaGF2ZSBhIHNlcGVyYXRlIG5hbWUgYXMgaXQgaXMgc3RvcmVkIGluIHRoZSByZXNvdXJjZQotICAgICAgICBtUmVzb3VyY2VFdmVudEV4ZWN1dGlvbihDRXZlbnRDaGFpbkV4ZWN1dGlvblRocmVhZDo6Y3JlYXRlRWNldCgpKSwKLSAgICAgICAgbVJlc0lmMkluQ29ubmVjdGlvbnMoMCkKK0NSZXNvdXJjZTo6Q1Jlc291cmNlKENSZXNvdXJjZSogcGFfcG9EZXZpY2UsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSkgOgorICAgIENGdW5jdGlvbkJsb2NrKHBhX3BvRGV2aWNlLCBwYV9wc3RJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIHBhX2FjRkJDb25uRGF0YSwgcGFfYWNGQlZhcnNEYXRhKSwgZm9ydGU6OmNvcmU6OkNGQkNvbnRhaW5lcihDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQsIDApLCAvLyB0aGUgZmJjb250YWluZXIgb2YgcmVzb3VyY2VzIGRvZXMgbm90IGhhdmUgYSBzZXBlcmF0ZSBuYW1lIGFzIGl0IGlzIHN0b3JlZCBpbiB0aGUgcmVzb3VyY2UKKyAgICBtUmVzb3VyY2VFdmVudEV4ZWN1dGlvbihDRXZlbnRDaGFpbkV4ZWN1dGlvblRocmVhZDo6Y3JlYXRlRWNldCgpKSwgbVJlc0lmMkluQ29ubmVjdGlvbnMoMCkKICNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcKLSAgICAgICAgICAgICwgbU1vbml0b3JpbmdIYW5kbGVyKCp0aGlzKQorLCBtTW9uaXRvcmluZ0hhbmRsZXIoKnRoaXMpCiAjZW5kaWYKIHsKICNpZmRlZiBGT1JURV9EWU5BTUlDX1RZUEVfTE9BRAotICAgICAgICBsdWFFbmdpbmUgPSBuZXcgQ0x1YUVuZ2luZSgpOworICBsdWFFbmdpbmUgPSBuZXcgQ0x1YUVuZ2luZSgpOwogI2VuZGlmCiAgIGluaXRpYWxpemVSZXNJZjJJbkNvbm5lY3Rpb25zKCk7CiB9CiAKLUNSZXNvdXJjZTo6Q1Jlc291cmNlKGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhX3BzdEludGVyZmFjZVNwZWMsCi0gICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJDb25uRGF0YSwKLSAgICBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpIDoKLSAgICBDRnVuY3Rpb25CbG9jaygwLCBwYV9wc3RJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIHBhX2FjRkJDb25uRGF0YSwgcGFfYWNGQlZhcnNEYXRhKSwKLSAgICAgICAgZm9ydGU6OmNvcmU6OkNGQkNvbnRhaW5lcihDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQsIDApLCAvLyB0aGUgZmJjb250YWluZXIgb2YgcmVzb3VyY2VzIGRvZXMgbm90IGhhdmUgYSBzZXBlcmF0ZSBuYW1lIGFzIGl0IGlzIHN0b3JlZCBpbiB0aGUgcmVzb3VyY2UKLSAgICAgICAgbVJlc291cmNlRXZlbnRFeGVjdXRpb24oMCksCi0gICAgICAgIG1SZXNJZjJJbkNvbm5lY3Rpb25zKDApCitDUmVzb3VyY2U6OkNSZXNvdXJjZShjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpIDoKKyAgICBDRnVuY3Rpb25CbG9jaygwLCBwYV9wc3RJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsIHBhX2FjRkJDb25uRGF0YSwgcGFfYWNGQlZhcnNEYXRhKSwgZm9ydGU6OmNvcmU6OkNGQkNvbnRhaW5lcihDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQsIDApLCAvLyB0aGUgZmJjb250YWluZXIgb2YgcmVzb3VyY2VzIGRvZXMgbm90IGhhdmUgYSBzZXBlcmF0ZSBuYW1lIGFzIGl0IGlzIHN0b3JlZCBpbiB0aGUgcmVzb3VyY2UKKyAgICBtUmVzb3VyY2VFdmVudEV4ZWN1dGlvbigwKSwgbVJlc0lmMkluQ29ubmVjdGlvbnMoMCkKICNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcKLSAgICAgICAgICAgICwgbU1vbml0b3JpbmdIYW5kbGVyKCp0aGlzKQorLCBtTW9uaXRvcmluZ0hhbmRsZXIoKnRoaXMpCiAjZW5kaWYKIHsKICNpZmRlZiBGT1JURV9EWU5BTUlDX1RZUEVfTE9BRAotICAgIGx1YUVuZ2luZSA9IG5ldyBDTHVhRW5naW5lKCk7CisgIGx1YUVuZ2luZSA9IG5ldyBDTHVhRW5naW5lKCk7CiAjZW5kaWYKICAgaW5pdGlhbGl6ZVJlc0lmMkluQ29ubmVjdGlvbnMoKTsKIH0KQEAgLTExMiwyMiArMTA1LDI4IEBACiAgICAgICAgIHJldFZhbCA9IHdyaXRlVmFsdWUocGFDb21tYW5kLm1GaXJzdFBhcmFtLCBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMpOwogICAgICAgICBicmVhazsKICAgICAgIGNhc2UgY2dfbk1HTV9DTURfU3RhcnQ6Ci0gICAgICAgIGNhc2UgY2dfbk1HTV9DTURfU3RvcDoKLSAgICAgICAgY2FzZSBjZ19uTUdNX0NNRF9LaWxsOgotICAgICAgICBjYXNlIGNnX25NR01fQ01EX1Jlc2V0OgorICAgICAgY2FzZSBjZ19uTUdNX0NNRF9TdG9wOgorICAgICAgY2FzZSBjZ19uTUdNX0NNRF9LaWxsOgorICAgICAgY2FzZSBjZ19uTUdNX0NNRF9SZXNldDoKICAgICAgICAgcmV0VmFsID0gaGFuZGxlRXhlY3V0aW9uU3RhdGVDbWQocGFDb21tYW5kLm1DTUQsIHBhQ29tbWFuZC5tRmlyc3RQYXJhbSk7CiAgICAgICAgIGJyZWFrOwogI2lmZGVmIEZPUlRFX1NVUFBPUlRfUVVFUllfQ01ECi0gICAgICBjYXNlIGNnX25NR01fQ01EX1FVRVJZX0ZCVHlwZXM6CisgICAgICAgIGNhc2UgY2dfbk1HTV9DTURfUVVFUllfRkJUeXBlczoKICAgICAgICAgcmV0VmFsID0gcXVlcnlBbGxGQlR5cGVzKHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcyk7CiAgICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBjZ19uTUdNX0NNRF9RVUVSWV9BZGFwdGVyVHlwZXM6CisgICAgICAgIGNhc2UgY2dfbk1HTV9DTURfUVVFUllfQWRhcHRlclR5cGVzOgogICAgICAgICByZXRWYWwgPSBxdWVyeUFsbEFkYXB0ZXJUeXBlcyhwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMpOwogICAgICAgICBicmVhazsKLSAgICAgIGNhc2UgY2dfbk1HTV9DTURfUVVFUllfRkI6CisgICAgICAgIGNhc2UgY2dfbk1HTV9DTURfUVVFUllfRkI6CiAgICAgICAgIHJldFZhbCA9IHF1ZXJ5RkJzKHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcyk7CiAgICAgICAgIGJyZWFrOwotICAgICAgY2FzZSBjZ19uTUdNX0NNRF9RVUVSWV9Db25uZWN0aW9uOgorICAgICAgICBjYXNlIGNnX25NR01fQ01EX1FVRVJZX0ZCVHlwZToKKyAgICAgICAgcmV0VmFsID0gY3JlYXRlRkJUeXBlUmVzcG9uc2VNZXNzYWdlKHBhQ29tbWFuZC5tRmlyc3RQYXJhbS5mcm9udCgpLCBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMpOworICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBjZ19uTUdNX0NNRF9RVUVSWV9BZGFwdGVyVHlwZToKKyAgICAgICAgcmV0VmFsID0gY3JlYXRlQWRhcHRlclR5cGVSZXNwb25zZU1lc3NhZ2UocGFDb21tYW5kLm1GaXJzdFBhcmFtLmZyb250KCksIHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcyk7CisgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGNnX25NR01fQ01EX1FVRVJZX0Nvbm5lY3Rpb246CiAgICAgICAgIHJldFZhbCA9IHF1ZXJ5Q29ubmVjdGlvbnMocGFDb21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYgLy9GT1JURV9TVVBQT1JUX1FVRVJZX0NNRApAQCAtMTQ4LDkgKzE0Nyw5IEBACiAgIGlmKGVfUkRZID09IHJldFZhbCl7CiAgICAgcmV0VmFsID0gY2hhbmdlQ29udGFpbmVkRkJzRXhlY3V0aW9uU3RhdGUocGFfdW5Db21tYW5kKTsKICAgICBpZihlX1JEWSA9PSByZXRWYWwpewotICAgICAgaWYoY2dfbk1HTV9DTURfU3RhcnQgPT0gcGFfdW5Db21tYW5kICYmIDAgIT0gbV9wc3RJbnRlcmZhY2VTcGVjKSB7IC8vb24gc3RhcnQsIHNhbXBsZSBpbnB1dHMKLSAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IG1fcHN0SW50ZXJmYWNlU3BlYy0+bV9uTnVtRElzOyArK2kpIHsKLSAgICAgICAgICBpZigwICE9IG1fYXBvRElDb25uc1tpXSkgeworICAgICAgaWYoY2dfbk1HTV9DTURfU3RhcnQgPT0gcGFfdW5Db21tYW5kICYmIDAgIT0gbV9wc3RJbnRlcmZhY2VTcGVjKXsgLy9vbiBzdGFydCwgc2FtcGxlIGlucHV0cworICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXM7ICsraSl7CisgICAgICAgICAgaWYoMCAhPSBtX2Fwb0RJQ29ubnNbaV0pewogICAgICAgICAgICAgbV9hcG9ESUNvbm5zW2ldLT5yZWFkRGF0YShnZXRESShpKSk7CiAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0xNjQsOCArMTYzLDcgQEAKICAgcmV0dXJuIHJldFZhbDsKIH0KIAotRU1HTVJlc3BvbnNlIENSZXNvdXJjZTo6aGFuZGxlRXhlY3V0aW9uU3RhdGVDbWQoRU1HTUNvbW1hbmRUeXBlIHBhQ01ELAotICAgIGZvcnRlOjpjb3JlOjpUTmFtZUlkZW50aWZpZXIgJnBhVGFyZ2V0KXsKK0VNR01SZXNwb25zZSBDUmVzb3VyY2U6OmhhbmRsZUV4ZWN1dGlvblN0YXRlQ21kKEVNR01Db21tYW5kVHlwZSBwYUNNRCwgZm9ydGU6OmNvcmU6OlROYW1lSWRlbnRpZmllciAmcGFUYXJnZXQpewogICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9OT19TVUNIX09CSkVDVDsKICAgQ0Z1bmN0aW9uQmxvY2sgKmZiID0gdGhpczsKIApAQCAtMTg0LDkgKzE4Miw3IEBACiAgIHJldHVybiBjcmVhdGVDb25uZWN0aW9uKHBhQ29tbWFuZC5tRmlyc3RQYXJhbSwgcGFDb21tYW5kLm1TZWNvbmRQYXJhbSk7CiB9CiAKLQotRU1HTVJlc3BvbnNlIENSZXNvdXJjZTo6Y3JlYXRlQ29ubmVjdGlvbihmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYVNyY05hbWVMaXN0LAotICAgIGZvcnRlOjpjb3JlOjpUTmFtZUlkZW50aWZpZXIgJnBhRHN0TmFtZUxpc3QpeworRU1HTVJlc3BvbnNlIENSZXNvdXJjZTo6Y3JlYXRlQ29ubmVjdGlvbihmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYVNyY05hbWVMaXN0LCBmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYURzdE5hbWVMaXN0KXsKICAgRU1HTVJlc3BvbnNlIHJldFZhbCA9IGVfTk9fU1VDSF9PQkpFQ1Q7CiAKICAgQ0Nvbm5lY3Rpb24gKmNvbiA9IGdldENvbm5lY3Rpb24ocGFTcmNOYW1lTGlzdCk7CkBAIC0yMDMsOCArMTk5LDcgQEAKICAgcmV0dXJuIHJldFZhbDsKIH0KIAotRU1HTVJlc3BvbnNlIENSZXNvdXJjZTo6ZGVsZXRlQ29ubmVjdGlvbihmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYVNyY05hbWVMaXN0LAotICAgIGZvcnRlOjpjb3JlOjpUTmFtZUlkZW50aWZpZXIgJnBhRHN0TmFtZUxpc3QpeworRU1HTVJlc3BvbnNlIENSZXNvdXJjZTo6ZGVsZXRlQ29ubmVjdGlvbihmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYVNyY05hbWVMaXN0LCBmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYURzdE5hbWVMaXN0KXsKICAgRU1HTVJlc3BvbnNlIHJldFZhbCA9IGVfTk9fU1VDSF9PQkpFQ1Q7CiAKICAgQ0Nvbm5lY3Rpb24gKmNvbiA9IGdldENvbm5lY3Rpb24ocGFTcmNOYW1lTGlzdCk7CkBAIC0yMjEsOCArMjE2LDcgQEAKICAgcmV0dXJuIHJldFZhbDsKIH0KIAotRU1HTVJlc3BvbnNlIENSZXNvdXJjZTo6d3JpdGVWYWx1ZShmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYU5hbWVMaXN0LAotICAgIGNvbnN0IENJRUNfU1RSSU5HICYgcGFWYWx1ZSwgYm9vbCBwYUZvcmNlKXsKK0VNR01SZXNwb25zZSBDUmVzb3VyY2U6OndyaXRlVmFsdWUoZm9ydGU6OmNvcmU6OlROYW1lSWRlbnRpZmllciAmcGFOYW1lTGlzdCwgY29uc3QgQ0lFQ19TVFJJTkcgJiBwYVZhbHVlLCBib29sIHBhRm9yY2UpewogICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9OT19TVUNIX09CSkVDVDsKIAogICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBvcnROYW1lID0gcGFOYW1lTGlzdC5iYWNrKCk7CkBAIC0yMzEsOCArMjI1LDggQEAKIAogICBDRnVuY3Rpb25CbG9jayAqZmIgPSB0aGlzOwogICBpZihwYU5hbWVMaXN0LnNpemUoKSA+PSAxKXsKLSAgIC8vdGhpcyBpcyBub3QgYW4gaWRlbnRpZmllciBmb3IgdGhlIHJlc291cmNlIGludGVyZmFjZQotICAgZmIgPSBnZXRDb250YWluZWRGQihydW5uZXIpOyAvLyB0aGUgbGFzdCBlbnRyeSBpcyB0aGUgaW5wdXQgbmFtZSB0aGVyZWZvcmUgcmVkdWNlIGxpc3QgaGVyZSBieSBvbmUKKyAgICAvL3RoaXMgaXMgbm90IGFuIGlkZW50aWZpZXIgZm9yIHRoZSByZXNvdXJjZSBpbnRlcmZhY2UKKyAgICBmYiA9IGdldENvbnRhaW5lZEZCKHJ1bm5lcik7IC8vIHRoZSBsYXN0IGVudHJ5IGlzIHRoZSBpbnB1dCBuYW1lIHRoZXJlZm9yZSByZWR1Y2UgbGlzdCBoZXJlIGJ5IG9uZQogICB9CiAKICAgaWYoKDAgIT0gZmIpICYmIChydW5uZXIuaXNMYXN0RW50cnkoKSkpewpAQCAtMjUxLDcgKzI0NSw4IEBACiAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIHJldFZhbCA9IGVfUkRZOwotICAgICAgfSBlbHNlIHsKKyAgICAgIH0KKyAgICAgIGVsc2V7CiAgICAgICAgIHJldFZhbCA9IGVfQkFEX1BBUkFNUzsKICAgICAgIH0KICAgICB9CkBAIC0yNjEsMTAgKzI1NiwyMyBAQAogCiBFTUdNUmVzcG9uc2UgQ1Jlc291cmNlOjpyZWFkVmFsdWUoZm9ydGU6OmNvcmU6OlROYW1lSWRlbnRpZmllciAmcGFOYW1lTGlzdCwgQ0lFQ19TVFJJTkcgJiBwYVZhbHVlKXsKICAgRU1HTVJlc3BvbnNlIHJldFZhbCA9IGVfTk9fU1VDSF9PQkpFQ1Q7Ci0KICAgQ0lFQ19BTlkgKnZhciA9IGdldFZhcmlhYmxlKHBhTmFtZUxpc3QpOwogICBpZigwICE9IHZhcil7Ci0gICAgaW50IG5Vc2VkQ2hhcnMgPSB2YXItPnRvU3RyaW5nKHBhVmFsdWUuZ2V0VmFsdWUoKSwgcGFWYWx1ZS5nZXRDYXBhY2l0eSgpKTsKKyAgICBpbnQgblVzZWRDaGFycyA9IC0xOworICAgIHN3aXRjaCAodmFyLT5nZXREYXRhVHlwZUlEKCkpeworICAgICAgY2FzZSBDSUVDX0FOWTo6ZV9XU1RSSU5HOgorICAgICAgY2FzZSBDSUVDX0FOWTo6ZV9TVFJJTkc6eworICAgICAgICBzaXplX3QgYnVmZmVyU2l6ZSA9IHZhci0+Z2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgKyBmb3J0ZTo6Y29yZTo6dXRpbDo6Z2V0RXh0cmFTaXplRm9yRXNjYXBlZENoYXJzKHN0YXRpY19jYXN0PENJRUNfV1NUUklORyY+KCp2YXIpLmdldFZhbHVlKCkpOworICAgICAgICBuVXNlZENoYXJzID0gc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HJj4oKnZhcikudG9VVEY4KHBhVmFsdWUuZ2V0VmFsdWUoKSwgYnVmZmVyU2l6ZSwgZmFsc2UpOworICAgICAgICBpZihidWZmZXJTaXplICE9IHZhci0+Z2V0VG9TdHJpbmdCdWZmZXJTaXplKCkgJiYgMCA8IG5Vc2VkQ2hhcnMpIHsgLy9hdm9pZCByZS1ydW5uaW5nIG9uIHN0cmluZ3Mgd2hpY2ggd2VyZSBhbHJlYWR5IHByb3ZlbiBub3QgdG8gaGF2ZSBhbnkgc3BlY2lhbCBjaGFyYWN0ZXIKKyAgICAgICAgICBuVXNlZENoYXJzICs9IHN0YXRpY19jYXN0PGludD4oZm9ydGU6OmNvcmU6OnV0aWw6OnRyYW5zZm9ybU5vbkVzY2FwZWRUb0VzY2FwZWRYTUxUZXh0KHBhVmFsdWUuZ2V0VmFsdWUoKSkpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgZGVmYXVsdDoKKyAgICAgICAgblVzZWRDaGFycyA9IHZhci0+dG9TdHJpbmcocGFWYWx1ZS5nZXRWYWx1ZSgpLCBwYVZhbHVlLmdldENhcGFjaXR5KCkpOworICAgICAgICBicmVhazsKKyAgICB9CiAKICAgICBpZigtMSAhPSBuVXNlZENoYXJzKXsKICAgICAgIHBhVmFsdWUuYXNzaWduKHBhVmFsdWUuZ2V0VmFsdWUoKSwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihuVXNlZENoYXJzKSk7CkBAIC0yNzcsNiArMjg1LDggQEAKICAgcmV0dXJuIHJldFZhbDsKIH0KIAorI2lmZGVmIEZPUlRFX1NVUFBPUlRfUVVFUllfQ01ECisKIEVNR01SZXNwb25zZSBDUmVzb3VyY2U6OnF1ZXJ5QWxsRkJUeXBlcyhDSUVDX1NUUklORyAmIHBhVmFsdWUpewogICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9VTlNVUFBPUlRFRF9UWVBFOwogCkBAIC0yOTMsMTMyICszMDMsNiBAQAogICByZXR1cm4gcmV0VmFsOwogfQogCi1FTUdNUmVzcG9uc2UgQ1Jlc291cmNlOjpxdWVyeUZCcyhDSUVDX1NUUklORyAmIHBhVmFsdWUpewotICBmb3IgKFRGdW5jdGlvbkJsb2NrTGlzdDo6SXRlcmF0b3IgaXRSdW5uZXIoZ2V0RkJMaXN0KCkuYmVnaW4oKSk7IGl0UnVubmVyICE9IGdldEZCTGlzdCgpLmVuZCgpOyArK2l0UnVubmVyKSB7Ci0gICAgaWYoaXRSdW5uZXIgIT0gZ2V0RkJMaXN0KCkuYmVnaW4oKSl7Ci0gICAgICBwYVZhbHVlLmFwcGVuZCgiXG4iKTsKLSAgICB9Ci0gICAgcGFWYWx1ZS5hcHBlbmQoIjxGQiBuYW1lPVwiIik7Ci0gICAgcGFWYWx1ZS5hcHBlbmQoKHN0YXRpY19jYXN0PENGdW5jdGlvbkJsb2NrICo+KCppdFJ1bm5lcikpLT5nZXRJbnN0YW5jZU5hbWUoKSk7Ci0gICAgcGFWYWx1ZS5hcHBlbmQoIlwiIHR5cGU9XCIiKTsKLSAgICBwYVZhbHVlLmFwcGVuZChDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoKHN0YXRpY19jYXN0PENGdW5jdGlvbkJsb2NrICo+KCppdFJ1bm5lcikpLT5nZXRGQlR5cGVJZCgpKSk7Ci0gICAgcGFWYWx1ZS5hcHBlbmQoIlwiLz4iKTsKLSAgfQotICByZXR1cm4gZV9SRFk7Ci19Ci0KLXZvaWQgQ1Jlc291cmNlOjpjcmVhdGVFT0Nvbm5lY3Rpb25SZXNwb25zZShjb25zdCBDRnVuY3Rpb25CbG9jayYgcGFGYiwgQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0KXsKLSAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqY29uc3Qgc3BlYyA9IHBhRmIuZ2V0RkJJbnRlcmZhY2VTcGVjKCk7Ci0gIGlmKHNwZWMtPm1fbk51bUVPcyA+IDApewotICAgIGZvcihzaXplX3QgaSA9IDA7IHNwZWMtPm1fYXVuRU9OYW1lc1tpXSAhPSBzcGVjLT5tX2F1bkVPTmFtZXNbc3BlYy0+bV9uTnVtRU9zXTsgaSsrKXsKLSAgICAgIGNvbnN0IENFdmVudENvbm5lY3Rpb24qIGVDb25uID0gcGFGYi5nZXRFT0Nvbm5lY3Rpb24oc3BlYy0+bV9hdW5FT05hbWVzW2ldKTsKLSAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxTQ29ubmVjdGlvblBvaW50Pjo6SXRlcmF0b3IgaXRSdW5uZXJEc3QoZUNvbm4tPmdldERlc3RpbmF0aW9uTGlzdCgpLmJlZ2luKCkpOyBpdFJ1bm5lckRzdCAhPSBlQ29ubi0+Z2V0RGVzdGluYXRpb25MaXN0KCkuZW5kKCk7ICsraXRSdW5uZXJEc3QpewotICAgICAgICBpZihpdFJ1bm5lckRzdCAhPSBlQ29ubi0+Z2V0RGVzdGluYXRpb25MaXN0KCkuYmVnaW4oKSl7Ci0gICAgICAgICAgcGFSZXFSZXN1bHQuYXBwZW5kKCJcbiIpOwotICAgICAgICB9Ci0gICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZU1lc3NhZ2Uoc3BlYy0+bV9hdW5FT05hbWVzW2ldLAotICAgICAgICAgIGl0UnVubmVyRHN0LT5tRkItPmdldEZCSW50ZXJmYWNlU3BlYygpLT5tX2F1bkVJTmFtZXNbaXRSdW5uZXJEc3QtPm1Qb3J0SWRdLAotICAgICAgICAgICppdFJ1bm5lckRzdC0+bUZCLCBwYUZiLCBwYVJlcVJlc3VsdCk7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19Ci0KLXZvaWQgQ1Jlc291cmNlOjpjcmVhdGVET0Nvbm5lY3Rpb25SZXNwb25zZShjb25zdCBDRnVuY3Rpb25CbG9jayYgcGFGYiwgQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0KXsKLSAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqY29uc3Qgc3BlYyA9IHBhRmIuZ2V0RkJJbnRlcmZhY2VTcGVjKCk7Ci0gIGlmKHNwZWMtPm1fbk51bURPcyA+IDApewotICAgIGZvcihzaXplX3QgaSA9IDA7IHNwZWMtPm1fYXVuRE9OYW1lc1tpXSAhPSBzcGVjLT5tX2F1bkRPTmFtZXNbc3BlYy0+bV9uTnVtRE9zXTsgaSsrKXsKLSAgICAgIGNvbnN0IENEYXRhQ29ubmVjdGlvbiAqY29uc3QgZENvbm4gPSBwYUZiLmdldERPQ29ubmVjdGlvbihzcGVjLT5tX2F1bkRPTmFtZXNbaV0pOwotICAgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PFNDb25uZWN0aW9uUG9pbnQ+OjpJdGVyYXRvciBpdFJ1bm5lckRzdChkQ29ubi0+Z2V0RGVzdGluYXRpb25MaXN0KCkuYmVnaW4oKSk7IGl0UnVubmVyRHN0ICE9IGRDb25uLT5nZXREZXN0aW5hdGlvbkxpc3QoKS5lbmQoKTsgKytpdFJ1bm5lckRzdCl7Ci0gICAgICAgIGlmKGl0UnVubmVyRHN0ICE9IGRDb25uLT5nZXREZXN0aW5hdGlvbkxpc3QoKS5iZWdpbigpKXsKLSAgICAgICAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIlxuIik7Ci0gICAgICAgIH0KLSAgICAgICAgY3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlTWVzc2FnZShzcGVjLT5tX2F1bkRPTmFtZXNbaV0sCi0gICAgICAgICAgaXRSdW5uZXJEc3QtPm1GQi0+Z2V0RkJJbnRlcmZhY2VTcGVjKCktPm1fYXVuRElOYW1lc1tpdFJ1bm5lckRzdC0+bVBvcnRJZF0sCi0gICAgICAgICAgKml0UnVubmVyRHN0LT5tRkIsIHBhRmIsIHBhUmVxUmVzdWx0KTsKLSAgICAgIH0KLSAgICB9Ci0gIH0KLX0KLQotdm9pZCBDUmVzb3VyY2U6OmNyZWF0ZUFPQ29ubmVjdGlvblJlc3BvbnNlKGNvbnN0IENGdW5jdGlvbkJsb2NrJiBwYUZiLCBDSUVDX1NUUklORyYgcGFSZXFSZXN1bHQpewotICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpjb25zdCBzcGVjID0gcGFGYi5nZXRGQkludGVyZmFjZVNwZWMoKTsKLSAgaWYoc3BlYy0+bV9uTnVtQWRhcHRlcnMgPiAwKXsKLSAgICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgc3BlYy0+bV9uTnVtQWRhcHRlcnM7IGkrKyl7Ci0gICAgICBjb25zdCBDQWRhcHRlciAqY29uc3QgYWRhcHRlciA9IHBhRmIuZ2V0QWRhcHRlcihzcGVjLT5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb25baV0ubV9uQWRhcHRlck5hbWVJRCk7Ci0gICAgICBjb25zdCBDQWRhcHRlckNvbm5lY3Rpb24qIGFDb25uID0gYWRhcHRlci0+Z2V0QWRhcHRlckNvbm5lY3Rpb24oKTsKLSAgICAgIGlmKHNwZWMtPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpXS5tX2JJc1BsdWcgJiYgMCAhPSBhQ29ubil7Ci0gICAgICAgIGlmKGkgIT0gMCl7Ci0gICAgICAgICAgcGFSZXFSZXN1bHQuYXBwZW5kKCJcbiIpOwotICAgICAgICB9Ci0gICAgICAgIENTaW5nbHlMaW5rZWRMaXN0PFNDb25uZWN0aW9uUG9pbnQ+OjpJdGVyYXRvciBpdFJ1bm5lckRzdChhQ29ubi0+Z2V0RGVzdGluYXRpb25MaXN0KCkuYmVnaW4oKSk7Ci0gICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZU1lc3NhZ2Uoc3BlYy0+bV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uW2ldLm1fbkFkYXB0ZXJOYW1lSUQsCi0gICAgICAgICAgaXRSdW5uZXJEc3QtPm1GQi0+Z2V0RkJJbnRlcmZhY2VTcGVjKCktPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpdFJ1bm5lckRzdC0+bVBvcnRJZF0ubV9uQWRhcHRlck5hbWVJRCwKLSAgICAgICAgICAqaXRSdW5uZXJEc3QtPm1GQiwgcGFGYiwgcGFSZXFSZXN1bHQpOwotICAgICAgfQotICAgIH0KLSAgfQotfQotCi12b2lkIENSZXNvdXJjZTo6Y3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlTWVzc2FnZShjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNyY0lkLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGRzdElkLAotICAgIGNvbnN0IENGdW5jdGlvbkJsb2NrJiBwYURzdEZiLCBjb25zdCBDRnVuY3Rpb25CbG9jayYgcGFTcmNGYiwgQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0KXsKLSAgcGFSZXFSZXN1bHQuYXBwZW5kKCI8Q29ubmVjdGlvbiBzb3VyY2U9XCIiKTsKLSAgcGFSZXFSZXN1bHQuYXBwZW5kKHBhU3JjRmIuZ2V0SW5zdGFuY2VOYW1lKCkpOwotICBwYVJlcVJlc3VsdC5hcHBlbmQoIi4iKTsKLSAgcGFSZXFSZXN1bHQuYXBwZW5kKENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChzcmNJZCkpOwotICBwYVJlcVJlc3VsdC5hcHBlbmQoIlwiIGRlc3RpbmF0aW9uPVwiIik7Ci0gIHBhUmVxUmVzdWx0LmFwcGVuZChwYURzdEZiLmdldEluc3RhbmNlTmFtZSgpKTsKLSAgcGFSZXFSZXN1bHQuYXBwZW5kKCIuIik7Ci0gIHBhUmVxUmVzdWx0LmFwcGVuZChDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoZHN0SWQpKTsKLSAgcGFSZXFSZXN1bHQuYXBwZW5kKCJcIi8+Iik7Ci19Ci0KLUVNR01SZXNwb25zZSBDUmVzb3VyY2U6OnF1ZXJ5Q29ubmVjdGlvbnMoQ0lFQ19TVFJJTkcgJiBwYVJlcVJlc3VsdCl7Ci0gICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9VTlNVUFBPUlRFRF9UWVBFOwotICAgLy9UT0RPIGNoZWNrIGNvbnRhaW5lciBsaXN0IHRvIHN1cHBvcnQgc3ViYXBwcyBpc3N1ZVs1MzgzMzNdCi0gICAgZm9yIChURnVuY3Rpb25CbG9ja0xpc3Q6Okl0ZXJhdG9yIGl0UnVubmVyKGdldEZCTGlzdCgpLmJlZ2luKCkpOyBpdFJ1bm5lciAhPSBnZXRGQkxpc3QoKS5lbmQoKTsgKytpdFJ1bm5lcikgewotICAgICAgY3JlYXRlRU9Db25uZWN0aW9uUmVzcG9uc2UoKippdFJ1bm5lciwgcGFSZXFSZXN1bHQpOwotICAgICAgY3JlYXRlRE9Db25uZWN0aW9uUmVzcG9uc2UoKippdFJ1bm5lciwgcGFSZXFSZXN1bHQpOwotICAgICAgY3JlYXRlQU9Db25uZWN0aW9uUmVzcG9uc2UoKippdFJ1bm5lciwgcGFSZXFSZXN1bHQpOwotICAgIH0KLSAgICByZXRWYWwgPSBlX1JEWTsKLSAgICByZXR1cm4gcmV0VmFsOwotfQotCi0jaWZkZWYgRk9SVEVfRFlOQU1JQ19UWVBFX0xPQUQKLUVNR01SZXNwb25zZSBDUmVzb3VyY2U6OmNyZWF0ZUZCVHlwZUZyb21MdWEoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCB0eXBlTmFtZUlkLAotICAgIENJRUNfU1RSSU5HJiBwYUx1YVNjcmlwdEFzU3RyaW5nKXsKLSAgRU1HTVJlc3BvbnNlIHJldFZhbCA9IGVfVU5TVVBQT1JURURfVFlQRTsKLSAgaWYoTlVMTCAhPSBzdHJzdHIocGFMdWFTY3JpcHRBc1N0cmluZy5nZXRWYWx1ZSgpLCAiaW50ZXJuYWxGQnMiKSl7Ly8gQ0ZCVHlwZQotICAgIGlmKENMdWFDRkJUeXBlRW50cnk6OmNyZWF0ZUx1YUZCVHlwZUVudHJ5KHR5cGVOYW1lSWQsIHBhTHVhU2NyaXB0QXNTdHJpbmcpICE9IE5VTEwpewotICAgICAgICAgcmV0VmFsID0gZV9SRFk7Ci0gICAgICAgfWVsc2V7Ci0gICAgICAgICByZXRWYWwgPSBlX0lOVkFMSURfT1BFUkFUSU9OOwotICAgICAgIH0KLSAgfWVsc2V7Ly8gQkZCVHlwZQotICAgIGlmKENMdWFCRkJUeXBlRW50cnk6OmNyZWF0ZUx1YUZCVHlwZUVudHJ5KHR5cGVOYW1lSWQsIHBhTHVhU2NyaXB0QXNTdHJpbmcpICE9IE5VTEwpewotICAgICAgcmV0VmFsID0gZV9SRFk7Ci0gICAgfWVsc2V7Ci0gICAgICByZXRWYWwgPSBlX0lOVkFMSURfT1BFUkFUSU9OOwotICAgIH0KLSAgfQotICBwYUx1YVNjcmlwdEFzU3RyaW5nLmNsZWFyKCk7Ci0gIHJldHVybiByZXRWYWw7Ci19Ci0KLUVNR01SZXNwb25zZSBDUmVzb3VyY2U6OmNyZWF0ZUFkYXB0ZXJUeXBlRnJvbUx1YShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHR5cGVOYW1lSWQsCi0gICAgQ0lFQ19TVFJJTkcmIHBhTHVhU2NyaXB0QXNTdHJpbmcpewotICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9VTlNVUFBPUlRFRF9UWVBFOwotICAgaWYoQ0x1YUFkYXB0ZXJUeXBlRW50cnk6OmNyZWF0ZUx1YUFkYXB0ZXJUeXBlRW50cnkodHlwZU5hbWVJZCwgcGFMdWFTY3JpcHRBc1N0cmluZykgIT0gTlVMTCl7Ci0gICAgIHJldFZhbCA9IGVfUkRZOwotICAgfWVsc2V7Ci0gICAgIHJldFZhbCA9IGVfSU5WQUxJRF9PUEVSQVRJT047Ci0gICB9Ci0gICBwYUx1YVNjcmlwdEFzU3RyaW5nLmNsZWFyKCk7Ci0gIHJldHVybiByZXRWYWw7Ci19Ci0jZW5kaWYgLy9GT1JURV9EWU5BTUlDX1RZUEVfTE9BRAotCiBFTUdNUmVzcG9uc2UgQ1Jlc291cmNlOjpxdWVyeUFsbEFkYXB0ZXJUeXBlcyhDSUVDX1NUUklORyAmIHBhVmFsdWUpewogICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9VTlNVUFBPUlRFRF9UWVBFOwogCkBAIC00MzUsNiArMzE5LDI1OCBAQAogICByZXR1cm4gcmV0VmFsOwogfQogCitFTUdNUmVzcG9uc2UgQ1Jlc291cmNlOjpxdWVyeUZCcyhDSUVDX1NUUklORyAmIHBhVmFsdWUpeworICBmb3IoVEZ1bmN0aW9uQmxvY2tMaXN0OjpJdGVyYXRvciBpdFJ1bm5lcihnZXRGQkxpc3QoKS5iZWdpbigpKTsgaXRSdW5uZXIgIT0gZ2V0RkJMaXN0KCkuZW5kKCk7ICsraXRSdW5uZXIpeworICAgIGlmKGl0UnVubmVyICE9IGdldEZCTGlzdCgpLmJlZ2luKCkpeworICAgICAgcGFWYWx1ZS5hcHBlbmQoIlxuIik7CisgICAgfQorICAgIHBhVmFsdWUuYXBwZW5kKCI8RkIgbmFtZT1cIiIpOworICAgIHBhVmFsdWUuYXBwZW5kKChzdGF0aWNfY2FzdDxDRnVuY3Rpb25CbG9jayAqPigqaXRSdW5uZXIpKS0+Z2V0SW5zdGFuY2VOYW1lKCkpOworICAgIHBhVmFsdWUuYXBwZW5kKCJcIiB0eXBlPVwiIik7CisgICAgcGFWYWx1ZS5hcHBlbmQoQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KChzdGF0aWNfY2FzdDxDRnVuY3Rpb25CbG9jayAqPigqaXRSdW5uZXIpKS0+Z2V0RkJUeXBlSWQoKSkpOworICAgIHBhVmFsdWUuYXBwZW5kKCJcIi8+Iik7CisgIH0KKyAgcmV0dXJuIGVfUkRZOworfQorCitFTUdNUmVzcG9uc2UgQ1Jlc291cmNlOjpxdWVyeUNvbm5lY3Rpb25zKENJRUNfU1RSSU5HICYgcGFSZXFSZXN1bHQpeworICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9VTlNVUFBPUlRFRF9UWVBFOworICAvL1RPRE8gY2hlY2sgY29udGFpbmVyIGxpc3QgdG8gc3VwcG9ydCBzdWJhcHBzIGlzc3VlWzUzODMzM10KKyAgZm9yKFRGdW5jdGlvbkJsb2NrTGlzdDo6SXRlcmF0b3IgaXRSdW5uZXIoZ2V0RkJMaXN0KCkuYmVnaW4oKSk7IGl0UnVubmVyICE9IGdldEZCTGlzdCgpLmVuZCgpOyArK2l0UnVubmVyKXsKKyAgICBjcmVhdGVFT0Nvbm5lY3Rpb25SZXNwb25zZSgqKml0UnVubmVyLCBwYVJlcVJlc3VsdCk7CisgICAgY3JlYXRlRE9Db25uZWN0aW9uUmVzcG9uc2UoKippdFJ1bm5lciwgcGFSZXFSZXN1bHQpOworICAgIGNyZWF0ZUFPQ29ubmVjdGlvblJlc3BvbnNlKCoqaXRSdW5uZXIsIHBhUmVxUmVzdWx0KTsKKyAgfQorICByZXRWYWwgPSBlX1JEWTsKKyAgcmV0dXJuIHJldFZhbDsKK30KKwordm9pZCBDUmVzb3VyY2U6OmNyZWF0ZUVPQ29ubmVjdGlvblJlc3BvbnNlKGNvbnN0IENGdW5jdGlvbkJsb2NrJiBwYUZiLCBDSUVDX1NUUklORyYgcGFSZXFSZXN1bHQpeworICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICogY29uc3Qgc3BlYyA9IHBhRmIuZ2V0RkJJbnRlcmZhY2VTcGVjKCk7CisgIGlmKHNwZWMtPm1fbk51bUVPcyA+IDApeworICAgIGZvcihzaXplX3QgaSA9IDA7IHNwZWMtPm1fYXVuRU9OYW1lc1tpXSAhPSBzcGVjLT5tX2F1bkVPTmFtZXNbc3BlYy0+bV9uTnVtRU9zXTsgaSsrKXsKKyAgICAgIGNvbnN0IENFdmVudENvbm5lY3Rpb24qIGVDb25uID0gcGFGYi5nZXRFT0Nvbm5lY3Rpb24oc3BlYy0+bV9hdW5FT05hbWVzW2ldKTsKKyAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDQ29ubmVjdGlvblBvaW50Pjo6SXRlcmF0b3IgaXRSdW5uZXJEc3QoZUNvbm4tPmdldERlc3RpbmF0aW9uTGlzdCgpLmJlZ2luKCkpOyBpdFJ1bm5lckRzdCAhPSBlQ29ubi0+Z2V0RGVzdGluYXRpb25MaXN0KCkuZW5kKCk7CisgICAgICAgICAgKytpdFJ1bm5lckRzdCl7CisgICAgICAgIGlmKGl0UnVubmVyRHN0ICE9IGVDb25uLT5nZXREZXN0aW5hdGlvbkxpc3QoKS5iZWdpbigpKXsKKyAgICAgICAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIlxuIik7CisgICAgICAgIH0KKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlTWVzc2FnZShzcGVjLT5tX2F1bkVPTmFtZXNbaV0sIGl0UnVubmVyRHN0LT5tRkItPmdldEZCSW50ZXJmYWNlU3BlYygpLT5tX2F1bkVJTmFtZXNbaXRSdW5uZXJEc3QtPm1Qb3J0SWRdLCAqaXRSdW5uZXJEc3QtPm1GQiwKKyAgICAgICAgICAgIHBhRmIsIHBhUmVxUmVzdWx0KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKwordm9pZCBDUmVzb3VyY2U6OmNyZWF0ZURPQ29ubmVjdGlvblJlc3BvbnNlKGNvbnN0IENGdW5jdGlvbkJsb2NrJiBwYUZiLCBDSUVDX1NUUklORyYgcGFSZXFSZXN1bHQpeworICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICogY29uc3Qgc3BlYyA9IHBhRmIuZ2V0RkJJbnRlcmZhY2VTcGVjKCk7CisgIGlmKHNwZWMtPm1fbk51bURPcyA+IDApeworICAgIGZvcihzaXplX3QgaSA9IDA7IHNwZWMtPm1fYXVuRE9OYW1lc1tpXSAhPSBzcGVjLT5tX2F1bkRPTmFtZXNbc3BlYy0+bV9uTnVtRE9zXTsgaSsrKXsKKyAgICAgIGNvbnN0IENEYXRhQ29ubmVjdGlvbiAqIGNvbnN0IGRDb25uID0gcGFGYi5nZXRET0Nvbm5lY3Rpb24oc3BlYy0+bV9hdW5ET05hbWVzW2ldKTsKKyAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDQ29ubmVjdGlvblBvaW50Pjo6SXRlcmF0b3IgaXRSdW5uZXJEc3QoZENvbm4tPmdldERlc3RpbmF0aW9uTGlzdCgpLmJlZ2luKCkpOyBpdFJ1bm5lckRzdCAhPSBkQ29ubi0+Z2V0RGVzdGluYXRpb25MaXN0KCkuZW5kKCk7CisgICAgICAgICAgKytpdFJ1bm5lckRzdCl7CisgICAgICAgIGlmKGl0UnVubmVyRHN0ICE9IGRDb25uLT5nZXREZXN0aW5hdGlvbkxpc3QoKS5iZWdpbigpKXsKKyAgICAgICAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIlxuIik7CisgICAgICAgIH0KKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlTWVzc2FnZShzcGVjLT5tX2F1bkRPTmFtZXNbaV0sIGl0UnVubmVyRHN0LT5tRkItPmdldEZCSW50ZXJmYWNlU3BlYygpLT5tX2F1bkRJTmFtZXNbaXRSdW5uZXJEc3QtPm1Qb3J0SWRdLCAqaXRSdW5uZXJEc3QtPm1GQiwKKyAgICAgICAgICAgIHBhRmIsIHBhUmVxUmVzdWx0KTsKKyAgICAgIH0KKyAgICB9CisgIH0KK30KKwordm9pZCBDUmVzb3VyY2U6OmNyZWF0ZUFPQ29ubmVjdGlvblJlc3BvbnNlKGNvbnN0IENGdW5jdGlvbkJsb2NrJiBwYUZiLCBDSUVDX1NUUklORyYgcGFSZXFSZXN1bHQpeworICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICogY29uc3Qgc3BlYyA9IHBhRmIuZ2V0RkJJbnRlcmZhY2VTcGVjKCk7CisgIGlmKHNwZWMtPm1fbk51bUFkYXB0ZXJzID4gMCl7CisgICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHNwZWMtPm1fbk51bUFkYXB0ZXJzOyBpKyspeworICAgICAgY29uc3QgQ0FkYXB0ZXIgKiBjb25zdCBhZGFwdGVyID0gcGFGYi5nZXRBZGFwdGVyKHNwZWMtPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpXS5tX25BZGFwdGVyTmFtZUlEKTsKKyAgICAgIGNvbnN0IENBZGFwdGVyQ29ubmVjdGlvbiogYUNvbm4gPSBhZGFwdGVyLT5nZXRBZGFwdGVyQ29ubmVjdGlvbigpOworICAgICAgaWYoc3BlYy0+bV9wc3RBZGFwdGVySW5zdGFuY2VEZWZpbml0aW9uW2ldLm1fYklzUGx1ZyAmJiAwICE9IGFDb25uKXsKKyAgICAgICAgaWYoaSAhPSAwKXsKKyAgICAgICAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIlxuIik7CisgICAgICAgIH0KKyAgICAgICAgaWYoIWFDb25uLT5nZXREZXN0aW5hdGlvbkxpc3QoKS5pc0VtcHR5KCkpeworICAgICAgICAgIENTaW5nbHlMaW5rZWRMaXN0PENDb25uZWN0aW9uUG9pbnQ+OjpJdGVyYXRvciBpdFJ1bm5lckRzdChhQ29ubi0+Z2V0RGVzdGluYXRpb25MaXN0KCkuYmVnaW4oKSk7CisgICAgICAgICAgY3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlTWVzc2FnZShzcGVjLT5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb25baV0ubV9uQWRhcHRlck5hbWVJRCwKKyAgICAgICAgICAgICAgaXRSdW5uZXJEc3QtPm1GQi0+Z2V0RkJJbnRlcmZhY2VTcGVjKCktPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpdFJ1bm5lckRzdC0+bVBvcnRJZF0ubV9uQWRhcHRlck5hbWVJRCwgKml0UnVubmVyRHN0LT5tRkIsIHBhRmIsCisgICAgICAgICAgICAgIHBhUmVxUmVzdWx0KTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgfQorfQorCit2b2lkIENSZXNvdXJjZTo6Y3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlTWVzc2FnZShjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNyY0lkLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGRzdElkLAorICAgIGNvbnN0IENGdW5jdGlvbkJsb2NrJiBwYURzdEZiLCBjb25zdCBDRnVuY3Rpb25CbG9jayYgcGFTcmNGYiwgQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0KXsKKyAgcGFSZXFSZXN1bHQuYXBwZW5kKCI8Q29ubmVjdGlvbiBTb3VyY2U9XCIiKTsKKyAgcGFSZXFSZXN1bHQuYXBwZW5kKHBhU3JjRmIuZ2V0SW5zdGFuY2VOYW1lKCkpOworICBwYVJlcVJlc3VsdC5hcHBlbmQoIi4iKTsKKyAgcGFSZXFSZXN1bHQuYXBwZW5kKENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChzcmNJZCkpOworICBwYVJlcVJlc3VsdC5hcHBlbmQoIlwiIERlc3RpbmF0aW9uPVwiIik7CisgIHBhUmVxUmVzdWx0LmFwcGVuZChwYURzdEZiLmdldEluc3RhbmNlTmFtZSgpKTsKKyAgcGFSZXFSZXN1bHQuYXBwZW5kKCIuIik7CisgIHBhUmVxUmVzdWx0LmFwcGVuZChDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoZHN0SWQpKTsKKyAgcGFSZXFSZXN1bHQuYXBwZW5kKCJcIi8+Iik7Cit9CisKK0VNR01SZXNwb25zZSBDUmVzb3VyY2U6OmNyZWF0ZUZCVHlwZVJlc3BvbnNlTWVzc2FnZShjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhVmFsdWUsIENJRUNfU1RSSU5HICYgcGFSZXFSZXN1bHQpeworICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9VTlNVUFBPUlRFRF9UWVBFOworICBDVHlwZUxpYjo6Q0ZCVHlwZUVudHJ5KiBmYlR5cGUgPSBzdGF0aWNfY2FzdDxDVHlwZUxpYjo6Q0ZCVHlwZUVudHJ5ICo+KENUeXBlTGliOjpmaW5kVHlwZShwYVZhbHVlLCBDVHlwZUxpYjo6Z2V0RkJMaWJTdGFydCgpKSk7CisgIGlmKDAgIT0gZmJUeXBlKXsKKyAgICByZXRWYWwgPSBjcmVhdGVYVHlwZVJlc3BvbnNlTWVzc2FnZShmYlR5cGUsIHBhVmFsdWUsIHJldFZhbCwgcGFSZXFSZXN1bHQpOworICB9CisgIHJldHVybiByZXRWYWw7Cit9CisKK0VNR01SZXNwb25zZSBDUmVzb3VyY2U6OmNyZWF0ZUFkYXB0ZXJUeXBlUmVzcG9uc2VNZXNzYWdlKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFWYWx1ZSwgQ0lFQ19TVFJJTkcgJiBwYVJlcVJlc3VsdCl7CisgIEVNR01SZXNwb25zZSByZXRWYWwgPSBlX1VOU1VQUE9SVEVEX1RZUEU7CisgIENUeXBlTGliOjpDQWRhcHRlclR5cGVFbnRyeSogYWRhcHRlclR5cGUgPSBzdGF0aWNfY2FzdDxDVHlwZUxpYjo6Q0FkYXB0ZXJUeXBlRW50cnkgKj4oQ1R5cGVMaWI6OmZpbmRUeXBlKHBhVmFsdWUsIENUeXBlTGliOjpnZXRBZGFwdGVyTGliU3RhcnQoKSkpOworICBpZigwICE9IGFkYXB0ZXJUeXBlKXsKKyAgICByZXRWYWwgPSBjcmVhdGVYVHlwZVJlc3BvbnNlTWVzc2FnZShhZGFwdGVyVHlwZSwgcGFWYWx1ZSwgcmV0VmFsLCBwYVJlcVJlc3VsdCk7CisgIH0KKyAgcmV0dXJuIHJldFZhbDsKK30KKworRU1HTVJlc3BvbnNlICBDUmVzb3VyY2U6OmNyZWF0ZVhUeXBlUmVzcG9uc2VNZXNzYWdlKGNvbnN0IENUeXBlTGliOjpDU3BlY1R5cGVFbnRyeSogcGFUeXBlRW50cnksIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFWYWx1ZSwgRU1HTVJlc3BvbnNlIHJldFZhbCwgQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0KXsKKyAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogcGFJbnRlcmZhY2VTcGVjID0gcGFUeXBlRW50cnktPmdldEludGVyZmFjZVNwZWMoKTsKKyAgaWYoMCAhPSBwYUludGVyZmFjZVNwZWMpeworICAgIHBhUmVxUmVzdWx0LmFwcGVuZCgiTmFtZT1cIiIpOworICAgIHBhUmVxUmVzdWx0LmFwcGVuZChDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQocGFWYWx1ZSkpOworICAgIHBhUmVxUmVzdWx0LmFwcGVuZCgiXCI+XG4gICAgPEludGVyZmFjZUxpc3Q+XG4gICAgICAiKTsKKyAgICBjcmVhdGVFdmVudEludGVyZmFjZVJlc3BvbnNlTWVzc2FnZShwYUludGVyZmFjZVNwZWMsIHBhUmVxUmVzdWx0KTsKKyAgICBjcmVhdGVEYXRhSW50ZXJmYWNlUmVzcG9uc2VNZXNzYWdlKHBhSW50ZXJmYWNlU3BlYywgcGFSZXFSZXN1bHQpOworICAgIGNyZWF0ZUFkYXB0ZXJJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2UocGFJbnRlcmZhY2VTcGVjLCBwYVJlcVJlc3VsdCk7CisgICAgcGFSZXFSZXN1bHQuYXBwZW5kKCI8L0ludGVyZmFjZUxpc3Q+XG4iKTsKKyAgICByZXRWYWwgPSBlX1JEWTsKKyAgfQorICByZXR1cm4gcmV0VmFsOworfQorCit2b2lkIENSZXNvdXJjZTo6Y3JlYXRlRXZlbnRJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2UoY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogcGFJbnRlcmZhY2VTcGVjLCBDSUVDX1NUUklORyYgcGFSZXFSZXN1bHQpeworICBpZihwYUludGVyZmFjZVNwZWMtPm1fbk51bUVJcyA+IDApeworICAgIHBhUmVxUmVzdWx0LmFwcGVuZCgiPEV2ZW50SW5wdXRzPlxuICAgICAgICAgIik7CisgICAgY3JlYXRlSW50ZXJmYWNlUmVzcG9uc2VNZXNzYWdlcyhwYVJlcVJlc3VsdCwgIkV2ZW50IiwgcGFJbnRlcmZhY2VTcGVjLT5tX2F1bkVJTmFtZXMsIE5VTEwsIHBhSW50ZXJmYWNlU3BlYy0+bV9uTnVtRUlzLCBwYUludGVyZmFjZVNwZWMtPm1fYW5FSVdpdGgsIHBhSW50ZXJmYWNlU3BlYy0+bV9hbkVJV2l0aEluZGV4ZXMsIHBhSW50ZXJmYWNlU3BlYy0+bV9hdW5ESU5hbWVzKTsKKyAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIjwvRXZlbnRJbnB1dHM+XG4gICAiKTsKKyAgfQorICBpZihwYUludGVyZmFjZVNwZWMtPm1fbk51bUVPcyA+IDApeworICAgIHBhUmVxUmVzdWx0LmFwcGVuZCgiPEV2ZW50T3V0cHV0cz5cbiAgICAgICAgICIpOworICAgIGNyZWF0ZUludGVyZmFjZVJlc3BvbnNlTWVzc2FnZXMocGFSZXFSZXN1bHQsICJFdmVudCIsIHBhSW50ZXJmYWNlU3BlYy0+bV9hdW5FT05hbWVzLCBOVUxMLCBwYUludGVyZmFjZVNwZWMtPm1fbk51bUVPcywgcGFJbnRlcmZhY2VTcGVjLT5tX2FuRU9XaXRoLCBwYUludGVyZmFjZVNwZWMtPm1fYW5FT1dpdGhJbmRleGVzLCBwYUludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lcyk7CisgICAgcGFSZXFSZXN1bHQuYXBwZW5kKCI8L0V2ZW50T3V0cHV0cz5cbiAgICIpOworICB9Cit9CisKK3ZvaWQgQ1Jlc291cmNlOjpjcmVhdGVEYXRhSW50ZXJmYWNlUmVzcG9uc2VNZXNzYWdlKGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIHBhSW50ZXJmYWNlU3BlYywgQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0KXsKKyAgaWYocGFJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXMgPiAwKXsKKyAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIjxJbnB1dFZhcnM+XG4gICAgICAgICAiKTsKKyAgICBjcmVhdGVJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2VzKHBhUmVxUmVzdWx0LCAiVmFyRGVjbGFyYXRpb24iLCBwYUludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lcywgcGFJbnRlcmZhY2VTcGVjLT5tX2F1bkRJRGF0YVR5cGVOYW1lcywgcGFJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXMpOworICAgIHBhUmVxUmVzdWx0LmFwcGVuZCgiPC9JbnB1dFZhcnM+XG4gICAiKTsKKyAgfQorICBpZihwYUludGVyZmFjZVNwZWMtPm1fbk51bURPcyA+IDApeworICAgIHBhUmVxUmVzdWx0LmFwcGVuZCgiPE91dHB1dFZhcnM+XG4gICAgICAgICAiKTsKKyAgICBjcmVhdGVJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2VzKHBhUmVxUmVzdWx0LCAiVmFyRGVjbGFyYXRpb24iLCBwYUludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lcywgcGFJbnRlcmZhY2VTcGVjLT5tX2F1bkRPRGF0YVR5cGVOYW1lcywgcGFJbnRlcmZhY2VTcGVjLT5tX25OdW1ET3MpOworICAgIHBhUmVxUmVzdWx0LmFwcGVuZCgiPC9PdXRwdXRWYXJzPlxuICAgIik7CisgIH0KK30KKwordm9pZCBDUmVzb3VyY2U6OmNyZWF0ZUFkYXB0ZXJJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2UoY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogcGFJbnRlcmZhY2VTcGVjLCBDSUVDX1NUUklORyYgcGFSZXFSZXN1bHQpeworICBpZihwYUludGVyZmFjZVNwZWMtPm1fbk51bUFkYXB0ZXJzID4gMCl7CisgICAgQ0lFQ19TVFJJTkcgc29ja2V0cyA9ICIiOworICAgIENJRUNfU1RSSU5HIHBsdWdzID0gIiI7CisgICAgZm9yKGludCBpID0gMDsgaSA8IHBhSW50ZXJmYWNlU3BlYy0+bV9uTnVtQWRhcHRlcnM7IGkrKyl7CisgICAgICBpZihwYUludGVyZmFjZVNwZWMtPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpXS5tX2JJc1BsdWcpeworICAgICAgICBjcmVhdGVJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2UocGx1Z3MsICJBZGFwdGVyRGVjbGFyYXRpb24iLCBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQocGFJbnRlcmZhY2VTcGVjLT5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb25baV0ubV9uQWRhcHRlck5hbWVJRCksIENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChwYUludGVyZmFjZVNwZWMtPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpXS5tX25BZGFwdGVyVHlwZU5hbWVJRCkpOworICAgICAgfQorICAgICAgZWxzZXsKKyAgICAgICAgY3JlYXRlSW50ZXJmYWNlUmVzcG9uc2VNZXNzYWdlKHNvY2tldHMsICJBZGFwdGVyRGVjbGFyYXRpb24iLCBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQocGFJbnRlcmZhY2VTcGVjLT5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb25baV0ubV9uQWRhcHRlck5hbWVJRCksIENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChwYUludGVyZmFjZVNwZWMtPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbltpXS5tX25BZGFwdGVyVHlwZU5hbWVJRCkpOworICAgICAgfQorICAgIH0KKyAgICBpZihwbHVncyAhPSAiIil7CisgICAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIjxQbHVncz5cbiAgICAgICAgICIpOworICAgICAgcGFSZXFSZXN1bHQuYXBwZW5kKHBsdWdzLmdldFZhbHVlKCkpOworICAgICAgcGFSZXFSZXN1bHQuYXBwZW5kKCI8L1BsdWdzPlxuICAgIik7CisgICAgfQorICAgIGlmKHNvY2tldHMgIT0gIiIpeworICAgICAgcGFSZXFSZXN1bHQuYXBwZW5kKCI8U29ja2V0cz5cbiAgICAgICAgICIpOworICAgICAgcGFSZXFSZXN1bHQuYXBwZW5kKHNvY2tldHMuZ2V0VmFsdWUoKSk7CisgICAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIjwvU29ja2V0cz5cbiAgICIpOworICAgIH0KKyAgfQorfQorCit2b2lkIENSZXNvdXJjZTo6Y3JlYXRlSW50ZXJmYWNlUmVzcG9uc2VNZXNzYWdlcyhDSUVDX1NUUklORyAmcGFSZXFSZXN1bHQsIGNvbnN0IGNoYXIgKnBhX3BjVHlwZSwKKyAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkKiBwYU5hbWVMaXN0LCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkKiBwYVR5cGVMaXN0LAorICAgIGNvbnN0IGludCBwYV9uTnVtYmVyT2ZFbGVtZW50cywgY29uc3QgVERhdGFJT0lEKiBwYUVXaXRoLCBjb25zdCBURm9ydGVJbnQxNiogcGFFV2l0aEluZGV4ZXMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIHBhRE5hbWVMaXN0KXsKKyAgZm9yKGludCBuSW5kZXggPSAwOyBuSW5kZXggPCBwYV9uTnVtYmVyT2ZFbGVtZW50czsgbkluZGV4KyspeworICAgIGlmKE5VTEwgIT0gcGFUeXBlTGlzdCl7CisgICAgICBjcmVhdGVJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2UocGFSZXFSZXN1bHQsIHBhX3BjVHlwZSwgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KHBhTmFtZUxpc3RbbkluZGV4XSksIENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChwYVR5cGVMaXN0W25JbmRleF0pKTsKKyAgICB9CisgICAgZWxzZXsKKyAgICAgIGNyZWF0ZUludGVyZmFjZVJlc3BvbnNlTWVzc2FnZShwYVJlcVJlc3VsdCwgcGFfcGNUeXBlLCBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQocGFOYW1lTGlzdFtuSW5kZXhdKSwgIkV2ZW50IiwgcGFFV2l0aCwgcGFFV2l0aEluZGV4ZXMsIG5JbmRleCwgcGFETmFtZUxpc3QpOworICAgIH0KKyAgfQorfQorCit2b2lkIENSZXNvdXJjZTo6Y3JlYXRlSW50ZXJmYWNlUmVzcG9uc2VNZXNzYWdlKENJRUNfU1RSSU5HICYgcGFSZXFSZXN1bHQsIGNvbnN0IGNoYXIqIHBhX3BjVHlwZSwKKyAgICBjb25zdCBDSUVDX1NUUklORyAmcGFOYW1lLCBjb25zdCBDSUVDX1NUUklORyAmcGFUeXBlLCBjb25zdCBURGF0YUlPSUQqIHBhRVdpdGgsIGNvbnN0IFRGb3J0ZUludDE2KiBwYUVXaXRoSW5kZXhlcywgY29uc3QgaW50IHBhX25JbmRleCwgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCogcGFFTmFtZUxpc3QpeworICBwYVJlcVJlc3VsdC5hcHBlbmQoIjwiKTsKKyAgcGFSZXFSZXN1bHQuYXBwZW5kKHBhX3BjVHlwZSk7CisgIHBhUmVxUmVzdWx0LmFwcGVuZCgiIE5hbWU9XCIiKTsKKyAgcGFSZXFSZXN1bHQuYXBwZW5kKHBhTmFtZS5nZXRWYWx1ZSgpKTsKKyAgcGFSZXFSZXN1bHQuYXBwZW5kKCJcIiBUeXBlPVwiIik7CisgIHBhUmVxUmVzdWx0LmFwcGVuZChwYVR5cGUuZ2V0VmFsdWUoKSk7CisgIGlmKDAgIT0gcGFFV2l0aEluZGV4ZXMgJiYgLTEgIT0gcGFFV2l0aEluZGV4ZXNbcGFfbkluZGV4XSl7CisgICAgcGFSZXFSZXN1bHQuYXBwZW5kKCJcIj5cbiAgICAgICAgICIpOworICAgIGZvcihpbnQgblJ1bkluZGV4ID0gcGFFV2l0aEluZGV4ZXNbcGFfbkluZGV4XTsgc2NtV2l0aExpc3REZWxpbWl0ZXIgIT0gcGFFV2l0aFtuUnVuSW5kZXhdOyBuUnVuSW5kZXgrKyl7CisgICAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIjxXaXRoIFZhcj1cIiIpOworICAgICAgcGFSZXFSZXN1bHQuYXBwZW5kKENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChwYUVOYW1lTGlzdFtwYUVXaXRoW25SdW5JbmRleF1dKSk7CisgICAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIlwiLz5cbiAgICAgICIpOworICAgIH0KKyAgICBwYVJlcVJlc3VsdC5hcHBlbmQoIjwvRXZlbnQ+XG4gICAgICAiKTsKKyAgfQorICBlbHNleworICAgIHBhUmVxUmVzdWx0LmFwcGVuZCgiXCIvPlxuIik7CisgIH0KK30KKyNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfUVVFUllfQ01ECisKKyNpZmRlZiBGT1JURV9EWU5BTUlDX1RZUEVfTE9BRAorRU1HTVJlc3BvbnNlIENSZXNvdXJjZTo6Y3JlYXRlRkJUeXBlRnJvbUx1YShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHR5cGVOYW1lSWQsCisgICAgQ0lFQ19TVFJJTkcmIHBhTHVhU2NyaXB0QXNTdHJpbmcpeworICBFTUdNUmVzcG9uc2UgcmV0VmFsID0gZV9VTlNVUFBPUlRFRF9UWVBFOworICBpZihOVUxMICE9IHN0cnN0cihwYUx1YVNjcmlwdEFzU3RyaW5nLmdldFZhbHVlKCksICJpbnRlcm5hbEZCcyIpKXsgLy8gQ0ZCVHlwZQorICAgIGlmKENMdWFDRkJUeXBlRW50cnk6OmNyZWF0ZUx1YUZCVHlwZUVudHJ5KHR5cGVOYW1lSWQsIHBhTHVhU2NyaXB0QXNTdHJpbmcpICE9IE5VTEwpeworICAgICAgcmV0VmFsID0gZV9SRFk7CisgICAgfQorICAgIGVsc2V7CisgICAgICByZXRWYWwgPSBlX0lOVkFMSURfT1BFUkFUSU9OOworICAgIH0KKyAgfQorICBlbHNleyAvLyBCRkJUeXBlCisgICAgaWYoQ0x1YUJGQlR5cGVFbnRyeTo6Y3JlYXRlTHVhRkJUeXBlRW50cnkodHlwZU5hbWVJZCwgcGFMdWFTY3JpcHRBc1N0cmluZykgIT0gTlVMTCl7CisgICAgICByZXRWYWwgPSBlX1JEWTsKKyAgICB9CisgICAgZWxzZXsKKyAgICAgIHJldFZhbCA9IGVfSU5WQUxJRF9PUEVSQVRJT047CisgICAgfQorICB9CisgIHBhTHVhU2NyaXB0QXNTdHJpbmcuY2xlYXIoKTsKKyAgcmV0dXJuIHJldFZhbDsKK30KKworRU1HTVJlc3BvbnNlIENSZXNvdXJjZTo6Y3JlYXRlQWRhcHRlclR5cGVGcm9tTHVhKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgdHlwZU5hbWVJZCwKKyAgICBDSUVDX1NUUklORyYgcGFMdWFTY3JpcHRBc1N0cmluZyl7CisgIEVNR01SZXNwb25zZSByZXRWYWwgPSBlX1VOU1VQUE9SVEVEX1RZUEU7CisgIGlmKENMdWFBZGFwdGVyVHlwZUVudHJ5OjpjcmVhdGVMdWFBZGFwdGVyVHlwZUVudHJ5KHR5cGVOYW1lSWQsIHBhTHVhU2NyaXB0QXNTdHJpbmcpICE9IE5VTEwpeworICAgICByZXRWYWwgPSBlX1JEWTsKKyAgIH1lbHNleworICAgICByZXRWYWwgPSBlX0lOVkFMSURfT1BFUkFUSU9OOworICAgfQorICAgcGFMdWFTY3JpcHRBc1N0cmluZy5jbGVhcigpOworICByZXR1cm4gcmV0VmFsOworfQorCisjZW5kaWYgLy9GT1JURV9EWU5BTUlDX1RZUEVfTE9BRAorCiBDSUVDX0FOWSAqQ1Jlc291cmNlOjpnZXRWYXJpYWJsZShmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYU5hbWVMaXN0KXsKICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwb3J0TmFtZSA9IHBhTmFtZUxpc3QuYmFjaygpOwogICBwYU5hbWVMaXN0LnBvcEJhY2soKTsKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3Jlc291cmNlLmggYi9zcmMvY29yZS9yZXNvdXJjZS5oCmluZGV4IDdiZGExNDQuLmY4NGUzMjEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL3Jlc291cmNlLmgKKysrIGIvc3JjL2NvcmUvcmVzb3VyY2UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxOCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJILCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljLCBUaG9tYXMgU3RyYXNzZXIsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApAQCAtMTUxLDYgKzE1Miw3IEBACiAgICAgICovCiAgICAgRU1HTVJlc3BvbnNlIHJlYWRWYWx1ZShmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYU5hbWVMaXN0LCBDSUVDX1NUUklORyAmIHBhVmFsdWUpOwogCisjaWZkZWYgRk9SVEVfU1VQUE9SVF9RVUVSWV9DTUQKICAgICAvKiFcYnJpZWYgUmVhZCB0aGUgZXhpc3RpbmcgZmIgdHlwZXMuCiAgICAgICoKICAgICAgKiBAcmV0dXJuIHJlc3BvbnNlIG9mIHRoZSBjb21tYW5kIGV4ZWN1dGlvbiBhcyBkZWZpbmVkIGluIElFQyA2MTQ5OQpAQCAtMTYzLDcgKzE2NSw2IEBACiAgICAgICovCiAgICAgRU1HTVJlc3BvbnNlIHF1ZXJ5QWxsQWRhcHRlclR5cGVzKENJRUNfU1RSSU5HICYgcGFWYWx1ZSk7CiAKLQogICAgIC8qIVxicmllZiBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBGQiBpbnN0YW5jZXMKICAgICAgKgogICAgICAqIEBwYXJhbSBwYVZhbHVlIHRoZSByZXN1bHQgb2YgdGhlIHF1ZXJ5CkBAIC0xNzgsNiArMTc5LDIwIEBACiAgICAgdm9pZCBjcmVhdGVDb25uZWN0aW9uUmVzcG9uc2VNZXNzYWdlKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc3JjSWQsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgZHN0SWQsIGNvbnN0IENGdW5jdGlvbkJsb2NrJiBwYURzdEZiLAogICAgICAgICBjb25zdCBDRnVuY3Rpb25CbG9jayYgcGFGYiwgQ0lFQ19TVFJJTkcmIHBhVmFsdWUpOwogCisgICAgRU1HTVJlc3BvbnNlIGNyZWF0ZUZCVHlwZVJlc3BvbnNlTWVzc2FnZShjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhVmFsdWUsIENJRUNfU1RSSU5HICYgcGFSZXFSZXN1bHQpOworICAgIEVNR01SZXNwb25zZSBjcmVhdGVBZGFwdGVyVHlwZVJlc3BvbnNlTWVzc2FnZShjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhVmFsdWUsIENJRUNfU1RSSU5HICYgcGFSZXFSZXN1bHQpOworICAgIEVNR01SZXNwb25zZSBjcmVhdGVYVHlwZVJlc3BvbnNlTWVzc2FnZShjb25zdCBDVHlwZUxpYjo6Q1NwZWNUeXBlRW50cnkqIHBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYVZhbHVlLCBFTUdNUmVzcG9uc2UgcmV0VmFsLCBDSUVDX1NUUklORyYgcGFSZXFSZXN1bHQpOworICAgIHZvaWQgY3JlYXRlRXZlbnRJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2UoY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogcGFJbnRlcmZhY2VTcGVjLCBDSUVDX1NUUklORyYgcGFSZXFSZXN1bHQpOworICAgIHZvaWQgY3JlYXRlRGF0YUludGVyZmFjZVJlc3BvbnNlTWVzc2FnZShjb25zdCBTRkJJbnRlcmZhY2VTcGVjKiBwYUludGVyZmFjZVNwZWMsIENJRUNfU1RSSU5HJiBwYVJlcVJlc3VsdCk7CisgICAgdm9pZCBjcmVhdGVBZGFwdGVySW50ZXJmYWNlUmVzcG9uc2VNZXNzYWdlKGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIHBhSW50ZXJmYWNlU3BlYywgQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0KTsKKyAgICB2b2lkIGNyZWF0ZUludGVyZmFjZVJlc3BvbnNlTWVzc2FnZXMoQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0LCBjb25zdCBjaGFyICpwYVR5cGUsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIHBhTmFtZUxpc3QsCisgICAgICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIHBhVHlwZUxpc3QsIGNvbnN0IGludCBwYV9uTnVtYmVyT2ZFbGVtZW50cyA9IDAsIGNvbnN0IFREYXRhSU9JRCogcGFFV2l0aCA9IDAsIGNvbnN0IFRGb3J0ZUludDE2KiBwYUVXaXRoSW5kZXhlcyA9IDAsCisgICAgICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQqIHBhRE5hbWVMaXN0ID0gMCk7CisgICAgdm9pZCBjcmVhdGVJbnRlcmZhY2VSZXNwb25zZU1lc3NhZ2UoQ0lFQ19TVFJJTkcmIHBhUmVxUmVzdWx0LCBjb25zdCBjaGFyKiBwYV9wY1R5cGUsIGNvbnN0IENJRUNfU1RSSU5HICZwYU5hbWUsIGNvbnN0IENJRUNfU1RSSU5HICZwYVR5cGUsCisgICAgICAgIGNvbnN0IFREYXRhSU9JRCogcGFFV2l0aCA9IDAsIGNvbnN0IFRGb3J0ZUludDE2KiBwYUVXaXRoSW5kZXhlcyA9IDAsIGNvbnN0IGludCBwYV9uSW5kZXggPSAwLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkKiBwYUVOYW1lTGlzdCA9IDApOworCisjZW5kaWYgLy9GT1JURV9TVVBQT1JUX1FVRVJZX0NNRAorCiAjaWZkZWYgRk9SVEVfRFlOQU1JQ19UWVBFX0xPQUQKICAgICAvKiFcYnJpZWYgY3JlYXRlCiAgICAgICoKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3NpbXBsZWZiLmNwcCBiL3NyYy9jb3JlL3NpbXBsZWZiLmNwcAppbmRleCA4NjMyMDYxLi5jNmJmMDRhIDEwMDY0NAotLS0gYS9zcmMvY29yZS9zaW1wbGVmYi5jcHAKKysrIGIvc3JjL2NvcmUvc2ltcGxlZmIuY3BwCkBAIC0xLDE0ICsxLDE2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICAqCi0gICogQ29udHJpYnV0b3JzOgotICAqICAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCi0gICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lOCisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgInNpbXBsZWZiLmgiCiAKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3NpbXBsZWZiLmggYi9zcmMvY29yZS9zaW1wbGVmYi5oCmluZGV4IGMzMmE2MDAuLjUxN2FiMDEgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL3NpbXBsZWZiLmgKKysrIGIvc3JjL2NvcmUvc2ltcGxlZmIuaApAQCAtMSwxNCArMSwxNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lOCi0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucwotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNpZm5kZWYgU1JDX0NPUkVfU0lNUExFRkJfSF8KICNkZWZpbmUgU1JDX0NPUkVfU0lNUExFRkJfSF8KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3N0cmluZ2RpY3QuY3BwIGIvc3JjL2NvcmUvc3RyaW5nZGljdC5jcHAKaW5kZXggNDg4MjE3Mi4uYzQ3MWMxOSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvc3RyaW5nZGljdC5jcHAKKysrIGIvc3JjL2NvcmUvc3RyaW5nZGljdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOCAtIDIwMTUgbnh0Q29udHJvbCBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIFN0YW5pc2xhdiBNZWR1bmEsIEFsb2lzIFpvaXRsLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucwpAQCAtMTcsMTAgKzE4LDEwIEBACiAjaW5jbHVkZSA8c3RyaW5nbGlzdC5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgImRldmxvZy5oIgogCiBERUZJTkVfU0lOR0xFVE9OKENTdHJpbmdEaWN0aW9uYXJ5KQogCi0vLyBjdG9yCiBDU3RyaW5nRGljdGlvbmFyeTo6Q1N0cmluZ0RpY3Rpb25hcnkoKXsKICNpZmRlZiBGT1JURV9TVFJJTkdfRElDVF9GSVhFRF9NRU1PUlkKICAgbV9wYVN0cmluZ0J1ZkFkZHIgPSBzY21fYWNDb25zdFN0cmluZ0J1ZjsKQEAgLTg4LDEyICs4OSwxNCBAQAogCiAvLyBnZXQgYSBzdHJpbmcgKDAgaWYgbm90IGZvdW5kKQogY29uc3QgY2hhciAqQ1N0cmluZ0RpY3Rpb25hcnk6OmdldChUU3RyaW5nSWQgcGFfbklkKXsKLSAgaWYocGFfbklkID49IG1fbk5leHRTdHJpbmcpCisgIGlmKHBhX25JZCA+PSBtX25OZXh0U3RyaW5nKSB7CiAgICAgcmV0dXJuIDA7CisgIH0KIAogICBjb25zdCBjaGFyICphZHIgPSBnZXRTdHJpbmdBZGRyZXNzKHBhX25JZCk7Ci0gIGlmKHBhX25JZCA+IDAgJiYgYWRyWy0xXSAhPSAnXDAnKQorICBpZihwYV9uSWQgPiAwICYmIGFkclstMV0gIT0gJ1wwJykgewogICAgIHJldHVybiAwOworICB9CiAKICAgcmV0dXJuIGFkcjsKIH0KQEAgLTEzNSw3ICsxMzgsNyBAQAogICAgICAgfQogICAgIH0KICAgICBlbHNlewotICAgICAgLy9wcmludGYoInN0cmluZyB3YXIgbMOkbmdlIG51bGxcbiIpOworICAgICAgREVWTE9HX1dBUk5JTkcoIltDU3RyaW5nRGljdGlvbmFyeTo6aW5zZXJ0XSBTdHJpbmcgdG8gaW5zZXJ0IHdhcyBlbXB0eVxuIik7CiAgICAgfQogICB9CiAgIHJldHVybiBuUmV0VmFsOwpAQCAtMTQ0LDggKzE0Nyw5IEBACiAvLyBGaW5kIGFuIGV4YWN0IG1hdGNoIG9yIHBsYWNlIHRvIGJlIHRoZSBuZXcgaW5kZXgKIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgQ1N0cmluZ0RpY3Rpb25hcnk6OmZpbmRFbnRyeShjb25zdCBjaGFyICpwYV9zU3RyLCB1bnNpZ25lZCBpbnQgJnBhX3JuSWR4KSBjb25zdHsKICAgcGFfcm5JZHggPSAwOwotICBpZihtX25Ock9mU3RyaW5ncyA9PSAwKQorICBpZihtX25Ock9mU3RyaW5ncyA9PSAwKSB7CiAgICAgcmV0dXJuIHNjbV9uSW52YWxpZFN0cmluZ0lkOworICB9CiAKICAgaW50IHIgPSAwOwogCkBAIC0xNjAsMTQgKzE2NCwxNiBAQAogICAgICAgcmV0dXJuIG1fcG5TdHJpbmdJZEJ1ZkFkZHJbcGFfcm5JZHhdOwogICAgIH0KIAotICAgIGlmKHIgPiAwKQorICAgIGlmKHIgPiAwKSB7CiAgICAgICBsb3cgPSBwYV9ybklkeCArIDE7Ci0gICAgZWxzZQorICAgIH0gZWxzZSB7CiAgICAgICBoaWdoID0gcGFfcm5JZHg7CisgICAgfQogICB9CiAKLSAgaWYociA+IDApCisgIGlmKHIgPiAwKSB7CiAgICAgcGFfcm5JZHgrKzsKKyAgfQogCiAgIHJldHVybiBzY21fbkludmFsaWRTdHJpbmdJZDsKIH0KQEAgLTIxOSw4ICsyMjUsOSBAQAogICBwW3BhX25MZW5dID0gJ1wwJzsKICAgbV9uTmV4dFN0cmluZyArPSBwYV9uTGVuICsgMTsKIAotICBpZihwYV9uSWR4IDwgbV9uTnJPZlN0cmluZ3MpCisgIGlmKHBhX25JZHggPCBtX25Ock9mU3RyaW5ncykgewogICAgIG1lbW1vdmUobV9wblN0cmluZ0lkQnVmQWRkciArIHBhX25JZHggKyAxLCBtX3BuU3RyaW5nSWRCdWZBZGRyICsgcGFfbklkeCwgKG1fbk5yT2ZTdHJpbmdzIC0gcGFfbklkeCkgKiBzaXplb2YoVFN0cmluZ0lkKSk7CisgIH0KIAogICBtX3BuU3RyaW5nSWRCdWZBZGRyW3BhX25JZHhdID0gaWQ7CiAgIG1fbk5yT2ZTdHJpbmdzKys7CmRpZmYgLS1naXQgYS9zcmMvY29yZS9zdHJpbmdkaWN0LmggYi9zcmMvY29yZS9zdHJpbmdkaWN0LmgKaW5kZXggYjM3NjE5NC4uMTM1ZDdkMSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvc3RyaW5nZGljdC5oCisrKyBiL3NyYy9jb3JlL3N0cmluZ2RpY3QuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA4IC0gMjAxNSBueHRDb250cm9sIEdtYkgsIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgU3RhbmlzbGF2IE1lZHVuYSwgQWxvaXMgWm9pdGwKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3R5cGVsaWIuY3BwIGIvc3JjL2NvcmUvdHlwZWxpYi5jcHAKaW5kZXggYTM3YzkwOS4uNmRkZTI1OCAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvdHlwZWxpYi5jcHAKKysrIGIvc3JjL2NvcmUvdHlwZWxpYi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgU21vZGljIFJlbmUsIEdlcmhhcmQgRWJlbmhvZmVyLApAQCAtMTksMjAgKzIwLDI4IEBACiAjaW5jbHVkZSAiaWYyaW5kY28uaCIKICNpbmNsdWRlIDxzdGRkZWYuaD4KIAotI2lmbmRlZiBGT1JURV9DTEFTU18wCiBDVHlwZUxpYjo6Q1R5cGVFbnRyeTo6Q1R5cGVFbnRyeShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25UeXBlTmFtZUlkKSA6Ci0gICAgICAgIG1fblR5cGVOYW1lSWQocGFfblR5cGVOYW1lSWQpLAotICAgICAgICBtX3BvTmV4dCgwKXsKLSAgICAgIH0KKyAgbV9uVHlwZU5hbWVJZChwYV9uVHlwZU5hbWVJZCksCisgIG1fcG9OZXh0KDApeworfQogCiBDVHlwZUxpYjo6Q1R5cGVFbnRyeTo6fkNUeXBlRW50cnkodm9pZCl7CiAKIH0KIAotQ1R5cGVMaWI6OkNGQlR5cGVFbnRyeTo6Q0ZCVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsIFRGdW5jdGlvbkJsb2NrQ3JlYXRlRnVuYyBwYV9wZnVuY0NyZWF0ZUZCKToKLSAgICAgICAgICBDVHlwZUVudHJ5KHBhX25UeXBlTmFtZUlkKSwKLSAgICAgICAgICBtX3BmdW5jRkJDcmVhdGlvbkZ1bmMocGFfcGZ1bmNDcmVhdGVGQil7Ci0gIENUeXBlTGliOjphZGRGQlR5cGUodGhpcyk7CitDVHlwZUxpYjo6Q1NwZWNUeXBlRW50cnk6OkNTcGVjVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIHBhU29ja2V0SW50ZXJmYWNlU3BlYykgOgorICBDVHlwZUVudHJ5KHBhX25UeXBlTmFtZUlkKSwKKyAgbVNvY2tldEludGVyZmFjZVNwZWMocGFTb2NrZXRJbnRlcmZhY2VTcGVjKXsKK30KKworQ1R5cGVMaWI6OkNTcGVjVHlwZUVudHJ5Ojp+Q1NwZWNUeXBlRW50cnkodm9pZCl7CisKK30KKworQ1R5cGVMaWI6OkNGQlR5cGVFbnRyeTo6Q0ZCVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsIFRGdW5jdGlvbkJsb2NrQ3JlYXRlRnVuYyBwYV9wZnVuY0NyZWF0ZUZCLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjKiBwYVNvY2tldEludGVyZmFjZVNwZWMpOgorICBDU3BlY1R5cGVFbnRyeShwYV9uVHlwZU5hbWVJZCwgcGFTb2NrZXRJbnRlcmZhY2VTcGVjKSwKKyAgbV9wZnVuY0ZCQ3JlYXRpb25GdW5jKHBhX3BmdW5jQ3JlYXRlRkIpeworQ1R5cGVMaWI6OmFkZEZCVHlwZSh0aGlzKTsKIAogfQogCkBAIC00MSw4ICs1MCw4IEBACiAKIH0KIAotQ1R5cGVMaWI6OkNBZGFwdGVyVHlwZUVudHJ5OjpDQWRhcHRlclR5cGVFbnRyeShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25UeXBlTmFtZUlkLCBUQWRhcHRlckNyZWF0ZUZ1bmMgcGFfcGZ1bmNDcmVhdGVBZGFwdGVyKToKLSAgQ1R5cGVFbnRyeShwYV9uVHlwZU5hbWVJZCksCitDVHlwZUxpYjo6Q0FkYXB0ZXJUeXBlRW50cnk6OkNBZGFwdGVyVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsIFRBZGFwdGVyQ3JlYXRlRnVuYyBwYV9wZnVuY0NyZWF0ZUFkYXB0ZXIsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIHBhU29ja2V0SW50ZXJmYWNlU3BlYyk6CisgIENTcGVjVHlwZUVudHJ5KHBhX25UeXBlTmFtZUlkLCBwYVNvY2tldEludGVyZmFjZVNwZWMpLAogICBtX3BmdW5jQWRhcHRlckNyZWF0aW9uRnVuYyhwYV9wZnVuY0NyZWF0ZUFkYXB0ZXIpewogQ1R5cGVMaWI6OmFkZEFkYXB0ZXJUeXBlKHRoaXMpOwogCkBAIC01Miw5ICs2MSw4IEBACiAKIH0KIAotQ1R5cGVMaWI6OkNEYXRhVHlwZUVudHJ5OjpDRGF0YVR5cGVFbnRyeShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25UeXBlTmFtZUlkLCBURGF0YVR5cGVDcmVhdGVGdW5jIHBhX3BmdW5jRFRDcmVhdGVGdW5jKSA6Ci0gICAgICAgICAgQ1R5cGVFbnRyeShwYV9uVHlwZU5hbWVJZCl7Ci0gIG1fcGZ1bmNEVENyZWF0ZUZ1bmMgPSBwYV9wZnVuY0RUQ3JlYXRlRnVuYzsKK0NUeXBlTGliOjpDRGF0YVR5cGVFbnRyeTo6Q0RhdGFUeXBlRW50cnkoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYVR5cGVOYW1lSWQsIFREYXRhVHlwZUNyZWF0ZUZ1bmMgcGFmdW5jRFRDcmVhdGVGdW5jKSA6CisgICAgQ1R5cGVFbnRyeShwYVR5cGVOYW1lSWQpLCBtX3BmdW5jRFRDcmVhdGVGdW5jKHBhZnVuY0RUQ3JlYXRlRnVuYykgewogICBDVHlwZUxpYjo6YWRkRGF0YVR5cGUodGhpcyk7CiB9CiAKQEAgLTc0LDExICs4Miw2IEBACiBDVHlwZUxpYjo6Q0RhdGFUeXBlRW50cnkgKkNUeXBlTGliOjptX3BvRFRMaWJTdGFydCA9IDA7CiBDVHlwZUxpYjo6Q0RhdGFUeXBlRW50cnkgKkNUeXBlTGliOjptX3BvRFRMaWJFbmQgPSAwOwogCi0vL0NUeXBlTGliOjp+Q1R5cGVMaWIoKSB7Ci0vLyAgLy9UT0RPIGZyZWUgbWVtb3J5IG9mIGZibGlicmFyeSAobWF5YmUgbm90IG5lY2Vzc2FyeSBhcyB0eXBlbGliIGlzIGRlbGV0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSkKLS8vICAvL1RPRE8gZnJlZSBtZW1vcnkgb2YgUkVTbGlicmFyeSAobWF5YmUgbm90IG5lY2Vzc2FyeSBhcyB0eXBlbGliIGlzIGRlbGV0ZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSkKLS8vfQotCiBDVHlwZUxpYjo6Q1R5cGVFbnRyeSAqQ1R5cGVMaWI6OmZpbmRUeXBlKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVJZCwgQ1R5cGVMaWI6OkNUeXBlRW50cnkgKnBhX3BvTGlzdFN0YXJ0KSB7CiAgIENUeXBlRW50cnkgKnJldHZhbCA9IDA7CiAgIGZvciAoQ1R5cGVFbnRyeSAqcG9SdW5uZXIgPSBwYV9wb0xpc3RTdGFydDsgcG9SdW5uZXIgIT0gMDsgcG9SdW5uZXIKQEAgLTk3LDggKzEwMCw5IEBACiAgIGlmICgwICE9IHBvVG9DcmVhdGUpIHsKICAgICBwb05ld0FkYXB0ZXIgPQogICAgICAgKHN0YXRpY19jYXN0PENBZGFwdGVyVHlwZUVudHJ5ICo+KHBvVG9DcmVhdGUpKS0+Y3JlYXRlQWRhcHRlckluc3RhbmNlKHBhX25JbnN0YW5jZU5hbWVJZCxwYV9wb1JlcywgcGFfYklzUGx1Zyk7Ci0gICAgaWYgKDAgPT0gcG9OZXdBZGFwdGVyKQorICAgIGlmKDAgPT0gcG9OZXdBZGFwdGVyKSB7CiAgICAgICBtX2VMYXN0RXJyb3JNU0cgPSBlX09WRVJGTE9XOworICAgIH0KICAgfSAvL25vIGdlbmVyaWMgYWRhcHRlcnMgc3VwcG9ydGVkCiAKICAgICByZXR1cm4gcG9OZXdBZGFwdGVyOwpAQCAtMTEyLDggKzExNiw5IEBACiAgIGlmICgwICE9IHBvVG9DcmVhdGUpIHsKICAgICBwb05ld0ZCCiAgICAgICAgID0gKHN0YXRpY19jYXN0PENGQlR5cGVFbnRyeSAqPihwb1RvQ3JlYXRlKSktPmNyZWF0ZUZCSW5zdGFuY2UocGFfbkluc3RhbmNlTmFtZUlkLCBwYV9wb1Jlcyk7Ci0gICAgaWYgKDAgPT0gcG9OZXdGQikgLy8gd2UgY291bGQgbm90IGNyZWF0ZSB0aGUgcmVxdWVzdGVkIG9iamVjdAorICAgIGlmKDAgPT0gcG9OZXdGQikgeyAvLyB3ZSBjb3VsZCBub3QgY3JlYXRlIHRoZSByZXF1ZXN0ZWQgb2JqZWN0CiAgICAgICBtX2VMYXN0RXJyb3JNU0cgPSBlX09WRVJGTE9XOworICAgIH0KICAgfSBlbHNlIHsgLy9jaGVjayBmb3IgcGFyYW1ldGVyaXphYmxlIEZCcyAoZS5nLiBTRVJWRVIpCiAgICAgVElkZW50aWZpZXIgYWNHZW5GQk5hbWUgPSB7ICJHRU5fIiB9OwogICAgIGNvbnN0IGNoYXIgKmFjVHlwZUJ1ZiA9IENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChwYV9uRkJUeXBlSWQpOwpAQCAtMTIxLDggKzEyNiw5IEBACiAKICAgICBpZiAoMCAhPSBwY1VuZGVyU2NvcmUpIHsgLy8gV2UgZm91bmQgbm8gdW5kZXJzY29yZSBpbiB0aGUgdHlwZSBuYW1lIHRoZXJlZm9yZSBpdCBjYW4gbm90IGJlIGEgZ2VuZXJpYyB0eXBlCiAgICAgICBwdHJkaWZmX3QgbkNvcHlMZW4gPSBwY1VuZGVyU2NvcmUgLSBhY1R5cGVCdWY7Ci0gICAgICBpZiAobkNvcHlMZW4gPiBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KGNnX25JZGVudGlmaWVyTGVuZ3RoIC0gNCkpCisgICAgICBpZihuQ29weUxlbiA+IHN0YXRpY19jYXN0PHB0cmRpZmZfdD4oY2dfbklkZW50aWZpZXJMZW5ndGggLSA0KSkgewogICAgICAgICBuQ29weUxlbiA9IGNnX25JZGVudGlmaWVyTGVuZ3RoIC0gNDsKKyAgICAgIH0KICAgICAgIG1lbWNweSgmKGFjR2VuRkJOYW1lWzRdKSwgYWNUeXBlQnVmLCBuQ29weUxlbik7CiAgICAgICBhY0dlbkZCTmFtZVtjZ19uSWRlbnRpZmllckxlbmd0aF0gPSAnXDAnOwogICAgICAgcG9Ub0NyZWF0ZSA9IGZpbmRUeXBlKENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldElkKGFjR2VuRkJOYW1lKSwgbV9wb0ZCTGliU3RhcnQpOwpAQCAtMTY0LDMwICsxNzAsMzQgQEAKICAgQ1R5cGVFbnRyeSAqcG9Ub0NyZWF0ZSA9IGZpbmRUeXBlKHBhX25EVE5hbWVJZCwgbV9wb0RUTGliU3RhcnQpOwogICBpZiAoMCAhPSBwb1RvQ3JlYXRlKSB7CiAgICAgcG9OZXdEVCA9IChzdGF0aWNfY2FzdDxDRGF0YVR5cGVFbnRyeSAqPihwb1RvQ3JlYXRlKSktPmNyZWF0ZURhdGFUeXBlSW5zdGFuY2UocGFfYWNEYXRhQnVmKTsKLSAgICBpZiAoMCA9PSBwb05ld0RUKSAvLyB3ZSBjb3VsZCBub3QgY3JlYXRlIHRoZSByZXF1ZXN0ZWQgb2JqZWN0CisgICAgaWYoMCA9PSBwb05ld0RUKSB7IC8vIHdlIGNvdWxkIG5vdCBjcmVhdGUgdGhlIHJlcXVlc3RlZCBvYmplY3QKICAgICAgIG1fZUxhc3RFcnJvck1TRyA9IGVfT1ZFUkZMT1c7Ci0gIH0gZWxzZQorICAgIH0KKyAgfSBlbHNlIHsKICAgICBtX2VMYXN0RXJyb3JNU0cgPSBlX1VOU1VQUE9SVEVEX1RZUEU7CisgIH0KIAogICByZXR1cm4gcG9OZXdEVDsKIH0KIAogdm9pZCBDVHlwZUxpYjo6YWRkRkJUeXBlKENGQlR5cGVFbnRyeSAqcGFfcG9GQlR5cGVFbnRyeSkgewogICBpZiAoMCA9PSBmaW5kVHlwZShwYV9wb0ZCVHlwZUVudHJ5LT5nZXRUeXBlTmFtZUlkKCksIG1fcG9GQkxpYlN0YXJ0KSkgewotICAgIGlmIChtX3BvRkJMaWJTdGFydCA9PSAwKQorICAgIGlmKG1fcG9GQkxpYlN0YXJ0ID09IDApIHsKICAgICAgIG1fcG9GQkxpYlN0YXJ0ID0gcGFfcG9GQlR5cGVFbnRyeTsKLSAgICBlbHNlCisgICAgfSBlbHNlIHsKICAgICAgIG1fcG9GQkxpYkVuZC0+bV9wb05leHQgPSBwYV9wb0ZCVHlwZUVudHJ5OworICAgIH0KICAgICBtX3BvRkJMaWJFbmQgPSBwYV9wb0ZCVHlwZUVudHJ5OwogICB9CiB9CiAKIHZvaWQgQ1R5cGVMaWI6OmFkZEFkYXB0ZXJUeXBlKENBZGFwdGVyVHlwZUVudHJ5ICpwYV9wb0FkYXB0ZXJUeXBlRW50cnkpIHsKICAgaWYgKDAgPT0gZmluZFR5cGUocGFfcG9BZGFwdGVyVHlwZUVudHJ5LT5nZXRUeXBlTmFtZUlkKCksIG1fcG9BZGFwdGVyTGliU3RhcnQpKSB7Ci0gICAgaWYgKG1fcG9BZGFwdGVyTGliU3RhcnQgPT0gMCkKKyAgICBpZihtX3BvQWRhcHRlckxpYlN0YXJ0ID09IDApIHsKICAgICAgIG1fcG9BZGFwdGVyTGliU3RhcnQgPSBwYV9wb0FkYXB0ZXJUeXBlRW50cnk7Ci0gICAgZWxzZQorICAgIH0gZWxzZSB7CiAgICAgICBtX3BvQWRhcHRlckxpYkVuZC0+bV9wb05leHQgPSBwYV9wb0FkYXB0ZXJUeXBlRW50cnk7CisgICAgfQogICAgIG1fcG9BZGFwdGVyTGliRW5kID0gcGFfcG9BZGFwdGVyVHlwZUVudHJ5OwogICB9CiB9CkBAIC0xOTUsMTYgKzIwNSwxNyBAQAogCiB2b2lkIENUeXBlTGliOjphZGREYXRhVHlwZShDRGF0YVR5cGVFbnRyeSAqcGFfcG9EVEVudHJ5KSB7CiAgIGlmICgwID09IGZpbmRUeXBlKHBhX3BvRFRFbnRyeS0+Z2V0VHlwZU5hbWVJZCgpLCBtX3BvRFRMaWJTdGFydCkpIHsKLSAgICBpZiAobV9wb0RUTGliU3RhcnQgPT0gMCkKKyAgICBpZihtX3BvRFRMaWJTdGFydCA9PSAwKSB7CiAgICAgICBtX3BvRFRMaWJTdGFydCA9IHBhX3BvRFRFbnRyeTsKLSAgICBlbHNlCisgICAgfSBlbHNlIHsKICAgICAgIG1fcG9EVExpYkVuZC0+bV9wb05leHQgPSBwYV9wb0RURW50cnk7CisgICAgfQogICAgIG1fcG9EVExpYkVuZCA9IHBhX3BvRFRFbnRyeTsKICAgfQogfQogCiAKLWNvbnN0IGNoYXIgKkNUeXBlTGliOjpnZXRGaXJzdE5vblR5cGVOYW1lVW5kZXJzY29yZVBvcyhjb25zdCBjaGFyICpwYV9hY1R5cGVOYW1lKXsNCitjb25zdCBjaGFyICpDVHlwZUxpYjo6Z2V0Rmlyc3ROb25UeXBlTmFtZVVuZGVyc2NvcmVQb3MoY29uc3QgY2hhciAqcGFfYWNUeXBlTmFtZSl7CiAgIGNvbnN0IGNoYXIqIGFjUmV0VmFsID0gcGFfYWNUeXBlTmFtZTsKIAogICBkb3sKQEAgLTIxOCwxMSArMjI5LDYgQEAKICAgICB9CiAgIH0gd2hpbGUoMCAhPSBhY1JldFZhbCk7CiAKLSAgcmV0dXJuIGFjUmV0VmFsOw0KLX0NCi0NCi0KLQotI2VuZGlmCi0KKyAgcmV0dXJuIGFjUmV0VmFsOworfQogCmRpZmYgLS1naXQgYS9zcmMvY29yZS90eXBlbGliLmggYi9zcmMvY29yZS90eXBlbGliLmgKaW5kZXggOGRjOWVlNy4uZmMyNDkwYiAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvdHlwZWxpYi5oCisrKyBiL3NyYy9jb3JlL3R5cGVsaWIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBBbG9pcyBab2l0bCwgR3VubmFyIEdyYWJtYWlyLCBSZW5lIFNtb2RpYywgR2VyaGFyZCBFYmVuaG9mZXIsCkBAIC0zNCwxMCArMzUsMTAgQEAKIC8vIVxpbmdyb3VwIENPUkUgVHlwZSBmb3IgYSBmdW5jdGlvbiBwb2ludGVyIHdoaWNoIGFsbG93cyB0byBjcmVhdGUgYSBkYXRhIHR5cGUgaW5zdGFuY2UKICAgdHlwZWRlZiBDSUVDX0FOWSAqKCpURGF0YVR5cGVDcmVhdGVGdW5jKShURm9ydGVCeXRlICpwYV9hY0RhdGFCdWYpOwogCi0gICNkZWZpbmUgRk9SVEVfRFVNTVlfSU5JVF9ERUYoZmJjbGFzcykgaW50IGZiY2xhc3M6OmR1bW15SW5pdCgpIHtyZXR1cm4gMDsgfQotICAjZGVmaW5lIEZPUlRFX0RVTU1ZX0lOSVRfREVDICBzdGF0aWMgaW50IGR1bW15SW5pdCgpOyAKKyNkZWZpbmUgRk9SVEVfRFVNTVlfSU5JVF9ERUYoZmJjbGFzcykgaW50IGZiY2xhc3M6OmR1bW15SW5pdCgpIHtyZXR1cm4gMDsgfQorI2RlZmluZSBGT1JURV9EVU1NWV9JTklUX0RFQyAgc3RhdGljIGludCBkdW1teUluaXQoKTsKIAotICAKKwogLy8hXGluZ3JvdXAgQ09SRSBUaGlzIGRlZmluZSBpcyB1c2VkIHRvIGNyZWF0ZSB0aGUgZGVmaW5pdGlvbiBuZWNlc3NhcnkgZm9yIGdlbmVyaWMgRmlybXdhcmVGdW5jdGlvbiBibG9ja3MgaW4gb3JkZXIgdG8gZ2V0IHRoZW0gYXV0b21hdGljYWxseSBhZGRlZCB0byB0aGUgRmlybXdhcmVUeXBlIGxpc3QuCiAjZGVmaW5lIERFQ0xBUkVfR0VORVJJQ19GSVJNV0FSRV9GQihmYmNsYXNzKSBcCiAgIHByaXZhdGU6IFwKQEAgLTYwLDE0ICs2MSwxNiBAQAogCiAjZGVmaW5lIERFRklORV9HRU5FUklDX0ZJUk1XQVJFX0ZCKGZiY2xhc3MsIGZiVHlwZU5hbWVJZClcCiAgIGV4dGVybiBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGdfblN0cmluZ0lkIyNmYmNsYXNzOyBcCi0gIGNvbnN0IENUeXBlTGliOjpDRkJUeXBlRW50cnkgZmJjbGFzczo6Y3NtX29GaXJtd2FyZUZCRW50cnlfIyNmYmNsYXNzKChmYlR5cGVOYW1lSWQpLCBmYmNsYXNzOjpjcmVhdGVGQik7IFwKKyAgY29uc3QgQ1R5cGVMaWI6OkNGQlR5cGVFbnRyeSBmYmNsYXNzOjpjc21fb0Zpcm13YXJlRkJFbnRyeV8jI2ZiY2xhc3MoKGZiVHlwZU5hbWVJZCksIGZiY2xhc3M6OmNyZWF0ZUZCLCAwKTsgXAogICBGT1JURV9EVU1NWV9JTklUX0RFRihmYmNsYXNzKQogCiAvKiFcaW5ncm91cCBDT1JFIFRoaXMgZGVmaW5lIGlzIHVzZWQgdG8gY3JlYXRlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGFib3ZlIGRlZmluaXRpb24uIFRoZSBzZWNvbmQgcGFyYW1ldGVyIGlzIG5lZWRlZCBmb3IgdGhlCiAgKiBwcmVidWlsZCBzY3JpcHQgdGhhdCBnZW5lcmF0ZXMgdGhlIGNvbnN0YW50IHN0cmluZyBsaXN0LgogICovCiAjZGVmaW5lIERFRklORV9GSVJNV0FSRV9GQihmYmNsYXNzLCBmYlR5cGVOYW1lSWQpIFwKLSAgICBERUZJTkVfR0VORVJJQ19GSVJNV0FSRV9GQihmYmNsYXNzLCBmYlR5cGVOYW1lSWQpIFwKKyAgICBleHRlcm4gY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBnX25TdHJpbmdJZCMjZmJjbGFzczsgXAorICAgIGNvbnN0IENUeXBlTGliOjpDRkJUeXBlRW50cnkgZmJjbGFzczo6Y3NtX29GaXJtd2FyZUZCRW50cnlfIyNmYmNsYXNzKChmYlR5cGVOYW1lSWQpLCBmYmNsYXNzOjpjcmVhdGVGQiwgJihmYmNsYXNzOjpzY21fc3RGQkludGVyZmFjZVNwZWMpKTsgXAorICAgIEZPUlRFX0RVTU1ZX0lOSVRfREVGKGZiY2xhc3MpIFwKICAgICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGZiY2xhc3M6OmdldEZCVHlwZUlkKHZvaWQpIGNvbnN0IHtyZXR1cm4gKGZiVHlwZU5hbWVJZCk7IH0KIAogLy8hXGluZ3JvdXAgQ09SRSBUaGlzIGRlZmluZSBpcyB1c2VkIHRvIGNyZWF0ZSB0aGUgZGVmaW5pdGlvbiBuZWNlc3NhcnkgZm9yIEFkYXB0ZXIgdHlwZXMuCkBAIC03NSw3ICs3OCw3IEBACiAgIHByaXZhdGU6IFwKICAgICBjb25zdCBzdGF0aWMgQ1R5cGVMaWI6OkNBZGFwdGVyVHlwZUVudHJ5IGNzbV9vQWRhcHRlclR5cGVFbnRyeV8jI2FkYXB0ZXJjbGFzczsgXAogICBwdWJsaWM6ICBcCi0gIHN0YXRpYyBDQWRhcHRlciAqY3JlYXRlQWRhcHRlcihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcywgYm9vbCBwYV9iSXNQbHVnKXtcCisgICAgc3RhdGljIENBZGFwdGVyICpjcmVhdGVBZGFwdGVyKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLCBib29sIHBhX2JJc1BsdWcpe1wKICAgICAgIHJldHVybiBuZXcgYWRhcHRlcmNsYXNzKHBhX25JbnN0YW5jZU5hbWVJZCwgcGFfcG9TcmNSZXMsIHBhX2JJc1BsdWcpO1wKICAgICB9OyBcCiAgICAgdmlydHVhbCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGdldEZCVHlwZUlkKHZvaWQpIGNvbnN0IHtyZXR1cm4gKGNzbV9vQWRhcHRlclR5cGVFbnRyeV8jI2FkYXB0ZXJjbGFzcy5nZXRUeXBlTmFtZUlkKCkpOyB9O1wKQEAgLTg0LDcgKzg3LDExIEBACiAKIC8vIVxpbmdyb3VwIENPUkUgVGhpcyBkZWZpbmUgaXMgdXNlZCB0byBjcmVhdGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciB0aGUgYWJvdmUgZGVmaW5pdGlvbi4KICNkZWZpbmUgREVGSU5FX0FEQVBURVJfVFlQRShhZGFwdGVyY2xhc3MsIGFkYXB0ZXJUeXBlTmFtZUlkKVwKLSAgY29uc3QgQ1R5cGVMaWI6OkNBZGFwdGVyVHlwZUVudHJ5IGFkYXB0ZXJjbGFzczo6Y3NtX29BZGFwdGVyVHlwZUVudHJ5XyMjYWRhcHRlcmNsYXNzKChhZGFwdGVyVHlwZU5hbWVJZCksIGFkYXB0ZXJjbGFzczo6Y3JlYXRlQWRhcHRlcik7IFwKKyAgY29uc3QgQ1R5cGVMaWI6OkNBZGFwdGVyVHlwZUVudHJ5IGFkYXB0ZXJjbGFzczo6Y3NtX29BZGFwdGVyVHlwZUVudHJ5XyMjYWRhcHRlcmNsYXNzKChhZGFwdGVyVHlwZU5hbWVJZCksIGFkYXB0ZXJjbGFzczo6Y3JlYXRlQWRhcHRlciwgJihhZGFwdGVyY2xhc3M6OnNjbV9zdEZCSW50ZXJmYWNlU3BlY1NvY2tldCkpOyBcCisgIEZPUlRFX0RVTU1ZX0lOSVRfREVGKGFkYXB0ZXJjbGFzcykKKworI2RlZmluZSBERUZJTkVfR0VORVJJQ19BREFQVEVSX1RZUEUoYWRhcHRlcmNsYXNzLCBhZGFwdGVyVHlwZU5hbWVJZClcCisgIGNvbnN0IENUeXBlTGliOjpDQWRhcHRlclR5cGVFbnRyeSBhZGFwdGVyY2xhc3M6OmNzbV9vQWRhcHRlclR5cGVFbnRyeV8jI2FkYXB0ZXJjbGFzcygoYWRhcHRlclR5cGVOYW1lSWQpLCBhZGFwdGVyY2xhc3M6OmNyZWF0ZUFkYXB0ZXIsIDApOyBcCiAgIEZPUlRFX0RVTU1ZX0lOSVRfREVGKGFkYXB0ZXJjbGFzcykKIAogLy8hXGluZ3JvdXAgQ09SRSBUaGlzIGRlZmluZSBpcyB1c2VkIHRvIGNyZWF0ZSB0aGUgZGVmaW5pdGlvbiBuZWNlc3NhcnkgZm9yIEZpcm13YXJlIGRhdGF0eXBlIGluIG9yZGVyIHRvIGdldCB0aGVtIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIEZpcm13YXJlVHlwZSBsaXN0LgpAQCAtMTA2LDYgKzExMyw3IEBACiAgIGNvbnN0IENUeXBlTGliOjpDRGF0YVR5cGVFbnRyeSBDSUVDXyMjZGF0YXR5cGVuYW1lOjpjc21fb0Zpcm13YXJlRGF0YVR5cGVFbnRyeV8jI2RhdGF0eXBlbmFtZSgoZGF0YXR5cGVuYW1laWQpLCBDSUVDXyMjZGF0YXR5cGVuYW1lOjpjcmVhdGVEYXRhVHlwZSk7XAogICBGT1JURV9EVU1NWV9JTklUX0RFRihDSUVDXyMjZGF0YXR5cGVuYW1lKQogCitzdHJ1Y3QgU0ZCSW50ZXJmYWNlU3BlYzsKIAogLyohXGluZ3JvdXAgQ09SRSBcYnJpZWYgQ2xhc3MgZm9yIHN0b3JpbmcgdGhlIGZ1bmN0aW9uYmxvY2sgbGlicmFyaWVzLgogICovCkBAIC0xMTYsNiArMTI0LDcgQEAKICAgY2xhc3MgQ1R5cGVFbnRyeXsKICAgICBwcml2YXRlOgogICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBtX25UeXBlTmFtZUlkOworCiAgICAgcHVibGljOgogICAgICAgQ1R5cGVFbnRyeSAqbV9wb05leHQ7IC8vITwgYSBwb2ludGVyIHRvIHRoZSBuZXh0IGVsZW1lbnQgaW4gdGhlIGxpc3QuIFdpbGwgYmUgdXNlZCB0byBidWlsZCBzaW5nbGUgbGlua2VkIGxpc3Qgb2YgdHlwZSBlbnRyaWVzLgogCkBAIC0xMjMsMTMgKzEzMiwyMSBAQAogICAgICAgdmlydHVhbCB+Q1R5cGVFbnRyeSh2b2lkKTsKIAogICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBnZXRUeXBlTmFtZUlkKHZvaWQpIGNvbnN0IHsgcmV0dXJuIG1fblR5cGVOYW1lSWQ7IH07CisgIH07CiAKKyAgY2xhc3MgQ1NwZWNUeXBlRW50cnkgOiBwdWJsaWMgQ1R5cGVFbnRyeSB7CisgICAgcHJpdmF0ZToKKyAgICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIG1Tb2NrZXRJbnRlcmZhY2VTcGVjOworICAgIHB1YmxpYzoKKyAgICAgIENTcGVjVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIHBhU29ja2V0SW50ZXJmYWNlU3BlYyk7CisgICAgICB2aXJ0dWFsIH5DU3BlY1R5cGVFbnRyeSh2b2lkKTsKKyAgICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIGdldEludGVyZmFjZVNwZWMoKSBjb25zdHsgcmV0dXJuIG1Tb2NrZXRJbnRlcmZhY2VTcGVjOyB9CiAgIH07CiAKIC8vISBUaGUgYmFzZSBjbGFzcyBmb3IgYWxsIGZ1bmN0aW9uIGJsb2NrIHR5cGVzIGVudHJpZXMgaW4gdGhlIHR5cGUgbGliLgotICBjbGFzcyBDRkJUeXBlRW50cnkgOiBwdWJsaWMgQ1R5cGVFbnRyeXsKKyAgY2xhc3MgQ0ZCVHlwZUVudHJ5IDogcHVibGljIENTcGVjVHlwZUVudHJ5ewogICAgIHB1YmxpYzoKLSAgICAgIENGQlR5cGVFbnRyeShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25UeXBlTmFtZUlkLCBURnVuY3Rpb25CbG9ja0NyZWF0ZUZ1bmMgcGFfcGZ1bmNDcmVhdGVGQik7CisgICAgICBDRkJUeXBlRW50cnkoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uVHlwZU5hbWVJZCwgVEZ1bmN0aW9uQmxvY2tDcmVhdGVGdW5jIHBhX3BmdW5jQ3JlYXRlRkIsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIHBhU29ja2V0SW50ZXJmYWNlU3BlYyk7CiAgICAgICB2aXJ0dWFsIH5DRkJUeXBlRW50cnkodm9pZCk7CiAgICAgICB2aXJ0dWFsIENGdW5jdGlvbkJsb2NrICpjcmVhdGVGQkluc3RhbmNlKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKXsKICAgICAgICAgICAgICAgcmV0dXJuIG1fcGZ1bmNGQkNyZWF0aW9uRnVuYyggcGFfbkluc3RhbmNlTmFtZUlkLCBwYV9wb1NyY1Jlcyk7CkBAIC0xNDAsOSArMTU3LDkgQEAKIAogLyohXGJyaWVmIENsYXNzIGZvciBhZGFwdGVyIHR5cGUgZW50cmllcyBpbiB0aGUgdHlwZSBsaWIuCiAgKi8KLSAgICAgIGNsYXNzIENBZGFwdGVyVHlwZUVudHJ5IDogcHVibGljIENUeXBlRW50cnl7CisgICAgICBjbGFzcyBDQWRhcHRlclR5cGVFbnRyeSA6IHB1YmxpYyBDU3BlY1R5cGVFbnRyeXsKICAgICAgICAgcHVibGljOgotICAgICAgICAgIENBZGFwdGVyVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsIFRBZGFwdGVyQ3JlYXRlRnVuYyBwYV9wZnVuY0NyZWF0ZUFkYXB0ZXIpOworICAgICAgICAgIENBZGFwdGVyVHlwZUVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsIFRBZGFwdGVyQ3JlYXRlRnVuYyBwYV9wZnVuY0NyZWF0ZUFkYXB0ZXIsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIHBhU29ja2V0SW50ZXJmYWNlU3BlYyk7CiAgICAgICAgICAgdmlydHVhbCB+Q0FkYXB0ZXJUeXBlRW50cnkodm9pZCk7CiAgICAgICAgICAgdmlydHVhbCBDQWRhcHRlciAqY3JlYXRlQWRhcHRlckluc3RhbmNlKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzLCBib29sIHBhX2JJc1BsdWcpewogICAgICAgICAgICAgcmV0dXJuIG1fcGZ1bmNBZGFwdGVyQ3JlYXRpb25GdW5jKCBwYV9uSW5zdGFuY2VOYW1lSWQsIHBhX3BvU3JjUmVzLCBwYV9iSXNQbHVnKTsKQEAgLTE3Nyw3ICsxOTQsNiBAQAogICovCiAgIHN0YXRpYyBDRnVuY3Rpb25CbG9jayAqY3JlYXRlRkIoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkZCVHlwZUlkLCBDUmVzb3VyY2UgKnBhX3BvUmVzKTsKIAotCiAvKlxicmllZiBEZWxldGUgdGhlIGdpdmVuIEZCCiAgKi8KICAgc3RhdGljIGJvb2wgZGVsZXRlRkIoQ0Z1bmN0aW9uQmxvY2sgKnBhX3BvRkJUb0RlbGV0ZSk7CkBAIC0yMjMsNiArMjM5LDggQEAKICAqLwogICBzdGF0aWMgQ1R5cGVFbnRyeSAqZ2V0RFRMaWJTdGFydCgpIHsgcmV0dXJuIG1fcG9EVExpYlN0YXJ0OyB9CiAKKyAgc3RhdGljIENUeXBlRW50cnkgKmZpbmRUeXBlKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVJZCwgQ1R5cGVFbnRyeSAqcGFfcG9MaXN0U3RhcnQpOworCiBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogCkBAIC0yMzksMTEgKzI1Nyw4IEBACiAgIHN0YXRpYyBDRGF0YVR5cGVFbnRyeSAqbV9wb0RUTGliU3RhcnQsIC8vITwgcG9pbnRlciB0byB0aGUgYmVnaW4gb2YgdGhlIGRhdGEgdHlwZSBsaWJyYXJ5CiAgICAgICAgICAgICAgICAgICptX3BvRFRMaWJFbmQ7IC8vITwgcG9pbnRlciB0byB0aGUgZW5kIG9mIHRoZSBkYXRhIHR5cGUgbGlicmFyeQogCi0gIHN0YXRpYyBDVHlwZUVudHJ5ICpmaW5kVHlwZShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25UeXBlSWQsIENUeXBlRW50cnkgKnBhX3BvTGlzdFN0YXJ0KTsKLQogICAvLyEgZmluZCB0aGUgcG9zaXRpb24gb2YgdGhlIGZpcnN0IHVuZGVyc2NvcmUgdGhhdCBtYXJrcyB0aGUgZW5kIG9mIHRoZSB0eXBlIG5hbWUgYW5kIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGdlbmVyaWMgcGFydAogICBzdGF0aWMgY29uc3QgY2hhciogZ2V0Rmlyc3ROb25UeXBlTmFtZVVuZGVyc2NvcmVQb3MoY29uc3QgY2hhciogcGFfYWNUeXBlTmFtZSk7Ci0KIH07CiAKICNlbmRpZiAvKlRZUEVMSUJfSF8qLwpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdXRpbHMvQ01ha2VMaXN0cy50eHQgYi9zcmMvY29yZS91dGlscy9DTWFrZUxpc3RzLnR4dAppbmRleCAwMmI4NjM5Li41OTFmYzBkIDEwMDY0NAotLS0gYS9zcmMvY29yZS91dGlscy9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvY29yZS91dGlscy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNSBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIEFsb2lzIFpvaXRsDQorIyBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE1IEFDSU4sIGZvcnRpc3MgR21iSA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgQWxvaXMgWm9pdGwNCiAjICogICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3V0aWxzL2FueWhlbHBlci5oIGIvc3JjL2NvcmUvdXRpbHMvYW55aGVscGVyLmgKaW5kZXggOTJiNDgzMC4uM2I0NmI0NyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvdXRpbHMvYW55aGVscGVyLmgKKysrIGIvc3JjL2NvcmUvdXRpbHMvYW55aGVscGVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQpAQCAtNDIsMTEgKzQzLDExIEBACiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9XT1JEOg0KICAgICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19XT1JEPigpOw0KICAgICAgIGJyZWFrOw0KLSAgICAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgICAgY2FzZSAgQ0lFQ19BTlk6OmVfTFdPUkQ6DQogICAgICAgICBwYV9yb0ZCLnRlbXBsYXRlIGNhbGN1bGF0ZVZhbHVlPENJRUNfTFdPUkQ+KCk7DQogICAgICAgICBicmVhazsNCi0gICAgI2VuZGlmDQorI2VuZGlmIC8vRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICBkZWZhdWx0Og0KICAgICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19EV09SRD4oKTsNCiAgICAgICBicmVhazsNCkBAIC02MiwxMSArNjMsMTEgQEAKICAgICBjYXNlIENJRUNfQU5ZOjplX1dPUkQ6DQogICAgICAgcGFfcm9GQi50ZW1wbGF0ZSBjYWxjdWxhdGVWYWx1ZTxDSUVDX1dPUkQ+KCk7DQogICAgICAgYnJlYWs7DQotICAgICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQorI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgICBjYXNlICBDSUVDX0FOWTo6ZV9MV09SRDoNCiAgICAgICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19MV09SRD4oKTsNCiAgICAgICAgIGJyZWFrOw0KLSAgICAjZW5kaWYNCisjZW5kaWYgLy9GT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfRFdPUkQ6DQogICAgICAgcGFfcm9GQi50ZW1wbGF0ZSBjYWxjdWxhdGVWYWx1ZTxDSUVDX0RXT1JEPigpOw0KICAgICAgIGJyZWFrOw0KQEAgLTgxLDI4ICs4MiwyOCBAQAogdm9pZCBhbnlNYWduaXR1ZGVGQkhlbHBlcihDSUVDX0FOWTo6RURhdGFUeXBlSUQgcGFfZURhdGFUeXBlSWQsIFQgJnBhX3JvRkIpew0KICAgc3dpdGNoIChwYV9lRGF0YVR5cGVJZCl7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfUkVBTDoNCi0gICAgICAjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCisjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCiAgICAgICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19SRUFMPigpOw0KLSAgICAgICNlbHNlDQorI2Vsc2UgLy9GT1JURV9VU0VfUkVBTF9EQVRBVFlQRQ0KICAgICAgICAgREVWTE9HX0VSUk9SKCJSRUFMIGlzIG5vdCBjb21waWxlZCBpbiB0aGlzIHZlcnNpb24gb2YgZm9ydGUgYW5kIHlvdSBhcmUgc3RpbGwgdHJ5aW5nIHRvIHVzZSBpdC4gRXhpdGluZyIpOw0KICAgICAgICAgYXNzZXJ0KDApOw0KLSAgICAgICNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfTFJFQUw6DQotICAgICAgI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQ0KKyNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUNCiAgICAgICAgICAgcGFfcm9GQi50ZW1wbGF0ZSBjYWxjdWxhdGVWYWx1ZTxDSUVDX0xSRUFMPigpOw0KLSAgICAgICNlbHNlDQorI2Vsc2UgLy9GT1JURV9VU0VfTFJFQUxfREFUQVRZUEUNCiAgICAgICAgICAgREVWTE9HX0VSUk9SKCJMUkVBTCBpcyBub3QgY29tcGlsZWQgaW4gdGhpcyB2ZXJzaW9uIG9mIGZvcnRlIGFuZCB5b3UgYXJlIHN0aWxsIHRyeWluZyB0byB1c2UgaXQuIEV4aXRpbmciKTsNCiAgICAgICAgICAgYXNzZXJ0KDApOw0KLSAgICAgICNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQ0KICAgICAgIGJyZWFrOw0KICAgICBkZWZhdWx0Og0KICAgICAgIGlmKHBhX2VEYXRhVHlwZUlkIDw9IENJRUNfQU5ZOjplX1RJTUUpew0KLSAgICAgICAgI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCisjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICAgICAgICBwYV9yb0ZCLnRlbXBsYXRlIGNhbGN1bGF0ZVZhbHVlPENJRUNfTElOVD4oKTsNCi0gICAgICAgICNlbHNlDQorI2Vsc2UgLy9GT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgICAgICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19ESU5UPigpOw0KLSAgICAgICAgI2VuZGlmDQorI2VuZGlmIC8vRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICAgIH0NCiAgICAgICBicmVhazsNCiAgIH0NCkBAIC0xMTcsMTQgKzExOCwxNCBAQAogICAgIGNhc2UgQ0lFQ19BTlk6OmVfRElOVDoNCiAgICAgICBwYV9yb0ZCLnRlbXBsYXRlIGNhbGN1bGF0ZVZhbHVlPENJRUNfRElOVD4oKTsNCiAgICAgICBicmVhazsNCi0gICAgI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCisjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICBjYXNlIENJRUNfQU5ZOjplX0xJTlQ6DQogICAgICAgcGFfcm9GQi50ZW1wbGF0ZSBjYWxjdWxhdGVWYWx1ZTxDSUVDX0xJTlQ+KCk7DQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfVUxJTlQ6DQogICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19VTElOVD4oKTsNCiAgICAgYnJlYWs7DQotICAgICNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgY2FzZSBDSUVDX0FOWTo6ZV9VSU5UOg0KICAgICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19VSU5UPigpOw0KICAgICAgIGJyZWFrOw0KQEAgLTE0NCwxNCArMTQ1LDE0IEBACiB2b2lkIGFueVJlYWxGQkhlbHBlcihDSUVDX0FOWTo6RURhdGFUeXBlSUQgcGFfZURhdGFUeXBlSWQsIFQgJnBhX3JvRkIpew0KICAgc3dpdGNoIChwYV9lRGF0YVR5cGVJZCl7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfUkVBTDoNCi0gICAgICAjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCisjaWZkZWYgRk9SVEVfVVNFX1JFQUxfREFUQVRZUEUNCiAgICAgICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19SRUFMPigpOw0KLSAgICAgICNlbmRpZg0KKyNlbmRpZiAvL0ZPUlRFX1VTRV9SRUFMX0RBVEFUWVBFDQogICAgICAgYnJlYWs7DQogICAgIGNhc2UgQ0lFQ19BTlk6OmVfTFJFQUw6DQotICAgICAgI2lmZGVmIEZPUlRFX1VTRV9MUkVBTF9EQVRBVFlQRQ0KKyNpZmRlZiBGT1JURV9VU0VfTFJFQUxfREFUQVRZUEUNCiAgICAgICAgIHBhX3JvRkIudGVtcGxhdGUgY2FsY3VsYXRlVmFsdWU8Q0lFQ19MUkVBTD4oKTsNCi0gICAgICAjZW5kaWYNCisjZW5kaWYgLy9GT1JURV9VU0VfTFJFQUxfREFUQVRZUEUNCiAgICAgICBicmVhazsNCiAgICAgZGVmYXVsdDoNCiAgICAgICBicmVhazsNCmRpZmYgLS1naXQgYS9zcmMvY29yZS91dGlscy9jcml0aWNhbHJlZ2lvbi5oIGIvc3JjL2NvcmUvdXRpbHMvY3JpdGljYWxyZWdpb24uaAppbmRleCBkMTEzZjljLi5kMjlhZTA5IDEwMDY0NAotLS0gYS9zcmMvY29yZS91dGlscy9jcml0aWNhbHJlZ2lvbi5oCisrKyBiL3NyYy9jb3JlL3V0aWxzL2NyaXRpY2FscmVnaW9uLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3V0aWxzL2V4dGV2aGFuZGxlcmhlbHBlci5oIGIvc3JjL2NvcmUvdXRpbHMvZXh0ZXZoYW5kbGVyaGVscGVyLmgKaW5kZXggYmI4NjdjOS4uZTE3ZjJkNSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvdXRpbHMvZXh0ZXZoYW5kbGVyaGVscGVyLmgKKysrIGIvc3JjL2NvcmUvdXRpbHMvZXh0ZXZoYW5kbGVyaGVscGVyLmgKQEAgLTEsMTMgKzEsMTUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAgKgotICAqIENvbnRyaWJ1dG9yczoKLSAgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQotICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworICogQ29weXJpZ2h0IChjKSAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9FWFRFVkhBTkRMRVJIRUxQRVJfSF8KICNkZWZpbmUgX0VYVEVWSEFORExFUkhFTFBFUl9IXwogCmRpZmYgLS1naXQgYS9zcmMvY29yZS91dGlscy9maXhlZGNhcHZlY3Rvci5oIGIvc3JjL2NvcmUvdXRpbHMvZml4ZWRjYXB2ZWN0b3IuaAppbmRleCBlMzVkZDA1Li4xNDFlMDhkIDEwMDY0NAotLS0gYS9zcmMvY29yZS91dGlscy9maXhlZGNhcHZlY3Rvci5oCisrKyBiL3NyYy9jb3JlL3V0aWxzL2ZpeGVkY2FwdmVjdG9yLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNSBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwKZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3V0aWxzL2ZvcnRlX2NvbnN0YW50cy5oIGIvc3JjL2NvcmUvdXRpbHMvZm9ydGVfY29uc3RhbnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThjZWYxMQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9jb3JlL3V0aWxzL2ZvcnRlX2NvbnN0YW50cy5oCkBAIC0wLDAgKzEsMjkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyAqICAgIC0gY29tbW9uIGZpbGUgZm9yIGNvbnN0YW50cyB1c2VkIGluIEZPUlRFCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfQ09SRV9VVElMU19GT1JURV9DT05TVEFOVFNfSF8KKyNkZWZpbmUgU1JDX0NPUkVfVVRJTFNfRk9SVEVfQ09OU1RBTlRTX0hfCisKKyNpbmNsdWRlICJmb3J0ZV90aW1lLmgiCisKK25hbWVzcGFjZSBmb3J0ZSB7CisgIG5hbWVzcGFjZSBjb3JlIHsKKyAgICBuYW1lc3BhY2UgY29uc3RhbnRzIHsKKyAgICAgIGNvbnN0IENJRUNfVElNRTo6VFZhbHVlVHlwZSBjTWlsbGlzZWNvbmRzUGVyU2Vjb25kID0gMUUzOworICAgICAgY29uc3QgQ0lFQ19USU1FOjpUVmFsdWVUeXBlIGNNaWNyb3NlY29uZHNQZXJTZWNvbmQgPSAxRTY7CisgICAgICBjb25zdCBDSUVDX1RJTUU6OlRWYWx1ZVR5cGUgY05hbm9zZWNvbmRzUGVyU2Vjb25kID0gMUU5OworICAgIH0gLyogbmFtZXNwYWNlIGNvbnN0YW50cyAqLworICB9IC8qIG5hbWVzcGFjZSBjb3JlICovCit9IC8qIG5hbWVzcGFjZSBmb3J0ZSAqLworCisjZW5kaWYgLyogU1JDX0NPUkVfVVRJTFNfRk9SVEVfQ09OU1RBTlRTX0hfICovCmRpZmYgLS1naXQgYS9zcmMvY29yZS91dGlscy9mb3J0ZWFycmF5LmggYi9zcmMvY29yZS91dGlscy9mb3J0ZWFycmF5LmgKaW5kZXggNGIwNTlmZi4uMzhlZTBhMyAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvdXRpbHMvZm9ydGVhcnJheS5oCisrKyBiL3NyYy9jb3JlL3V0aWxzL2ZvcnRlYXJyYXkuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdXRpbHMvcGFyYW1ldGVyUGFyc2VyLmNwcCBiL3NyYy9jb3JlL3V0aWxzL3BhcmFtZXRlclBhcnNlci5jcHAKaW5kZXggN2M1ZWRkZi4uZTQxYTMzZSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvdXRpbHMvcGFyYW1ldGVyUGFyc2VyLmNwcAorKysgYi9zcmMvY29yZS91dGlscy9wYXJhbWV0ZXJQYXJzZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTcgQUNJTiAtIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTQsNDYgKzE1LDM1IEBACiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8Y2N0eXBlPgogCi1DUGFyYW1ldGVyUGFyc2VyOjpDUGFyYW1ldGVyUGFyc2VyKGNvbnN0IGNoYXIqIHBhUGFyYW1ldGVycywgdW5zaWduZWQgaW50IHBhQW1vdW50T2ZQYXJhbWV0ZXJzLCBjb25zdCBjaGFyIHBhU2VwYXJhdG9yKSA6Ci0gIG1QYXJhbWV0ZXJzKHBhUGFyYW1ldGVycyksIG1BbW91bnRPZlBhcmFtZXRlcnMocGFBbW91bnRPZlBhcmFtZXRlcnMpLCBtU2VwYXJhdG9yKHBhU2VwYXJhdG9yKXsKLSAgbVBhcmFtZXRlckxvY2F0aW9ucyA9IG5ldyBjaGFyKltwYUFtb3VudE9mUGFyYW1ldGVyc107Ci0gIG1lbXNldChtUGFyYW1ldGVyTG9jYXRpb25zLCAwLCBzaXplb2YoY2hhciopKnBhQW1vdW50T2ZQYXJhbWV0ZXJzKTsKK0NQYXJhbWV0ZXJQYXJzZXI6OkNQYXJhbWV0ZXJQYXJzZXIoY29uc3QgY2hhciogcGFQYXJhbWV0ZXJzLCBjb25zdCBjaGFyIHBhU2VwYXJhdG9yLCBzaXplX3QgcGFFeHBlY3RlZE51bVBhcmFtcykgOgorICAgIG1QYXJhbWV0ZXJzKHBhUGFyYW1ldGVycyksIG1TZXBhcmF0b3IocGFTZXBhcmF0b3IpIHsKKyAgbVBhcmFtZXRlckxvY2F0aW9ucy5yZXNlcnZlKHBhRXhwZWN0ZWROdW1QYXJhbXMpOwogfQogCi1DUGFyYW1ldGVyUGFyc2VyOjp+Q1BhcmFtZXRlclBhcnNlcigpewotICBpZigwICE9IG1QYXJhbWV0ZXJMb2NhdGlvbnMpewotICAgIGRlbGV0ZVtdIG1QYXJhbWV0ZXJMb2NhdGlvbnM7Ci0gIH0KLX0KLQotdW5zaWduZWQgaW50IENQYXJhbWV0ZXJQYXJzZXI6OnBhcnNlUGFyYW1ldGVycygpIHsKK3NpemVfdCBDUGFyYW1ldGVyUGFyc2VyOjpwYXJzZVBhcmFtZXRlcnMoKSB7CiAgIGNoYXIqIHBhcnNlUG9zaXRpb24gPSBtUGFyYW1ldGVycy5nZXRWYWx1ZSgpOwotICB1bnNpZ25lZCBpbnQgaSA9IDA7Ci0gIGlmKDAgPCBtQW1vdW50T2ZQYXJhbWV0ZXJzKXsKLSAgICBpZignXDAnID09ICpwYXJzZVBvc2l0aW9uKXsgLy9lbXB0eSBzdHJpbmcKLSAgICAgIHNhdmVTdGFydFBvc2l0aW9uRm9yUGFyYW1ldGVyU3Vic3RyaW5nKGkrKywgcGFyc2VQb3NpdGlvbik7Ci0gICAgfWVsc2V7IC8vbm9uIGVtcHR5IHN0cmluZwotICAgICAgZm9yKGkgPSAwOyBpIDwgbUFtb3VudE9mUGFyYW1ldGVyczsgaSsrKXsKLSAgICAgICAgaWYoJyAnICE9IG1TZXBhcmF0b3IpewotICAgICAgICAgIG1vdmVUb1Bvc2l0aW9uT2ZGaXJzdE5vbldoaXRlU3BhY2VDaGFyYWN0ZXIgKCZwYXJzZVBvc2l0aW9uKTsKLSAgICAgICAgfQotICAgICAgICBzYXZlU3RhcnRQb3NpdGlvbkZvclBhcmFtZXRlclN1YnN0cmluZyhpLCBwYXJzZVBvc2l0aW9uKTsKLSAgICAgICAgbW92ZVRvUG9zaXRpb25PZk5leHRQYXJhbWV0ZXJTZXBhcmF0b3JPckVuZE9mU3RyaW5nICgmcGFyc2VQb3NpdGlvbik7Ci0gICAgICAgIGJvb2wgZW5kT2ZTdHJpbmcgPSAoJ1wwJyA9PSAqcGFyc2VQb3NpdGlvbik7Ci0gICAgICAgIGlmKG1QYXJhbWV0ZXJMb2NhdGlvbnNbaV0gPCBwYXJzZVBvc2l0aW9uKXsgLy9hdm9pZCBnb2luZyBiYWtjd2FyZHMgd2hlbiBub3QgbmVlZGVkCi0gICAgICAgICAgdHJpbVRyYWlsaW5nV2hpdGVTcGFjZXNPZlBhcmFtZXRlclN1YnN0cmluZyhwYXJzZVBvc2l0aW9uLCAnICcgPT0gbVNlcGFyYXRvcik7Ci0gICAgICAgIH1lbHNlIGlmKG1QYXJhbWV0ZXJMb2NhdGlvbnNbaV0gPT0gcGFyc2VQb3NpdGlvbil7Ci0gICAgICAgICAgKnBhcnNlUG9zaXRpb24gPSAnXDAnOwotICAgICAgICB9Ci0gICAgICAgIGlmKGVuZE9mU3RyaW5nKXsKLSAgICAgICAgICBpKys7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgYm9vbCBlbmRPZlN0cmluZyA9ICgnXDAnID09ICpwYXJzZVBvc2l0aW9uKTsKKyAgaWYoZW5kT2ZTdHJpbmcpIHsgLy9lbXB0eSBzdHJpbmcKKyAgICBzYXZlU3RhcnRQb3NpdGlvbkZvclBhcmFtZXRlclN1YnN0cmluZyhwYXJzZVBvc2l0aW9uKTsKKyAgfSBlbHNlIHsgLy9ub24gZW1wdHkgc3RyaW5nCisgICAgd2hpbGUoIWVuZE9mU3RyaW5nKSB7CisgICAgICBpZignICcgIT0gbVNlcGFyYXRvcikgeworICAgICAgICBtb3ZlVG9Qb3NpdGlvbk9mRmlyc3ROb25XaGl0ZVNwYWNlQ2hhcmFjdGVyKCZwYXJzZVBvc2l0aW9uKTsKKyAgICAgIH0KKyAgICAgIHNhdmVTdGFydFBvc2l0aW9uRm9yUGFyYW1ldGVyU3Vic3RyaW5nKHBhcnNlUG9zaXRpb24pOworICAgICAgbW92ZVRvUG9zaXRpb25PZk5leHRQYXJhbWV0ZXJTZXBhcmF0b3JPckVuZE9mU3RyaW5nKCZwYXJzZVBvc2l0aW9uKTsKKyAgICAgIGVuZE9mU3RyaW5nID0gKCdcMCcgPT0gKnBhcnNlUG9zaXRpb24pOworICAgICAgaWYobVBhcmFtZXRlckxvY2F0aW9ucy5iYWNrKCkgPCBwYXJzZVBvc2l0aW9uKSB7IC8vYXZvaWQgZ29pbmcgYmFja3dhcmRzIHdoZW4gbm90IG5lZWRlZAorICAgICAgICB0cmltVHJhaWxpbmdXaGl0ZVNwYWNlc09mUGFyYW1ldGVyU3Vic3RyaW5nKHBhcnNlUG9zaXRpb24sICcgJyA9PSBtU2VwYXJhdG9yKTsKKyAgICAgIH0gZWxzZSB7IC8vbVBhcmFtZXRlckxvY2F0aW9uc1tpXSA9PSBwYXJzZVBvc2l0aW9uLiBwYXJzZVBvc2l0aW9uIGNhbm5vdCBiZSBiZWhpbmQKKyAgICAgICAgKnBhcnNlUG9zaXRpb24gPSAnXDAnOworICAgICAgfQorICAgICAgaWYoIWVuZE9mU3RyaW5nKSB7CiAgICAgICAgIHBhcnNlUG9zaXRpb24rKzsKICAgICAgIH0KICAgICB9CiAgIH0KLSAgcmV0dXJuIGk7CisgIHJldHVybiBtUGFyYW1ldGVyTG9jYXRpb25zLnNpemUoKTsKIH0KIAogdm9pZCBDUGFyYW1ldGVyUGFyc2VyOjptb3ZlVG9Qb3NpdGlvbk9mRmlyc3ROb25XaGl0ZVNwYWNlQ2hhcmFjdGVyKGNoYXIqKiBwYVBhcnNlUG9zaXRpb24pIHsKQEAgLTYyLDggKzUyLDggQEAKICAgfQogfQogCi12b2lkIENQYXJhbWV0ZXJQYXJzZXI6OnNhdmVTdGFydFBvc2l0aW9uRm9yUGFyYW1ldGVyU3Vic3RyaW5nKGludCBwYVBhcmFtZXRlck51bWJlciwgY2hhciogcGFQYXJzZVBvc2l0aW9uKSB7Ci0gIG1QYXJhbWV0ZXJMb2NhdGlvbnNbcGFQYXJhbWV0ZXJOdW1iZXJdID0gcGFQYXJzZVBvc2l0aW9uOwordm9pZCBDUGFyYW1ldGVyUGFyc2VyOjpzYXZlU3RhcnRQb3NpdGlvbkZvclBhcmFtZXRlclN1YnN0cmluZyhjaGFyKiBwYVBhcnNlUG9zaXRpb24pIHsKKyAgbVBhcmFtZXRlckxvY2F0aW9ucy5wdXNoX2JhY2socGFQYXJzZVBvc2l0aW9uKTsKIH0KIAogdm9pZCBDUGFyYW1ldGVyUGFyc2VyOjptb3ZlVG9Qb3NpdGlvbk9mTmV4dFBhcmFtZXRlclNlcGFyYXRvck9yRW5kT2ZTdHJpbmcoY2hhcioqIHBhUGFyc2VQb3NpdGlvbikgewpAQCAtODMsNyArNzMsNyBAQAogICAqYmFja1RyYWNlQ2hhcmFjdGVyID0gJ1wwJzsKIH0KIAotY29uc3QgY2hhciogQ1BhcmFtZXRlclBhcnNlcjo6b3BlcmF0b3IgW10oY29uc3QgaW50JiBwYUluZGV4KSB7Ci0gIGNvbnN0IGNoYXIqIHJlc3VsdCA9IChwYUluZGV4IDwgc3RhdGljX2Nhc3Q8aW50PihtQW1vdW50T2ZQYXJhbWV0ZXJzKSkgPyBtUGFyYW1ldGVyTG9jYXRpb25zW3BhSW5kZXhdIDogMDsKK2NvbnN0IGNoYXIqIENQYXJhbWV0ZXJQYXJzZXI6Om9wZXJhdG9yIFtdKGNvbnN0IHNpemVfdCBwYUluZGV4KSB7CisgIGNvbnN0IGNoYXIqIHJlc3VsdCA9IChwYUluZGV4IDwgbVBhcmFtZXRlckxvY2F0aW9ucy5zaXplKCkpID8gbVBhcmFtZXRlckxvY2F0aW9uc1twYUluZGV4XSA6IDA7CiAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9zcmMvY29yZS91dGlscy9wYXJhbWV0ZXJQYXJzZXIuaCBiL3NyYy9jb3JlL3V0aWxzL3BhcmFtZXRlclBhcnNlci5oCmluZGV4IGM2ZjExMzYuLjdlYmJkNWUgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL3V0aWxzL3BhcmFtZXRlclBhcnNlci5oCisrKyBiL3NyYy9jb3JlL3V0aWxzL3BhcmFtZXRlclBhcnNlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTcgQUNJTiAtIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTQsNiArMTUsNyBAQAogI2RlZmluZSBTUkNfQ09SRV9VVElMU19QQVJBTUVURVJQQVJTRVJfSF8KIAogI2luY2x1ZGUgIi4uL2RhdGF0eXBlcy9mb3J0ZV9zdHJpbmcuaCIKKyNpbmNsdWRlIDx2ZWN0b3I+CiAKIGNsYXNzIENQYXJhbWV0ZXJQYXJzZXJ7CiAgIHB1YmxpYzoKQEAgLTIxLDQwICsyMywzNSBAQAogICAgIC8qKgogICAgICAqIENyZWF0ZXMgdGhlIHBhcnNlciBvYmplY3QKICAgICAgKiBAcGFyYW0gcGFQYXJhbWV0ZXJzIFBvaW50ZXIgdG8gdGhlIHN0cmluZyB0byBiZSBwYXJzZWQuIEl0IHJlbWFpbnMgdW50b3VjaGVkIGR1cmluZyB0aGUgbGlmZSBvZiB0aGUgb2JqZWN0LCBzaW5jZSB0aGUgc3RyaW5nIGlzIGNvcGllZC4gQSBudWxsIHBvaW50ZXIgaXMgdHJlYXRlZCBhcyBhbiBlbXB0eSBzdHJpbmcKLSAgICAgKiBAcGFyYW0gcGFBbW91bnRPZlBhcmFtZXRlcnMgQW1vdW50IG9mIHBhcmFtZXRlciB0byBsb29rIGZvcgogICAgICAqIEBwYXJhbSBwYVNlcGFyYXRvciBTZXBhcmF0b3Igb2YgdGhlIHBhcmFtZXRlcnMKKyAgICAgKiBAcGFyYW0gcGFFeHBlY3RlZE51bVBhcmFtcyBFeHBlY3RlZCBudW1iZXIgb2YgcGFyYW1ldGVycyBpZiBrbm93bi4gTm90IHByb3ZpZGluZyBpdCwgd2lsbCBzdGlsbCB3b3JrLCBidXQgcGVyZm9ybWFuY2UgaXMgaW1wcm92ZWQgd2hlbiBwcm92aWRlZAogICAgICAqLwotICAgIENQYXJhbWV0ZXJQYXJzZXIoY29uc3QgY2hhciogcGFQYXJhbWV0ZXJzLCB1bnNpZ25lZCBpbnQgcGFBbW91bnRPZlBhcmFtZXRlcnMsIGNvbnN0IGNoYXIgcGFTZXBhcmF0b3IgPSAnLCcpOwotICAgIHZpcnR1YWwgfkNQYXJhbWV0ZXJQYXJzZXIoKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyKGNvbnN0IGNoYXIqIHBhUGFyYW1ldGVycywgY29uc3QgY2hhciBwYVNlcGFyYXRvciwgc2l6ZV90IHBhRXhwZWN0ZWROdW1QYXJhbXMgPSAwKTsKIAogICAgIC8qKgogICAgICAqIFBhcnNlIHRoZSBzdHJpbmcgdXNpbmcgdGhlIHNlcGFyYXRvciBwYXNzZWQgaW4gdGhlIGNvbnN0cnVjdG9yCiAgICAgICogTGVhZGluZyBhbmQgdHJhaWxpbmcgYmxhbmsgc3BhY2VzIGluIGVhY2ggcGFyYW1ldGVyIGFyZSBpZ25vcmVkLCB1bmxlc3MgdGhlIHNlcGFyYXRvciBpcyBhY3R1YWxseSBhIGJsYW5rIHNwYWNlCi0gICAgICogSWYgdGhlIHN0cmluZyBoYXMgbGVzcyBwYXJhbWV0ZXJzIHRoYW4gdGhlIGFtb3VudCBzcGVjaWZpZWQgaW4gdGhlIGNvbnN0cnVjdG9yLCB0aGUgcGFyc2VkIGFtb3VudCBvZiBwYXJhbWV0ZXJzIGlzIHN0b3JlZAotICAgICAqIElmIHRoZSBzdHJpbmcgaGFzIG1vcmUgcGFyYW1ldGVycyB0aGFuIHRoZSBhbW91bnQgc3BlY2lmaWVkIGluIHRoZSBjb25zdHJ1Y3RvciwgdGhlIHRoZSBzcGVjaWZpZWQgYW1vdW50IGlzIHN0b3JlZAogICAgICAqIElmIHRoZSBzdHJpbmcgc3RhcnRzIHdpdGggYSBzZXBhcmF0b3IsIHRoZSBmaXJzdCBwYXJhbWV0ZXIgd2lsbCBiZSBjb25zaWRlcmVkIGFuIGVtcHR5IG9uZQogICAgICAqIElmIHRoZSBzdHJpbmcgZW5kcyB3aXRoIGEgc2VwYXJhdG9yLCB0aGUgbGFzdCBwYXJhbWV0ZXIgd2lsbCBiZSBjb25zaWRlcmVkIGFuIGVtcHR5IG9uZQogICAgICAqIEFuIGVtcHR5IHN0cmluZyBpcyBzZWVuIGFzIGEgb25lIGVtcHR5IHBhcmFtZXRlcgogICAgICAqIEByZXR1cm4gTnVtYmVyIG9mIHN0b3JlZCBwYXJhbWV0ZXJzCiAgICAgICovCi0gICAgdW5zaWduZWQgaW50IHBhcnNlUGFyYW1ldGVycygpOworICAgIHNpemVfdCBwYXJzZVBhcmFtZXRlcnMoKTsKIAogICAgIC8qKgogICAgICAqIEdldCB0aGUgcGFyYW1ldGVyIGF0IGNlcnRhaW4gaW5kZXgKICAgICAgKiBAcGFyYW0gcGFJbmRleCBJbmRleCBvZiB0aGUgZGVzaXJlZCBwYXJhbWV0ZXIKICAgICAgKiBAcmV0dXJuIElmIHRoZSBpbmRleCBpcyBsZXNzIHRoYW4gdGhlIGFtb3VudCBvZiBzdG9yZWQgcGFyYW1ldGVycywgYSBwb2ludGVyIHRvIHRoZSBzdHJpbmcsIDAgb3RoZXJ3aXNlCiAgICAgICovCi0gICAgY29uc3QgY2hhciogb3BlcmF0b3JbXShpbnQgY29uc3QmIHBhSW5kZXgpOworICAgIGNvbnN0IGNoYXIqIG9wZXJhdG9yW10oY29uc3Qgc2l6ZV90IHBhSW5kZXgpOwogCiAgIHByaXZhdGU6CiAgICAgQ0lFQ19TVFJJTkcgbVBhcmFtZXRlcnM7Ci0gICAgY2hhciAqKm1QYXJhbWV0ZXJMb2NhdGlvbnM7Ci0gICAgdW5zaWduZWQgaW50IGNvbnN0IG1BbW91bnRPZlBhcmFtZXRlcnM7CisgICAgc3RkOjp2ZWN0b3I8Y29uc3QgY2hhciAqPiBtUGFyYW1ldGVyTG9jYXRpb25zOwogICAgIGNvbnN0IGNoYXIgbVNlcGFyYXRvcjsKIAotCiAgICAgdm9pZCBtb3ZlVG9Qb3NpdGlvbk9mRmlyc3ROb25XaGl0ZVNwYWNlQ2hhcmFjdGVyKGNoYXIqKiBwYVBhcnNlUG9zaXRpb24pOwotICAgIHZvaWQgc2F2ZVN0YXJ0UG9zaXRpb25Gb3JQYXJhbWV0ZXJTdWJzdHJpbmcoaW50IHBhUGFyYW1ldGVyTnVtYmVyLCBjaGFyKiBwYVBhcnNlUG9zaXRpb24pOworICAgIHZvaWQgc2F2ZVN0YXJ0UG9zaXRpb25Gb3JQYXJhbWV0ZXJTdWJzdHJpbmcoY2hhciogcGFQYXJzZVBvc2l0aW9uKTsKICAgICB2b2lkIG1vdmVUb1Bvc2l0aW9uT2ZOZXh0UGFyYW1ldGVyU2VwYXJhdG9yT3JFbmRPZlN0cmluZyhjaGFyKiogcGFQYXJzZVBvc2l0aW9uKTsKICAgICB2b2lkIHRyaW1UcmFpbGluZ1doaXRlU3BhY2VzT2ZQYXJhbWV0ZXJTdWJzdHJpbmcoY2hhciogcGFQYXJzZVBvc2l0aW9uLCBib29sIGlzU3BhY2UpOwogCmRpZmYgLS1naXQgYS9zcmMvY29yZS91dGlscy9zaW5nbGV0LmggYi9zcmMvY29yZS91dGlscy9zaW5nbGV0LmgKaW5kZXggNWYyNGE4MC4uYzU1NWRiZSAxMDA2NDQKLS0tIGEvc3JjL2NvcmUvdXRpbHMvc2luZ2xldC5oCisrKyBiL3NyYy9jb3JlL3V0aWxzL3NpbmdsZXQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTAgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsDQpkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdXRpbHMvc3RhdGljYXNzZXJ0LmggYi9zcmMvY29yZS91dGlscy9zdGF0aWNhc3NlcnQuaAppbmRleCAxNWUwYjQ1Li4yOGViNTE2IDEwMDY0NAotLS0gYS9zcmMvY29yZS91dGlscy9zdGF0aWNhc3NlcnQuaAorKysgYi9zcmMvY29yZS91dGlscy9zdGF0aWNhc3NlcnQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwNCkBAIC0xNCwxMCArMTUsMTAgQEAKIA0KICNpZmRlZiBfX0dOVUNfXw0KICAgLy9UaGUgbGF0ZXN0IEdDQyBpcyByYXRoZXIgcGlja3kgYWJvdXQgdW51c2VkIHR5cGVkZWZzLiBXZSBuZWVkIHRoaXMgZm9yIG91ciBzdGF0aWMgYXNzZXJ0IGFuZCBpdHMgb2sgdGhlcmUgdGhhdCBpdCBpcyB1bnVzZWQgdGhlcmUuDQotICAjZGVmaW5lIEZPUlRFX0FUVFJJQlVURV9VTlVTRUQgX19hdHRyaWJ1dGVfXygodW51c2VkKSkNCi0jZWxzZQ0KLSAgI2RlZmluZSBGT1JURV9BVFRSSUJVVEVfVU5VU0VEDQotI2VuZGlmDQorIyBkZWZpbmUgRk9SVEVfQVRUUklCVVRFX1VOVVNFRCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKQ0KKyNlbHNlIC8vX19HTlVDX18NCisjIGRlZmluZSBGT1JURV9BVFRSSUJVVEVfVU5VU0VEDQorI2VuZGlmIC8vX19HTlVDX18NCiANCiAvKiEgQSBzaW1wbGUgY29tcGlsZSB0aW1lIGFzc2VydCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgYm9va3M6DQogICogICAgLSBNb2Rlcm4gQysrIERlc2lnbiwgQW5kcmVpIEFsZXhhbmRyZXNjdQ0KZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3V0aWxzL3N0cmluZ191dGlscy5jcHAgYi9zcmMvY29yZS91dGlscy9zdHJpbmdfdXRpbHMuY3BwCmluZGV4IGMxNDExNWMuLjZjMTNjMjMgMTAwNjQ0Ci0tLSBhL3NyYy9jb3JlL3V0aWxzL3N0cmluZ191dGlscy5jcHAKKysrIGIvc3JjL2NvcmUvdXRpbHMvc3RyaW5nX3V0aWxzLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdXRpbHMvc3RyaW5nX3V0aWxzLmggYi9zcmMvY29yZS91dGlscy9zdHJpbmdfdXRpbHMuaAppbmRleCAwMzM0OGYyLi5mMzAzZTE3IDEwMDY0NAotLS0gYS9zcmMvY29yZS91dGlscy9zdHJpbmdfdXRpbHMuaAorKysgYi9zcmMvY29yZS91dGlscy9zdHJpbmdfdXRpbHMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL2ZvcnRlaW5pdC5jcHAuaW4gYi9zcmMvZm9ydGVpbml0LmNwcC5pbgppbmRleCBjZTY3MjI4Li42YzcyNTU5IDEwMDY0NAotLS0gYS9zcmMvZm9ydGVpbml0LmNwcC5pbgorKysgYi9zcmMvZm9ydGVpbml0LmNwcC5pbgpAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSwgMjAxNCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEdlcmhhcmQgRWJlbmhvZmVyLCBNYXR0aGlhcyBQbGFzY2gNCkBAIC0yOSw3ICszMCw2IEBACiANCiAgICR7RkJfRlVOQ1RJT05fU1RSSU5HfQ0KIA0KLSAgcmV0dXJuOw0KIH0NCiANCiANCmRpZmYgLS1naXQgYS9zcmMvZm9ydGVpbml0LmguaW4gYi9zcmMvZm9ydGVpbml0LmguaW4KaW5kZXggZTRhZTIzNi4uNGFhMzAwZSAxMDA2NDQKLS0tIGEvc3JjL2ZvcnRlaW5pdC5oLmluCisrKyBiL3NyYy9mb3J0ZWluaXQuaC5pbgpAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEdlcmhhcmQgRWJlbmhvZmVyDQpkaWZmIC0tZ2l0IGEvc3JjL2dlbl9pbmNsdWRlLmNwcC5pbiBiL3NyYy9nZW5faW5jbHVkZS5jcHAuaW4KaW5kZXggZTUyYmUwYy4uOTczZGNlOSAxMDA2NDQKLS0tIGEvc3JjL2dlbl9pbmNsdWRlLmNwcC5pbgorKysgYi9zcmMvZ2VuX2luY2x1ZGUuY3BwLmluCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWljaGFlbCBIb2ZtYW5uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSFRUUC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0hUVFAvQ01ha2VMaXN0cy50eHQKaW5kZXggNjMzZDI1Zi4uMTBiNmJhOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSFRUUC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9IVFRQL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEzICsxLDE0IEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMTggTWFyYyBKYWtvYmksIGdpdGh1Yi5jb20vTXJjSmtiCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgICBNYXJjIEpha29iaQorIyBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOCBNYXJjIEpha29iaSwgZ2l0aHViLmNvbS9NcmNKa2IKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICAgTWFyYyBKYWtvYmkKICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9IVFRQL2h0dHBfaGFuZGxlci5jcHAgYi9zcmMvbW9kdWxlcy9IVFRQL2h0dHBfaGFuZGxlci5jcHAKaW5kZXggMDMzNDVlNC4uZmRjNDZkNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSFRUUC9odHRwX2hhbmRsZXIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0hUVFAvaHR0cF9oYW5kbGVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMjUsNjEgKzI2LDYxIEBACiBDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvciBDSFRUUF9IYW5kbGVyOjpzbVNlcnZlckxpc3RlbmluZ1NvY2tldCA9IENJUENvbVNvY2tldEhhbmRsZXI6OnNjbUludmFsaWRTb2NrZXREZXNjcmlwdG9yOwogCiBjaGFyIENIVFRQX0hhbmRsZXI6OnNSZWN2QnVmZmVyW107Ci11bnNpZ25lZCBpbnQgIENIVFRQX0hhbmRsZXI6OnNCdWZGaWxsU2l6ZSA9IDA7Cit1bnNpZ25lZCBpbnQgQ0hUVFBfSGFuZGxlcjo6c0J1ZkZpbGxTaXplID0gMDsKIGNvbnN0IHVuc2lnbmVkIGludCBDSFRUUF9IYW5kbGVyOjpzY21TZW5kVGltZW91dCA9IDIwOwogY29uc3QgdW5zaWduZWQgaW50IENIVFRQX0hhbmRsZXI6OnNjbUFjY2VwdGVkVGltZW91dCA9IDU7CiAKIERFRklORV9IQU5ETEVSKENIVFRQX0hhbmRsZXIpOwogCi1DSFRUUF9IYW5kbGVyOjpDSFRUUF9IYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhX3BvRGV2aWNlRXhlY3V0aW9uKSA6IENFeHRlcm5hbEV2ZW50SGFuZGxlcihwYV9wb0RldmljZUV4ZWN1dGlvbil7CitDSFRUUF9IYW5kbGVyOjpDSFRUUF9IYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhX3BvRGV2aWNlRXhlY3V0aW9uKSA6CisgICAgQ0V4dGVybmFsRXZlbnRIYW5kbGVyKHBhX3BvRGV2aWNlRXhlY3V0aW9uKSB7CiAgIG1lbXNldChzUmVjdkJ1ZmZlciwgMCwgY2dfdW5JUExheWVyUmVjdkJ1ZmZlclNpemUpOwogfQogCi1DSFRUUF9IYW5kbGVyOjp+Q0hUVFBfSGFuZGxlcigpewotICBkaXNhYmxlSGFuZGxlcigpOworQ0hUVFBfSGFuZGxlcjo6fkNIVFRQX0hhbmRsZXIoKSB7CisgIHN0b3BUaW1lb3V0VGhyZWFkKCk7CisgIGNsb3NlSFRUUFNlcnZlcigpOworICBjbGVhclNlcnZlckxheWVycygpOworICBjbGVhckNsaWVudExheWVycygpOworICBjbGVhckFjY2VwdGVkU29ja2V0cygpOwogfQogCi12b2lkIENIVFRQX0hhbmRsZXI6OmVuYWJsZUhhbmRsZXIodm9pZCl7Cit2b2lkIENIVFRQX0hhbmRsZXI6OmVuYWJsZUhhbmRsZXIodm9pZCkgewogICBzdGFydFRpbWVvdXRUaHJlYWQoKTsKIH0KIAogdm9pZCBDSFRUUF9IYW5kbGVyOjpkaXNhYmxlSGFuZGxlcih2b2lkKSB7CisgIHN0b3BUaW1lb3V0VGhyZWFkKCk7Cit9CiAKLSAgc2V0QWxpdmUoZmFsc2UpOwotICByZXN1bWVTZWxmc3VzcGVuZCgpOwotICBlbmQoKTsKLQotICBjbG9zZUhUVFBTZXJ2ZXIoKTsKLSAgewotICAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtU2VydmVyTXV0ZXgpOwotICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQU2VydmVyV2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IG1TZXJ2ZXJMYXllcnMuYmVnaW4oKTsgaXRlciAhPSBtU2VydmVyTGF5ZXJzLmVuZCgpOyArK2l0ZXIpewotICAgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENJUENvbVNvY2tldEhhbmRsZXI6OlRTb2NrZXREZXNjcmlwdG9yPjo6SXRlcmF0b3IgaXRlcjEgPSAoKml0ZXIpLT5tU29ja2V0cy5iZWdpbigpOyBpdGVyMSAhPSAoKml0ZXIpLT5tU29ja2V0cy5lbmQoKTsgKytpdGVyMSl7Ci0gICAgICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KCppdGVyMSk7Ci0gICAgICB9Ci0gICAgICAoKml0ZXIpLT5tU29ja2V0cy5jbGVhckFsbCgpOwotICAgICAgZGVsZXRlICgqaXRlcik7Cit2b2lkIENIVFRQX0hhbmRsZXI6OmNsZWFyU2VydmVyTGF5ZXJzKCkgeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVNlcnZlck11dGV4KTsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBTZXJ2ZXJXYWl0aW5nICo+OjpJdGVyYXRvciBpdGVyID0gbVNlcnZlckxheWVycy5iZWdpbigpOyBpdGVyICE9IG1TZXJ2ZXJMYXllcnMuZW5kKCk7ICsraXRlcikgeworICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvcj46Okl0ZXJhdG9yIGl0ZXIxID0gKCppdGVyKS0+bVNvY2tldHMuYmVnaW4oKTsgaXRlcjEgIT0gKCppdGVyKS0+bVNvY2tldHMuZW5kKCk7ICsraXRlcjEpIHsKKyAgICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KCppdGVyMSk7CiAgICAgfQotICAgIG1TZXJ2ZXJMYXllcnMuY2xlYXJBbGwoKTsKKyAgICAoKml0ZXIpLT5tU29ja2V0cy5jbGVhckFsbCgpOworICAgIGRlbGV0ZSAoKml0ZXIpOwogICB9CisgIG1TZXJ2ZXJMYXllcnMuY2xlYXJBbGwoKTsKK30KIAotICB7Ci0gICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1DbGllbnRNdXRleCk7Ci0gICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBDbGllbnRXYWl0aW5nICo+OjpJdGVyYXRvciBpdGVyID0gbUNsaWVudExheWVycy5iZWdpbigpOyBpdGVyICE9IG1DbGllbnRMYXllcnMuZW5kKCk7ICsraXRlcil7Ci0gICAgICByZW1vdmVBbmRDbG9zZVNvY2tldCgoKml0ZXIpLT5tU29ja2V0KTsKLSAgICAgIGRlbGV0ZSAoKml0ZXIpOwotICAgIH0KLSAgICBtQ2xpZW50TGF5ZXJzLmNsZWFyQWxsKCk7Cit2b2lkIENIVFRQX0hhbmRsZXI6OmNsZWFyQ2xpZW50TGF5ZXJzKCkgeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUNsaWVudE11dGV4KTsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBDbGllbnRXYWl0aW5nICo+OjpJdGVyYXRvciBpdGVyID0gbUNsaWVudExheWVycy5iZWdpbigpOyBpdGVyICE9IG1DbGllbnRMYXllcnMuZW5kKCk7ICsraXRlcikgeworICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KCgqaXRlciktPm1Tb2NrZXQpOworICAgIGRlbGV0ZSAoKml0ZXIpOwogICB9CisgIG1DbGllbnRMYXllcnMuY2xlYXJBbGwoKTsKK30KIAotICB7Ci0gICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1BY2NlcHRlZE11dGV4KTsKLSAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUEFjY2VwdGVkU29ja2V0cyAqPjo6SXRlcmF0b3IgaXRlciA9IG1BY2NlcHRlZFNvY2tldHMuYmVnaW4oKTsgaXRlciAhPSBtQWNjZXB0ZWRTb2NrZXRzLmVuZCgpOyArK2l0ZXIpewotICAgICAgcmVtb3ZlQW5kQ2xvc2VTb2NrZXQoKCppdGVyKS0+bVNvY2tldCk7Ci0gICAgICBkZWxldGUgKCppdGVyKTsKLSAgICB9Ci0gICAgbUFjY2VwdGVkU29ja2V0cy5jbGVhckFsbCgpOwordm9pZCBDSFRUUF9IYW5kbGVyOjpjbGVhckFjY2VwdGVkU29ja2V0cygpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1BY2NlcHRlZE11dGV4KTsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBBY2NlcHRlZFNvY2tldHMgKj46Okl0ZXJhdG9yIGl0ZXIgPSBtQWNjZXB0ZWRTb2NrZXRzLmJlZ2luKCk7IGl0ZXIgIT0gbUFjY2VwdGVkU29ja2V0cy5lbmQoKTsgKytpdGVyKSB7CisgICAgcmVtb3ZlQW5kQ2xvc2VTb2NrZXQoKCppdGVyKS0+bVNvY2tldCk7CisgICAgZGVsZXRlICgqaXRlcik7CiAgIH0KLQorICBtQWNjZXB0ZWRTb2NrZXRzLmNsZWFyQWxsKCk7CiB9CiAKIHZvaWQgQ0hUVFBfSGFuZGxlcjo6c2V0UHJpb3JpdHkoaW50KSB7CkBAIC05MSwzNCArOTIsMzIgQEAKICAgcmV0dXJuIDA7CiB9CiAKLWZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBDSFRUUF9IYW5kbGVyOjpyZWN2RGF0YShjb25zdCB2b2lkKiBwYURhdGEsIHVuc2lnbmVkIGludCl7IC8vVE9ETzogZG8gc29tZXRoaW5nIHdpdGggdGhlIHNpemUgcGFyYW1ldGVyIG9mIHRoZSByZWNlaXZlZCBkYXRhPworZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIENIVFRQX0hhbmRsZXI6OnJlY3ZEYXRhKGNvbnN0IHZvaWQqIHBhRGF0YSwgdW5zaWduZWQgaW50KSB7IC8vVE9ETzogZG8gc29tZXRoaW5nIHdpdGggdGhlIHNpemUgcGFyYW1ldGVyIG9mIHRoZSByZWNlaXZlZCBkYXRhPwogICBDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvciBzb2NrZXQgPSAqKHN0YXRpY19jYXN0PGNvbnN0IENJUENvbVNvY2tldEhhbmRsZXI6OlRTb2NrZXREZXNjcmlwdG9yKj4ocGFEYXRhKSk7CiAKLSAgaWYoc29ja2V0ID09IHNtU2VydmVyTGlzdGVuaW5nU29ja2V0KXsKKyAgaWYoc29ja2V0ID09IHNtU2VydmVyTGlzdGVuaW5nU29ja2V0KSB7CiAgICAgQ0lQQ29tU29ja2V0SGFuZGxlcjo6VFNvY2tldERlc2NyaXB0b3IgbmV3Q29ubmVjdGlvbiA9IENJUENvbVNvY2tldEhhbmRsZXI6OmFjY2VwdFRDUENvbm5lY3Rpb24oc29ja2V0KTsKLSAgICBpZihDSVBDb21Tb2NrZXRIYW5kbGVyOjpzY21JbnZhbGlkU29ja2V0RGVzY3JpcHRvciAhPSBuZXdDb25uZWN0aW9uKXsKKyAgICBpZihDSVBDb21Tb2NrZXRIYW5kbGVyOjpzY21JbnZhbGlkU29ja2V0RGVzY3JpcHRvciAhPSBuZXdDb25uZWN0aW9uKSB7CiAgICAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUFjY2VwdGVkTXV0ZXgpOwogICAgICAgSFRUUEFjY2VwdGVkU29ja2V0cyogYWNjZXB0ZWQgPSBuZXcgSFRUUEFjY2VwdGVkU29ja2V0cygpOwogICAgICAgYWNjZXB0ZWQtPm1Tb2NrZXQgPSBuZXdDb25uZWN0aW9uOwotICAgICAgYWNjZXB0ZWQtPm1TdGFydFRpbWUuc2V0Q3VycmVudFRpbWUoKTsKKyAgICAgIGFjY2VwdGVkLT5tU3RhcnRUaW1lID0gTk9XKCk7CiAgICAgICBtQWNjZXB0ZWRTb2NrZXRzLnB1c2hCYWNrKGFjY2VwdGVkKTsKICAgICAgIGdldEV4dEV2SGFuZGxlcjxDSVBDb21Tb2NrZXRIYW5kbGVyPigpLmFkZENvbUNhbGxiYWNrKG5ld0Nvbm5lY3Rpb24sIHRoaXMpOwogICAgICAgcmVzdW1lU2VsZnN1c3BlbmQoKTsKLSAgICB9ZWxzZXsKKyAgICB9IGVsc2UgewogICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBIYW5kbGVyXSBDb3VsZG4ndCBhY2NlcHQgbmV3IEhUVFAgY29ubmVjdGlvblxuIik7CiAgICAgfQotICB9ZWxzZXsKKyAgfSBlbHNlIHsKICAgICBpbnQgcmVjdkxlbiA9IENJUENvbVNvY2tldEhhbmRsZXI6OnJlY2VpdmVEYXRhRnJvbVRDUChzb2NrZXQsICZzUmVjdkJ1ZmZlcltzQnVmRmlsbFNpemVdLCBjZ191bklQTGF5ZXJSZWN2QnVmZmVyU2l6ZSAtIHNCdWZGaWxsU2l6ZSk7Ci0gICAgaWYoMCA9PSByZWN2TGVuKXsKKyAgICBpZigwID09IHJlY3ZMZW4pIHsKICAgICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KHNvY2tldCk7Ci0gICAgfWVsc2UgaWYoLTEgPT0gcmVjdkxlbil7CisgICAgfSBlbHNlIGlmKC0xID09IHJlY3ZMZW4pIHsKICAgICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KHNvY2tldCk7CiAgICAgICBERVZMT0dfRVJST1IoIltIVFRQIGhhbmRsZXJdIEVycm9yIHJlY2VpdmluZyBwYWNrZXRcbiIpOwotICAgIH1lbHNlewotICAgICAgaWYoIXJlY3ZDbGllbnRzKHNvY2tldCwgcmVjdkxlbikpewotICAgICAgICBpZighcmVjdlNlcnZlcnMoc29ja2V0KSl7Ci0gICAgICAgICAgREVWTE9HX1dBUk5JTkcoIltIVFRQIEhhbmRsZXJdOiBBIHBhY2tldCBhcnJpdmVkIHRvIHRoZSB3cm9uZyBwbGFjZVxuIik7Ci0gICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgaWYoIXJlY3ZDbGllbnRzKHNvY2tldCwgcmVjdkxlbikgJiYgIXJlY3ZTZXJ2ZXJzKHNvY2tldCkpIHsKKyAgICAgICAgREVWTE9HX1dBUk5JTkcoIltIVFRQIEhhbmRsZXJdOiBBIHBhY2tldCBhcnJpdmVkIHRvIHRoZSB3cm9uZyBwbGFjZVxuIik7CiAgICAgICB9CiAgICAgfQogICB9CkBAIC0xMjgsOSArMTI3LDkgQEAKIAogYm9vbCBDSFRUUF9IYW5kbGVyOjpyZWN2Q2xpZW50cyhjb25zdCBDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvciBwYVNvY2tldCwgY29uc3QgaW50IHBhUmVjdkxlbmd0aCkgeyAvL2NoZWNrIGNsaWVudHMKICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1DbGllbnRNdXRleCk7Ci0gIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQQ2xpZW50V2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IG1DbGllbnRMYXllcnMuYmVnaW4oKTsgaXRlciAhPSBtQ2xpZW50TGF5ZXJzLmVuZCgpOyArK2l0ZXIpewotICAgIGlmKCgqaXRlciktPm1Tb2NrZXQgPT0gcGFTb2NrZXQpewotICAgICAgaWYoZV9Qcm9jZXNzRGF0YU9rID09ICgqaXRlciktPm1MYXllci0+cmVjdkRhdGEoc1JlY3ZCdWZmZXIsIHBhUmVjdkxlbmd0aCkpeworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUENsaWVudFdhaXRpbmcgKj46Okl0ZXJhdG9yIGl0ZXIgPSBtQ2xpZW50TGF5ZXJzLmJlZ2luKCk7IGl0ZXIgIT0gbUNsaWVudExheWVycy5lbmQoKTsgKytpdGVyKSB7CisgICAgaWYoKCppdGVyKS0+bVNvY2tldCA9PSBwYVNvY2tldCkgeworICAgICAgaWYoZV9Qcm9jZXNzRGF0YU9rID09ICgqaXRlciktPm1MYXllci0+cmVjdkRhdGEoc1JlY3ZCdWZmZXIsIHBhUmVjdkxlbmd0aCkpIHsKICAgICAgICAgc3RhcnROZXdFdmVudENoYWluKCgqaXRlciktPm1MYXllci0+Z2V0Q29tbUZCKCkpOwogICAgICAgfQogICAgICAgcmVtb3ZlQW5kQ2xvc2VTb2NrZXQocGFTb2NrZXQpOwpAQCAtMTQ2LDEyOCArMTQ1LDEzOCBAQAogCiBib29sIENIVFRQX0hhbmRsZXI6OnJlY3ZTZXJ2ZXJzKGNvbnN0IENJUENvbVNvY2tldEhhbmRsZXI6OlRTb2NrZXREZXNjcmlwdG9yIHBhU29ja2V0KSB7CiAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtU2VydmVyTXV0ZXgpOwotICB7IC8vcmVtb3ZlIHNvY2tldCBmcm9tIGFjY2VwdGVkCi0gICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1BY2NlcHRlZE11dGV4KTsKLSAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUEFjY2VwdGVkU29ja2V0cyAqPjo6SXRlcmF0b3IgaXRlciA9IG1BY2NlcHRlZFNvY2tldHMuYmVnaW4oKTsgaXRlciAhPSBtQWNjZXB0ZWRTb2NrZXRzLmVuZCgpOyArK2l0ZXIpewotICAgICAgaWYoKCppdGVyKS0+bVNvY2tldCA9PSBwYVNvY2tldCl7Ci0gICAgICAgIEhUVFBBY2NlcHRlZFNvY2tldHMgKnRvRGVsZXRlID0gKml0ZXI7Ci0gICAgICAgIG1BY2NlcHRlZFNvY2tldHMuZXJhc2UodG9EZWxldGUpOwotICAgICAgICBkZWxldGUgdG9EZWxldGU7Ci0gICAgICAgIGJyZWFrOwotICAgICAgfQotICAgIH0KLSAgfQorICByZW1vdmVTb2NrZXRGcm9tQWNjZXB0ZWQocGFTb2NrZXQpOwogCiAgIGJvb2wgZm91bmQgPSBmYWxzZTsKLSAgaWYoIW1TZXJ2ZXJMYXllcnMuaXNFbXB0eSgpKXsKKyAgaWYoIW1TZXJ2ZXJMYXllcnMuaXNFbXB0eSgpKSB7CiAgICAgQ0lFQ19TVFJJTkcgcGF0aDsKICAgICBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4gcGFyYW1ldGVyTmFtZXM7CiAgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+IHBhcmFtZXRlclZhbHVlczsKLSAgICBpZihDSHR0cFBhcnNlcjo6cGFyc2VHZXRSZXF1ZXN0KHBhdGgsIHBhcmFtZXRlck5hbWVzLCBwYXJhbWV0ZXJWYWx1ZXMsIHNSZWN2QnVmZmVyKSl7Ci0gICAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUFNlcnZlcldhaXRpbmcgKj46Okl0ZXJhdG9yIGl0ZXIgPSBtU2VydmVyTGF5ZXJzLmJlZ2luKCk7IGl0ZXIgIT0gbVNlcnZlckxheWVycy5lbmQoKTsgKytpdGVyKXsKLSAgICAgICAgaWYoKCppdGVyKS0+bVBhdGggPT0gcGF0aCl7CisgICAgaWYoQ0h0dHBQYXJzZXI6OnBhcnNlR2V0UmVxdWVzdChwYXRoLCBwYXJhbWV0ZXJOYW1lcywgcGFyYW1ldGVyVmFsdWVzLCBzUmVjdkJ1ZmZlcikpIHsKKyAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQU2VydmVyV2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IG1TZXJ2ZXJMYXllcnMuYmVnaW4oKTsgaXRlciAhPSBtU2VydmVyTGF5ZXJzLmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAgaWYoKCppdGVyKS0+bVBhdGggPT0gcGF0aCkgewogICAgICAgICAgICgqaXRlciktPm1Tb2NrZXRzLnB1c2hCYWNrKHBhU29ja2V0KTsKLSAgICAgICAgICBpZihlX1Byb2Nlc3NEYXRhT2sgPT0gKCppdGVyKS0+bUxheWVyLT5yZWN2U2VydmVyRGF0YShwYXJhbWV0ZXJOYW1lcywgcGFyYW1ldGVyVmFsdWVzKSl7CisgICAgICAgICAgaWYoZV9Qcm9jZXNzRGF0YU9rID09ICgqaXRlciktPm1MYXllci0+cmVjdlNlcnZlckRhdGEocGFyYW1ldGVyTmFtZXMsIHBhcmFtZXRlclZhbHVlcykpIHsKICAgICAgICAgICAgIHN0YXJ0TmV3RXZlbnRDaGFpbigoKml0ZXIpLT5tTGF5ZXItPmdldENvbW1GQigpKTsKICAgICAgICAgICB9CiAgICAgICAgICAgZm91bmQgPSB0cnVlOwogICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICB9Ci0gICAgfQotICAgIGVsc2V7CisgICAgfSBlbHNlIHsKICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgSGFuZGxlcl0gV3JvbmcgSFRUUCBHZXQgcmVxdWVzdFxuIik7CiAgICAgfQogCi0gICAgaWYoIWZvdW5kKXsKLSAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgSGFuZGxlcl0gUGF0aCAlcyBoYXMgbm8gRkIgcmVnaXN0ZXJlZFxuIiwgcGF0aC5nZXRWYWx1ZSgpKTsKLQotICAgICAgQ0lFQ19TVFJJTkcgdG9TZW5kOwotICAgICAgQ0lFQ19TVFJJTkcgcmVzdWx0ID0gIjQwNCBOb3QgRm91bmQiOwotICAgICAgQ0lFQ19TVFJJTkcgbUNvbnRlbnRUeXBlID0gInRleHQvaHRtbCI7Ci0gICAgICBDSUVDX1NUUklORyBtUmVxRGF0YSA9ICIiOwotICAgICAgaWYoIUNIdHRwUGFyc2VyOjpjcmVhdGVSZXNwb25zZSh0b1NlbmQsIHJlc3VsdCwgbUNvbnRlbnRUeXBlLCBtUmVxRGF0YSkpewotICAgICAgICBERVZMT0dfREVCVUcoIltIVFRQIEhhbmRsZXJdIEVycm9yIHNlbmRpbmcgcmVzcG9uc2UgYmFjayBmb3IgNDA0IGVycm9yXG4iKTsKLSAgICAgIH0KLSAgICAgIGVsc2V7Ci0gICAgICAgIGlmKHRvU2VuZC5sZW5ndGgoKSAhPSBDSVBDb21Tb2NrZXRIYW5kbGVyOjpzZW5kRGF0YU9uVENQKHBhU29ja2V0LCB0b1NlbmQuZ2V0VmFsdWUoKSwgdG9TZW5kLmxlbmd0aCgpKSl7Ci0gICAgICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBIYW5kbGVyXTogRXJyb3Igc2VuZGluZyBiYWNrIHRoZSBhbnN3ZXIgJXMgXG4iLCB0b1NlbmQuZ2V0VmFsdWUoKSk7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KHBhU29ja2V0KTsKKyAgICBpZighZm91bmQpIHsKKyAgICAgIGhhbmRsZXJSZWNlaXZlZFdyb25nUGF0aChwYVNvY2tldCwgcGF0aCk7CiAgICAgfQogICB9CiAKICAgcmV0dXJuIGZvdW5kOwogfQogCi1ib29sIENIVFRQX0hhbmRsZXI6OnNlbmRDbGllbnREYXRhKGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXIqIHBhTGF5ZXIsIENJRUNfU1RSSU5HJiBwYVRvU2VuZCl7Cit2b2lkIENIVFRQX0hhbmRsZXI6OnJlbW92ZVNvY2tldEZyb21BY2NlcHRlZChjb25zdCBDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvciBwYVNvY2tldCkgeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUFjY2VwdGVkTXV0ZXgpOworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUEFjY2VwdGVkU29ja2V0cyAqPjo6SXRlcmF0b3IgaXRlciA9IG1BY2NlcHRlZFNvY2tldHMuYmVnaW4oKTsgaXRlciAhPSBtQWNjZXB0ZWRTb2NrZXRzLmVuZCgpOyArK2l0ZXIpIHsKKyAgICBpZigoKml0ZXIpLT5tU29ja2V0ID09IHBhU29ja2V0KSB7CisgICAgICBIVFRQQWNjZXB0ZWRTb2NrZXRzICp0b0RlbGV0ZSA9ICppdGVyOworICAgICAgbUFjY2VwdGVkU29ja2V0cy5lcmFzZSh0b0RlbGV0ZSk7CisgICAgICBkZWxldGUgdG9EZWxldGU7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KK30KKwordm9pZCBDSFRUUF9IYW5kbGVyOjpoYW5kbGVyUmVjZWl2ZWRXcm9uZ1BhdGgoY29uc3QgQ0lQQ29tU29ja2V0SGFuZGxlcjo6VFNvY2tldERlc2NyaXB0b3IgcGFTb2NrZXQsIENJRUNfU1RSSU5HJiBwYVBhdGgpIHsKKyAgREVWTE9HX0VSUk9SKCJbSFRUUCBIYW5kbGVyXSBQYXRoICVzIGhhcyBubyBGQiByZWdpc3RlcmVkXG4iLCBwYVBhdGguZ2V0VmFsdWUoKSk7CisKKyAgQ0lFQ19TVFJJTkcgdG9TZW5kOworICBDSUVDX1NUUklORyByZXN1bHQgPSAiSFRUUC8xLjEgNDA0IE5vdCBGb3VuZCI7CisgIENJRUNfU1RSSU5HIG1Db250ZW50VHlwZSA9ICJ0ZXh0L2h0bWwiOworICBDSUVDX1NUUklORyBtUmVxRGF0YSA9ICIiOworICBDSHR0cFBhcnNlcjo6Y3JlYXRlUmVzcG9uc2UodG9TZW5kLCByZXN1bHQsIG1Db250ZW50VHlwZSwgbVJlcURhdGEpOworICBpZih0b1NlbmQubGVuZ3RoKCkgIT0gQ0lQQ29tU29ja2V0SGFuZGxlcjo6c2VuZERhdGFPblRDUChwYVNvY2tldCwgdG9TZW5kLmdldFZhbHVlKCksIHRvU2VuZC5sZW5ndGgoKSkpIHsKKyAgICBERVZMT0dfRVJST1IoIltIVFRQIEhhbmRsZXJdOiBFcnJvciBzZW5kaW5nIGJhY2sgdGhlIGFuc3dlciAlcyBcbiIsIHRvU2VuZC5nZXRWYWx1ZSgpKTsKKyAgfQorICByZW1vdmVBbmRDbG9zZVNvY2tldChwYVNvY2tldCk7Cit9CisKK2Jvb2wgQ0hUVFBfSGFuZGxlcjo6c2VuZENsaWVudERhdGEoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllciwgQ0lFQ19TVFJJTkcmIHBhVG9TZW5kKSB7CiAgIENJUENvbVNvY2tldEhhbmRsZXI6OlRTb2NrZXREZXNjcmlwdG9yIG5ld1NvY2tldCA9IENJUENvbVNvY2tldEhhbmRsZXI6Om9wZW5UQ1BDbGllbnRDb25uZWN0aW9uKHBhTGF5ZXItPmdldEhvc3QoKS5nZXRWYWx1ZSgpLCBwYUxheWVyLT5nZXRQb3J0KCkpOwotICBpZihDSVBDb21Tb2NrZXRIYW5kbGVyOjpzY21JbnZhbGlkU29ja2V0RGVzY3JpcHRvciAhPSBuZXdTb2NrZXQpewotICAgIGlmKHBhVG9TZW5kLmxlbmd0aCgpID09IENJUENvbVNvY2tldEhhbmRsZXI6OnNlbmREYXRhT25UQ1AobmV3U29ja2V0LCBwYVRvU2VuZC5nZXRWYWx1ZSgpLCBwYVRvU2VuZC5sZW5ndGgoKSkpeworICBpZihDSVBDb21Tb2NrZXRIYW5kbGVyOjpzY21JbnZhbGlkU29ja2V0RGVzY3JpcHRvciAhPSBuZXdTb2NrZXQpIHsKKyAgICBpZihwYVRvU2VuZC5sZW5ndGgoKSA9PSBDSVBDb21Tb2NrZXRIYW5kbGVyOjpzZW5kRGF0YU9uVENQKG5ld1NvY2tldCwgcGFUb1NlbmQuZ2V0VmFsdWUoKSwgcGFUb1NlbmQubGVuZ3RoKCkpKSB7CiAgICAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUNsaWVudE11dGV4KTsKICAgICAgIEhUVFBDbGllbnRXYWl0aW5nKiB0b0FkZCA9IG5ldyBIVFRQQ2xpZW50V2FpdGluZygpOwogICAgICAgdG9BZGQtPm1MYXllciA9IHBhTGF5ZXI7CiAgICAgICB0b0FkZC0+bVNvY2tldCA9IG5ld1NvY2tldDsKLSAgICAgIHRvQWRkLT5tU3RhcnRUaW1lLnNldEN1cnJlbnRUaW1lKCk7CisgICAgICB0b0FkZC0+bVN0YXJ0VGltZSA9IE5PVygpOwogICAgICAgc3RhcnRUaW1lb3V0VGhyZWFkKCk7CiAgICAgICBtQ2xpZW50TGF5ZXJzLnB1c2hCYWNrKHRvQWRkKTsKICAgICAgIGdldEV4dEV2SGFuZGxlcjxDSVBDb21Tb2NrZXRIYW5kbGVyPigpLmFkZENvbUNhbGxiYWNrKG5ld1NvY2tldCwgdGhpcyk7CiAgICAgICByZXN1bWVTZWxmc3VzcGVuZCgpOwogICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfWVsc2V7CisgICAgfSBlbHNlIHsKICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgSGFuZGxlcl06IENvdWxkbid0IHNlbmQgZGF0YSB0byBjbGllbnQgJXM6JXVcbiIsIHBhTGF5ZXItPmdldEhvc3QoKS5nZXRWYWx1ZSgpLCBwYUxheWVyLT5nZXRQb3J0KCkpOwogICAgICAgcmVtb3ZlQW5kQ2xvc2VTb2NrZXQobmV3U29ja2V0KTsKICAgICB9Ci0gIH1lbHNleworICB9IGVsc2UgewogICAgIERFVkxPR19FUlJPUigiW0hUVFAgSGFuZGxlcl06IENvdWxkbid0IG9wZW4gY2xpZW50IGNvbm5lY3Rpb24gZm9yICVzOiV1XG4iLCBwYUxheWVyLT5nZXRIb3N0KCkuZ2V0VmFsdWUoKSwgcGFMYXllci0+Z2V0UG9ydCgpKTsKICAgfQogICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgQ0hUVFBfSGFuZGxlcjo6YWRkU2VydmVyUGF0aChmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyKiBwYUxheWVyLCBDSUVDX1NUUklORyYgcGFQYXRoKXsKLSAgb3BlbkhUVFBTZXJ2ZXIoKTsKK2Jvb2wgQ0hUVFBfSGFuZGxlcjo6YWRkU2VydmVyUGF0aChmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyKiBwYUxheWVyLCBDSUVDX1NUUklORyYgcGFQYXRoKSB7CiAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtU2VydmVyTXV0ZXgpOworCisgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQU2VydmVyV2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IG1TZXJ2ZXJMYXllcnMuYmVnaW4oKTsgaXRlciAhPSBtU2VydmVyTGF5ZXJzLmVuZCgpOyArK2l0ZXIpIHsKKyAgICBpZigoKml0ZXIpLT5tUGF0aCA9PSBwYVBhdGgpIHsKKyAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgSGFuZGxlcl06IFRoZSBsaXN0ZW5pbmcgIHBhdGggXCIlc1wiIHdhcyBhbHJlYWR5IGFkZGVkIHRvIHRoZSBodHRwIHNlcnZlci4gQ2Fubm90IGFkZCBpdCBhZ2FpblxuIiwgcGFQYXRoLmdldFZhbHVlKCkpOworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgfQorCisgIG9wZW5IVFRQU2VydmVyKCk7CiAgIEhUVFBTZXJ2ZXJXYWl0aW5nKiB0b0FkZCA9IG5ldyBIVFRQU2VydmVyV2FpdGluZygpOwogICB0b0FkZC0+bUxheWVyID0gcGFMYXllcjsKICAgdG9BZGQtPm1QYXRoID0gcGFQYXRoOwogICBtU2VydmVyTGF5ZXJzLnB1c2hCYWNrKHRvQWRkKTsKICAgREVWTE9HX0lORk8oIltIVFRQIEhhbmRsZXJdOiBUaGUgbGlzdGVuaW5nICBwYXRoIFwiJXNcIiB3YXMgYWRkZWQgdG8gdGhlIGh0dHAgc2VydmVyXG4iLCBwYVBhdGguZ2V0VmFsdWUoKSk7CisgIHJldHVybiB0cnVlOwogfQogCi12b2lkIENIVFRQX0hhbmRsZXI6OnJlbW92ZVNlcnZlclBhdGgoQ0lFQ19TVFJJTkcmIHBhUGF0aCl7Cit2b2lkIENIVFRQX0hhbmRsZXI6OnJlbW92ZVNlcnZlclBhdGgoQ0lFQ19TVFJJTkcmIHBhUGF0aCkgewogICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVNlcnZlck11dGV4KTsKIAotICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUFNlcnZlcldhaXRpbmcgKj46Okl0ZXJhdG9yIGl0ZXIgPSBtU2VydmVyTGF5ZXJzLmJlZ2luKCk7IGl0ZXIgIT0gbVNlcnZlckxheWVycy5lbmQoKTsgKytpdGVyKXsKLSAgICBpZigoKml0ZXIpLT5tUGF0aCA9PSBwYVBhdGgpewotICAgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENJUENvbVNvY2tldEhhbmRsZXI6OlRTb2NrZXREZXNjcmlwdG9yPjo6SXRlcmF0b3IgaXRlcl8gPSAoKml0ZXIpLT5tU29ja2V0cy5iZWdpbigpOyBpdGVyXyAhPSAoKml0ZXIpLT5tU29ja2V0cy5lbmQoKTsgKytpdGVyXyl7CisgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQU2VydmVyV2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IG1TZXJ2ZXJMYXllcnMuYmVnaW4oKTsgaXRlciAhPSBtU2VydmVyTGF5ZXJzLmVuZCgpOyArK2l0ZXIpIHsKKyAgICBpZigoKml0ZXIpLT5tUGF0aCA9PSBwYVBhdGgpIHsKKyAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvcj46Okl0ZXJhdG9yIGl0ZXJfID0gKCppdGVyKS0+bVNvY2tldHMuYmVnaW4oKTsgaXRlcl8gIT0gKCppdGVyKS0+bVNvY2tldHMuZW5kKCk7ICsraXRlcl8pIHsKICAgICAgICAgcmVtb3ZlQW5kQ2xvc2VTb2NrZXQoKml0ZXJfKTsKICAgICAgIH0KICAgICAgIEhUVFBTZXJ2ZXJXYWl0aW5nICogdG9EZWxldGUgPSAqaXRlcjsKICAgICAgIG1TZXJ2ZXJMYXllcnMuZXJhc2UodG9EZWxldGUpOwotICAgICAgZGVsZXRlICB0b0RlbGV0ZTsKKyAgICAgIGRlbGV0ZSB0b0RlbGV0ZTsKICAgICAgIGJyZWFrOwogICAgIH0KICAgfQogCi0gIGlmKG1TZXJ2ZXJMYXllcnMuaXNFbXB0eSgpKXsKKyAgaWYobVNlcnZlckxheWVycy5pc0VtcHR5KCkpIHsKICAgICBjbG9zZUhUVFBTZXJ2ZXIoKTsKICAgfQogfQogCi12b2lkIENIVFRQX0hhbmRsZXI6OnNlbmRTZXJ2ZXJBbnN3ZXIoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllciwgQ0lFQ19TVFJJTkcmIHBhQW5zd2VyKXsKK3ZvaWQgQ0hUVFBfSGFuZGxlcjo6c2VuZFNlcnZlckFuc3dlcihmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyKiBwYUxheWVyLCBDSUVDX1NUUklORyYgcGFBbnN3ZXIpIHsKICAgc2VuZFNlcnZlckFuc3dlckhlbHBlcihwYUxheWVyLCBwYUFuc3dlciwgZmFsc2UpOwogfQogCi12b2lkIENIVFRQX0hhbmRsZXI6OnNlbmRTZXJ2ZXJBbnN3ZXJGcm9tUmVjdihmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyKiBwYUxheWVyLCBDSUVDX1NUUklORyYgcGFBbnN3ZXIpewordm9pZCBDSFRUUF9IYW5kbGVyOjpzZW5kU2VydmVyQW5zd2VyRnJvbVJlY3YoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllciwgQ0lFQ19TVFJJTkcmIHBhQW5zd2VyKSB7CiAgIHNlbmRTZXJ2ZXJBbnN3ZXJIZWxwZXIocGFMYXllciwgcGFBbnN3ZXIsIHRydWUpOwogfQogCi12b2lkIENIVFRQX0hhbmRsZXI6OmZvcmNlQ2xvc2UoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllcil7Cit2b2lkIENIVFRQX0hhbmRsZXI6OmZvcmNlQ2xvc2UoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllcikgewogICBmb3JjZUNsb3NlSGVscGVyKHBhTGF5ZXIsIGZhbHNlKTsKIH0KIAotdm9pZCBDSFRUUF9IYW5kbGVyOjpmb3JjZUNsb3NlRnJvbVJlY3YoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllcil7Cit2b2lkIENIVFRQX0hhbmRsZXI6OmZvcmNlQ2xvc2VGcm9tUmVjdihmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyKiBwYUxheWVyKSB7CiAgIGZvcmNlQ2xvc2VIZWxwZXIocGFMYXllciwgdHJ1ZSk7CiB9CiAKQEAgLTI3NSwxMjcgKzI4NCwxMzIgQEAKICAgREVWTE9HX0lORk8oIltIVFRQIEhhbmRsZXJdOiBTdGFydGluZyBIVFRQIHRpbWVvdXQgdGhyZWFkXG4iKTsKIAogICBtVGhyZWFkU3RhcnRlZC5pbmMoKTsKLSAgd2hpbGUoaXNBbGl2ZSgpKXsKLSAgICBpZihtQ2xpZW50TGF5ZXJzLmlzRW1wdHkoKSAmJiBtQWNjZXB0ZWRTb2NrZXRzLmlzRW1wdHkoKSl7CisgIHdoaWxlKGlzQWxpdmUoKSkgeworICAgIGlmKG1DbGllbnRMYXllcnMuaXNFbXB0eSgpICYmIG1BY2NlcHRlZFNvY2tldHMuaXNFbXB0eSgpKSB7CiAgICAgICBzZWxmU3VzcGVuZCgpOwogICAgIH0KLSAgICBpZighaXNBbGl2ZSgpKXsKKyAgICBpZighaXNBbGl2ZSgpKSB7CiAgICAgICBicmVhazsKICAgICB9CiAKLSAgICB7Ci0gICAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUNsaWVudE11dGV4KTsKLSAgICAgIGlmKCFtQ2xpZW50TGF5ZXJzLmlzRW1wdHkoKSl7Ci0gICAgICAgIENTaW5nbHlMaW5rZWRMaXN0PEhUVFBDbGllbnRXYWl0aW5nICo+IGNsaWVudHNUb0RlbGV0ZTsKLSAgICAgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBDbGllbnRXYWl0aW5nICo+OjpJdGVyYXRvciBpdGVyID0gbUNsaWVudExheWVycy5iZWdpbigpOyBpdGVyICE9IG1DbGllbnRMYXllcnMuZW5kKCk7ICsraXRlcil7Ci0gICAgICAgICAgLy8gd2FpdCB1bnRpbCByZXN1bHQgaXMgcmVhZHkKLSAgICAgICAgICBDSUVDX0RBVEVfQU5EX1RJTUUgY3VycmVudFRpbWU7Ci0gICAgICAgICAgY3VycmVudFRpbWUuc2V0Q3VycmVudFRpbWUoKTsKLSAgICAgICAgICBpZihjdXJyZW50VGltZS5nZXRNaWxsaVNlY29uZHMoKSAtICgqaXRlciktPm1TdGFydFRpbWUuZ2V0TWlsbGlTZWNvbmRzKCkgPiBzY21TZW5kVGltZW91dCAqIDEwMDApewotICAgICAgICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBIYW5kbGVyXTogVGltZW91dCBhdCBjbGllbnQgJXM6JXUgXG4iLCAoKml0ZXIpLT5tTGF5ZXItPmdldEhvc3QoKS5nZXRWYWx1ZSgpLCAoKml0ZXIpLT5tTGF5ZXItPmdldFBvcnQoKSk7Ci0gICAgICAgICAgICByZW1vdmVBbmRDbG9zZVNvY2tldCgoKml0ZXIpLT5tU29ja2V0KTsKLSAgICAgICAgICAgIGNsaWVudHNUb0RlbGV0ZS5wdXNoQmFjaygqaXRlcik7Ci0gICAgICAgICAgICAoKml0ZXIpLT5tTGF5ZXItPnJlY3ZEYXRhKDAsIDApOyAvL2luZGljYXRlcyB0aW1lb3V0Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQQ2xpZW50V2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IGNsaWVudHNUb0RlbGV0ZS5iZWdpbigpOyBpdGVyICE9IGNsaWVudHNUb0RlbGV0ZS5lbmQoKTsgKytpdGVyKXsKLSAgICAgICAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUENsaWVudFdhaXRpbmcgKj46Okl0ZXJhdG9yIGl0ZXJfID0gbUNsaWVudExheWVycy5iZWdpbigpOyBpdGVyXyAhPSBtQ2xpZW50TGF5ZXJzLmVuZCgpOyArK2l0ZXJfKXsKLSAgICAgICAgICAgIGlmKCppdGVyXyA9PSAqaXRlcil7Ci0gICAgICAgICAgICAgIG1DbGllbnRMYXllcnMuZXJhc2UoKml0ZXJfKTsKLSAgICAgICAgICAgICAgZGVsZXRlICgqaXRlcik7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgIH0KLQotICAgIHsKLSAgICAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtQWNjZXB0ZWRNdXRleCk7Ci0gICAgICBpZighbUFjY2VwdGVkU29ja2V0cy5pc0VtcHR5KCkpewotICAgICAgICBDU2luZ2x5TGlua2VkTGlzdDxIVFRQQWNjZXB0ZWRTb2NrZXRzICo+IGFjY2VwdGVkVG9EZWxldGU7Ci0gICAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQQWNjZXB0ZWRTb2NrZXRzICo+OjpJdGVyYXRvciBpdGVyID0gbUFjY2VwdGVkU29ja2V0cy5iZWdpbigpOyBpdGVyICE9IG1BY2NlcHRlZFNvY2tldHMuZW5kKCk7ICsraXRlcil7Ci0gICAgICAgICAgLy8gd2FpdCB1bnRpbCByZXN1bHQgaXMgcmVhZHkKLSAgICAgICAgICBDSUVDX0RBVEVfQU5EX1RJTUUgY3VycmVudFRpbWU7Ci0gICAgICAgICAgY3VycmVudFRpbWUuc2V0Q3VycmVudFRpbWUoKTsKLSAgICAgICAgICBpZihjdXJyZW50VGltZS5nZXRNaWxsaVNlY29uZHMoKSAtICgqaXRlciktPm1TdGFydFRpbWUuZ2V0TWlsbGlTZWNvbmRzKCkgPiBzY21BY2NlcHRlZFRpbWVvdXQgKiAxMDAwKXsKLSAgICAgICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgSGFuZGxlcl06IFRpbWVvdXQgYXQgYWNjZXB0ZWQgc29ja2V0XG4iKTsKLSAgICAgICAgICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KCgqaXRlciktPm1Tb2NrZXQpOwotICAgICAgICAgICAgYWNjZXB0ZWRUb0RlbGV0ZS5wdXNoQmFjaygqaXRlcik7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBBY2NlcHRlZFNvY2tldHMgKj46Okl0ZXJhdG9yIGl0ZXIgPSBhY2NlcHRlZFRvRGVsZXRlLmJlZ2luKCk7IGl0ZXIgIT0gYWNjZXB0ZWRUb0RlbGV0ZS5lbmQoKTsgKytpdGVyKXsKLSAgICAgICAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUEFjY2VwdGVkU29ja2V0cyAqPjo6SXRlcmF0b3IgaXRlcl8gPSBtQWNjZXB0ZWRTb2NrZXRzLmJlZ2luKCk7IGl0ZXJfICE9IG1BY2NlcHRlZFNvY2tldHMuZW5kKCk7ICsraXRlcl8pewotICAgICAgICAgICAgaWYoKml0ZXJfID09ICppdGVyKXsKLSAgICAgICAgICAgICAgbUFjY2VwdGVkU29ja2V0cy5lcmFzZSgqaXRlcl8pOwotICAgICAgICAgICAgICBkZWxldGUgKCppdGVyKTsKLSAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotCisgICAgY2hlY2tDbGllbnRMYXllcnMoKTsKKyAgICBjaGVja0FjY2VwdGVkU29ja2V0cygpOwogICAgIHNsZWVwVGhyZWFkKDEwMCk7CiAKICAgfQogfQogCi12b2lkIENIVFRQX0hhbmRsZXI6OnN0YXJ0VGltZW91dFRocmVhZCgpewotICBpZighaXNBbGl2ZSgpKXsKK3ZvaWQgQ0hUVFBfSGFuZGxlcjo6Y2hlY2tDbGllbnRMYXllcnMoKSB7CisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtQ2xpZW50TXV0ZXgpOworICBpZighbUNsaWVudExheWVycy5pc0VtcHR5KCkpIHsKKyAgICBDU2luZ2x5TGlua2VkTGlzdDxIVFRQQ2xpZW50V2FpdGluZyAqPiBjbGllbnRzVG9EZWxldGU7CisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBDbGllbnRXYWl0aW5nICo+OjpJdGVyYXRvciBpdGVyID0gbUNsaWVudExheWVycy5iZWdpbigpOyBpdGVyICE9IG1DbGllbnRMYXllcnMuZW5kKCk7ICsraXRlcikgeworICAgICAgLy8gd2FpdCB1bnRpbCByZXN1bHQgaXMgcmVhZHkKKyAgICAgIENJRUNfREFURV9BTkRfVElNRSBjdXJyZW50VGltZShOT1coKSk7CisgICAgICBpZihjdXJyZW50VGltZS5nZXRNaWxsaVNlY29uZHMoKSAtICgqaXRlciktPm1TdGFydFRpbWUuZ2V0TWlsbGlTZWNvbmRzKCkgPiBzY21TZW5kVGltZW91dCAqIDEwMDApIHsKKyAgICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBIYW5kbGVyXTogVGltZW91dCBhdCBjbGllbnQgJXM6JXUgXG4iLCAoKml0ZXIpLT5tTGF5ZXItPmdldEhvc3QoKS5nZXRWYWx1ZSgpLCAoKml0ZXIpLT5tTGF5ZXItPmdldFBvcnQoKSk7CisgICAgICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KCgqaXRlciktPm1Tb2NrZXQpOworICAgICAgICBjbGllbnRzVG9EZWxldGUucHVzaEJhY2soKml0ZXIpOworICAgICAgICAoKml0ZXIpLT5tTGF5ZXItPnJlY3ZEYXRhKDAsIDApOyAvL2luZGljYXRlcyB0aW1lb3V0CisgICAgICB9CisgICAgfQorICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQQ2xpZW50V2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IGNsaWVudHNUb0RlbGV0ZS5iZWdpbigpOyBpdGVyICE9IGNsaWVudHNUb0RlbGV0ZS5lbmQoKTsgKytpdGVyKSB7CisgICAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUENsaWVudFdhaXRpbmcgKj46Okl0ZXJhdG9yIGl0ZXJfID0gbUNsaWVudExheWVycy5iZWdpbigpOyBpdGVyXyAhPSBtQ2xpZW50TGF5ZXJzLmVuZCgpOyArK2l0ZXJfKSB7CisgICAgICAgIGlmKCppdGVyXyA9PSAqaXRlcikgeworICAgICAgICAgIG1DbGllbnRMYXllcnMuZXJhc2UoKml0ZXJfKTsKKyAgICAgICAgICBkZWxldGUgKCppdGVyKTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0KKyAgfQorfQorCit2b2lkIENIVFRQX0hhbmRsZXI6OmNoZWNrQWNjZXB0ZWRTb2NrZXRzKCkgeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUFjY2VwdGVkTXV0ZXgpOworICBpZighbUFjY2VwdGVkU29ja2V0cy5pc0VtcHR5KCkpIHsKKyAgICBDU2luZ2x5TGlua2VkTGlzdDxIVFRQQWNjZXB0ZWRTb2NrZXRzICo+IGFjY2VwdGVkVG9EZWxldGU7CisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBBY2NlcHRlZFNvY2tldHMgKj46Okl0ZXJhdG9yIGl0ZXIgPSBtQWNjZXB0ZWRTb2NrZXRzLmJlZ2luKCk7IGl0ZXIgIT0gbUFjY2VwdGVkU29ja2V0cy5lbmQoKTsgKytpdGVyKSB7CisgICAgICAvLyB3YWl0IHVudGlsIHJlc3VsdCBpcyByZWFkeQorICAgICAgQ0lFQ19EQVRFX0FORF9USU1FIGN1cnJlbnRUaW1lKE5PVygpKTsKKyAgICAgIGlmKGN1cnJlbnRUaW1lLmdldE1pbGxpU2Vjb25kcygpIC0gKCppdGVyKS0+bVN0YXJ0VGltZS5nZXRNaWxsaVNlY29uZHMoKSA+IHNjbUFjY2VwdGVkVGltZW91dCAqIDEwMDApIHsKKyAgICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBIYW5kbGVyXTogVGltZW91dCBhdCBhY2NlcHRlZCBzb2NrZXRcbiIpOworICAgICAgICByZW1vdmVBbmRDbG9zZVNvY2tldCgoKml0ZXIpLT5tU29ja2V0KTsKKyAgICAgICAgYWNjZXB0ZWRUb0RlbGV0ZS5wdXNoQmFjaygqaXRlcik7CisgICAgICB9CisgICAgfQorCisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBBY2NlcHRlZFNvY2tldHMgKj46Okl0ZXJhdG9yIGl0ZXIgPSBhY2NlcHRlZFRvRGVsZXRlLmJlZ2luKCk7IGl0ZXIgIT0gYWNjZXB0ZWRUb0RlbGV0ZS5lbmQoKTsgKytpdGVyKSB7CisgICAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUEFjY2VwdGVkU29ja2V0cyAqPjo6SXRlcmF0b3IgaXRlcl8gPSBtQWNjZXB0ZWRTb2NrZXRzLmJlZ2luKCk7IGl0ZXJfICE9IG1BY2NlcHRlZFNvY2tldHMuZW5kKCk7ICsraXRlcl8pIHsKKyAgICAgICAgaWYoKml0ZXJfID09ICppdGVyKSB7CisgICAgICAgICAgbUFjY2VwdGVkU29ja2V0cy5lcmFzZSgqaXRlcl8pOworICAgICAgICAgIGRlbGV0ZSAoKml0ZXIpOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICB9CisgICAgfQorICB9Cit9CisKK3ZvaWQgQ0hUVFBfSGFuZGxlcjo6c3RhcnRUaW1lb3V0VGhyZWFkKCkgeworICBpZighaXNBbGl2ZSgpKSB7CiAgICAgc3RhcnQoKTsKICAgICBtVGhyZWFkU3RhcnRlZC53YWl0SW5kZWZpbml0ZWx5KCk7CiAgICAgbVRocmVhZFN0YXJ0ZWQuaW5jKCk7CiAgIH0KIH0KIAotdm9pZCBDSFRUUF9IYW5kbGVyOjpvcGVuSFRUUFNlcnZlcigpewotICBpZihDSVBDb21Tb2NrZXRIYW5kbGVyOjpzY21JbnZhbGlkU29ja2V0RGVzY3JpcHRvciA9PSBzbVNlcnZlckxpc3RlbmluZ1NvY2tldCl7Cit2b2lkIENIVFRQX0hhbmRsZXI6OnN0b3BUaW1lb3V0VGhyZWFkKCkgeworICBzZXRBbGl2ZShmYWxzZSk7CisgIHJlc3VtZVNlbGZzdXNwZW5kKCk7CisgIGVuZCgpOworfQorCit2b2lkIENIVFRQX0hhbmRsZXI6Om9wZW5IVFRQU2VydmVyKCkgeworICBpZihDSVBDb21Tb2NrZXRIYW5kbGVyOjpzY21JbnZhbGlkU29ja2V0RGVzY3JpcHRvciA9PSBzbVNlcnZlckxpc3RlbmluZ1NvY2tldCkgewogICAgIGNoYXIgYWRkcmVzc1tdID0gIjEyNy4wLjAuMSI7CiAgICAgc21TZXJ2ZXJMaXN0ZW5pbmdTb2NrZXQgPSBDSVBDb21Tb2NrZXRIYW5kbGVyOjpvcGVuVENQU2VydmVyQ29ubmVjdGlvbihhZGRyZXNzLCBGT1JURV9DT01fSFRUUF9MSVNURU5JTkdfUE9SVCk7Ci0gICAgaWYoQ0lQQ29tU29ja2V0SGFuZGxlcjo6c2NtSW52YWxpZFNvY2tldERlc2NyaXB0b3IgIT0gc21TZXJ2ZXJMaXN0ZW5pbmdTb2NrZXQpeworICAgIGlmKENJUENvbVNvY2tldEhhbmRsZXI6OnNjbUludmFsaWRTb2NrZXREZXNjcmlwdG9yICE9IHNtU2VydmVyTGlzdGVuaW5nU29ja2V0KSB7CiAgICAgICBnZXRFeHRFdkhhbmRsZXI8Q0lQQ29tU29ja2V0SGFuZGxlcj4oKS5hZGRDb21DYWxsYmFjayhzbVNlcnZlckxpc3RlbmluZ1NvY2tldCwgdGhpcyk7CiAgICAgICBERVZMT0dfSU5GTygiW0hUVFAgSGFuZGxlcl0gSFRUUCBzZXJ2ZXIgbGlzdGVuaW5nIG9uIHBvcnQgJWRcbiIsIEZPUlRFX0NPTV9IVFRQX0xJU1RFTklOR19QT1JUKTsKLSAgICB9Ci0gICAgZWxzZXsKKyAgICB9IGVsc2UgewogICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBIYW5kbGVyXSBDb3VsZG4ndCBzdGFydCBIVFRQIHNlcnZlciBvbiBwb3J0ICVkXG4iLCBGT1JURV9DT01fSFRUUF9MSVNURU5JTkdfUE9SVCk7CiAgICAgfQogICB9CiB9CiAKLXZvaWQgQ0hUVFBfSGFuZGxlcjo6Y2xvc2VIVFRQU2VydmVyKCl7Ci0gIGlmKENJUENvbVNvY2tldEhhbmRsZXI6OnNjbUludmFsaWRTb2NrZXREZXNjcmlwdG9yICE9IHNtU2VydmVyTGlzdGVuaW5nU29ja2V0KXsKK3ZvaWQgQ0hUVFBfSGFuZGxlcjo6Y2xvc2VIVFRQU2VydmVyKCkgeworICBpZihDSVBDb21Tb2NrZXRIYW5kbGVyOjpzY21JbnZhbGlkU29ja2V0RGVzY3JpcHRvciAhPSBzbVNlcnZlckxpc3RlbmluZ1NvY2tldCkgewogICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KHNtU2VydmVyTGlzdGVuaW5nU29ja2V0KTsKICAgICBzbVNlcnZlckxpc3RlbmluZ1NvY2tldCA9IENJUENvbVNvY2tldEhhbmRsZXI6OnNjbUludmFsaWRTb2NrZXREZXNjcmlwdG9yOwogICB9CiB9CiAKLXZvaWQgQ0hUVFBfSGFuZGxlcjo6cmVtb3ZlQW5kQ2xvc2VTb2NrZXQoY29uc3QgQ0lQQ29tU29ja2V0SGFuZGxlcjo6VFNvY2tldERlc2NyaXB0b3IgcGFTb2NrZXQpewordm9pZCBDSFRUUF9IYW5kbGVyOjpyZW1vdmVBbmRDbG9zZVNvY2tldChjb25zdCBDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvciBwYVNvY2tldCkgewogICAvL25vcm1hbGx5LCB3aGVuIHRoZSBkZXZpY2UgaXMgYmVpbmcga2lsbGVkIHRoZSBDSVBDb21Tb2NrZXRIYW5kbGVyIGlzIGFscmVhZHkgZGVhZCwgc28gY2FsbHMgdG8gaXQgbXVzdCBiZSBhdm9pZGVkLgotICBpZihtRGV2aWNlRXhlY3V0aW9uLmlzRXh0RXZIYW5kbGVyVmFsaWQoQ0lQQ29tU29ja2V0SGFuZGxlcjo6bUhhbmRsZXJJZGVudGlmaWVyKSl7CisgIGlmKG1EZXZpY2VFeGVjdXRpb24uaXNFeHRFdkhhbmRsZXJWYWxpZChDSVBDb21Tb2NrZXRIYW5kbGVyOjptSGFuZGxlcklkZW50aWZpZXIpKSB7CiAgICAgZ2V0RXh0RXZIYW5kbGVyPENJUENvbVNvY2tldEhhbmRsZXI+KCkucmVtb3ZlQ29tQ2FsbGJhY2socGFTb2NrZXQpOwogICAgIGdldEV4dEV2SGFuZGxlcjxDSVBDb21Tb2NrZXRIYW5kbGVyPigpLmNsb3NlU29ja2V0KHBhU29ja2V0KTsKICAgfQogfQogCi12b2lkIENIVFRQX0hhbmRsZXI6OnJlc3VtZVNlbGZzdXNwZW5kKCl7Cit2b2lkIENIVFRQX0hhbmRsZXI6OnJlc3VtZVNlbGZzdXNwZW5kKCkgewogICBtU3VzcGVuZFNlbWFwaG9yZS5pbmMoKTsKIH0KIAotdm9pZCBDSFRUUF9IYW5kbGVyOjpzZWxmU3VzcGVuZCgpewordm9pZCBDSFRUUF9IYW5kbGVyOjpzZWxmU3VzcGVuZCgpIHsKICAgbVN1c3BlbmRTZW1hcGhvcmUud2FpdEluZGVmaW5pdGVseSgpOwogfQogCi12b2lkIENIVFRQX0hhbmRsZXI6OnNlbmRTZXJ2ZXJBbnN3ZXJIZWxwZXIoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllciwgQ0lFQ19TVFJJTkcmIHBhQW5zd2VyLCBib29sIHBhRnJvbVJlY3YpewotICBpZighcGFGcm9tUmVjdil7Cit2b2lkIENIVFRQX0hhbmRsZXI6OnNlbmRTZXJ2ZXJBbnN3ZXJIZWxwZXIoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllciwgQ0lFQ19TVFJJTkcmIHBhQW5zd2VyLCBib29sIHBhRnJvbVJlY3YpIHsKKyAgaWYoIXBhRnJvbVJlY3YpIHsKICAgICBtU2VydmVyTXV0ZXgubG9jaygpOwogICB9CiAKLSAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBTZXJ2ZXJXYWl0aW5nICo+OjpJdGVyYXRvciBpdGVyID0gbVNlcnZlckxheWVycy5iZWdpbigpOyBpdGVyICE9IG1TZXJ2ZXJMYXllcnMuZW5kKCk7ICsraXRlcil7Ci0gICAgaWYoKCppdGVyKS0+bUxheWVyID09IHBhTGF5ZXIpeworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUFNlcnZlcldhaXRpbmcgKj46Okl0ZXJhdG9yIGl0ZXIgPSBtU2VydmVyTGF5ZXJzLmJlZ2luKCk7IGl0ZXIgIT0gbVNlcnZlckxheWVycy5lbmQoKTsgKytpdGVyKSB7CisgICAgaWYoKCppdGVyKS0+bUxheWVyID09IHBhTGF5ZXIpIHsKICAgICAgIENTaW5nbHlMaW5rZWRMaXN0PENJUENvbVNvY2tldEhhbmRsZXI6OlRTb2NrZXREZXNjcmlwdG9yPjo6SXRlcmF0b3IgaXRlclNvY2tldCA9ICgqaXRlciktPm1Tb2NrZXRzLmJlZ2luKCk7Ci0gICAgICBpZihwYUFuc3dlci5sZW5ndGgoKSAhPSBDSVBDb21Tb2NrZXRIYW5kbGVyOjpzZW5kRGF0YU9uVENQKCppdGVyU29ja2V0LCBwYUFuc3dlci5nZXRWYWx1ZSgpLCBwYUFuc3dlci5sZW5ndGgoKSkpeworICAgICAgaWYocGFBbnN3ZXIubGVuZ3RoKCkgIT0gQ0lQQ29tU29ja2V0SGFuZGxlcjo6c2VuZERhdGFPblRDUCgqaXRlclNvY2tldCwgcGFBbnN3ZXIuZ2V0VmFsdWUoKSwgcGFBbnN3ZXIubGVuZ3RoKCkpKSB7CiAgICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgSGFuZGxlcl06IEVycm9yIHNlbmRpbmcgYmFjayB0aGUgYW5zd2VyICVzIFxuIiwgcGFBbnN3ZXIuZ2V0VmFsdWUoKSk7CiAgICAgICB9CiAgICAgICByZW1vdmVBbmRDbG9zZVNvY2tldCgqaXRlclNvY2tldCk7CkBAIC00MDQsMjEgKzQxOCwyMSBAQAogICAgIH0KICAgfQogCi0gIGlmKCFwYUZyb21SZWN2KXsKKyAgaWYoIXBhRnJvbVJlY3YpIHsKICAgICBtU2VydmVyTXV0ZXgudW5sb2NrKCk7CiAgIH0KIH0KIAotdm9pZCBDSFRUUF9IYW5kbGVyOjpmb3JjZUNsb3NlSGVscGVyKGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXIqIHBhTGF5ZXIsIGJvb2wgcGFGcm9tUmVjdil7Ci0gIGlmKCFwYUZyb21SZWN2KXsKK3ZvaWQgQ0hUVFBfSGFuZGxlcjo6Zm9yY2VDbG9zZUhlbHBlcihmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyKiBwYUxheWVyLCBib29sIHBhRnJvbVJlY3YpIHsKKyAgaWYoIXBhRnJvbVJlY3YpIHsKICAgICBtU2VydmVyTXV0ZXgubG9jaygpOwogICB9CiAKICAgYm9vbCBmb3VuZCA9IGZhbHNlOwogCi0gIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQU2VydmVyV2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IG1TZXJ2ZXJMYXllcnMuYmVnaW4oKTsgaXRlciAhPSBtU2VydmVyTGF5ZXJzLmVuZCgpOyArK2l0ZXIpewotICAgIGlmKCgqaXRlciktPm1MYXllciA9PSBwYUxheWVyKXsKLSAgICAgIGlmKCEoKml0ZXIpLT5tU29ja2V0cy5pc0VtcHR5KCkpeworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8SFRUUFNlcnZlcldhaXRpbmcgKj46Okl0ZXJhdG9yIGl0ZXIgPSBtU2VydmVyTGF5ZXJzLmJlZ2luKCk7IGl0ZXIgIT0gbVNlcnZlckxheWVycy5lbmQoKTsgKytpdGVyKSB7CisgICAgaWYoKCppdGVyKS0+bUxheWVyID09IHBhTGF5ZXIpIHsKKyAgICAgIGlmKCEoKml0ZXIpLT5tU29ja2V0cy5pc0VtcHR5KCkpIHsKICAgICAgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0lQQ29tU29ja2V0SGFuZGxlcjo6VFNvY2tldERlc2NyaXB0b3I+OjpJdGVyYXRvciBpdFNvY2tldCA9ICgqaXRlciktPm1Tb2NrZXRzLmJlZ2luKCk7CiAgICAgICAgIHJlbW92ZUFuZENsb3NlU29ja2V0KCppdFNvY2tldCk7CiAgICAgICAgICgqaXRlciktPm1Tb2NrZXRzLnBvcEZyb250KCk7CkBAIC00MjgsMjAgKzQ0MiwyMCBAQAogICAgIH0KICAgfQogCi0gIGlmKCFwYUZyb21SZWN2KXsKKyAgaWYoIXBhRnJvbVJlY3YpIHsKICAgICBtU2VydmVyTXV0ZXgudW5sb2NrKCk7CiAgICAgbUNsaWVudE11dGV4LmxvY2soKTsKICAgfQogCi0gIGlmKCFmb3VuZCAmJiAhbUNsaWVudExheWVycy5pc0VtcHR5KCkpewotICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxIVFRQQ2xpZW50V2FpdGluZyAqPjo6SXRlcmF0b3IgaXRlciA9IG1DbGllbnRMYXllcnMuYmVnaW4oKTsgaXRlciAhPSBtQ2xpZW50TGF5ZXJzLmVuZCgpOyArK2l0ZXIpewotICAgICAgaWYoKCppdGVyKS0+bUxheWVyID09IHBhTGF5ZXIpeworICBpZighZm91bmQgJiYgIW1DbGllbnRMYXllcnMuaXNFbXB0eSgpKSB7CisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PEhUVFBDbGllbnRXYWl0aW5nICo+OjpJdGVyYXRvciBpdGVyID0gbUNsaWVudExheWVycy5iZWdpbigpOyBpdGVyICE9IG1DbGllbnRMYXllcnMuZW5kKCk7ICsraXRlcikgeworICAgICAgaWYoKCppdGVyKS0+bUxheWVyID09IHBhTGF5ZXIpIHsKICAgICAgICAgcmVtb3ZlQW5kQ2xvc2VTb2NrZXQoKCppdGVyKS0+bVNvY2tldCk7CiAgICAgICB9CiAgICAgfQogICB9CiAKLSAgaWYoIXBhRnJvbVJlY3YpeworICBpZighcGFGcm9tUmVjdikgewogICAgIG1DbGllbnRNdXRleC51bmxvY2soKTsKLSAgIH0KKyAgfQogfQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSFRUUC9odHRwX2hhbmRsZXIuaCBiL3NyYy9tb2R1bGVzL0hUVFAvaHR0cF9oYW5kbGVyLmgKaW5kZXggNjk5NzEyOC4uYjFmOGQ5YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSFRUUC9odHRwX2hhbmRsZXIuaAorKysgYi9zcmMvbW9kdWxlcy9IVFRQL2h0dHBfaGFuZGxlci5oCkBAIC0xLDE1ICsxLDE1IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLQogI2lmbmRlZiBTUkNfTU9EVUxFU19IVFRQX09QQ1VBSEFORExFUl9IXwogI2RlZmluZSBTUkNfTU9EVUxFU19IVFRQX09QQ1VBSEFORExFUl9IXwogCkBAIC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSAiZm9ydGVfZGF0ZV9hbmRfdGltZS5oIgogCiAvLyBjcHBjaGVjay1zdXBwcmVzcyBub0NvbnN0cnVjdG9yCi1jbGFzcyBDSFRUUF9IYW5kbGVyIDogcHVibGljIENFeHRlcm5hbEV2ZW50SGFuZGxlciwgcHVibGljIENUaHJlYWQsIHB1YmxpYyBmb3J0ZTo6Y29tX2luZnJhOjpDQ29tQ2FsbGJhY2t7CitjbGFzcyBDSFRUUF9IYW5kbGVyIDogcHVibGljIENFeHRlcm5hbEV2ZW50SGFuZGxlciwgcHVibGljIENUaHJlYWQsIHB1YmxpYyBmb3J0ZTo6Y29tX2luZnJhOjpDQ29tQ2FsbGJhY2sgewogICBERUNMQVJFX0hBTkRMRVIoQ0hUVFBfSGFuZGxlcikKIAogICBwdWJsaWM6CkBAIC00MSw3ICs0MSw3IEBACiAKICAgICBib29sIHNlbmRDbGllbnREYXRhKGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXIqIHBhTGF5ZXIsIENJRUNfU1RSSU5HJiBwYVRvU2VuZCk7CiAKLSAgICB2b2lkIGFkZFNlcnZlclBhdGgoZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogcGFMYXllciwgQ0lFQ19TVFJJTkcmIHBhUGF0aCk7CisgICAgYm9vbCBhZGRTZXJ2ZXJQYXRoKGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXIqIHBhTGF5ZXIsIENJRUNfU1RSSU5HJiBwYVBhdGgpOwogCiAgICAgdm9pZCByZW1vdmVTZXJ2ZXJQYXRoKENJRUNfU1RSSU5HJiBwYVBhdGgpOwogCkBAIC01Myw4ICs1Myw2IEBACiAKICAgICB2b2lkIGZvcmNlQ2xvc2VGcm9tUmVjdihmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyKiBwYUxheWVyKTsKIAotICBwcm90ZWN0ZWQ6Ci0KICAgcHJpdmF0ZToKIAogICAgIC8qKgpAQCAtNjIsOCArNjAsMTQgQEAKICAgICAgKi8KICAgICB2aXJ0dWFsIHZvaWQgcnVuKCk7CiAKKyAgICB2b2lkIGNoZWNrQ2xpZW50TGF5ZXJzKCk7CisKKyAgICB2b2lkIGNoZWNrQWNjZXB0ZWRTb2NrZXRzKCk7CisKICAgICB2b2lkIHN0YXJ0VGltZW91dFRocmVhZCgpOwogCisgICAgdm9pZCBzdG9wVGltZW91dFRocmVhZCgpOworCiAgICAgdm9pZCBvcGVuSFRUUFNlcnZlcigpOwogCiAgICAgdm9pZCBjbG9zZUhUVFBTZXJ2ZXIoKTsKQEAgLTgyLDIwICs4NiwyOSBAQAogCiAgICAgYm9vbCByZWN2U2VydmVycyhjb25zdCBDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvciBwYVNvY2tldCk7CiAKKyAgICB2b2lkIHJlbW92ZVNvY2tldEZyb21BY2NlcHRlZChjb25zdCBDSVBDb21Tb2NrZXRIYW5kbGVyOjpUU29ja2V0RGVzY3JpcHRvciBwYVNvY2tldCk7CiAKLSAgICBzdHJ1Y3QgSFRUUFNlcnZlcldhaXRpbmd7CisgICAgdm9pZCBoYW5kbGVyUmVjZWl2ZWRXcm9uZ1BhdGgoY29uc3QgQ0lQQ29tU29ja2V0SGFuZGxlcjo6VFNvY2tldERlc2NyaXB0b3IgcGFTb2NrZXQsIENJRUNfU1RSSU5HJiBwYVBhdGgpOworCisgICAgdm9pZCBjbGVhclNlcnZlckxheWVycygpOworCisgICAgdm9pZCBjbGVhckNsaWVudExheWVycygpOworCisgICAgdm9pZCBjbGVhckFjY2VwdGVkU29ja2V0cygpOworCisgICAgc3RydWN0IEhUVFBTZXJ2ZXJXYWl0aW5nIHsKICAgICAgICAgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllciogbUxheWVyOwogICAgICAgICBDSUVDX1NUUklORyBtUGF0aDsKICAgICAgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0lQQ29tU29ja2V0SGFuZGxlcjo6VFNvY2tldERlc2NyaXB0b3I+IG1Tb2NrZXRzOyAvL3RvIGhhbmRsZSBtYW55IGNvbm5lY3Rpb25zIHRvIHRoZSBzYW1lIHBhdGgKICAgICB9OwogCi0gICAgc3RydWN0IEhUVFBDbGllbnRXYWl0aW5neworICAgIHN0cnVjdCBIVFRQQ2xpZW50V2FpdGluZyB7CiAgICAgICAgIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXIqIG1MYXllcjsKICAgICAgICAgQ0lQQ29tU29ja2V0SGFuZGxlcjo6VFNvY2tldERlc2NyaXB0b3IgbVNvY2tldDsKICAgICAgICAgQ0lFQ19EQVRFX0FORF9USU1FIG1TdGFydFRpbWU7CiAgICAgfTsKIAotICAgIHN0cnVjdCBIVFRQQWNjZXB0ZWRTb2NrZXRzeworICAgIHN0cnVjdCBIVFRQQWNjZXB0ZWRTb2NrZXRzIHsKICAgICAgICAgQ0lQQ29tU29ja2V0SGFuZGxlcjo6VFNvY2tldERlc2NyaXB0b3IgbVNvY2tldDsKICAgICAgICAgQ0lFQ19EQVRFX0FORF9USU1FIG1TdGFydFRpbWU7CiAgICAgfTsKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0hUVFAvaHR0cGxheWVyLmNwcCBiL3NyYy9tb2R1bGVzL0hUVFAvaHR0cGxheWVyLmNwcAppbmRleCBjNGQyMGI4Li5iZGRiYWQ4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9IVFRQL2h0dHBsYXllci5jcHAKKysrIGIvc3JjL21vZHVsZXMvSFRUUC9odHRwbGF5ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOCBNYXJjIEpha29iaSwgZ2l0aHViLmNvbS9NcmNKa2IsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFyYyBKYWtvYmkgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGZvciBIVFRQIGNsaWVudHMKQEAgLTIxLDI0NyArMjIsMjcwIEBACiB1c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvbV9pbmZyYTsKIAogQ0h0dHBDb21MYXllcjo6Q0h0dHBDb21MYXllcihDQ29tTGF5ZXIqIHBhVXBwZXJMYXllciwgQ0Jhc2VDb21tRkIqIHBhQ29tRkIpIDoKLSAgICBDQ29tTGF5ZXIocGFVcHBlckxheWVyLCBwYUNvbUZCKSwgbUludGVycnVwdFJlc3AoZV9Ob3RoaW5nKSwgbVJlcXVlc3RUeXBlKGVfTk9UU0VUKSwgbVBvcnQoODApLCBtQnVmRmlsbFNpemUoMCksIGhhc091dHB1dFJlc3BvbnNlKGZhbHNlKSwgbUNvcnJlY3RseUluaXRpYWxpemVkKGZhbHNlKSwgbUhhc1BhcmFtZXRlcihmYWxzZSl7CisgICAgQ0NvbUxheWVyKHBhVXBwZXJMYXllciwgcGFDb21GQiksIG1JbnRlcnJ1cHRSZXNwKGVfTm90aGluZyksIG1SZXF1ZXN0VHlwZShlX05PVFNFVCksIG1Qb3J0KDgwKSwgbUJ1ZkZpbGxTaXplKDApLCBtQ29ycmVjdGx5SW5pdGlhbGl6ZWQoZmFsc2UpLAorICAgICAgICBtSGFzUGFyYW1ldGVySW5TRChmYWxzZSkgewogICBtZW1zZXQobVJlY3ZCdWZmZXIsIDAsIHNpemVvZihtUmVjdkJ1ZmZlcikpOwogfQogCi1DSHR0cENvbUxheWVyOjp+Q0h0dHBDb21MYXllcigpeworQ0h0dHBDb21MYXllcjo6fkNIdHRwQ29tTGF5ZXIoKSB7CiAgIGNsb3NlQ29ubmVjdGlvbigpOwogfQogCi1FQ29tUmVzcG9uc2UgQ0h0dHBDb21MYXllcjo6b3BlbkNvbm5lY3Rpb24oY2hhciAqcGFMYXllclBhcmFtZXRlcil7CitFQ29tUmVzcG9uc2UgQ0h0dHBDb21MYXllcjo6b3BlbkNvbm5lY3Rpb24oY2hhciAqcGFMYXllclBhcmFtZXRlcikgewogICBFQ29tUmVzcG9uc2UgZVJldFZhbCA9IGVfSW5pdEludmFsaWRJZDsKLSAgLy9DaGVjayB0aGF0IGFsbCBjb25uZWN0ZWQgZGF0YSB0eXBlcyBvZiBSRHMgYW5kIFNEcyBhcmUgc3RyaW5ncy4gU2VlOiBodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy9zaG93X2J1Zy5jZ2k/aWQ9NTM4MzkxCiAKLSAgc3dpdGNoIChtX3BvRmItPmdldENvbVNlcnZpY2VUeXBlKCkpewotICAgIGNhc2UgZV9TZXJ2ZXI6Ci0gICAgICBpZigxID09IG1fcG9GYi0+Z2V0TnVtU0QoKSl7Ci0gICAgICAgIG1QYXRoID0gcGFMYXllclBhcmFtZXRlcjsKLSAgICAgICAgZ2V0RXh0RXZIYW5kbGVyPENIVFRQX0hhbmRsZXI+KCkuYWRkU2VydmVyUGF0aCh0aGlzLCBtUGF0aCk7Ci0gICAgICAgIGVSZXRWYWwgPSBlX0luaXRPazsKLSAgICAgIH0KLSAgICAgIGVsc2V7Ci0gICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIFRoZSBGQiB3aXRoIFBBUkFNICVzIGNvdWRsbid0IGJlIGluaXRpYWxpemVkIHNpbmNlIG9ubHkgb25lIFNEIGlzIHBvc3NpYmxlIGluIEhUVFAgU2VydmVyIHdoaWNoIGlzIGZvciB0aGUgcmVzcG9uc2VcbiIsIHBhTGF5ZXJQYXJhbWV0ZXIpOwotICAgICAgfQotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBlX0NsaWVudDoKLSAgICAgIGVSZXRWYWwgPSBvcGVuQ2xpZW50Q29ubmVjdGlvbihwYUxheWVyUGFyYW1ldGVyKTsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgZV9QdWJsaXNoZXI6Ci0gICAgY2FzZSBlX1N1YnNjcmliZXI6Ci0gICAgICAvLyBIVFRQIGRvZXMgbm90IHVzZSBVRFAKLSAgICAgIGVSZXRWYWwgPSBlX1Byb2Nlc3NEYXRhSW52YWxpZE9iamVjdDsKLSAgICAgIGJyZWFrOworICBpZihjaGVja1NEc0FuZFJEc1R5cGUoKSkgeworICAgIHN3aXRjaChtX3BvRmItPmdldENvbVNlcnZpY2VUeXBlKCkpeworICAgICAgY2FzZSBlX1NlcnZlcjoKKyAgICAgICAgaWYoMSA9PSBtX3BvRmItPmdldE51bVNEKCkpIHsKKyAgICAgICAgICBtUGF0aCA9IHBhTGF5ZXJQYXJhbWV0ZXI7CisgICAgICAgICAgaWYoZ2V0RXh0RXZIYW5kbGVyPENIVFRQX0hhbmRsZXI+KCkuYWRkU2VydmVyUGF0aCh0aGlzLCBtUGF0aCkpIHsKKyAgICAgICAgICAgIGVSZXRWYWwgPSBlX0luaXRPazsKKyAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBMYXllcl0gVGhlIEZCIHdpdGggUEFSQU0gJXMgY291ZGxuJ3QgYmUgaW5pdGlhbGl6ZWQgc2luY2Ugb25seSBvbmUgU0QgaXMgcG9zc2libGUgaW4gSFRUUCBTZXJ2ZXIgd2hpY2ggaXMgZm9yIHRoZSByZXNwb25zZVxuIiwKKyAgICAgICAgICAgIHBhTGF5ZXJQYXJhbWV0ZXIpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBlX0NsaWVudDoKKyAgICAgICAgZVJldFZhbCA9IG9wZW5DbGllbnRDb25uZWN0aW9uKHBhTGF5ZXJQYXJhbWV0ZXIpOworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIGVfUHVibGlzaGVyIGFuZCBlX1N1YnNjcmliZXIKKyAgICAgICAgZVJldFZhbCA9IGVfUHJvY2Vzc0RhdGFJbnZhbGlkT2JqZWN0OworICAgICAgICBicmVhazsKKyAgICB9CiAgIH0KKwogICBtQ29ycmVjdGx5SW5pdGlhbGl6ZWQgPSAoZVJldFZhbCA9PSBlX0luaXRPayk7CiAgIHJldHVybiBlUmV0VmFsOwogfQogCi1FQ29tUmVzcG9uc2UgQ0h0dHBDb21MYXllcjo6b3BlbkNsaWVudENvbm5lY3Rpb24oY2hhciogcGFMYXllclBhcmFtZXRlcil7CitFQ29tUmVzcG9uc2UgQ0h0dHBDb21MYXllcjo6b3BlbkNsaWVudENvbm5lY3Rpb24oY2hhciogcGFMYXllclBhcmFtZXRlcikgewogICBFQ29tUmVzcG9uc2UgZVJldFZhbCA9IGVfSW5pdEludmFsaWRJZDsKICAgdW5zaWduZWQgaW50IG51bWJlck9mU0QgPSBtX3BvRmItPmdldE51bVNEKCk7Ci0gIHVuc2lnbmVkIGludCBudW1iZXJPZlJEID0gbV9wb0ZiLT5nZXROdW1SRCgpOwotICBib29sIGVycm9yID0gZmFsc2U7Ci0gIGJvb2wgZGVmYXVsdFJlc3BvbnNlID0gdHJ1ZTsKLSAgYm9vbCBkZWZhdWx0Q29udGVudCA9IHRydWU7Ci0gIGNoYXIqIGhlbHBlckNoYXIgPSBzdHJjaHIocGFMYXllclBhcmFtZXRlciwgJzsnKTsgLy9sb29rIGZvciB0eXBlIG9mIHJlcXVlc3QKLSAgaWYoMCAhPSBoZWxwZXJDaGFyKXsKLSAgICAqaGVscGVyQ2hhciA9ICdcMCc7Ci0gICAgaGVscGVyQ2hhcisrOwotICAgIGNoYXIqIHN0YXJ0T2ZDb250ZW50VHlwZSA9IHN0cmNocihoZWxwZXJDaGFyLCAnOycpOyAvL2xvb2sgZm9yIGNvbnRlbnQgdHlwZQotICAgIGlmKDAgIT0gc3RhcnRPZkNvbnRlbnRUeXBlKXsKLSAgICAgICpzdGFydE9mQ29udGVudFR5cGUrKyA9ICdcMCc7Ci0gICAgICBjaGFyKiBzdGFydE9mUmVzcG9uc2UgPSBzdHJjaHIoc3RhcnRPZkNvbnRlbnRUeXBlLCAnOycpOwotICAgICAgaWYoMCAhPSBzdGFydE9mUmVzcG9uc2UpewotICAgICAgICAqc3RhcnRPZlJlc3BvbnNlKysgPSAnXDAnOwotICAgICAgICBtRXhwZWN0ZWRSc3BDb2RlID0gc3RhcnRPZlJlc3BvbnNlOwotICAgICAgICBkZWZhdWx0UmVzcG9uc2UgPSBmYWxzZTsKLSAgICAgIH0KLSAgICAgIG1Db250ZW50VHlwZSA9IHN0YXJ0T2ZDb250ZW50VHlwZTsKLSAgICAgIGRlZmF1bHRDb250ZW50ID0gZmFsc2U7Ci0gICAgfQotICAgIGlmKDAgPT0gc3RyY21wKGhlbHBlckNoYXIsICJQT1NUIikpewotICAgICAgbVJlcXVlc3RUeXBlID0gZV9QT1NUOwotICAgIH1lbHNlIGlmKDAgPT0gc3RyY21wKGhlbHBlckNoYXIsICJQVVQiKSl7Ci0gICAgICBtUmVxdWVzdFR5cGUgPSBlX1BVVDsKLSAgICB9ZWxzZSBpZigwID09IHN0cmNtcChoZWxwZXJDaGFyLCAiR0VUIikpewotICAgICAgbVJlcXVlc3RUeXBlID0gZV9HRVQ7Ci0gICAgfWVsc2V7Ci0gICAgICBlcnJvciA9IHRydWU7Ci0gICAgICBERVZMT0dfRVJST1IoIltIVFRQIExheWVyXSBHRVQsIFBVVCBvciBQT1NUIG11c3QgYmUgZGVmaW5lZCwgYnV0ICVzIHdhcyBkZWZpbmVkIGluc3RlYWRcbiIsIGhlbHBlckNoYXIpOwotICAgIH0KLSAgfWVsc2V7Ci0gICAgZXJyb3IgPSB0cnVlOwotICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIEdFVCwgUFVUIG9yIFBPU1QgbXVzdCBiZSBkZWZpbmVkLCBidXQgbm9uZSBvZiB0aGVtIHdhcyBkZWZpbmVkXG4iKTsKLSAgfQogCi0gIGlmKCFlcnJvcil7Ci0gICAgaWYoZGVmYXVsdFJlc3BvbnNlKXsKLSAgICAgIG1FeHBlY3RlZFJzcENvZGUgPSAiSFRUUC8xLjEgMjAwIE9LIjsKLSAgICB9Ci0gICAgaWYoZGVmYXVsdENvbnRlbnQpewotICAgICAgbUNvbnRlbnRUeXBlID0gInRleHQvaHRtbCI7Ci0gICAgfQorICBpZigyID09IG1fcG9GYi0+Z2V0TnVtUkQoKSkgeworICAgIENQYXJhbWV0ZXJQYXJzZXIgcGFyc2VyKHBhTGF5ZXJQYXJhbWV0ZXIsICc7JywgMyk7IC8vSVA6UE9SVDtQT1NUfFBVVHxHRVQ7W2NvbnRlbnQtdHlwZV0KIAotICAgIGhlbHBlckNoYXIgPSBzdHJjaHIocGFMYXllclBhcmFtZXRlciwgJz8nKTsgLy9sb29rIGZvciBwYXJhbWV0ZXJzIGluIHBhdGgKLSAgICBpZigwICE9IGhlbHBlckNoYXIgJiYgKGVfUFVUID09IG1SZXF1ZXN0VHlwZSB8fCBlX1BPU1QgPT0gbVJlcXVlc3RUeXBlKSl7Ci0gICAgICAqaGVscGVyQ2hhcisrID0gJ1wwJzsKLSAgICAgIG1SZXFEYXRhID0gaGVscGVyQ2hhcjsKLSAgICAgIG1IYXNQYXJhbWV0ZXIgPSB0cnVlOwotICAgICAgbUNvbnRlbnRUeXBlID0gImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI7Ci0gICAgfQorICAgIGlmKGhhbmRsZUNvbnRlbnRBbmRSZXF1ZXN0VHlwZShwYXJzZXIsIHBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSkgJiYgaGFuZGxlQWRkcmVzcyhwYXJzZXJbMF0sIG51bWJlck9mU0QpKSB7CiAKLSAgICBoZWxwZXJDaGFyID0gc3RyY2hyKHBhTGF5ZXJQYXJhbWV0ZXIsICcvJyk7IC8vbG9vayBmb3IgcGF0aAotICAgIGlmKDAgIT0gaGVscGVyQ2hhcil7Ci0gICAgICAqaGVscGVyQ2hhcisrID0gJ1wwJzsKLSAgICAgIG1QYXRoID0gaGVscGVyQ2hhcjsKLSAgICAgIGhlbHBlckNoYXIgPSBzdHJjaHIocGFMYXllclBhcmFtZXRlciwgJzonKTsgLy9sb29rIGZvciBwb3J0LCBpZiBub3QgZm91bmQsIGl0IHdhcyBhbHJlYWR5IHNldCB0byA4MCBpbiB0aGUgY29uc3RydWN0b3IKLSAgICAgIGlmKDAgIT0gaGVscGVyQ2hhcil7Ci0gICAgICAgICpoZWxwZXJDaGFyKysgPSAnXDAnOwotICAgICAgICBtUG9ydCA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oZm9ydGU6OmNvcmU6OnV0aWw6OnN0cnRvdWwoaGVscGVyQ2hhciwgMCwgMTApKTsKLSAgICAgIH1lbHNlewotICAgICAgICBERVZMT0dfSU5GTygiW0hUVFAgTGF5ZXJdIE5vIHBvcnQgd2FzIGZvdW5kIG9uIHRoZSBwYXJhbWV0ZXIsIHVzaW5nIGRlZmF1bHQgODBcbiIpOwotICAgICAgfQotICAgICAgbUhvc3QgPSBwYUxheWVyUGFyYW1ldGVyOwotCi0gICAgICBzd2l0Y2ggKG1SZXF1ZXN0VHlwZSl7CisgICAgICBzd2l0Y2gobVJlcXVlc3RUeXBlKXsKICAgICAgICAgY2FzZSBlX1BVVDoKLSAgICAgICAgY2FzZSBlX1BPU1Q6IHsKLSAgICAgICAgICBpZigiIiAhPSBtUmVxRGF0YSAmJiAwICE9IG51bWJlck9mU0QpewotICAgICAgICAgICAgREVWTE9HX1dBUk5JTkcoIltIVFRQIExheWVyXSBQYXJhbWV0ZXJzIGluIFBBUkFNUyBhcmUgdXNlZCBmb3IgUFVUL1BPU1QgcmVxdWVzdCBkYXRhIGluc3RlYWQgb2YgdGhlIFNEc1xuIik7Ci0gICAgICAgICAgfWVsc2UgaWYoIiIgPT0gbVJlcURhdGEgJiYgMSAhPSBudW1iZXJPZlNEKXsKLSAgICAgICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIFlvdSBhcmUgdXNpbmcgYSBQT1NUL1BVVCBGQiBidXQgbm8gZGF0YSBpcyBkZWZpbmVkIGFzIFNEIG5vciBhcyBwYXJhbWV0ZXJzIGluIFBBUkFNU1xuIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICBpZigxIDwgbnVtYmVyT2ZSRCl7Ci0gICAgICAgICAgICBERVZMT0dfRVJST1IoIltIVFRQIExheWVyXSBBIFBVVC9QT1NUIHJlcXVlc3Qgd2l0aCBtb3JlIHRoYW4gb25lIG91dHB1dFxuIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICB9ZWxzZXsKLSAgICAgICAgICAgIGlmKDEgPT0gbnVtYmVyT2ZSRCl7IC8vY2FuIGhhdmUgMCBSRCwgc28gcmVzcG9uc2UgaXMgaWdub3JlZAotICAgICAgICAgICAgICBoYXNPdXRwdXRSZXNwb25zZSA9IHRydWU7Ci0gICAgICAgICAgICB9CisgICAgICAgIGNhc2UgZV9QT1NUOgorICAgICAgICAgIGlmKGNoZWNrU0RJblBPU1RBbmRQVVQobnVtYmVyT2ZTRCkpIHsKICAgICAgICAgICAgIENIdHRwUGFyc2VyOjpjcmVhdGVQdXRQb3N0UmVxdWVzdChtUmVxdWVzdCwgbUhvc3QsIG1QYXRoLCBtUmVxRGF0YSwgbUNvbnRlbnRUeXBlLCBtUmVxdWVzdFR5cGUpOwogICAgICAgICAgICAgZVJldFZhbCA9IGVfSW5pdE9rOwogICAgICAgICAgICAgREVWTE9HX0lORk8oIltIVFRQIExheWVyXSBGQiB3aXRoIFBVVC9QT1NUIHJlcXVlc3QgaW5pdGlhbGl6ZWQuIEhvc3Q6ICVzLCBQYXRoOiAlc1xuIiwgbUhvc3QuZ2V0VmFsdWUoKSwgbVBhdGguZ2V0VmFsdWUoKSk7CiAgICAgICAgICAgfQogICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgZV9HRVQ6IHsKLSAgICAgICAgICBpZigxID09IG51bWJlck9mUkQpewotICAgICAgICAgICAgQ0h0dHBQYXJzZXI6OmNyZWF0ZUdldFJlcXVlc3QobVJlcXVlc3QsIG1Ib3N0LCBtUGF0aCk7Ci0gICAgICAgICAgICBlUmV0VmFsID0gZV9Jbml0T2s7Ci0gICAgICAgICAgICBoYXNPdXRwdXRSZXNwb25zZSA9IHRydWU7Ci0gICAgICAgICAgICBERVZMT0dfSU5GTygiW0hUVFAgTGF5ZXJdIEZCIHdpdGggR0VUIHJlcXVlc3QgaW5pdGlhbGl6ZWQuIEhvc3Q6ICVzLCBQYXRoOiAlc1xuIiwgbUhvc3QuZ2V0VmFsdWUoKSwgbVBhdGguZ2V0VmFsdWUoKSk7Ci0gICAgICAgICAgfWVsc2UgaWYoMCA9PSBudW1iZXJPZlJEKXsKLSAgICAgICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIEEgR0VUIHJlcXVlc3Qgd2l0aG91dCBhbmQgb3V0cHV0IGRvZXNuJ3QgbWFrZSBzZW5zZVxuIik7CisgICAgICAgIGNhc2UgZV9HRVQ6CisgICAgICAgICAgaWYoMCAhPSBudW1iZXJPZlNEKSB7CisgICAgICAgICAgICBERVZMT0dfV0FSTklORygiW0hUVFAgTGF5ZXJdIEZCIHdpdGggR0VUIHJlcXVlc3QgaGFzIFNEIHdoaWNoIGFyZSBpZ25vcmUuIElmIHlvdSB3YW50IHRvIGhhdmUgcGFyYW1ldGVycywgcHV0IHRoZW0gaW4gdGhlIHBhdGggaW4gdGhlIFBBUkFNU1xuIik7CiAgICAgICAgICAgfQotICAgICAgICAgIGVsc2V7Ci0gICAgICAgICAgICBERVZMT0dfRVJST1IoIltIVFRQIExheWVyXSBBIEdFVCByZXF1ZXN0IHdpdGggbW9yZSB0aGFuIG9uZSBvdXRwdXRcbiIpOwotICAgICAgICAgIH0KKyAgICAgICAgICBDSHR0cFBhcnNlcjo6Y3JlYXRlR2V0UmVxdWVzdChtUmVxdWVzdCwgbUhvc3QsIG1QYXRoKTsKKyAgICAgICAgICBlUmV0VmFsID0gZV9Jbml0T2s7CisgICAgICAgICAgREVWTE9HX0lORk8oIltIVFRQIExheWVyXSBGQiB3aXRoIEdFVCByZXF1ZXN0IGluaXRpYWxpemVkLiBIb3N0OiAlcywgUGF0aDogJXNcbiIsIG1Ib3N0LmdldFZhbHVlKCksIG1QYXRoLmdldFZhbHVlKCkpOwogICAgICAgICAgIGJyZWFrOwotICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgYnJlYWs7CiAgICAgICB9CiAgICAgfQotICAgIGVsc2V7Ci0gICAgICBERVZMT0dfRVJST1IoIltIVFRQIExheWVyXSBObyBwYXRoIHdhcyBmb3VuZCBvbiB0aGUgcGFyYW1ldGVyXG4iKTsKLSAgICB9Ci0gIH1lbHNlewotICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIFdyb25nIFBBUkFNIHZhbHVlXG4iKTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoCisgICAgICAiW0hUVFAgTGF5ZXJdIEEgY2xpZW50IHNob3VsZCBBTFdBWVMgaGF2ZSBleGFjdGx5IDIgUkQsIHRoZSBmaXJzdCBvbmUgZm9yIHRoZSByZXNwb25zZSBjb2RlLCBhbmQgdGhlIHNlY29uZCBmb3IgdGhlIHJlc3BvbnNlIGJvZHksIGV2ZW4gZm9yIFBVVCBhbmQgUE9TVFxuIik7CiAgIH0KIAogICBtX2VDb25uZWN0aW9uU3RhdGUgPSBlX0Rpc2Nvbm5lY3RlZDsKICAgcmV0dXJuIGVSZXRWYWw7CiB9CiAKLUVDb21SZXNwb25zZSBDSHR0cENvbUxheWVyOjpzZW5kRGF0YSh2b2lkICpwYURhdGEsIHVuc2lnbmVkIGludCl7Citib29sIENIdHRwQ29tTGF5ZXI6OmNoZWNrU0RJblBPU1RBbmRQVVQoc2l6ZV90IHBhTm9PZlNEKSB7CisgIGJvb2wgZXZldHl0aGluZ09LID0gdHJ1ZTsKKworICBpZigwID09IHBhTm9PZlNEKSB7CisgICAgaWYoIiIgPT0gbVJlcURhdGEpIHsKKyAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIFlvdSBhcmUgdXNpbmcgYSBQT1NUL1BVVCBGQiBidXQgbm8gZGF0YSBpcyBkZWZpbmVkIGFzIFNEIG5vciBhcyBwYXJhbWV0ZXJzIGluIFBBUkFNU1xuIik7CisgICAgICBldmV0eXRoaW5nT0sgPSBmYWxzZTsKKyAgICB9CisgIH0gZWxzZSBpZigxID09IHBhTm9PZlNEKSB7CisgICAgaWYoIiIgIT0gbVJlcURhdGEpIHsKKyAgICAgIERFVkxPR19XQVJOSU5HKCJbSFRUUCBMYXllcl0gUGFyYW1ldGVycyBpbiBQQVJBTVMgYXJlIGlnbm9yZWQgZm9yIFBVVC9QT1NUIHJlcXVlc3QgZGF0YSBhbmQgU0RzIGFyZSBzZW50IGluc3RlYWRcbiIpOworICAgIH0KKyAgICBtSGFzUGFyYW1ldGVySW5TRCA9IHRydWU7CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBMYXllcl0gWW91IGNhbiB1c2UgbWF4aW11bSAxIFNEXG4iKTsKKyAgICBldmV0eXRoaW5nT0sgPSBmYWxzZTsKKyAgfQorCisgIHJldHVybiBldmV0eXRoaW5nT0s7Cit9CisKK2Jvb2wgQ0h0dHBDb21MYXllcjo6Y2hlY2tTRHNBbmRSRHNUeXBlKCkgeworCisgIGZvcihzaXplX3QgaSA9IDI7IGkgPCBtX3BvRmItPmdldE51bVNEKCk7IGkrKykgeworICAgIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCB0eXBlVG9DaGVjayA9IG1fcG9GYi0+Z2V0REkoc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihpKSktPmdldERhdGFUeXBlSUQoKTsKKyAgICBpZihDSUVDX0FOWTo6ZV9BTlkgIT0gdHlwZVRvQ2hlY2sgJiYgQ0lFQ19BTlk6OmVfU1RSSU5HICE9IHR5cGVUb0NoZWNrICYmIENJRUNfQU5ZOjplX1dTVFJJTkcgIT0gdHlwZVRvQ2hlY2spIHsKKyAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIENsaWVudCBjYWxsZWQgJXMgaGFzIGFuIGludmFsaWQgU0RfJWRcbiIsIENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChtX3BvRmItPmdldEluc3RhbmNlTmFtZUlkKCkpLCBpKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgIH0KKworICBmb3Ioc2l6ZV90IGkgPSAyOyBpIDwgbV9wb0ZiLT5nZXROdW1SRCgpOyBpKyspIHsKKyAgICBDSUVDX0FOWTo6RURhdGFUeXBlSUQgdHlwZVRvQ2hlY2sgPSBtX3BvRmItPmdldERPKHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oaSkpLT5nZXREYXRhVHlwZUlEKCk7CisgICAgaWYoQ0lFQ19BTlk6OmVfQU5ZICE9IHR5cGVUb0NoZWNrICYmIENJRUNfQU5ZOjplX1NUUklORyAhPSB0eXBlVG9DaGVjayAmJiBDSUVDX0FOWTo6ZV9XU1RSSU5HICE9IHR5cGVUb0NoZWNrKSB7CisgICAgICBERVZMT0dfRVJST1IoIltIVFRQIExheWVyXSBDbGllbnQgY2FsbGVkICVzIGhhcyBhbiBpbnZhbGlkIFJEXyVkXG4iLCBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQobV9wb0ZiLT5nZXRJbnN0YW5jZU5hbWVJZCgpKSwgaSk7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiB0cnVlOworfQorCitib29sIENIdHRwQ29tTGF5ZXI6OnN0b3JlUmVxdWVzdFR5cGUoY29uc3QgY2hhciogcGFUeXBlKSB7CisgIGJvb2wgZXZlcnl0aGluZ09LID0gdHJ1ZTsKKyAgaWYoMCA9PSBzdHJjbXAocGFUeXBlLCAiUE9TVCIpKSB7CisgICAgbVJlcXVlc3RUeXBlID0gZV9QT1NUOworICB9IGVsc2UgaWYoMCA9PSBzdHJjbXAocGFUeXBlLCAiUFVUIikpIHsKKyAgICBtUmVxdWVzdFR5cGUgPSBlX1BVVDsKKyAgfSBlbHNlIGlmKDAgPT0gc3RyY21wKHBhVHlwZSwgIkdFVCIpKSB7CisgICAgbVJlcXVlc3RUeXBlID0gZV9HRVQ7CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBMYXllcl0gR0VULCBQVVQgb3IgUE9TVCBtdXN0IGJlIGRlZmluZWQsIGJ1dCAlcyB3YXMgZGVmaW5lZCBpbnN0ZWFkXG4iLCBwYVR5cGUpOworICAgIGV2ZXJ5dGhpbmdPSyA9IGZhbHNlOworICB9CisgIHJldHVybiBldmVyeXRoaW5nT0s7Cit9CisKK2Jvb2wgQ0h0dHBDb21MYXllcjo6aGFuZGxlQ29udGVudEFuZFJlcXVlc3RUeXBlKENQYXJhbWV0ZXJQYXJzZXIgJnBhUGFyc2VyLCBzaXplX3QgcGFOb09mUGFyYW1ldGVycykgeworICBib29sIGV2ZXJ5dGhpbmdPSyA9IHRydWU7CisgIGlmKDEgPCBwYU5vT2ZQYXJhbWV0ZXJzKSB7CisgICAgaWYoMyA9PSBwYU5vT2ZQYXJhbWV0ZXJzKSB7CisgICAgICBtQ29udGVudFR5cGUgPSBwYVBhcnNlclsyXTsKKyAgICB9IGVsc2UgeworICAgICAgbUNvbnRlbnRUeXBlID0gInRleHQvaHRtbCI7CisgICAgfQorICAgIGV2ZXJ5dGhpbmdPSyA9IHN0b3JlUmVxdWVzdFR5cGUocGFQYXJzZXJbMV0pOworICB9IGVsc2UgeworICAgIGV2ZXJ5dGhpbmdPSyA9IGZhbHNlOworICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIFdyb25nIHBhcmFtZXRlcnMuIEl0IHNob3VsZCBiZSBhcyBJUDpQT1JUO1BPU1R8UFVUfEdFVDtbY29udGVudC10eXBlXVxuIik7CisgIH0KKyAgcmV0dXJuIGV2ZXJ5dGhpbmdPSzsKK30KKworYm9vbCBDSHR0cENvbUxheWVyOjpoYW5kbGVBZGRyZXNzKGNvbnN0IGNoYXIqIHBhQWRkcmVzcywgc2l6ZV90IHBhTm9PZlNEcykgeworICBib29sIGV2ZXJ5dGhpbmdPSyA9IHRydWU7CisKKyAgLy9sb29rIGZvciBwYXJhbWV0ZXJzCisgIENQYXJhbWV0ZXJQYXJzZXIgcGFyc2VyKHBhQWRkcmVzcywgJz8nLCAyKTsgLy9JUDpQT1JUL1BBVEg/UEFSQU1FVEVSUworICBDSUVDX1NUUklORyBhZGRyZXNzVG9QYXJzZSA9IHBhQWRkcmVzczsKKyAgaWYoMiA9PSBwYXJzZXIucGFyc2VQYXJhbWV0ZXJzKCkgJiYgKGVfUFVUID09IG1SZXF1ZXN0VHlwZSB8fCBlX1BPU1QgPT0gbVJlcXVlc3RUeXBlKSkgeworICAgIGlmKDAgPT0gcGFOb09mU0RzKSB7IC8vaWYgU0RzIGFyZSBwcmVzZW50LCB0aGUgcGFyYW1ldGVycyBpbiBQQVJBTVMgYXJlIGlnbm9yZWQKKyAgICAgIG1SZXFEYXRhID0gcGFyc2VyWzFdOworICAgICAgbUNvbnRlbnRUeXBlID0gImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI7CisgICAgfQorICAgIGFkZHJlc3NUb1BhcnNlID0gcGFyc2VyWzBdOworICB9CisKKyAgY2hhciogZmlyc3RTbGFzaCA9IHN0cmNocihhZGRyZXNzVG9QYXJzZS5nZXRWYWx1ZSgpLCAnLycpOworCisgIGlmKGZpcnN0U2xhc2gpIHsKKyAgICBtUGF0aCA9IGZpcnN0U2xhc2g7CisgICAgKmZpcnN0U2xhc2ggPSAnXDAnOworICAgIENQYXJhbWV0ZXJQYXJzZXIgcG9ydFBhcnNlcihhZGRyZXNzVG9QYXJzZS5nZXRWYWx1ZSgpLCAnOicsIDIpOworICAgIGlmKDIgPT0gcG9ydFBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSkgeworICAgICAgbUhvc3QgPSBwb3J0UGFyc2VyWzBdOworICAgICAgbVBvcnQgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b3VsKHBvcnRQYXJzZXJbMV0sIDAsIDEwKSk7CisgICAgfSBlbHNlIHsKKyAgICAgIG1Ib3N0ID0gYWRkcmVzc1RvUGFyc2UuZ2V0VmFsdWUoKTsKKyAgICAgIERFVkxPR19JTkZPKCJbSFRUUCBMYXllcl0gTm8gcG9ydCB3YXMgZm91bmQgb24gdGhlIHBhcmFtZXRlciwgdXNpbmcgZGVmYXVsdCA4MFxuIik7CisgICAgfQorICB9IGVsc2UgeworICAgIGV2ZXJ5dGhpbmdPSyA9IGZhbHNlOworICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIE5vIHBhdGggd2FzIGZvdW5kIG9uIHRoZSBwYXJhbWV0ZXJcbiIpOworICB9CisgIHJldHVybiBldmVyeXRoaW5nT0s7Cit9CisKK0VDb21SZXNwb25zZSBDSHR0cENvbUxheWVyOjpzZW5kRGF0YSh2b2lkICpwYURhdGEsIHVuc2lnbmVkIGludCkgewogICBtSW50ZXJydXB0UmVzcCA9IGVfTm90aGluZzsKLSAgaWYobUNvcnJlY3RseUluaXRpYWxpemVkKXsKLSAgICBzd2l0Y2ggKG1fcG9GYi0+Z2V0Q29tU2VydmljZVR5cGUoKSl7CisgIGlmKG1Db3JyZWN0bHlJbml0aWFsaXplZCkgeworICAgIHN3aXRjaChtX3BvRmItPmdldENvbVNlcnZpY2VUeXBlKCkpewogICAgICAgY2FzZSBlX1NlcnZlcjoKICAgICAgICAgc2VuZERhdGFBc1NlcnZlcihwYURhdGEpOwogICAgICAgICBicmVhazsKICAgICAgIGNhc2UgZV9DbGllbnQ6CiAgICAgICAgIHNlbmREYXRhQXNDbGllbnQocGFEYXRhKTsKICAgICAgICAgYnJlYWs7Ci0gICAgICBjYXNlIGVfUHVibGlzaGVyOgotICAgICAgY2FzZSBlX1N1YnNjcmliZXI6Ci0gICAgICAgIC8vIEhUVFAgZG9lcyBub3QgdXNlIFVEUAorICAgICAgZGVmYXVsdDoKKyAgICAgICAgLy8gZV9QdWJsaXNoZXIgYW5kIGVfU3Vic2NyaWJlcgogICAgICAgICBicmVhazsKICAgICB9Ci0gIH1lbHNleworICB9IGVsc2UgewogICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdVGhlIEZCIGlzIG5vdCBpbml0aWFsaXplZFxuIik7CiAgIH0KIAogICByZXR1cm4gbUludGVycnVwdFJlc3A7CiB9CiAKLXZvaWQgQ0h0dHBDb21MYXllcjo6c2VuZERhdGFBc1NlcnZlcihjb25zdCB2b2lkICpwYURhdGEpewordm9pZCBDSHR0cENvbUxheWVyOjpzZW5kRGF0YUFzU2VydmVyKGNvbnN0IHZvaWQgKnBhRGF0YSkgewogICBib29sIGVycm9yID0gZmFsc2U7CiAgIFRDb25zdElFQ19BTllQdHIgYXBvU0RzID0gc3RhdGljX2Nhc3Q8VENvbnN0SUVDX0FOWVB0cj4ocGFEYXRhKTsKLSAgaWYoIXNlcmlhbGl6ZURhdGEoYXBvU0RzWzBdKSl7CisgIGlmKCFzZXJpYWxpemVEYXRhKGFwb1NEc1swXSkpIHsKICAgICBlcnJvciA9IHRydWU7CisgIH0gZWxzZSB7CisgICAgQ0h0dHBQYXJzZXI6OmNyZWF0ZVJlc3BvbnNlKG1SZXF1ZXN0LCAiSFRUUC8xLjEgMjAwIE9LIiwgbUNvbnRlbnRUeXBlLCBtUmVxRGF0YSk7CiAgIH0KLSAgZWxzZXsKLSAgICBpZighQ0h0dHBQYXJzZXI6OmNyZWF0ZVJlc3BvbnNlKG1SZXF1ZXN0LCAiMjAwIE9LIiwgbUNvbnRlbnRUeXBlLCBtUmVxRGF0YSkpewotICAgICAgREVWTE9HX0RFQlVHKCJbSFRUUCBMYXllcl0gV3JvbmcgUmVzcG9uc2UgcmVxdWVzdCB3aGVuIGNoYW5naW5nIHRoZSBkYXRhXG4iKTsKLSAgICAgIGVycm9yID0gdHJ1ZTsKLSAgICB9Ci0gIH0KLSAgaWYoZXJyb3IpeworICBpZihlcnJvcikgewogICAgIGdldEV4dEV2SGFuZGxlcjxDSFRUUF9IYW5kbGVyPigpLmZvcmNlQ2xvc2UodGhpcyk7CiAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhRGF0YVR5cGVFcnJvcjsKLSAgfQotICBlbHNleworICB9IGVsc2UgewogICAgIGdldEV4dEV2SGFuZGxlcjxDSFRUUF9IYW5kbGVyPigpLnNlbmRTZXJ2ZXJBbnN3ZXIodGhpcywgbVJlcXVlc3QpOwogICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YU9rOwogICB9CiB9CiAKLXZvaWQgQ0h0dHBDb21MYXllcjo6c2VuZERhdGFBc0NsaWVudChjb25zdCB2b2lkICpwYURhdGEpewordm9pZCBDSHR0cENvbUxheWVyOjpzZW5kRGF0YUFzQ2xpZW50KGNvbnN0IHZvaWQgKnBhRGF0YSkgewogICBib29sIGVycm9yID0gZmFsc2U7Ci0gIGlmKCFtSGFzUGFyYW1ldGVyICYmIChlX1BVVCA9PSBtUmVxdWVzdFR5cGUgfHwgZV9QT1NUID09IG1SZXF1ZXN0VHlwZSkpeworICBpZihtSGFzUGFyYW1ldGVySW5TRCkgewogICAgIFRDb25zdElFQ19BTllQdHIgYXBvU0RzID0gc3RhdGljX2Nhc3Q8VENvbnN0SUVDX0FOWVB0cj4ocGFEYXRhKTsKLSAgICBpZighc2VyaWFsaXplRGF0YShhcG9TRHNbMF0pKXsKKyAgICBpZighc2VyaWFsaXplRGF0YShhcG9TRHNbMF0pKSB7CiAgICAgICBlcnJvciA9IHRydWU7CiAgICAgICBERVZMT0dfRVJST1IoIltIVFRQIExheWVyXSBFcnJvciBpbiBkYXRhIHNlcmlhbGl6YXRpb25cbiIpOwotICAgIH1lbHNlewotICAgICAgaWYoIUNIdHRwUGFyc2VyOjpjaGFuZ2VQdXRQb3N0RGF0YShtUmVxdWVzdCwgbVJlcURhdGEpKXsKKyAgICB9IGVsc2UgeworICAgICAgaWYoIUNIdHRwUGFyc2VyOjpjaGFuZ2VQdXRQb3N0RGF0YShtUmVxdWVzdCwgbVJlcURhdGEpKSB7CiAgICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIFdyb25nIFBVVC9QT1NUIHJlcXVlc3Qgd2hlbiBjaGFuZ2luZyB0aGUgZGF0YVxuIik7CiAgICAgICAgIGVycm9yID0gdHJ1ZTsKICAgICAgIH0KICAgICB9CiAgIH0KIAotICBpZighZXJyb3IpewotICAgIGlmKGdldEV4dEV2SGFuZGxlcjxDSFRUUF9IYW5kbGVyPigpLnNlbmRDbGllbnREYXRhKHRoaXMsIG1SZXF1ZXN0KSl7CisgIGlmKCFlcnJvcikgeworICAgIGlmKGdldEV4dEV2SGFuZGxlcjxDSFRUUF9IYW5kbGVyPigpLnNlbmRDbGllbnREYXRhKHRoaXMsIG1SZXF1ZXN0KSkgewogICAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhT2s7Ci0gICAgfWVsc2V7CisgICAgfSBlbHNlIHsKICAgICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YVNlbmRGYWlsZWQ7CiAgICAgICBERVZMT0dfRVJST1IoIltIVFRQIExheWVyXSBTZW5kaW5nIHJlcXVlc3Qgb24gVENQIGZhaWxlZFxuIik7CiAgICAgfQotICB9ZWxzZXsKKyAgfSBlbHNlIHsKICAgICBtSW50ZXJydXB0UmVzcCA9IGVfUHJvY2Vzc0RhdGFEYXRhVHlwZUVycm9yOwogICB9CiB9CiAKLUVDb21SZXNwb25zZSBDSHR0cENvbUxheWVyOjpyZWN2RGF0YShjb25zdCB2b2lkICpwYURhdGEsIHVuc2lnbmVkIGludCBwYVNpemUpeworRUNvbVJlc3BvbnNlIENIdHRwQ29tTGF5ZXI6OnJlY3ZEYXRhKGNvbnN0IHZvaWQgKnBhRGF0YSwgdW5zaWduZWQgaW50IHBhU2l6ZSkgewogICBtSW50ZXJydXB0UmVzcCA9IGVfTm90aGluZzsKLSAgaWYobUNvcnJlY3RseUluaXRpYWxpemVkKXsKKyAgaWYobUNvcnJlY3RseUluaXRpYWxpemVkKSB7CiAgICAgbWVtY3B5KG1SZWN2QnVmZmVyLCBwYURhdGEsIChwYVNpemUgPiBjZ191bklQTGF5ZXJSZWN2QnVmZmVyU2l6ZSkgPyBjZ191bklQTGF5ZXJSZWN2QnVmZmVyU2l6ZSA6IHBhU2l6ZSk7Ci0gICAgc3dpdGNoIChtX3BvRmItPmdldENvbVNlcnZpY2VUeXBlKCkpeworICAgIHN3aXRjaChtX3BvRmItPmdldENvbVNlcnZpY2VUeXBlKCkpewogICAgICAgY2FzZSBlX1NlcnZlcjoKICAgICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBMYXllcl0gUmVjZWl2aW5nIHJhdyBkYXRhIGFzIGEgU2VydmVyPyBUaGF0J3Mgd3JvbmcsIHVzZSB0aGUgcmVjdlNlcnZlckRhdGEgZnVuY3Rpb25cbiIpOwogICAgICAgICBicmVhazsKICAgICAgIGNhc2UgZV9DbGllbnQ6Ci0gICAgICAgIGlmKDAgPT0gcGFEYXRhKXsgLy90aW1lb3V0IG9jY3VycmVkCisgICAgICAgIGlmKDAgPT0gcGFEYXRhKSB7IC8vdGltZW91dCBvY2N1cnJlZAogICAgICAgICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YVJlY3ZGYWlsZDsKLSAgICAgICAgfWVsc2V7Ci0gICAgICAgICAgaWYoZV9Qcm9jZXNzRGF0YU9rICE9IChtSW50ZXJydXB0UmVzcCA9IGhhbmRsZUhUVFBSZXNwb25zZShtUmVjdkJ1ZmZlcikpKXsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBpZihlX1Byb2Nlc3NEYXRhT2sgIT0gKG1JbnRlcnJ1cHRSZXNwID0gaGFuZGxlSFRUUFJlc3BvbnNlKG1SZWN2QnVmZmVyKSkpIHsKICAgICAgICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIEZCIHdpdGggaG9zdDogJXM6JXUgY291bGRuJ3QgaGFuZGxlIHRoZSBIVFRQIHJlc3BvbnNlXG4iLCBtSG9zdC5nZXRWYWx1ZSgpLCBtUG9ydCk7Ci0gICAgICAgICAgfWVsc2V7CisgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vVE9ETyBUcmlnZ2VyIGV2ZW50PwogICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMjY5LDEwNiArMjkzLDg4IEBACiAgICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9Ci0gIH1lbHNleworICB9IGVsc2UgewogICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdVGhlIEZCIGlzIG5vdCBpbml0aWFsaXplZFxuIik7CiAgIH0KLSAgaWYoZV9Qcm9jZXNzRGF0YU9rID09IG1JbnRlcnJ1cHRSZXNwKXsKKyAgaWYoZV9Qcm9jZXNzRGF0YU9rID09IG1JbnRlcnJ1cHRSZXNwKSB7CiAgICAgbV9wb0ZiLT5pbnRlcnJ1cHRDb21tRkIodGhpcyk7CiAgIH0KICAgcmV0dXJuIG1JbnRlcnJ1cHRSZXNwOwogfQogCi1FQ29tUmVzcG9uc2UgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllcjo6cmVjdlNlcnZlckRhdGEoQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+JiBwYVBhcmFtZXRlck5hbWVzLCBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4mIHBhUGFyYW1ldGVyVmFsdWVzKXsKK0VDb21SZXNwb25zZSBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyOjpyZWN2U2VydmVyRGF0YShDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4mIHBhUGFyYW1ldGVyTmFtZXMsCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+JiBwYVBhcmFtZXRlclZhbHVlcykgewogICBtSW50ZXJydXB0UmVzcCA9IGVfTm90aGluZzsKICAgYm9vbCBmYWlsZWQgPSBmYWxzZTsKLSAgaWYoMCA8IG1fcG9GYi0+Z2V0TnVtU0QoKSl7CisgIGlmKDAgPCBtX3BvRmItPmdldE51bVNEKCkpIHsKICAgICB1bnNpZ25lZCBpbnQgbm9PZlBhcmFtZXRlcnMgPSAwOwotICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz46Okl0ZXJhdG9yIGl0ZXIgPSBwYVBhcmFtZXRlck5hbWVzLmJlZ2luKCk7IGl0ZXIgIT0gcGFQYXJhbWV0ZXJOYW1lcy5lbmQoKTsgKytpdGVyKXsKKyAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+OjpJdGVyYXRvciBpdGVyID0gcGFQYXJhbWV0ZXJOYW1lcy5iZWdpbigpOyBpdGVyICE9IHBhUGFyYW1ldGVyTmFtZXMuZW5kKCk7ICsraXRlcikgewogICAgICAgbm9PZlBhcmFtZXRlcnMrKzsKICAgICB9CiAKLSAgICBpZihub09mUGFyYW1ldGVycyA9PSBtX3BvRmItPmdldE51bVJEKCkpeworICAgIGlmKG5vT2ZQYXJhbWV0ZXJzID09IG1fcG9GYi0+Z2V0TnVtUkQoKSkgewogICAgICAgbm9PZlBhcmFtZXRlcnMgPSAwOwotICAgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENJRUNfU1RSSU5HPjo6SXRlcmF0b3IgaXRlciA9IHBhUGFyYW1ldGVyVmFsdWVzLmJlZ2luKCk7IGl0ZXIgIT0gcGFQYXJhbWV0ZXJWYWx1ZXMuZW5kKCk7ICsraXRlcil7CisgICAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+OjpJdGVyYXRvciBpdGVyID0gcGFQYXJhbWV0ZXJWYWx1ZXMuYmVnaW4oKTsgaXRlciAhPSBwYVBhcmFtZXRlclZhbHVlcy5lbmQoKTsgKytpdGVyKSB7CiAgICAgICAgIG1fcG9GYi0+Z2V0UkRzKClbbm9PZlBhcmFtZXRlcnNdLnNldFZhbHVlKCppdGVyKTsKICAgICAgIH0KICAgICAgIC8vVE9ETzogSG93IGRvIHdlIGhhbmRsZSB0aGUgbmFtZXM/IEZvciBub3cgdGhlIHBhcmFtZXRlcnMgYXJlIHB1dCBpbiB0aGUgc2FtZSBvcmRlciB0aGV5IGFycml2ZWQKLSAgICB9ZWxzZXsKLSAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIEZCIHdpdGggcGF0aCAlcyByZWNlaXZlZCBhIG51bWJlciBvZiBwYXJhbWV0ZXJzIG9mICV1LCB3aGlsZSBpdCBoYXMgJXUgU0RzXG4iLCBtUGF0aC5nZXRWYWx1ZSgpLCBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KG5vT2ZQYXJhbWV0ZXJzKSwgbV9wb0ZiLT5nZXROdW1TRCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBMYXllcl0gRkIgd2l0aCBwYXRoICVzIHJlY2VpdmVkIGEgbnVtYmVyIG9mIHBhcmFtZXRlcnMgb2YgJXUsIHdoaWxlIGl0IGhhcyAldSBTRHNcbiIsIG1QYXRoLmdldFZhbHVlKCksCisgICAgICAgIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4obm9PZlBhcmFtZXRlcnMpLCBtX3BvRmItPmdldE51bVNEKCkpOwogICAgICAgZmFpbGVkID0gdHJ1ZTsKICAgICB9CiAgIH0KIAotICBpZihmYWlsZWQpeworICBpZihmYWlsZWQpIHsKICAgICBDSUVDX1NUUklORyB0b1NlbmQ7Ci0gICAgQ0lFQ19TVFJJTkcgcmVzdWx0ID0gIjQwMCBCYWQgUmVxdWVzdCI7CisgICAgQ0lFQ19TVFJJTkcgcmVzdWx0ID0gIkhUVFAvMS4xIDQwMCBCYWQgUmVxdWVzdCI7CiAgICAgbVJlcURhdGEgPSAiIjsKLSAgICBpZighQ0h0dHBQYXJzZXI6OmNyZWF0ZVJlc3BvbnNlKHRvU2VuZCwgcmVzdWx0LCBtQ29udGVudFR5cGUsIG1SZXFEYXRhKSl7Ci0gICAgICBERVZMT0dfREVCVUcoIltIVFRQIExheWVyXSBXcm9uZyBSZXNwb25zZSByZXF1ZXN0IHdoZW4gY2hhbmdpbmcgdGhlIGRhdGFcbiIpOwotICAgICAgZ2V0RXh0RXZIYW5kbGVyPENIVFRQX0hhbmRsZXI+KCkuZm9yY2VDbG9zZUZyb21SZWN2KHRoaXMpOwotICAgIH0KLSAgICBlbHNlewotICAgICAgZ2V0RXh0RXZIYW5kbGVyPENIVFRQX0hhbmRsZXI+KCkuc2VuZFNlcnZlckFuc3dlckZyb21SZWN2KHRoaXMsIHRvU2VuZCk7Ci0gICAgfQorICAgIENIdHRwUGFyc2VyOjpjcmVhdGVSZXNwb25zZSh0b1NlbmQsIHJlc3VsdCwgbUNvbnRlbnRUeXBlLCBtUmVxRGF0YSk7CisgICAgZ2V0RXh0RXZIYW5kbGVyPENIVFRQX0hhbmRsZXI+KCkuc2VuZFNlcnZlckFuc3dlckZyb21SZWN2KHRoaXMsIHRvU2VuZCk7CiAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhRGF0YVR5cGVFcnJvcjsKLSAgfQotICBlbHNleworICB9IGVsc2UgewogICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YU9rOwogICB9Ci0gIGlmKGVfUHJvY2Vzc0RhdGFPayA9PSBtSW50ZXJydXB0UmVzcCl7CisgIGlmKGVfUHJvY2Vzc0RhdGFPayA9PSBtSW50ZXJydXB0UmVzcCkgewogICAgIG1fcG9GYi0+aW50ZXJydXB0Q29tbUZCKHRoaXMpOwogICB9CiAgIHJldHVybiBtSW50ZXJydXB0UmVzcDsKIH0KIAotRUNvbVJlc3BvbnNlIENIdHRwQ29tTGF5ZXI6OmhhbmRsZUhUVFBSZXNwb25zZShjaGFyICpwYURhdGEpeworRUNvbVJlc3BvbnNlIENIdHRwQ29tTGF5ZXI6OmhhbmRsZUhUVFBSZXNwb25zZShjaGFyICpwYURhdGEpIHsKICAgREVWTE9HX0RFQlVHKCJbSFRUUCBMYXllcl0gSGFuZGxpbmcgcmVjZWl2ZWQgSFRUUCByZXNwb25zZVxuIik7CiAgIEVDb21SZXNwb25zZSBlUmV0VmFsID0gZV9Qcm9jZXNzRGF0YVJlY3ZGYWlsZDsKLSAgaWYoMCAhPSBzdHJzdHIocGFEYXRhLCAiXHJcblxyXG4iKSl7IC8vIFZlcmlmeSB0aGF0IGF0IGxlYXN0IGEgYm9keSBoYXMgYmVlbiByZWNlaXZlZAotICAgIGlmKG1fcG9GYiAhPSAwKXsKLSAgICAgIENJRUNfQU5ZKiBhcG9SRHMgPSBtX3BvRmItPmdldFJEcygpOwotICAgICAgLy8gSW50ZXJwcmV0IEhUVFAgcmVzcG9uc2UgYW5kIHNldCBvdXRwdXQgc3RhdHVzIGFjY29yZGluZyB0byBzdWNjZXNzL2ZhaWx1cmUuCi0gICAgICBDSUVDX1NUUklORyBvdXRwdXQ7Ci0gICAgICBib29sIHN1Y2Nlc3MgPSB0cnVlOwotICAgICAgaWYoZV9HRVQgPT0gbVJlcXVlc3RUeXBlKXsKLSAgICAgICAgc3VjY2VzcyA9IENIdHRwUGFyc2VyOjpwYXJzZUdldFJlc3BvbnNlKG91dHB1dCwgcGFEYXRhLCBtRXhwZWN0ZWRSc3BDb2RlKTsKLSAgICAgIH0KLSAgICAgIGVsc2V7Ci0gICAgICAgIHN1Y2Nlc3MgPSBDSHR0cFBhcnNlcjo6cGFyc2VQdXRQb3N0UmVzcG9uc2Uob3V0cHV0LCBwYURhdGEsIG1FeHBlY3RlZFJzcENvZGUpOwotICAgICAgfQotICAgICAgc3VjY2VzcyA/IGVSZXRWYWwgPSBlX1Byb2Nlc3NEYXRhT2sgOiBlUmV0VmFsID0gZV9Qcm9jZXNzRGF0YVJlY3ZGYWlsZDsKLSAgICAgIC8vIFNldCBkYXRhIG91dHB1dCBpZiBwb3NzaWJsZQotICAgICAgaWYoc3VjY2VzcyAmJiBoYXNPdXRwdXRSZXNwb25zZSl7Ci0gICAgICAgIGFwb1JEc1swXS5mcm9tU3RyaW5nKG91dHB1dC5nZXRWYWx1ZSgpKTsKLSAgICAgIH0KLSAgICB9Ci0gICAgZWxzZXsKLSAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIE5vIEZCIGRlZmluZWRcbiIpOwotICAgIH0KLSAgfQotICBlbHNlewotICAgIERFVkxPR19FUlJPUigiW0hUVFAgTGF5ZXJdIEludmFsaWQgb3IgaW5jb21wbGV0ZSBIVFRQIHJlc3BvbnNlXG4iKTsKKyAgaWYobV9wb0ZiICE9IDApIHsKKyAgICBDSUVDX0FOWSogYXBvUkRzID0gbV9wb0ZiLT5nZXRSRHMoKTsKKyAgICAvLyBJbnRlcnByZXQgSFRUUCByZXNwb25zZSBhbmQgc2V0IG91dHB1dCBzdGF0dXMgYWNjb3JkaW5nIHRvIHN1Y2Nlc3MvZmFpbHVyZS4KKyAgICBDSUVDX1NUUklORyByZXNwb25zZUNvZGU7CisgICAgQ0lFQ19TVFJJTkcgb3V0cHV0OworICAgIENIdHRwUGFyc2VyOjpwYXJzZVJlc3BvbnNlKG91dHB1dCwgcmVzcG9uc2VDb2RlLCBwYURhdGEpID8gZVJldFZhbCA9IGVfUHJvY2Vzc0RhdGFPayA6IGVSZXRWYWwgPSBlX1Byb2Nlc3NEYXRhUmVjdkZhaWxkOworICAgIGFwb1JEc1swXS5mcm9tU3RyaW5nKHJlc3BvbnNlQ29kZS5nZXRWYWx1ZSgpKTsKKyAgICBhcG9SRHNbMV0uZnJvbVN0cmluZyhvdXRwdXQuZ2V0VmFsdWUoKSk7CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBMYXllcl0gTm8gRkIgZGVmaW5lZFxuIik7CiAgIH0KICAgcmV0dXJuIGVSZXRWYWw7CiB9CiAKLUVDb21SZXNwb25zZSBDSHR0cENvbUxheWVyOjpwcm9jZXNzSW50ZXJydXB0KCl7CitFQ29tUmVzcG9uc2UgQ0h0dHBDb21MYXllcjo6cHJvY2Vzc0ludGVycnVwdCgpIHsKICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhT2s7CiAgIHJldHVybiBtSW50ZXJydXB0UmVzcDsKIH0KIAotdm9pZCBDSHR0cENvbUxheWVyOjpjbG9zZUNvbm5lY3Rpb24oKXsKLSAgaWYgKGVfU2VydmVyID09IG1fcG9GYi0+Z2V0Q29tU2VydmljZVR5cGUoKSl7Ci0gICAgICBnZXRFeHRFdkhhbmRsZXI8Q0hUVFBfSGFuZGxlcj4oKS5yZW1vdmVTZXJ2ZXJQYXRoKG1QYXRoKTsKK3ZvaWQgQ0h0dHBDb21MYXllcjo6Y2xvc2VDb25uZWN0aW9uKCkgeworICBpZihlX1NlcnZlciA9PSBtX3BvRmItPmdldENvbVNlcnZpY2VUeXBlKCkpIHsKKyAgICBnZXRFeHRFdkhhbmRsZXI8Q0hUVFBfSGFuZGxlcj4oKS5yZW1vdmVTZXJ2ZXJQYXRoKG1QYXRoKTsKICAgfQogICBnZXRFeHRFdkhhbmRsZXI8Q0hUVFBfSGFuZGxlcj4oKS5mb3JjZUNsb3NlKHRoaXMpOwogfQogCi1ib29sIENIdHRwQ29tTGF5ZXI6OnNlcmlhbGl6ZURhdGEoY29uc3QgQ0lFQ19BTlkmIHBhQ0lFQ0RhdGEpewotICBpbnQgYnVmZmVyU2l6ZSA9IHBhQ0lFQ0RhdGEuZ2V0VG9TdHJpbmdCdWZmZXJTaXplKCk7Citib29sIENIdHRwQ29tTGF5ZXI6OnNlcmlhbGl6ZURhdGEoY29uc3QgQ0lFQ19BTlkmIHBhQ0lFQ0RhdGEpIHsKKyAgc2l6ZV90IGJ1ZmZlclNpemUgPSBwYUNJRUNEYXRhLmdldFRvU3RyaW5nQnVmZmVyU2l6ZSgpOwogICBjaGFyIGFjRGF0YVZhbHVlW2J1ZmZlclNpemVdOwogICBpbnQgbkNvbnN1bWVkQnl0ZXM7Ci0gIHN3aXRjaCAocGFDSUVDRGF0YS5nZXREYXRhVHlwZUlEKCkpeworICBzd2l0Y2gocGFDSUVDRGF0YS5nZXREYXRhVHlwZUlEKCkpewogICAgIGNhc2UgQ0lFQ19BTlk6OmVfV1NUUklORzoKICAgICAgIG5Db25zdW1lZEJ5dGVzID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19XU1RSSU5HJj4ocGFDSUVDRGF0YSkudG9VVEY4KGFjRGF0YVZhbHVlLCBidWZmZXJTaXplLCBmYWxzZSk7CiAgICAgICBicmVhazsKQEAgLTM3OSwxOCArMzg1LDE4IEBACiAgICAgICBuQ29uc3VtZWRCeXRlcyA9IHBhQ0lFQ0RhdGEudG9TdHJpbmcoYWNEYXRhVmFsdWUsIGJ1ZmZlclNpemUpOwogICAgICAgYnJlYWs7CiAgIH0KLSAgaWYoLTEgIT0gbkNvbnN1bWVkQnl0ZXMpeworICBpZigtMSAhPSBuQ29uc3VtZWRCeXRlcykgewogICAgIGFjRGF0YVZhbHVlW25Db25zdW1lZEJ5dGVzXSA9ICdcMCc7CiAgIH0KICAgbVJlcURhdGEgPSBhY0RhdGFWYWx1ZTsKICAgcmV0dXJuIHRydWU7CiB9CiAKLUNJRUNfU1RSSU5HJiBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyOjpnZXRIb3N0KCl7CitDSUVDX1NUUklORyYgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllcjo6Z2V0SG9zdCgpIHsKICAgcmV0dXJuIG1Ib3N0OwogfQogCi1URm9ydGVVSW50MTYgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllcjo6Z2V0UG9ydCgpeworVEZvcnRlVUludDE2IGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXI6OmdldFBvcnQoKSB7CiAgIHJldHVybiBtUG9ydDsKIH0KIApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSFRUUC9odHRwbGF5ZXIuaCBiL3NyYy9tb2R1bGVzL0hUVFAvaHR0cGxheWVyLmgKaW5kZXggNzQyZWFjOC4uN2JjOWU2MiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSFRUUC9odHRwbGF5ZXIuaAorKysgYi9zcmMvbW9kdWxlcy9IVFRQL2h0dHBsYXllci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOCBNYXJjIEpha29iaSwgZ2l0aHViLmNvbS9NcmNKa2IsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFyYyBKYWtvYmkgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGZvciBIVFRQIGNsaWVudHMKQEAgLTE4LDE1ICsxOSwxMyBAQAogI2luY2x1ZGUgImNvbWxheWVyLmgiCiAjaW5jbHVkZSA8Zm9ydGVfc3RyaW5nLmg+CiAjaW5jbHVkZSAiaXBjb21sYXllci5oIgotCi0KLWNsYXNzIENJRUNfQU5ZOworI2luY2x1ZGUgIi4uLy4uL2NvcmUvdXRpbHMvcGFyYW1ldGVyUGFyc2VyLmgiCiAKIG5hbWVzcGFjZSBmb3J0ZSB7CiAKICAgbmFtZXNwYWNlIGNvbV9pbmZyYSB7CiAKLSAgICBjbGFzcyBDSHR0cENvbUxheWVyIDogcHVibGljIENDb21MYXllcnsKKyAgICBjbGFzcyBDSHR0cENvbUxheWVyIDogcHVibGljIENDb21MYXllciB7CiAgICAgICBwdWJsaWM6CiAgICAgICAgIENIdHRwQ29tTGF5ZXIoQ0NvbUxheWVyKiBwYVVwcGVyTGF5ZXIsIENCYXNlQ29tbUZCKiBwYUNvbUZCKTsKICAgICAgICAgdmlydHVhbCB+Q0h0dHBDb21MYXllcigpOwpAQCAtNDMsNyArNDIsNyBAQAogICAgICAgICBFQ29tUmVzcG9uc2UgcHJvY2Vzc0ludGVycnVwdCgpOwogCiAgICAgICAgIC8qKiBlbnVtIHJlcHJlc2VudGluZyB0aGUgSFRUUCByZXF1ZXN0IHR5cGUgKi8KLSAgICAgICAgZW51bSBFUmVxdWVzdFR5cGV7CisgICAgICAgIGVudW0gRVJlcXVlc3RUeXBlIHsKICAgICAgICAgICAvKiogSFRUUCBHRVQgKi8KICAgICAgICAgICBlX0dFVCwKICAgICAgICAgICAvKiogSFRUUCBQVVQgKi8KQEAgLTU4LDkgKzU3LDYgQEAKIAogICAgICAgICBURm9ydGVVSW50MTYgZ2V0UG9ydCgpOwogCi0KLSAgICAgIHByb3RlY3RlZDoKLQogICAgICAgcHJpdmF0ZToKIAogICAgICAgICAvKioKQEAgLTc5LDYgKzc1LDE2IEBACiAKICAgICAgICAgRUNvbVJlc3BvbnNlIG9wZW5DbGllbnRDb25uZWN0aW9uKGNoYXIqIHBhTGF5ZXJQYXJhbWV0ZXIpOwogCisgICAgICAgIGJvb2wgY2hlY2tTREluUE9TVEFuZFBVVChzaXplX3QgcGFOb09mU0QpOworCisgICAgICAgIGJvb2wgY2hlY2tTRHNBbmRSRHNUeXBlKCk7CisKKyAgICAgICAgYm9vbCBoYW5kbGVBZGRyZXNzKGNvbnN0IGNoYXIqIHBhQWRkcmVzcywgc2l6ZV90IHBhTm9PZlNEcyk7CisKKyAgICAgICAgYm9vbCBoYW5kbGVDb250ZW50QW5kUmVxdWVzdFR5cGUoQ1BhcmFtZXRlclBhcnNlciAmcGFQYXJzZXIsIHNpemVfdCBwYU5vT2ZQYXJhbWV0ZXJzKTsKKworICAgICAgICBib29sIHN0b3JlUmVxdWVzdFR5cGUoY29uc3QgY2hhciogcGFUeXBlKTsKKwogICAgICAgICBFQ29tUmVzcG9uc2UgbUludGVycnVwdFJlc3A7CiAKICAgICAgICAgLyoqIFJlcHJlc2VudHMgdGhlIEhUVFAgcmVxdWVzdCB0eXBlICgwID0gR0VULCAxID0gUFVUKS4gKi8KQEAgLTk3LDE3ICsxMDMsMTEgQEAKICAgICAgICAgY2hhciBtUmVjdkJ1ZmZlcltjZ191bklQTGF5ZXJSZWN2QnVmZmVyU2l6ZV07CiAgICAgICAgIHVuc2lnbmVkIGludCBtQnVmRmlsbFNpemU7CiAKLSAgICAgICAgLyoqIEV4cGVjdGVkIHJlc3BvbnNlIGNvZGUgKGRlZmF1bHQ6IEhUVFAvMS4xIDIwMCBPSykgKi8KLSAgICAgICAgQ0lFQ19TVFJJTkcgbUV4cGVjdGVkUnNwQ29kZTsKLQogICAgICAgICBDSUVDX1NUUklORyBtQ29udGVudFR5cGU7CiAKLSAgICAgICAgLyoqIE91cHV0IHJlc3BvbnNlIGlzIHRvIGJlIHdyaXR0ZW4gdG8gYSBkYXRhIG91dHB1dCAqLwotICAgICAgICBib29sIGhhc091dHB1dFJlc3BvbnNlOwotCiAgICAgICAgIGJvb2wgbUNvcnJlY3RseUluaXRpYWxpemVkOwogCi0gICAgICAgIGJvb2wgbUhhc1BhcmFtZXRlcjsKKyAgICAgICAgYm9vbCBtSGFzUGFyYW1ldGVySW5TRDsKICAgICB9OwogCiAgIH0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0hUVFAvaHR0cHBhcnNlci5jcHAgYi9zcmMvbW9kdWxlcy9IVFRQL2h0dHBwYXJzZXIuY3BwCmluZGV4IGQwMWZmMzEuLmRiOWQzYzggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0hUVFAvaHR0cHBhcnNlci5jcHAKKysrIGIvc3JjL21vZHVsZXMvSFRUUC9odHRwcGFyc2VyLmNwcApAQCAtMSwxNCArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSogQ29weXJpZ2h0IChjKSAyMDE3LTIwMTggTWFyYyBKYWtvYmksIGdpdGh1Yi5jb20vTXJjSmtiLCBmb3J0aXNzIEdtYkgKLSogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSoKLSogQ29udHJpYnV0b3JzOgotKiAgICBNYXJjIEpha29iaSAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KLSogICAgSm9zZSBDYWJyYWwgLSBVc2UgQ0lFQ19TVFJJTkcgaW5zdGVhZCBvZiBjb25zdCBjaGFyKiBhbmQgY2xlYW5uaW5nIG9mIGZ1bmN0aW9ucwotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOCBNYXJjIEpha29iaSwgZ2l0aHViLmNvbS9NcmNKa2IsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBNYXJjIEpha29iaSAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqICAgIEpvc2UgQ2FicmFsIC0gVXNlIENJRUNfU1RSSU5HIGluc3RlYWQgb2YgY29uc3QgY2hhciogYW5kIGNsZWFubmluZyBvZiBmdW5jdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgImh0dHBwYXJzZXIuaCIKICNpbmNsdWRlIDxzdGRpby5oPgpAQCAtMTcsMTggKzE4LDEzIEBACiAKIHVzaW5nIG5hbWVzcGFjZSBmb3J0ZTo6Y29tX2luZnJhOwogCi1DSHR0cFBhcnNlcjo6Q0h0dHBQYXJzZXIoKSB7Ci19Ci0KLUNIdHRwUGFyc2VyOjp+Q0h0dHBQYXJzZXIoKXsKLX0KLQogdm9pZCBDSHR0cFBhcnNlcjo6Y3JlYXRlR2V0UmVxdWVzdChDSUVDX1NUUklORyYgcGFEZXN0LCBjb25zdCBDSUVDX1NUUklORyYgcGFIb3N0LCBjb25zdCBDSUVDX1NUUklORyYgcGFQYXRoKSB7CiAgIENIdHRwUGFyc2VyOjphZGRDb21tb25IZWFkZXIocGFEZXN0LCBwYUhvc3QsIHBhUGF0aCwgQ0h0dHBDb21MYXllcjo6ZV9HRVQpOwogICBDSHR0cFBhcnNlcjo6YWRkSGVhZGVyRW5kaW5nKHBhRGVzdCk7CiB9CiAKLXZvaWQgQ0h0dHBQYXJzZXI6OmNyZWF0ZVB1dFBvc3RSZXF1ZXN0KENJRUNfU1RSSU5HJiBwYURlc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYUhvc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYVBhdGgsIGNvbnN0IENJRUNfU1RSSU5HJiBwYURhdGEsIGNvbnN0IENJRUNfU1RSSU5HJiBwYUNvbnRlbnRUeXBlLCBDSHR0cENvbUxheWVyOjpFUmVxdWVzdFR5cGUgcGFUeXBlKXsKK3ZvaWQgQ0h0dHBQYXJzZXI6OmNyZWF0ZVB1dFBvc3RSZXF1ZXN0KENJRUNfU1RSSU5HJiBwYURlc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYUhvc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYVBhdGgsIGNvbnN0IENJRUNfU1RSSU5HJiBwYURhdGEsCisgICAgY29uc3QgQ0lFQ19TVFJJTkcmIHBhQ29udGVudFR5cGUsIENIdHRwQ29tTGF5ZXI6OkVSZXF1ZXN0VHlwZSBwYVR5cGUpIHsKICAgQ0h0dHBQYXJzZXI6OmFkZENvbW1vbkhlYWRlcihwYURlc3QsIHBhSG9zdCwgcGFQYXRoLCBwYVR5cGUpOwogICBwYURlc3QuYXBwZW5kKCJcclxuQ29udGVudC10eXBlOiAiKTsKICAgcGFEZXN0LmFwcGVuZChwYUNvbnRlbnRUeXBlLmdldFZhbHVlKCkpOwpAQCAtMzYsMzUgKzMyLDg4IEBACiAgIGNoYW5nZVB1dFBvc3REYXRhKHBhRGVzdCwgcGFEYXRhKTsKIH0KIAotYm9vbCBDSHR0cFBhcnNlcjo6Y2hhbmdlUHV0UG9zdERhdGEoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhRGF0YSl7Citib29sIENIdHRwUGFyc2VyOjpjaGFuZ2VQdXRQb3N0RGF0YShDSUVDX1NUUklORyYgcGFEZXN0LCBjb25zdCBDSUVDX1NUUklORyYgcGFEYXRhKSB7CiAgIGNoYXIqIGhlbHBlckNoYXIgPSBzdHJzdHIocGFEZXN0LmdldFZhbHVlKCksICJsZW5ndGg6ICIpOwotICBpZigwICE9IGhlbHBlckNoYXIpeworICBpZigwICE9IGhlbHBlckNoYXIpIHsKICAgICBoZWxwZXJDaGFyICs9IDg7CiAgICAgKmhlbHBlckNoYXIgPSAnXDAnOwogICAgIHBhRGVzdCA9IHBhRGVzdC5nZXRWYWx1ZSgpOyAvL3dpbGwgc2hyaW5rIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyB0byB0aGUgbmV3IGVuZGluZwotICAgIGNoYXIgY29udGVudExlbmd0aFs2XTsgLy9UT0RPOiBzaG91bGQgdGhpcyBiZSBmaXhlZCBvciBub3Q/CisgICAgY2hhciBjb250ZW50TGVuZ3RoW3NjbU1heExlbmd0aE9mQ29udGVudF07CiAgICAgc25wcmludGYoY29udGVudExlbmd0aCwgc2l6ZW9mKGNvbnRlbnRMZW5ndGgpLCAiJXp1Iiwgc3RybGVuKHBhRGF0YS5nZXRWYWx1ZSgpKSk7CiAgICAgcGFEZXN0LmFwcGVuZChjb250ZW50TGVuZ3RoKTsKICAgICBDSHR0cFBhcnNlcjo6YWRkSGVhZGVyRW5kaW5nKHBhRGVzdCk7CiAgICAgcGFEZXN0LmFwcGVuZChwYURhdGEuZ2V0VmFsdWUoKSk7CiAgICAgcmV0dXJuIHRydWU7Ci0gIH0KLSAgZWxzZXsgLy8gd3JvbmcgcmVxdWVzdD8KKyAgfSBlbHNlIHsgLy8gd3JvbmcgcmVxdWVzdD8KICAgICBERVZMT0dfRVJST1IoIltIVFRQIFBhcnNlcl0gUFVUL1BPU1QgcmVxdWVzdCB3YXMgd3JvbmdseSBjcmVhdGVkXG4iKTsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KIH0KIAorYm9vbCBDSHR0cFBhcnNlcjo6cGFyc2VSZXNwb25zZShDSUVDX1NUUklORyYgcGFCb2R5LCBDSUVDX1NUUklORyYgcGFSZXNwb25zZUNvZGUsIGNoYXIqIHBhU3JjKSB7CisgIGlmKENIdHRwUGFyc2VyOjpnZXRIdHRwUmVzcG9uc2VDb2RlKHBhUmVzcG9uc2VDb2RlLCBwYVNyYykpIHsKKyAgICBjaGFyKiBoZWxwZXJDaGFyID0gc3Ryc3RyKHBhU3JjLCAiXHJcblxyXG4iKTsgLy8gRXh0cmFjdCBkYXRhIGZyb20gSFRUUCByZXNwb25zZSBjaGFyCisgICAgaWYoMCAhPSBoZWxwZXJDaGFyKSB7CisgICAgICBoZWxwZXJDaGFyICs9IDQ7CisgICAgICBwYUJvZHkgPSBoZWxwZXJDaGFyOworICAgIH0gZWxzZSB7IC8vIEVtcHR5IHJlc3BvbnNlIHJlY2VpdmVkCisgICAgICBERVZMT0dfSU5GTygiW0hUVFAgUGFyc2VyXSBFbXB0eSBjb250ZW50IHJlc3BvbnNlIHJlY2VpdmVkXG4iKTsKKyAgICAgIHBhQm9keSA9ICIiOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKKyAgfQorICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OnBhcnNlR2V0UmVxdWVzdChDSUVDX1NUUklORyYgcGFQYXRoLCBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4mIHBhUGFyYW1ldGVyTmFtZXMsCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+JiBwYVBhcmFtZXRlclZhbHVlcywgY2hhciogcGFEYXRhKSB7CisgIGNoYXIqIGhlbHBlckNoYXIgPSBzdHJzdHIocGFEYXRhLCAiR0VUICIpOworICBpZihoZWxwZXJDaGFyICE9IDApIHsKKyAgICBoZWxwZXJDaGFyICs9IDQ7CisgICAgY2hhciogZW5kT2ZQYXRoID0gc3Ryc3RyKGhlbHBlckNoYXIsICIgIik7CisgICAgaWYoZW5kT2ZQYXRoICE9IDApIHsKKyAgICAgICplbmRPZlBhdGggPSAnXDAnOworICAgICAgY2hhciogc3RhcnRPZlBhcmFtZXRlcnMgPSBzdHJzdHIocGFEYXRhLCAiPyIpOworICAgICAgaWYoc3RhcnRPZlBhcmFtZXRlcnMgIT0gMCkgeworICAgICAgICAqc3RhcnRPZlBhcmFtZXRlcnMgPSAnXDAnOworICAgICAgICBzdGFydE9mUGFyYW1ldGVycysrOworICAgICAgICBwYXJzZUdFVFBhcmFtZXRlcnMoc3RhcnRPZlBhcmFtZXRlcnMsIHBhUGFyYW1ldGVyTmFtZXMsIHBhUGFyYW1ldGVyVmFsdWVzKTsKKyAgICAgIH0KKyAgICAgIHBhUGF0aCA9IGhlbHBlckNoYXI7CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgUGFyc2VyXSBJbnZhbGlkIEhUVFAgR2V0IHJlcXVlc3QuIE5vIHNwYWNlIGFmdGVyIHBhdGggZm91bmRcbiIpOworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIltIVFRQIFBhcnNlcl0gSW52YWxpZCBIVFRQIEdldCByZXF1ZXN0LiBObyBHRVQgc3RyaW5nIGZvdW5kXG4iKTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KK30KKwordm9pZCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6Y3JlYXRlUmVzcG9uc2UoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhUmVzdWx0LCBjb25zdCBDSUVDX1NUUklORyYgcGFDb250ZW50VHlwZSwKKyAgICBjb25zdCBDSUVDX1NUUklORyYgcGFEYXRhKSB7CisgIHBhRGVzdCA9IHBhUmVzdWx0OworICBpZihwYURhdGEuZW1wdHkoKSkgeworICAgIHBhRGVzdC5hcHBlbmQoIlxyXG4iKTsKKyAgfSBlbHNlIHsKKyAgICBwYURlc3QuYXBwZW5kKCJcclxuQ29udGVudC10eXBlOiAiKTsKKyAgICBwYURlc3QuYXBwZW5kKHBhQ29udGVudFR5cGUuZ2V0VmFsdWUoKSk7CisgICAgcGFEZXN0LmFwcGVuZCgiXHJcbkNvbnRlbnQtbGVuZ3RoOiAiKTsKKyAgICBjaGFuZ2VQdXRQb3N0RGF0YShwYURlc3QsIHBhRGF0YSk7CisgIH0KK30KKwogdm9pZCBDSHR0cFBhcnNlcjo6YWRkQ29tbW9uSGVhZGVyKENJRUNfU1RSSU5HJiBwYURlc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYUhvc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYVBhdGgsIENIdHRwQ29tTGF5ZXI6OkVSZXF1ZXN0VHlwZSBwYVR5cGUpIHsKICAgc3dpdGNoKHBhVHlwZSl7CiAgICAgY2FzZSBDSHR0cENvbUxheWVyOjplX0dFVDoKLSAgICAgIHBhRGVzdCA9ICJHRVQgLyI7CisgICAgICBwYURlc3QgPSAiR0VUICI7CiAgICAgICBicmVhazsKICAgICBjYXNlIENIdHRwQ29tTGF5ZXI6OmVfUFVUOgotICAgICAgcGFEZXN0ID0gIlBVVCAvIjsKKyAgICAgIHBhRGVzdCA9ICJQVVQgIjsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ0h0dHBDb21MYXllcjo6ZV9QT1NUOgotICAgICAgcGFEZXN0ID0gIlBPU1QgLyI7CisgICAgICBwYURlc3QgPSAiUE9TVCAiOwogICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgUGFyc2VyXSBVbmV4cGVjdGVkIEhUVFAgVHlwZSB3aGVuIGFkZGluZyBoZWFkZXJcbiIpOwpAQCAtODEsOTEgKzEzMCwyOCBAQAogICBwYURlc3QuYXBwZW5kKCJcclxuXHJcbiIpOwogfQogCi1ib29sIENIdHRwUGFyc2VyOjpwYXJzZUdldFJlc3BvbnNlKENJRUNfU1RSSU5HJiBwYURlc3QsIGNoYXIqIHBhU3JjLCBDSUVDX1NUUklORyYgcGFFeHBlY3RlZENvZGUpewotICBDSUVDX1NUUklORyByZWNlaXZlZENvZGU7Ci0gIGlmKENIdHRwUGFyc2VyOjpnZXRIdHRwUmVzcG9uc2VDb2RlKHJlY2VpdmVkQ29kZSwgcGFTcmMpKXsKLSAgICBpZihyZWNlaXZlZENvZGUgPT0gcGFFeHBlY3RlZENvZGUgfHwgIioiID09IHBhRXhwZWN0ZWRDb2RlKXsKLSAgICAgIGNoYXIqIGhlbHBlckNoYXIgPSBzdHJzdHIocGFTcmMsICJcclxuXHJcbiIpOyAvLyBFeHRyYWN0IGRhdGEgZnJvbSBIVFRQIEdFVCByZXNwb25zZSBjaGFyCi0gICAgICBpZigwICE9IGhlbHBlckNoYXIpewotICAgICAgICBoZWxwZXJDaGFyICs9IDQ7Ci0gICAgICAgIHBhRGVzdCA9IGhlbHBlckNoYXI7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgICAgfWVsc2V7IC8vIEVtcHR5IHJlc3BvbnNlIHJlY2VpdmVkPwotICAgICAgICBERVZMT0dfSU5GTygiW0hUVFAgUGFyc2VyXSBFbXB0eSBHRVQgY29udGVudCByZXNwb25zZSByZWNlaXZlZFxuIik7Ci0gICAgICAgIHBhRGVzdCA9ICIiOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgfWVsc2V7Ci0gICAgICBERVZMT0dfSU5GTygiW0hUVFAgUGFyc2VyXSBVbmV4cGVjdGVkIEdFVCByZXNwb25zZSBjb2RlLiBFeHBlY3RlZCB3YXMgJXMgYW5kIHJlY2VpdmVkIHdhczogXG4iLCBwYUV4cGVjdGVkQ29kZS5nZXRWYWx1ZSgpLCByZWNlaXZlZENvZGUuZ2V0VmFsdWUoKSk7Ci0gICAgfQotICB9Ci0gIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBDSHR0cFBhcnNlcjo6cGFyc2VQdXRQb3N0UmVzcG9uc2UoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY2hhciogcGFTcmMsIENJRUNfU1RSSU5HJiBwYUV4cGVjdGVkQ29kZSkgewotICBpZihDSHR0cFBhcnNlcjo6Z2V0SHR0cFJlc3BvbnNlQ29kZShwYURlc3QsIHBhU3JjKSl7Ci0gICAgaWYocGFEZXN0ID09IHBhRXhwZWN0ZWRDb2RlIHx8ICIqIiA9PSBwYUV4cGVjdGVkQ29kZSl7Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgZWxzZXsKLSAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgUGFyc2VyXSBVbmV4cGVjdGVkIFBVVCByZXNwb25zZSBjb2RlXG4iKTsKLSAgICB9Ci0gIH0KLSAgcmV0dXJuIGZhbHNlOwotfQotCiBib29sIENIdHRwUGFyc2VyOjpnZXRIdHRwUmVzcG9uc2VDb2RlKENJRUNfU1RSSU5HJiBwYURlc3QsIGNoYXIqIHBhU3JjKSB7CisgIC8vSFRUUC1WZXJzaW9uIFNQIFN0YXR1cy1Db2RlIFNQIFJlYXNvbi1QaHJhc2UgQ1JMRiAoU1AgPSBzcGFjZSkKICAgY2hhciogaGVscGVyQ2hhciA9IHN0cnN0cihwYVNyYywgIlxyXG4iKTsKLSAgaWYgKGhlbHBlckNoYXIgIT0gMCkgeworICBpZihoZWxwZXJDaGFyICE9IDApIHsKICAgICAqaGVscGVyQ2hhciA9ICdcMCc7Ci0gICAgcGFEZXN0ID0gcGFTcmM7CisgICAgQ1BhcmFtZXRlclBhcnNlciBwYXJzZXIocGFTcmMsICcgJyk7CisgICAgaWYoMyA8PSBwYXJzZXIucGFyc2VQYXJhbWV0ZXJzKCkpIHsgLy9SZWFzb24tUGhyYXNlIGNhbiBjb250YWluIHNwYWNlcyBpbiBpdAorICAgICAgcGFEZXN0ID0gcGFyc2VyWzFdOworICAgIH0gZWxzZSB7CisgICAgICBERVZMT0dfRVJST1IoIltIVFRQIFBhcnNlcl0gSW52YWxpZCBIVFRQIHJlc3BvbnNlLiBUaGUgc3RhdHVzIGxpbmUgaXMgbm90IHdlbGwgZGVmaW5lZFxuIik7CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogICAgICpoZWxwZXJDaGFyID0gJ1xyJzsKICAgICByZXR1cm4gdHJ1ZTsKLSAgfQotICBlbHNlIHsKLSAgICBERVZMT0dfRVJST1IoIltIVFRQIFBhcnNlcl0gSW52YWxpZCBIVFRQIHJlc3BvbnNlXG4iKTsKLSAgICBwYURlc3QgPSAiSW52YWxpZCByZXNwb25zZSI7CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbSFRUUCBQYXJzZXJdIEludmFsaWQgSFRUUCByZXNwb25zZS4gTm8gbGluZSBlbmRpbmcgd2FzIGZvdW5kLlxuIik7CiAgICAgcmV0dXJuIGZhbHNlOwogICB9CiB9CiAKLWJvb2wgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OnBhcnNlR2V0UmVxdWVzdChDSUVDX1NUUklORyYgcGFQYXRoLCBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4mIHBhUGFyYW1ldGVyTmFtZXMsIENTaW5nbHlMaW5rZWRMaXN0PENJRUNfU1RSSU5HPiYgcGFQYXJhbWV0ZXJWYWx1ZXMsIGNoYXIqIHBhRGF0YSl7Ci0gIGNoYXIqIGhlbHBlckNoYXIgPSBzdHJzdHIocGFEYXRhLCAiR0VUICIpOwotICAgaWYgKGhlbHBlckNoYXIgIT0gMCkgewotICAgICBoZWxwZXJDaGFyICs9IDQ7Ci0gICAgIGNoYXIqIGVuZE9mUGF0aCA9IHN0cnN0cihoZWxwZXJDaGFyLCAiICIpOwotICAgICBpZiAoZW5kT2ZQYXRoICE9IDApIHsKLSAgICAgICAqZW5kT2ZQYXRoID0gJ1wwJzsKLSAgICAgICBjaGFyKiBzdGFydE9mUGFyYW1ldGVycyA9IHN0cnN0cihwYURhdGEsICI/Iik7Ci0gICAgICAgaWYoc3RhcnRPZlBhcmFtZXRlcnMgIT0gMCl7Ci0gICAgICAgICAqc3RhcnRPZlBhcmFtZXRlcnMgPSAnXDAnOwotICAgICAgICAgc3RhcnRPZlBhcmFtZXRlcnMrKzsKLSAgICAgICAgIHBhcnNlUGFyYW1ldGVycyhzdGFydE9mUGFyYW1ldGVycywgcGFQYXJhbWV0ZXJOYW1lcywgcGFQYXJhbWV0ZXJWYWx1ZXMpOwotICAgICAgIH0KLSAgICAgICBwYVBhdGggPSBoZWxwZXJDaGFyOwotICAgICB9ZWxzZXsKLSAgICAgIERFVkxPR19FUlJPUigiW0hUVFAgUGFyc2VyXSBJbnZhbGlkIEhUVFAgR2V0IHJlcXVlc3QuIE5vIHNwYWNlIGFmdGVyIHBhdGggZm91bmRcbiIpOwotICAgICAgcmV0dXJuIGZhbHNlOwotICAgICB9Ci0gICAgIHJldHVybiB0cnVlOwotICAgfQotICAgZWxzZSB7Ci0gICAgIERFVkxPR19FUlJPUigiW0hUVFAgUGFyc2VyXSBJbnZhbGlkIEhUVFAgR2V0IHJlcXVlc3QuIE5vIEdFVCBzdHJpbmcgZm91bmRcbiIpOwotICAgICByZXR1cm4gZmFsc2U7Ci0gICB9Ci19Ci0KLWJvb2wgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNyZWF0ZVJlc3BvbnNlKENJRUNfU1RSSU5HJiBwYURlc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYVJlc3VsdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhQ29udGVudFR5cGUsIGNvbnN0IENJRUNfU1RSSU5HJiBwYURhdGEpewotICBwYURlc3QuYXBwZW5kKCJIVFRQLzEuMSAiKTsKLSAgcGFEZXN0LmFwcGVuZChwYVJlc3VsdC5nZXRWYWx1ZSgpKTsKLSAgcGFEZXN0LmFwcGVuZCgiXHJcbkNvbnRlbnQtdHlwZTogIik7Ci0gIHBhRGVzdC5hcHBlbmQocGFDb250ZW50VHlwZS5nZXRWYWx1ZSgpKTsKLSAgcGFEZXN0LmFwcGVuZCgiXHJcbkNvbnRlbnQtbGVuZ3RoOiAiKTsKLSAgY2hhbmdlUHV0UG9zdERhdGEocGFEZXN0LCBwYURhdGEpOwotICByZXR1cm4gdHJ1ZTsKLX0KLQotdW5zaWduZWQgaW50IGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZVBhcmFtZXRlcnMoY2hhciogcGFQYXJhbWV0ZXJzLCBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4mIHBhUGFyYW1ldGVyTmFtZXMsIENTaW5nbHlMaW5rZWRMaXN0PENJRUNfU1RSSU5HPiYgcGFQYXJhbWV0ZXJWYWx1ZXMpewordW5zaWduZWQgaW50IGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZUdFVFBhcmFtZXRlcnMoY2hhciogcGFQYXJhbWV0ZXJzLCBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4mIHBhUGFyYW1ldGVyTmFtZXMsCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+JiBwYVBhcmFtZXRlclZhbHVlcykgewogICBwYVBhcmFtZXRlck5hbWVzLmNsZWFyQWxsKCk7CiAgIHBhUGFyYW1ldGVyVmFsdWVzLmNsZWFyQWxsKCk7CiAKQEAgLTE3MywxMiArMTU5LDEyIEBACiAKICAgY2hhciogc3RhcnRPZk5hbWUgPSBwYVBhcmFtZXRlcnM7CiAgIGJvb2wgZW5kT2ZQYXJhbWV0ZXJzID0gZmFsc2U7Ci0gIHdoaWxlKCdcMCcgIT0gKnN0YXJ0T2ZOYW1lICYmICFlbmRPZlBhcmFtZXRlcnMpeworICB3aGlsZSgnXDAnICE9ICpzdGFydE9mTmFtZSAmJiAhZW5kT2ZQYXJhbWV0ZXJzKSB7CiAgICAgY2hhciogc3RhcnRPZlZhbHVlID0gc3Ryc3RyKHN0YXJ0T2ZOYW1lLCAiPSIpOwotICAgIGlmKDAgIT0gc3RhcnRPZlZhbHVlKXsKKyAgICBpZigwICE9IHN0YXJ0T2ZWYWx1ZSkgewogICAgICAgKnN0YXJ0T2ZWYWx1ZSA9ICdcMCc7CiAgICAgICBzdGFydE9mVmFsdWUrKzsKLSAgICB9ZWxzZXsKKyAgICB9IGVsc2UgewogICAgICAgcGFQYXJhbWV0ZXJOYW1lcy5jbGVhckFsbCgpOwogICAgICAgcGFQYXJhbWV0ZXJWYWx1ZXMuY2xlYXJBbGwoKTsKICAgICAgIHJldFZhbCA9IDA7CkBAIC0xODYsNDYgKzE3MiwxOCBAQAogICAgIH0KICAgICBjaGFyKiBuZXh0TmFtZSA9IHN0cnN0cihzdGFydE9mVmFsdWUsICImIik7CiAgICAgZW5kT2ZQYXJhbWV0ZXJzID0gZmFsc2U7Ci0gICAgaWYoMCAhPSBuZXh0TmFtZSl7CisgICAgaWYoMCAhPSBuZXh0TmFtZSkgewogICAgICAgKm5leHROYW1lID0gJ1wwJzsKLSAgICB9ZWxzZXsKKyAgICB9IGVsc2UgewogICAgICAgZW5kT2ZQYXJhbWV0ZXJzID0gdHJ1ZTsKICAgICB9CiAgICAgcGFQYXJhbWV0ZXJOYW1lcy5wdXNoQmFjayhzdGFydE9mTmFtZSk7CiAgICAgcGFQYXJhbWV0ZXJWYWx1ZXMucHVzaEJhY2soc3RhcnRPZlZhbHVlKTsKICAgICByZXRWYWwrKzsKLSAgICBpZighZW5kT2ZQYXJhbWV0ZXJzKXsKKyAgICBpZighZW5kT2ZQYXJhbWV0ZXJzKSB7CiAgICAgICBzdGFydE9mTmFtZSA9ICsrbmV4dE5hbWU7CiAgICAgfQogICB9CiAKICAgcmV0dXJuIHJldFZhbDsKIH0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCi0KLQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSFRUUC9odHRwcGFyc2VyLmggYi9zcmMvbW9kdWxlcy9IVFRQL2h0dHBwYXJzZXIuaAppbmRleCA1MGEyZjQzLi5jYTFmZjdmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9IVFRQL2h0dHBwYXJzZXIuaAorKysgYi9zcmMvbW9kdWxlcy9IVFRQL2h0dHBwYXJzZXIuaApAQCAtMSwxNCArMSwxNSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSogQ29weXJpZ2h0IChjKSAyMDE3LTIwMTggTWFyYyBKYWtvYmksIGdpdGh1Yi5jb20vTXJjSmtiLCBmb3J0aXNzIEdtYkgKLSogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSoKLSogQ29udHJpYnV0b3JzOgotKiAgICBNYXJjIEpha29iaSAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KLSogICAgSm9zZSBDYWJyYWwgLSBVc2UgQ0lFQ19TVFJJTkcgaW5zdGVhZCBvZiBjb25zdCBjaGFyKiBhbmQgY2xlYW5uaW5nIG9mIGZ1bmN0aW9ucwotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOCBNYXJjIEpha29iaSwgZ2l0aHViLmNvbS9NcmNKa2IsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBNYXJjIEpha29iaSAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqICAgIEpvc2UgQ2FicmFsIC0gVXNlIENJRUNfU1RSSU5HIGluc3RlYWQgb2YgY29uc3QgY2hhciogYW5kIGNsZWFubmluZyBvZiBmdW5jdGlvbnMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2lmbmRlZiBfSFRUUElQUEFSU0VSX0hfCiAjZGVmaW5lIF9IVFRQSVBQQVJTRVJfSF8KQEAgLTIxLDYzICsyMiwxMDMgQEAKIAogICBuYW1lc3BhY2UgY29tX2luZnJhIHsKIAotICAgIGNsYXNzIENIdHRwUGFyc2VyeworICAgIGNsYXNzIENIdHRwUGFyc2VyIHsKICAgICAgIHB1YmxpYzoKKyAgICAgICAgLyoqCisgICAgICAgICAqIEdlbmVyYXRlcyBhIEhUVFAgR0VUIHJlcXVlc3QuIFRoZSByZXF1ZXN0IGlzIHdyaXR0ZW4gdG8gcGFEZXN0CisgICAgICAgICAqIEBwYXJhbSBwYURlc3QgcGxhY2UgdG8gc3RvcmUgdGhlIHJlcXVlc3QKKyAgICAgICAgICogQHBhcmFtIHBhSG9zdCBob3N0IG9mIHRoZSBzZXJ2ZXIgdG8gY29ubmVjdAorICAgICAgICAgKiBAcGFyYW0gcGFQYXRoIHBhdGggdG8gbG9vayBmb3IKKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUdldFJlcXVlc3QoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhSG9zdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhUGF0aCk7CisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEdlbmVyYXRlcyBhIEhUVFAgUFVUIHJlcXVlc3QuIFRoZSByZXF1ZXN0IGlzIHdyaXR0ZW4gdG8gcGFEZXN0LgorICAgICAgICAgKiBAcGFyYW0gcGFEZXN0IHBsYWNlIHRvIHN0b3JlIHRoZSByZXF1ZXN0CisgICAgICAgICAqIEBwYXJhbSBwYUhvc3QgaG9zdCBvZiB0aGUgc2VydmVyIHRvIGNvbm5lY3QKKyAgICAgICAgICogQHBhcmFtIHBhUGF0aCBwYXRoIHRvIGFjY2VzcyBpbiB0aGUgc2VydmVyCisgICAgICAgICAqIEBwYXJhbSBwYURhdGEgZGF0YSBpbiB0aGUgYm9keSB0byBzZW5kIHRvIHRoZSBzZXJ2ZXIKKyAgICAgICAgICogQHBhcmFtIHBhQ29udGVudFR5cGUgY29udGVudCB0eXBlIG9mIHRoZSByZXF1ZXN0CisgICAgICAgICAqIEBwYXJhbSBwYVR5cGUgUFVUIG9yIFBPU1QKKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZVB1dFBvc3RSZXF1ZXN0KENJRUNfU1RSSU5HJiBwYURlc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYUhvc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYVBhdGgsIGNvbnN0IENJRUNfU1RSSU5HJiBwYURhdGEsCisgICAgICAgICAgICBjb25zdCBDSUVDX1NUUklORyYgcGFDb250ZW50VHlwZSwgQ0h0dHBDb21MYXllcjo6RVJlcXVlc3RUeXBlIHBhVHlwZSk7CisKKyAgICAgICAgLyoqCisgICAgICAgICAqIFRha2VzIGEgcHJldmlvdXMgUFVUIHJlcXVlc3QgaW4gcGFEZXN0LCBhbmQgdXBkYXRlcyB0aGUgY29udGVudCBvZiBpdAorICAgICAgICAgKiBAcGFyYW0gcGFEZXN0IG9sZCByZXF1ZXN0CisgICAgICAgICAqIEBwYXJhbSBwYURhdGEgbmV3IGRhdGEKKyAgICAgICAgICogQHJldHVybiB0cnVlIGlmIG5vIGVycm9yIGhhcHBlbmVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyBib29sIGNoYW5nZVB1dFBvc3REYXRhKENJRUNfU1RSSU5HJiBwYURlc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYURhdGEpOworCisgICAgICAgIC8qKgorICAgICAgICAgKiBFeHRyYWN0cyBkYXRhIGZyb20gYSByZXNwb25zZSB0byBhIEhUVFAgcmVxdWVzdAorICAgICAgICAgKiBAcGFyYW0gcGFEZXN0IHBsYWNlIHRvIHN0b3JlIHRoZSBib2R5IG9mIHRoZSByZXNwb25zZQorICAgICAgICAgKiBAcGFyYW0gcGFSZXNwb25zZUNvZGUgcGxhY2UgdG8gc3RvcmUgdGhlIHJlc3BvbnNlIGNvZGUgb2YgdGhlIHJlc3BvbnNlCisgICAgICAgICAqIEBwYXJhbSBwYVNyYyByZXNwb25zZSByZWNlaXZlZAorICAgICAgICAgKiBAcmV0dXJuIHRydWUgaWYgbm8gZXJyb3IgaGFwcGVuZWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAgICAgKi8KKyAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VSZXNwb25zZShDSUVDX1NUUklORyYgcGFCb2R5LCBDSUVDX1NUUklORyYgcGFSZXNwb25zZUNvZGUsIGNoYXIqIHBhU3JjKTsKKworICAgICAgICAvKioKKyAgICAgICAgICogUGFyc2UgYSBHRVQgcmVxdWVzdCByZWNlaXZlZCBhcyBhIHNlcnZlcgorICAgICAgICAgKiBAcGFyYW0gcGFQYXRoIHBsYWNlIHRvIHN0b3JlIHRoZSByZWNlaXZlZCBwYXRoCisgICAgICAgICAqIEBwYXJhbSBwYVBhcmFtZXRlck5hbWVzIHBsYWNlIHRvIHN0b3JlIHRoZSBuYW1lcyBvZiB0aGUgcGFyYW1ldGVycworICAgICAgICAgKiBAcGFyYW0gcGFQYXJhbWV0ZXJWYWx1ZXMgcGxhY2UgdG8gc3RvcmUgdGhlIHZhbHVlIG9mIHRoZSBwYXJhbWV0ZXJzCisgICAgICAgICAqIEBwYXJhbSBwYURhdGEgdGhlIHJlY2VpdmVkICBHRVQgcmVxdWVzdAorICAgICAgICAgKiBAcmV0dXJuIHRydWUgaWYgbm8gZXJyb3IgaGFwcGVuZWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAgICAgKi8KKyAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VHZXRSZXF1ZXN0KENJRUNfU1RSSU5HJiBwYVBhdGgsIENTaW5nbHlMaW5rZWRMaXN0PENJRUNfU1RSSU5HPiYgcGFQYXJhbWV0ZXJOYW1lcywgQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+JiBwYVBhcmFtZXRlclZhbHVlcywKKyAgICAgICAgICAgIGNoYXIqIHBhRGF0YSk7CisKKyAgICAgICAgLyoqCisgICAgICAgICAqIENyZWF0ZSBhIEhUVFAgcmVzcG9uc2UKKyAgICAgICAgICogQHBhcmFtIHBhRGVzdAorICAgICAgICAgKiBAcGFyYW0gcGFSZXN1bHQgdGhlIHN0YXR1cyBsaW5lIG9mIHRoZSByZXNwb25zZQorICAgICAgICAgKiBAcGFyYW0gcGFDb250ZW50VHlwZSB0aGUgY29udGVudCB0eXBlIG9mIHRoZSByZXNwb25zZQorICAgICAgICAgKiBAcGFyYW0gcGFEYXRhIHRoZSBib2R5IG9mIHRoZSByZXNwb25zZQorICAgICAgICAgKi8KKyAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlUmVzcG9uc2UoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhUmVzdWx0LCBjb25zdCBDSUVDX1NUUklORyYgcGFDb250ZW50VHlwZSwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhRGF0YSk7CisKKyAgICAgIHByaXZhdGU6CiAgICAgICAgIENIdHRwUGFyc2VyKCk7CiAgICAgICAgIHZpcnR1YWwgfkNIdHRwUGFyc2VyKCk7CiAKICAgICAgICAgLyoqCi0gICAgICAgICAqIEdlbmVyYXRlcyBhIEhUVFAgR0VUIHJlcXVlc3QuIFRoZSByZXF1ZXN0IGlzIHdyaXR0ZW4gdG8gcGFEZXN0LgotICAgICAgICAgKiBwYUhvc3Q6IGhvc3QgdG8gc2VuZCB0aGUgcmVxdWVzdCwgZS5nLiwgMTkyLjE2OC4xLjE0NDo4MAotICAgICAgICAgKiBwYVBhdGg6IHBhdGggdG8gcmV0cmlldmUsIGUuZy4sIC9leGFtcGxlL3BhdGgKKyAgICAgICAgICogIENyZWF0ZXMgdGhlIGNvbW1vbiBwYXJ0cyBvZiB0aGUgaGVhZGVycyBvZiB0aGUgc3VwcG9ydGVkIHR5cGVzCisgICAgICAgICAqIEBwYXJhbSBwYURlc3QgcGxhY2UgdG8gc3RvcmUgdGhlIGhlYWRlcgorICAgICAgICAgKiBAcGFyYW0gcGFIb3N0IHNlcnZlciBob3N0IHRvIGJlIHdyaXR0ZW4gaW4gdGhlIGhlYWRlcgorICAgICAgICAgKiBAcGFyYW0gcGFQYXRoIHRoZSBwYXRoIHRvIGJlIHdyaXR0ZW4gaW4gdGhlIGhlYWRlcgorICAgICAgICAgKiBAcGFyYW0gcGFUeXBlIHRoZSB0eXBlIG9mIHJlcXVlc3QgdG8gYmUgd3JpdHRlbiBpbiB0aGUgaGVhZGVyCiAgICAgICAgICAqLwotICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVHZXRSZXF1ZXN0KENJRUNfU1RSSU5HJiBwYURlc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYUhvc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYVBhdGgpOwotICAgICAgICAvKioKLSAgICAgICAgICogR2VuZXJhdGVzIGEgSFRUUCBQVVQgcmVxdWVzdC4gVGhlIHJlcXVlc3QgaXMgd3JpdHRlbiB0byBwYURlc3QuCi0gICAgICAgICAqIHBhSG9zdDogaG9zdCB0byBzZW5kIHRoZSByZXF1ZXN0LCBlLmcuLCAxOTIuMTY4LjEuMTQ0OjgwCi0gICAgICAgICAqIHBhUGF0aDogcGF0aCB0byBzZW5kLCBlLmcuLCAvZXhhbXBsZS9wYXRoCi0gICAgICAgICAqIGRhdGE6IERhdGEgdG8gYmUgd3JpdHRlbiB0byB0aGUgc2VydmVyIGxvY2F0aW9uLgotICAgICAgICAgKi8KLSAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlUHV0UG9zdFJlcXVlc3QoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhSG9zdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhUGF0aCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhRGF0YSwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhQ29udGVudFR5cGUsIENIdHRwQ29tTGF5ZXI6OkVSZXF1ZXN0VHlwZSBwYVR5cGUpOwotICAgICAgICAvKioKLSAgICAgICAgICogRXh0cmFjdHMgZGF0YSBmcm9tIGEgcmVzcG9uc2UgdG8gYSBIVFRQIEdFVCByZXF1ZXN0IHN0b3JlZCBpbiBwYVNyYyBhbmQgd3JpdGVzIGl0IHRvIGRlc3QuCi0gICAgICAgICAqIElmIHRoZSByZXNwb25zZSBoZWFkZXIgaXMgbm90IGFzIHBhRXhwZWN0ZWRDb2RlLCB0aGUgaGVhZGVyIGlzIGNvcGllZCBpbnN0ZWFkLgotICAgICAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHJlc3BvbnNlIGluZGljYXRlcyBhIHN1Y2Nlc3NmdWwgcmVxdWVzdC4KLSAgICAgICAgICovCi0gICAgICAgIHN0YXRpYyBib29sIHBhcnNlR2V0UmVzcG9uc2UoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY2hhciogcGFTcmMsIENJRUNfU1RSSU5HJiBwYUV4cGVjdGVkQ29kZSk7Ci0gICAgICAgIC8qKgotICAgICAgICAgKiBFeHRyYWN0cyB0aGUgaGVhZGVyIGZyb20gYW4gSFRUUCBQVVQgcmVzcG9uc2UuCi0gICAgICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcmVzcG9uc2UgaW5kaWNhdGVzIGEgc3VjY2Vzc2Z1bCByZXF1ZXN0LgotICAgICAgICAgKi8KLSAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VQdXRQb3N0UmVzcG9uc2UoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY2hhciogcGFTcmMsIENJRUNfU1RSSU5HJiBwYUV4cGVjdGVkQ29kZSk7Ci0KLSAgICAgICAgLyoqCi0gICAgICAgICAqIFRha2VzIGEgcHJldmlvdXMgUFVUIHJlcXVlc3QgaW4gcGFEZXN0LCBhbmQgdXBkYXRlcyB0aGUgY29udGVudCBvZiBpdAotICAgICAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHJlc3BvbnNlIGluZGljYXRlcyBhIHN1Y2Nlc3NmdWwgcmVxdWVzdC4KLSAgICAgICAgICovCi0gICAgICAgIHN0YXRpYyBib29sIGNoYW5nZVB1dFBvc3REYXRhKENJRUNfU1RSSU5HJiBwYURlc3QsIGNvbnN0IENJRUNfU1RSSU5HJiBwYURhdGEpOwotCi0gICAgICAgIHN0YXRpYyBib29sIHBhcnNlR2V0UmVxdWVzdChDSUVDX1NUUklORyYgcGFQYXRoLCBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4mIHBhUGFyYW1ldGVyTmFtZXMsIENTaW5nbHlMaW5rZWRMaXN0PENJRUNfU1RSSU5HPiYgcGFQYXJhbWV0ZXJWYWx1ZXMsIGNoYXIqIHBhRGF0YSk7Ci0KLSAgICAgICAgc3RhdGljIGJvb2wgY3JlYXRlUmVzcG9uc2UoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhUmVzdWx0LCBjb25zdCBDSUVDX1NUUklORyYgcGFDb250ZW50VHlwZSwgY29uc3QgQ0lFQ19TVFJJTkcmIHBhRGF0YSk7Ci0KLSAgICAgIHByaXZhdGU6Ci0KLSAgICAgICAgLyoqIENyZWF0ZXMgdGhlIGNvbW1vbiBwYXJ0cyBvZiB0aGUgaGVhZGVycyBvZiB0aGUgc3VwcG9ydGVkIHR5cGVzICovCiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZENvbW1vbkhlYWRlcihDSUVDX1NUUklORyYgcGFEZXN0LCBjb25zdCBDSUVDX1NUUklORyYgcGFIb3N0LCBjb25zdCBDSUVDX1NUUklORyYgcGFQYXRoLCBDSHR0cENvbUxheWVyOjpFUmVxdWVzdFR5cGUgcGFUeXBlKTsKLSAgICAgICAgLyoqIEFwcGVuZHMgdGhlIGVuZGluZyAiXHJcblxyXG4iIHRvIHRoZSBIVFRQIHJlcXVlc3QgKi8KKworICAgICAgICAvKioKKyAgICAgICAgICogQXBwZW5kcyB0aGUgZW5kaW5nICJcclxuXHJcbiIgdG8gdGhlIEhUVFAgcmVxdWVzdAorICAgICAgICAgKiBAcGFyYW0gcGFEZXN0IHBsYWNlIHRvIHN0b3JlIHRoZSBoZWFkZXIKKyAgICAgICAgICovCiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZEhlYWRlckVuZGluZyhDSUVDX1NUUklORyYgcGFEZXN0KTsKLSAgICAgICAgLyoqIEV4dHJhY3RzIHRoZSBIVFRQIHJlc3BvbnNlIGNvZGUgZnJvbSBwYVNyYyBhbmQgd3JpdGVzIGl0IHRvIHBhRGVzdCAqLworCisgICAgICAgIC8qKgorICAgICAgICAgKiBFeHRyYWN0cyB0aGUgSFRUUCByZXNwb25zZQorICAgICAgICAgKiBAcGFyYW0gcGFEZXN0IHBsYWNlIHRvIHN0b3JlIHRoZSBoZWFkZXIKKyAgICAgICAgICogQHBhcmFtIHBhU3JjIHNvdXJjZSBvZiB0aGUgcmVwb25zZQorICAgICAgICAgKiBAcmV0dXJuIHRydWUgaWYgbm8gZXJyb3IgaGFwcGVuZWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAgICAgKi8KICAgICAgICAgc3RhdGljIGJvb2wgZ2V0SHR0cFJlc3BvbnNlQ29kZShDSUVDX1NUUklORyYgcGFEZXN0LCBjaGFyKiBwYVNyYyk7CiAKICAgICAgICAgLyoqCi0gICAgICAgICAqCisgICAgICAgICAqIFBhcnNlIHBhcmFtZXRlciBvZiBHRVQgcmVxdWVzdCBhcyBhIHNlcnZlcgogICAgICAgICAgKiBAcGFyYW0gcGFQYXJhbWV0ZXJzIFRoZSBzdHJpbmcgY29udGFpbmluZyB0aGUgcGFyYW1ldGVycyBvZiB0aGUgcmVxdWVzdAogICAgICAgICAgKiBAcGFyYW0gcGFQYXJhbWV0ZXJOYW1lcyBUaGUgcmVzdWx0IHdoZXJlIHRoZSBuYW1lcyBvZiB0aGUgcGFyYW1ldGVycyBhcmUgc3RvcmVkCiAgICAgICAgICAqIEBwYXJhbSBwYVBhcmFtZXRlclZhbHVlcyBUaGUgcmVzdWx0IHdoZXJlIHRoZSB2YWx1ZXMgb2YgdGhlIHBhcmFtZXRlcnMgYXJlIHN0b3JlZAogICAgICAgICAgKiBAcmV0dXJuIFRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyBmb3VuZC4gSWYgd3JvbmcgcGFyYW1ldGVycyBhcmUgZm91bmQsIHRoZSByZXN1bHQgaXMgdHJlYXRlZCBhcyBubyBwYXJhbWV0ZXJzLCBtZWFuaW5nIGl0IHJldHVybnMgemVybwogICAgICAgICAgKi8KLSAgICAgICAgc3RhdGljIHVuc2lnbmVkIGludCBwYXJzZVBhcmFtZXRlcnMoY2hhciogcGFQYXJhbWV0ZXJzLCBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4mIHBhUGFyYW1ldGVyTmFtZXMsIENTaW5nbHlMaW5rZWRMaXN0PENJRUNfU1RSSU5HPiYgcGFQYXJhbWV0ZXJWYWx1ZXMpOworICAgICAgICBzdGF0aWMgdW5zaWduZWQgaW50IHBhcnNlR0VUUGFyYW1ldGVycyhjaGFyKiBwYVBhcmFtZXRlcnMsIENTaW5nbHlMaW5rZWRMaXN0PENJRUNfU1RSSU5HPiYgcGFQYXJhbWV0ZXJOYW1lcywKKyAgICAgICAgICAgIENTaW5nbHlMaW5rZWRMaXN0PENJRUNfU1RSSU5HPiYgcGFQYXJhbWV0ZXJWYWx1ZXMpOworCisgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3Qgc2NtTWF4TGVuZ3RoT2ZDb250ZW50ID0gNjsgLy9UaGUgbGltaXQgb2YgdGhlIGFtb3VudCB0byBzZW5kIGluIGEgUFVUL1BPU1QgcmVxdWVzdCBpcyBzZXQgdG8gOTk5OTkgYnl0ZXMgZm9yIG5vdy4gQ2hhbmdlIHRoaXMgdG8gdHJ5IHRvIHNlbmQgbW9yZQogICAgIH07CiAgIH0KIH0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9DTWFrZUxpc3RzLnR4dAppbmRleCBhMTkzMDc2Li5hMjEwMThhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE0IEFDSU4sIFByb2ZhY3RvciBHbWJIDQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCisjIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTQgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaA0KICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BREQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfQURELmNwcAppbmRleCAzZDkzNzM3Li5hYTBmOTAyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BREQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BREQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERC5oCmluZGV4IGU4NWE4ZmQuLmQyMjcyMjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfQUREX0RUX1RJTUUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfQUREX0RUX1RJTUUuY3BwCmluZGV4IDAyMmM3NzEuLmE5OTc1ZWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERF9EVF9USU1FLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BRERfRFRfVElNRS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BRERfRFRfVElNRS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfQUREX0RUX1RJTUUuaAppbmRleCA0MDE4YzQ5Li43ZGQ3YzNjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BRERfRFRfVElNRS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERF9EVF9USU1FLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BRERfVE9EX1RJTUUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfQUREX1RPRF9USU1FLmNwcAppbmRleCA3N2M0ZjVmLi42NGI4MzEyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BRERfVE9EX1RJTUUuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERF9UT0RfVElNRS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9BRERfVE9EX1RJTUUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERF9UT0RfVElNRS5oCmluZGV4IDA5NjM1ZGEuLjk1MjE1MTIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERF9UT0RfVElNRS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0FERF9UT0RfVElNRS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRElWLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0RJVi5jcHAKaW5kZXggNjY2YmY2My4uYzNkMzk3OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRElWLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9ESVYuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRElWLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9ESVYuaAppbmRleCA3MjgyZDI1Li5hZmU0MTZiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9ESVYuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9ESVYuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0RJVlRJTUUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRElWVElNRS5jcHAKaW5kZXggY2FlYjI1NC4uYTIzNTZlZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRElWVElNRS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRElWVElNRS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9ESVZUSU1FLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9ESVZUSU1FLmgKaW5kZXggNmNmOWQ1Mi4uOGFiYWY4NyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRElWVElNRS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0RJVlRJTUUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0VYUFQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRVhQVC5jcHAKaW5kZXggZDI0ZDk4MS4uYzlkZDhhMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRVhQVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRVhQVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9FWFBULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9FWFBULmgKaW5kZXggNWYyMGQ5My4uMDQzNTQyZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfRVhQVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0VYUFQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01PRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NT0QuY3BwCmluZGV4IGIzY2JlYzEuLjBkZTBjYzEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01PRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTU9ELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01PRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTU9ELmgKaW5kZXggOWFmM2FhMS4uMGMwNjFjYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTU9ELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTU9ELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NT1ZFLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01PVkUuY3BwCmluZGV4IGZjZWU3MTMuLjZjZDI3MjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01PVkUuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01PVkUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTU9WRS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTU9WRS5oCmluZGV4IDU5NTlkMjYuLjk0NGI4Y2MgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01PVkUuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NT1ZFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NVUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTVVMLmNwcAppbmRleCAyNzBkOTkxLi4wMDRiMzQ4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NVUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01VTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NVUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01VTC5oCmluZGV4IDg0Njg3MjYuLmVlZTYxZmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01VTC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01VTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTVVMVElNRS5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NVUxUSU1FLmNwcAppbmRleCA2ZTYyYTZjLi5jYTk2NDY0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NVUxUSU1FLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NVUxUSU1FLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01VTFRJTUUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX01VTFRJTUUuaAppbmRleCBmY2NiZjY5Li5iMTFhYzMzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9NVUxUSU1FLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfTVVMVElNRS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQi5jcHAKaW5kZXggOWJhZjc3Mi4uMWNiZWI2MCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUIuaAppbmRleCBmNzE5MTc0Li44ZTZmNjBlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUIuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9EQVRFX0RBVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RBVEVfREFURS5jcHAKaW5kZXggZmRiNzk0Mi4uNzNjZjllMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RBVEVfREFURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RBVEVfREFURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfREFURV9EQVRFLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfREFURV9EQVRFLmgKaW5kZXggNjQ3NjUwZC4uM2EwNGFlZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RBVEVfREFURS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9EQVRFX0RBVEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9EVF9EVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfRFRfRFQuY3BwCmluZGV4IDljOGZkMDEuLmE3YTJlNzcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9EVF9EVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RUX0RULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9EVF9EVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RUX0RULmgKaW5kZXggZjI1NTA5Yy4uOTRkMTUwZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RUX0RULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RUX0RULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfRFRfVElNRS5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfRFRfVElNRS5jcHAKaW5kZXggZDc2MWE5YS4uNGYyYzllZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RUX1RJTUUuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9EVF9USU1FLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9EVF9USU1FLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfRFRfVElNRS5oCmluZGV4IGEyYzc1MmQuLmMxNjZhZmUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9EVF9USU1FLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX0RUX1RJTUUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9UT0RfVElNRS5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfVE9EX1RJTUUuY3BwCmluZGV4IGE0ZTVlYzYuLmRjYTUxNjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9UT0RfVElNRS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX1RPRF9USU1FLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9UT0RfVElNRS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX1RPRF9USU1FLmgKaW5kZXggZTRmNzU0My4uMGFlOTk1ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX1RPRF9USU1FLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX1RPRF9USU1FLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfVE9EX1RPRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfVE9EX1RPRC5jcHAKaW5kZXggYjJkYTk1Mi4uYzUzMDg1YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX1RPRF9UT0QuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9UT0RfVE9ELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9UT0RfVE9ELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9TVUJfVE9EX1RPRC5oCmluZGV4IDc4YjhjYTcuLjJhYTA3OTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1NVQl9UT0RfVE9ELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfU1VCX1RPRF9UT0QuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1RSVU5DLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1RSVU5DLmNwcAppbmRleCA2YjRjYjg4Li5lYmY0NmQxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9UUlVOQy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfVFJVTkMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfVFJVTkMuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX1RSVU5DLmgKaW5kZXggMzk3M2MxNi4uYzUyYTlhMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0ZfVFJVTkMuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvRl9UUlVOQy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0dFTl9BREQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0dFTl9BREQuY3BwCmluZGV4IGI3ZDNjMDAuLjZjZDMwOGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9HRU5fQURELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvR0VOX0FERC5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXR0aGlhcyBQbGFzY2gsIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvR0VOX0FERC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Bcml0aG1ldGljL0dFTl9BREQuaAppbmRleCAxZWFjYjk2Li5iNDBhMjZjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0FyaXRobWV0aWMvR0VOX0FERC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9HRU5fQURELmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgKICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWF0dGhpYXMgUGxhc2NoCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvQ01ha2VMaXN0cy50eHQKaW5kZXggMGNkMmRkZi4uNTA1Y2U0YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXN0YWJsZUVsZW1lbnRzL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQmlzdGFibGVFbGVtZW50cy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMiBBQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyDQorIyBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXINCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXN0YWJsZUVsZW1lbnRzL0ZCX1JTLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQmlzdGFibGVFbGVtZW50cy9GQl9SUy5jcHAKaW5kZXggZjlmYjZmMi4uYjU1NjBmYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXN0YWJsZUVsZW1lbnRzL0ZCX1JTLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvRkJfUlMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXN0YWJsZUVsZW1lbnRzL0ZCX1JTLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvRkJfUlMuaAppbmRleCBiMjc2MzFmLi4wMjliODhkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvRkJfUlMuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvRkJfUlMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXN0YWJsZUVsZW1lbnRzL0ZCX1NSLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQmlzdGFibGVFbGVtZW50cy9GQl9TUi5jcHAKaW5kZXggZDgyOTFhYS4uOWQ2Mjg3MiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXN0YWJsZUVsZW1lbnRzL0ZCX1NSLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvRkJfU1IuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXN0YWJsZUVsZW1lbnRzL0ZCX1NSLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvRkJfU1IuaAppbmRleCBkZGYwMDQ1Li5hNzg0Y2MwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvRkJfU1IuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0Jpc3RhYmxlRWxlbWVudHMvRkJfU1IuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0NNYWtlTGlzdHMudHh0CmluZGV4IDBhYWI2MGQuLjkyZWUyNGYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTQgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaA0KKyMgQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX0FORC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9BTkQuY3BwCmluZGV4IGY3MTFjZjEuLmY4ODZjYzQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX0FORC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfQU5ELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9BTkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX0FORC5oCmluZGV4IDM2M2FjNWEuLmE4ZjA0YmQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX0FORC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX0FORC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9OT1QuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfTk9ULmNwcAppbmRleCA0Zjc1OTQ0Li5mNjMyMmJmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9OT1QuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX05PVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfTk9ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9OT1QuaAppbmRleCBmMDI0YTZiLi4yMDZhNzRmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9OT1QuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9OT1QuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfT1IuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfT1IuY3BwCmluZGV4IDJjM2MwMjQuLmUyYzI3MmMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX09SLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9PUi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfT1IuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX09SLmgKaW5kZXggYTIyYjQ2Zi4uYTYxNWY3YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfT1IuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9PUi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9ST0wuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfUk9MLmNwcAppbmRleCAyNWNjMWJhLi43ZmQ4Y2ZkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9ST0wuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1JPTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9ST0wuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1JPTC5oCmluZGV4IGQwNmI0Y2MuLmM5NTA1NjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1JPTC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1JPTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpAQCAtNTcsMTIgKzU4LDExIEBACiANCiAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgY2FsY3VsYXRlVmFsdWUoKXsNCiAgICAgVCBvSW47DQotICAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KLSAgICAgIENJRUNfVUxJTlQgb047DQotICAgICNlbHNlDQotICAgICAgQ0lFQ19VRElOVCBvTjsNCi0gICNlbmRpZiAvLyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQotDQorI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCisgICAgQ0lFQ19VTElOVCBvTjsNCisjZWxzZSAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCisgICAgQ0lFQ19VRElOVCBvTjsNCisjZW5kaWYgLy9GT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogDQogICAgIG9Jbi5zYXZlQXNzaWduKElOKCkpOw0KICAgICBvTi5zYXZlQXNzaWduKE4oKSk7DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfUk9SLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1JPUi5jcHAKaW5kZXggOGY3YzQwNy4uZTNlMWY5YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfUk9SLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9ST1IuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfUk9SLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9ST1IuaAppbmRleCAxZTBiZmMyLi5hMWM1M2RhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9ST1IuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9ST1IuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KQEAgLTU3LDExICs1OCwxMSBAQAogDQogICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGNhbGN1bGF0ZVZhbHVlKCl7DQogICAgIFQgb0luOw0KLSAgI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCisjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICBDSUVDX1VMSU5UIG9OOw0KLSAgICAjZWxzZQ0KKyNlbHNlIC8vIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgQ0lFQ19VRElOVCBvTjsNCi0gICNlbmRpZiAvLyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQorI2VuZGlmIC8vIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgb0luLnNhdmVBc3NpZ24oSU4oKSk7DQogICAgIG9OLnNhdmVBc3NpZ24oTigpKTsNCiAgICAgT1VUKCkuc2F2ZUFzc2lnbihST1Iob0luLCBvTikpOw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1NITC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9TSEwuY3BwCmluZGV4IDc2ODc1ZTAuLmVhMWU0Y2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1NITC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfU0hMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9TSEwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1NITC5oCmluZGV4IGI5Y2Q3ZGMuLjY3YzJkODMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1NITC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1NITC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIC0yMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpAQCAtNTYsMTEgKzU3LDExIEBACiANCiAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgY2FsY3VsYXRlVmFsdWUoKXsNCiAgICAgVCBvSW47DQotICAjaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KKyNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQogICAgICAgQ0lFQ19VTElOVCBvTjsNCi0gICAgI2Vsc2UNCisjZWxzZSAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgICBDSUVDX1VESU5UIG9OOw0KLSAgICAjZW5kaWYgLy8jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KKyNlbmRpZiAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgb0luLnNhdmVBc3NpZ24oSU4oKSk7DQogICAgIG9OLnNhdmVBc3NpZ24oTigpKTsNCiAgICAgT1VUKCkuc2F2ZUFzc2lnbihTSEwob0luLCBvTikpOw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1NIUi5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9TSFIuY3BwCmluZGV4IDEzMWJlM2EuLjVkODgyYzkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1NIUi5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfU0hSLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1NIUi5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfU0hSLmgKaW5kZXggZDhiYTg1Mi4uMjZjM2U5YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfU0hSLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfU0hSLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCkBAIC01NywxMSArNTgsMTEgQEAKIA0KICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBjYWxjdWxhdGVWYWx1ZSgpew0KICAgICBUIG9JbjsNCi0gICNpZmRlZiBGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTDQorI2lmZGVmIEZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgICBDSUVDX1VMSU5UIG9OOw0KLSAgICAjZWxzZQ0KKyNlbHNlIC8vRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KICAgICAgIENJRUNfVURJTlQgb047DQotICAjZW5kaWYgLy8jaWZkZWYgRk9SVEVfVVNFXzY0QklUX0RBVEFUWVBFUw0KKyNlbmRpZiAvL0ZPUlRFX1VTRV82NEJJVF9EQVRBVFlQRVMNCiAgICAgb0luLnNhdmVBc3NpZ24oSU4oKSk7DQogICAgIG9OLnNhdmVBc3NpZ24oTigpKTsNCiAgICAgT1VUKCkuc2F2ZUFzc2lnbihTSFIob0luLCBvTikpOw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1hPUi5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvRl9YT1IuY3BwCmluZGV4IDBhMDNjNmUuLjZiN2E0NDggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1hPUi5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfWE9SLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwgSW5nbyBIZW5neQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9GX1hPUi5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfWE9SLmgKaW5kZXggZDY5ZGI5NC4uNTY2MTIzOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfWE9SLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0ZfWE9SLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0dFTl9BTkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0dFTl9BTkQuY3BwCmluZGV4IGZiMjRhOTIuLmM1NDA2NDcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fQU5ELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvR0VOX0FORC5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXR0aGlhcyBQbGFzY2gsIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvR0VOX0FORC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0dFTl9BTkQuaAppbmRleCBiZWZiMzgwLi4zN2ZlZDFmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvR0VOX0FORC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fQU5ELmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgKICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWF0dGhpYXMgUGxhc2NoCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvR0VOX09SLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fT1IuY3BwCmluZGV4IDE4NWY2YzcuLjlhMjcwNmEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fT1IuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fT1IuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWF0dGhpYXMgUGxhc2NoLCBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0dFTl9PUi5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0dFTl9PUi5oCmluZGV4IGZlNWI2OTMuLjVhMTZhN2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fT1IuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvR0VOX09SLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgKICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWF0dGhpYXMgUGxhc2NoCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvR0VOX1hPUi5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvR0VOX1hPUi5jcHAKaW5kZXggZjY3YjA2OS4uY2UyMzBmMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0dFTl9YT1IuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fWE9SLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgQWxvaXMgWm9pdGwKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fWE9SLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvR0VOX1hPUi5oCmluZGV4IDIyMjgyYjYuLjI4NDRkNzkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9HRU5fWE9SLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL0dFTl9YT1IuaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNCBQcm9mYWN0b3IgR21iSAogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXR0aGlhcyBQbGFzY2gKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9nZW5iaXRiYXNlLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9nZW5iaXRiYXNlLmNwcAppbmRleCBhMzlhOGFhLi5iODk4NjQyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvZ2VuYml0YmFzZS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL2dlbmJpdGJhc2UuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKTIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKICAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9nZW5iaXRiYXNlLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0JpdHdpc2VPcGVyYXRvcnMvZ2VuYml0YmFzZS5oCmluZGV4IDczNThhYmIuLjdlODQ2MTAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQml0d2lzZU9wZXJhdG9ycy9nZW5iaXRiYXNlLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9CaXR3aXNlT3BlcmF0b3JzL2dlbmJpdGJhc2UuaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CiAgKgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DTWFrZUxpc3RzLnR4dAppbmRleCBjODA4NTc3Li4wOWQ0ZWI0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCisjIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvQ01ha2VMaXN0cy50eHQKaW5kZXggOGRmZmU1Ny4uOTJhZmQ4YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyDQorIyBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlcg0KICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0NPTkNBVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0NPTkNBVC5jcHAKaW5kZXggNGZjMjQ1YS4uYmJkMjFmZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9DT05DQVQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfQ09OQ0FULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfQ09OQ0FULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0NPTkNBVC5oCmluZGV4IGVmMDU1MGQuLjc4YWU3MTAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfQ09OQ0FULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9DT05DQVQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfQ09OQ0FUX0RBVEVfVE9ELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfQ09OQ0FUX0RBVEVfVE9ELmNwcAppbmRleCAwZThlNDlkLi44NDc1YTdjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0NPTkNBVF9EQVRFX1RPRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9DT05DQVRfREFURV9UT0QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9DT05DQVRfREFURV9UT0QuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfQ09OQ0FUX0RBVEVfVE9ELmgKaW5kZXggOTljNGM1My4uN2Q2MjljZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9DT05DQVRfREFURV9UT0QuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0NPTkNBVF9EQVRFX1RPRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9ERUxFVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9ERUxFVEUuY3BwCmluZGV4IGJmNTNiZmMuLjUyYWUxYjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfREVMRVRFLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0RFTEVURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0RFTEVURS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9ERUxFVEUuaAppbmRleCBhMDM3MjE0Li4wOWJlMjdmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0RFTEVURS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfREVMRVRFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0ZJTkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9GSU5ELmNwcAppbmRleCA3ZjRiZTBiLi41NzJjMDAxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0ZJTkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfRklORC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMsIDIwMTggQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0ZJTkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfRklORC5oCmluZGV4IDVlOWZlMWQuLmQ3NTljN2IgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfRklORC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfRklORC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE4IEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfSU5TRVJULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfSU5TRVJULmNwcAppbmRleCBiMzc1Zjg2Li44ZWNmZGEyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0lOU0VSVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9JTlNFUlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9JTlNFUlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfSU5TRVJULmgKaW5kZXggYzVlOWYwMC4uNmI3ZTFkMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9JTlNFUlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0lOU0VSVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9MRUZULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfTEVGVC5jcHAKaW5kZXggM2NlNWZmNC4uZTYzNDU4YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9MRUZULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0xFRlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9MRUZULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0xFRlQuaAppbmRleCBkOWYyZTE0Li40OTJkYmRkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0xFRlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0xFRlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfTEVOLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfTEVOLmNwcAppbmRleCA5ZjQ3YmQwLi43YmNkYWE0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0xFTi5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9MRU4uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9MRU4uaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfTEVOLmgKaW5kZXggMjcyOTVhMC4uOGZmZWIwNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9MRU4uaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX0xFTi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9NSUQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9NSUQuY3BwCmluZGV4IDU2MjdiY2IuLjE2ZTVlZTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfTUlELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX01JRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX01JRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9NSUQuaAppbmRleCAwNjRkMzJiLi4wYjdjZTIwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX01JRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfTUlELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX1JFUExBQ0UuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9SRVBMQUNFLmNwcAppbmRleCBlNGU3MmFiLi4zN2VhZjVlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX1JFUExBQ0UuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfUkVQTEFDRS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX1JFUExBQ0UuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfUkVQTEFDRS5oCmluZGV4IDRiYTJhMmQuLjkzZTNjZjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfUkVQTEFDRS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfUkVQTEFDRS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9SSUdIVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX1JJR0hULmNwcAppbmRleCAwM2UyYmVjLi40MmU4OTJkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX1JJR0hULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX1JJR0hULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfUklHSFQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ2hhcmFjdGVyU3RyaW5nL0ZfUklHSFQuaAppbmRleCA2M2MwNjVkLi5kOTAyMWMyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NoYXJhY3RlclN0cmluZy9GX1JJR0hULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9DaGFyYWN0ZXJTdHJpbmcvRl9SSUdIVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0NNYWtlTGlzdHMudHh0CmluZGV4IDc2MjYxZDEuLjY2ZGQyY2QgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bA0KKyMgQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0VRLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0VRLmNwcAppbmRleCBhNjA4MzdkLi45MTUzZjljIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9FUS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfRVEuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfRVEuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0VRLmgKaW5kZXggOWFkNWNmZi4uODQ1ZDVjYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfRVEuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9FUS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxOSBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0dFLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0dFLmNwcAppbmRleCA1ZjM4ZDQyLi5kZTcxNjliIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9HRS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfR0UuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfR0UuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0dFLmgKaW5kZXggYmNlODEwYS4uMWIzNmVjNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfR0UuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9HRS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfR1QuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfR1QuY3BwCmluZGV4IDM1NTYxOTcuLjE4ODNlNjAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0dULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9HVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0dULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9HVC5oCmluZGV4IGEzZGFiMWUuLjM5Y2M5NjUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0dULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfR1QuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBNYXR0aGlhcyBQbGFzY2gsIEdlcmhhcmQgRWJlbmhvZmVyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfTEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfTEUuY3BwCmluZGV4IGU1YjdlYzYuLmQ2ZmQ4YWUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0xFLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9MRS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9MRS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfTEUuaAppbmRleCA0MTBiNWQwLi42MDZhODYzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9MRS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0xFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9MVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9MVC5jcHAKaW5kZXggYTRkNmE1ZC4uNTgyYWYxNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfTFQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0xULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0xULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9MVC5oCmluZGV4IGUxNjBlYWEuLjVhMjgxNDcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX0xULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfTFQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX05FLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX05FLmNwcAppbmRleCAxOGE0NTMyLi43ZDY3NzY0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9ORS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfTkUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfTkUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi9GX05FLmgKaW5kZXggN2I3YzhiYS4uYzdiODdmYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL0ZfTkUuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vRl9ORS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE5IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vdGVzdHMvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vdGVzdHMvQ01ha2VMaXN0cy50eHQKaW5kZXggMzdlOTMyMS4uZDg2MTE4NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL3Rlc3RzL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi90ZXN0cy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSA0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgQWxvaXMgWm9pdGwNCisjIENvcHlyaWdodCAoYykgMjAxMyBmb3J0aXNzIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi90ZXN0cy9GX0VRX1RJTUVfdGVzdGVyLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi90ZXN0cy9GX0VRX1RJTUVfdGVzdGVyLmNwcAppbmRleCA5OTczNTI0Li40OTIxMGM3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vdGVzdHMvRl9FUV9USU1FX3Rlc3Rlci5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL3Rlc3RzL0ZfRVFfVElNRV90ZXN0ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIC0gMjAxNCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bA0KQEAgLTM5LDI1ICs0MCwyNSBAQAogICB0cmlnZ2VyRXZlbnQoMCk7DQogDQogICAvL1Rlc3QgY29ycmVjdCBvcmRlciBvZiBvdXRnb2luZyBldmVudHMNCi0gIGlmKHB1bGxGaXJzdENoYWluRXZlbnRJRCgpICE9IDApDQorICBpZihwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKSAhPSAwKSB7DQogICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0NCisgIH0NCiAgIC8vVGVzdCBpZiBldmVudCBjaGFpbiBpcyBlbXB0eQ0KLSAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKQ0KKyAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKSB7DQogICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0NCisgIH0NCiAgIC8vdmVyaWZ5IGRhdGEgb3V0cHV0IGFzIGJvdGggYXJlIHplcm8gdGhlIHZhbHVlIHZhbHVlIHNob3VsZCBiZSB0cnVlDQotICBpZihtX29PdXRfT1VUICE9IHRydWUpDQorICBpZihtX29PdXRfT1VUICE9IHRydWUpIHsNCiAgICAgYlJlc3VsdCA9IGZhbHNlOw0KLQ0KKyAgfQ0KICAgbV9vSU4xLmZyb21TdHJpbmcoIlQjNTAwbXMiKTsNCiAgIG1fb0lOMi5mcm9tU3RyaW5nKCJUIzUwMG1zIik7DQogDQogICB0cmlnZ2VyRXZlbnQoMCk7DQogDQotICBpZihtX29PdXRfT1VUICE9IHRydWUpDQorICBpZihtX29PdXRfT1VUICE9IHRydWUpIHsNCiAgICAgYlJlc3VsdCA9IGZhbHNlOw0KLQ0KKyAgfQ0KICAgcmV0dXJuIGJSZXN1bHQ7DQogfQ0KIA0KQEAgLTY5LDkgKzcwLDkgQEAKIA0KICAgdHJpZ2dlckV2ZW50KDApOw0KIA0KLSAgaWYobV9vT3V0X09VVCAhPSBmYWxzZSkNCisgIGlmKG1fb091dF9PVVQgIT0gZmFsc2UpIHsNCiAgICAgYlJlc3VsdCA9IGZhbHNlOw0KLQ0KKyAgfQ0KICAgcmV0dXJuIGJSZXN1bHQ7DQogfQ0KIA0KQEAgLTgzLDggKzg0LDggQEAKIA0KICAgdHJpZ2dlckV2ZW50KDApOw0KIA0KLSAgaWYobV9vT3V0X09VVCAhPSBmYWxzZSkNCisgIGlmKG1fb091dF9PVVQgIT0gZmFsc2UpIHsNCiAgICAgYlJlc3VsdCA9IGZhbHNlOw0KLQ0KKyAgfQ0KICAgcmV0dXJuIGJSZXN1bHQ7DQogfQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi90ZXN0cy9GX0VRX1RJTUVfdGVzdGVyLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vdGVzdHMvRl9FUV9USU1FX3Rlc3Rlci5oCmluZGV4IDdmYWQzZWEuLmNkMTgzMzUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi90ZXN0cy9GX0VRX1RJTUVfdGVzdGVyLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL3Rlc3RzL0ZfRVFfVElNRV90ZXN0ZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi90ZXN0cy9GX0dUX1RJTUVfdGVzdGVyLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi90ZXN0cy9GX0dUX1RJTUVfdGVzdGVyLmNwcAppbmRleCAxNjg5ODBhLi42NTE4NTY3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vdGVzdHMvRl9HVF9USU1FX3Rlc3Rlci5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL3Rlc3RzL0ZfR1RfVElNRV90ZXN0ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIC0gMjAxNCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bA0KQEAgLTM5LDI1ICs0MCwyNSBAQAogICB0cmlnZ2VyRXZlbnQoMCk7DQogDQogICAvL1Rlc3QgY29ycmVjdCBvcmRlciBvZiBvdXRnb2luZyBldmVudHMNCi0gIGlmKHB1bGxGaXJzdENoYWluRXZlbnRJRCgpICE9IDApDQorICBpZihwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKSAhPSAwKSB7DQogICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0NCisgIH0NCiAgIC8vVGVzdCBpZiBldmVudCBjaGFpbiBpcyBlbXB0eQ0KLSAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKQ0KKyAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKSB7DQogICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0NCisgIH0NCiAgIC8vdmVyaWZ5IGRhdGEgb3V0cHV0IGFzIGJvdGggYXJlIHplcm8gdGhlIHZhbHVlIHZhbHVlIHNob3VsZCBiZSB0cnVlDQotICBpZihtX29PdXRfT1VUICE9IGZhbHNlKQ0KKyAgaWYobV9vT3V0X09VVCAhPSBmYWxzZSkgew0KICAgICBiUmVzdWx0ID0gZmFsc2U7DQotDQorICB9DQogICBtX29JTjEuZnJvbVN0cmluZygiVCM1MDBtcyIpOw0KICAgbV9vSU4yLmZyb21TdHJpbmcoIlQjNTAwbXMiKTsNCiANCiAgIHRyaWdnZXJFdmVudCgwKTsNCiANCi0gIGlmKG1fb091dF9PVVQgIT0gZmFsc2UpDQorICBpZihtX29PdXRfT1VUICE9IGZhbHNlKSB7DQogICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0NCisgIH0NCiAgIHJldHVybiBiUmVzdWx0Ow0KIH0NCiANCkBAIC02OSw5ICs3MCw5IEBACiANCiAgIHRyaWdnZXJFdmVudCgwKTsNCiANCi0gIGlmKG1fb091dF9PVVQgIT0gdHJ1ZSkNCisgIGlmKG1fb091dF9PVVQgIT0gdHJ1ZSkgew0KICAgICBiUmVzdWx0ID0gZmFsc2U7DQotDQorICB9DQogICByZXR1cm4gYlJlc3VsdDsNCiB9DQogDQpAQCAtODMsOCArODQsOCBAQAogDQogICB0cmlnZ2VyRXZlbnQoMCk7DQogDQotICBpZihtX29PdXRfT1VUICE9IGZhbHNlKQ0KKyAgaWYobV9vT3V0X09VVCAhPSBmYWxzZSkgew0KICAgICBiUmVzdWx0ID0gZmFsc2U7DQotDQorICB9DQogICByZXR1cm4gYlJlc3VsdDsNCiB9DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL3Rlc3RzL0ZfR1RfVElNRV90ZXN0ZXIuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29tcGFyaXNvbi90ZXN0cy9GX0dUX1RJTUVfdGVzdGVyLmgKaW5kZXggOTMyOGJkZi4uMGVmNDU3NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db21wYXJpc29uL3Rlc3RzL0ZfR1RfVElNRV90ZXN0ZXIuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbXBhcmlzb24vdGVzdHMvRl9HVF9USU1FX3Rlc3Rlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvQ01ha2VMaXN0cy50eHQKaW5kZXggZjc2YWI1ZC4uY2MzZTM4NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlcg0KKyMgQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXINCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0JZVEVfQkNEX1RPX1VTSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9CWVRFX0JDRF9UT19VU0lOVC5jcHAKaW5kZXggYTZkNTg3YS4uZGMwM2U3MCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0JZVEVfQkNEX1RPX1VTSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfQllURV9CQ0RfVE9fVVNJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0JZVEVfQkNEX1RPX1VTSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfQllURV9CQ0RfVE9fVVNJTlQuaAppbmRleCA5ZTkwNDVkLi5mMzRkZjgxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfQllURV9CQ0RfVE9fVVNJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfQllURV9CQ0RfVE9fVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9EV09SRF9CQ0RfVE9fVURJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0RXT1JEX0JDRF9UT19VRElOVC5jcHAKaW5kZXggNTYwOTQ3Mi4uNDBhZjIxNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0RXT1JEX0JDRF9UT19VRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0RXT1JEX0JDRF9UT19VRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfRFdPUkRfQkNEX1RPX1VESU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfRFdPUkRfQkNEX1RPX1VESU5ULmgKaW5kZXggMWQ2MmFlMy4uYjcyZTNkMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0RXT1JEX0JDRF9UT19VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9EV09SRF9CQ0RfVE9fVURJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9MV09SRF9CQ0RfVE9fVUxJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0xXT1JEX0JDRF9UT19VTElOVC5jcHAKaW5kZXggODE4ZGU1Yi4uNjhjZTFhNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0xXT1JEX0JDRF9UT19VTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0xXT1JEX0JDRF9UT19VTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfTFdPUkRfQkNEX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfTFdPUkRfQkNEX1RPX1VMSU5ULmgKaW5kZXggNDNkZWY3My4uZTcyY2I5MCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX0xXT1JEX0JDRF9UT19VTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9MV09SRF9CQ0RfVE9fVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9VRElOVF9UT19CQ0RfRFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VESU5UX1RPX0JDRF9EV09SRC5jcHAKaW5kZXggNTY0YWI2ZS4uNzFkNzA3MiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VESU5UX1RPX0JDRF9EV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VESU5UX1RPX0JDRF9EV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVURJTlRfVE9fQkNEX0RXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVURJTlRfVE9fQkNEX0RXT1JELmgKaW5kZXggNzQ5MmIxZS4uZjM0YTc4NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VESU5UX1RPX0JDRF9EV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9VRElOVF9UT19CQ0RfRFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9VSU5UX1RPX0JDRF9XT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9VSU5UX1RPX0JDRF9XT1JELmNwcAppbmRleCBhZTJkNmRlLi5mMjFkMzc3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVUlOVF9UT19CQ0RfV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VJTlRfVE9fQkNEX1dPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VJTlRfVE9fQkNEX1dPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9VSU5UX1RPX0JDRF9XT1JELmgKaW5kZXggNTRlZDc1Yi4uN2ZmZTliMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VJTlRfVE9fQkNEX1dPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVUlOVF9UT19CQ0RfV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VMSU5UX1RPX0JDRF9MV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVUxJTlRfVE9fQkNEX0xXT1JELmNwcAppbmRleCA5MjEyM2Q5Li43ZTBhZmQ0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVUxJTlRfVE9fQkNEX0xXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVUxJTlRfVE9fQkNEX0xXT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9VTElOVF9UT19CQ0RfTFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9VTElOVF9UT19CQ0RfTFdPUkQuaAppbmRleCAyZGIwNDJmLi44YmI2ZDYyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVUxJTlRfVE9fQkNEX0xXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VMSU5UX1RPX0JDRF9MV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VTSU5UX1RPX0JDRF9CWVRFLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9VU0lOVF9UT19CQ0RfQllURS5jcHAKaW5kZXggZjBhNmMxMy4uYjE5ZjMxYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VTSU5UX1RPX0JDRF9CWVRFLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVVNJTlRfVE9fQkNEX0JZVEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1VTSU5UX1RPX0JDRF9CWVRFLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVVNJTlRfVE9fQkNEX0JZVEUuaAppbmRleCBlOTRmZTMzLi4xNzBjMGM3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVVNJTlRfVE9fQkNEX0JZVEUuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfVVNJTlRfVE9fQkNEX0JZVEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9XT1JEX0JDRF9UT19VSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9XT1JEX0JDRF9UT19VSU5ULmNwcAppbmRleCAwYjYyYWY3Li5lYWEyNWU0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfV09SRF9CQ0RfVE9fVUlOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1dPUkRfQkNEX1RPX1VJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1dPUkRfQkNEX1RPX1VJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CQ0QvRl9XT1JEX0JDRF9UT19VSU5ULmgKaW5kZXggOTNhZTVhZi4uNzY5NzVjOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JDRC9GX1dPUkRfQkNEX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQkNEL0ZfV09SRF9CQ0RfVE9fVUlOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9DTWFrZUxpc3RzLnR4dAppbmRleCA4ZGFhMGJkLi4wYTM0MTMzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCAyMDE4IFRVIFZpZW5uYS9BQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIDIwMTggVFUgVmllbm5hL0FDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXINCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBSZW1vdmVzIGludmFsaWQgY2FzdHMNCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0JZVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0JZVEUuY3BwCmluZGV4IDZmMjNhNDEuLmY0YzgyOGQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19CWVRFLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fQllURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19CWVRFLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fQllURS5oCmluZGV4IDc0MWUyMGUuLjE0YjEwNmMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19CWVRFLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0JZVEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19ESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19ESU5ULmNwcAppbmRleCA4YmUyNjczLi5iNWNiNjA3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0RJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0RJTlQuaAppbmRleCBjYmRhZDk3Li5mMWExMjNmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19ESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fRFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0RXT1JELmNwcAppbmRleCBhY2I4ODIwLi4zY2VhODdlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fRFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19EV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19EV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0RXT1JELmgKaW5kZXggMDFiOWZiMy4uYTdlYjhmNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0RXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0RXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19JTlQuY3BwCmluZGV4IGY0YmExN2EuLmNhYmYwZWYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19JTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19JTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fSU5ULmgKaW5kZXggYWQyYmY4NS4uZWViZmE2YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19JTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19MSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19MSU5ULmNwcAppbmRleCBmNzliZGNlLi5hN2U3YmIyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0xJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0xJTlQuaAppbmRleCAxZDgxNWYwLi5mODA4YWNiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19MSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fTFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0xXT1JELmNwcAppbmRleCBkOTFkZDA4Li4xZDRmYTYxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fTFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19MV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19MV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0xXT1JELmgKaW5kZXggMmYxNTNhMi4uMjgyZTZlMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0xXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX0xXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fU0lOVC5jcHAKaW5kZXggOTFjYzY5OC4uNDYxY2NmMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1NJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19TSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1NJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19TSU5ULmgKaW5kZXggOTExMTFiYy4uM2I1YWViZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fU1RSSU5HLmNwcAppbmRleCA3ZjE4NTQzLi4xYjFkNDg0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1NUUklORy5oCmluZGV4IDJhNDEzYzguLmMwODE5OGYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19TVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVURJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VESU5ULmNwcAppbmRleCAyNzk4MGQ0Li40MzJjNWJkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19VRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19VRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VESU5ULmgKaW5kZXggNmQ2OTMwOC4uZTg0ZmNlYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVUlOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVUlOVC5jcHAKaW5kZXggODFlMTU1MC4uZmRmNjQ1NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19VSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19VSU5ULmgKaW5kZXggMGEzZjFjZC4uNjUzOGYwMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVUlOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19VTElOVC5jcHAKaW5kZXggOGMzMWI2Ni4uNzkyZGYwMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VMSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVUxJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVUxJTlQuaAppbmRleCA1MWQzOGI3Li40NDVhYzM5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19VU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVVNJTlQuY3BwCmluZGV4IDZmYzI2YjguLmZmYjBkODIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19VU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VTSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1VTSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVVNJTlQuaAppbmRleCBhY2U3Nzc1Li42NjRkZTVmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVVNJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19XT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19XT1JELmNwcAppbmRleCBhZjVhNTk4Li40MzI5NzIwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1dPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1dPUkQuaAppbmRleCA2MTk2OWY2Li4zYzYwMTJhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19XT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fV1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fV1NUUklORy5jcHAKaW5kZXggMGU1NDBhNy4uN2JhNDgwZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19XU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19XU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQk9PTC9GX0JPT0xfVE9fV1NUUklORy5oCmluZGV4IDRiYTI2NWMuLmVjYWIwOWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CT09ML0ZfQk9PTF9UT19XU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JPT0wvRl9CT09MX1RPX1dTVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTk0ZWJlNC4uYTcxNzNhNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIDIwMTggVFUgVmllbm5hL0FDSU4NCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaA0KKyMgQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gcmVtb3ZpbmcgaWxsZWdhbCBjYXN0cw0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fRElOVC5jcHAKaW5kZXggNTI3N2ZlMi4uMGI2ODc5NyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0RJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0RJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19ESU5ULmgKaW5kZXggMmVhMzIyNC4uNzY0NTA4YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0RXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19EV09SRC5jcHAKaW5kZXggMTE2NDk3Yy4uNzViYTE3OSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0RXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fRFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19EV09SRC5oCmluZGV4IDRkNThjOGUuLjM1NzQ0MTggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19EV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fSU5ULmNwcAppbmRleCBmNTVkMjk0Li5hMmQ1NTU2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0lOVC5oCmluZGV4IGJiZWNmZDQuLjYyYjdmZGUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19JTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fTElOVC5jcHAKaW5kZXggZGJkOTY2My4uNzg0YjJkZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0xJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19MSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0xJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19MSU5ULmgKaW5kZXggMWZiNmYwYi4uYzk0MDdhMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0xJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0xXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19MV09SRC5jcHAKaW5kZXggMDA2M2IzNi4uMTU4ZmMxZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX0xXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fTFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fTFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19MV09SRC5oCmluZGV4IGQ3ODE0OTguLjMxMmM2YzkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19MV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19MV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1NJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1NJTlQuY3BwCmluZGV4IDQ5MDNlOWQuLmJlYmE3NjIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19TSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fU0lOVC5oCmluZGV4IDU5OWQ5NmUuLjYyMTc3ZTAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19TSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1NJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19TVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1NUUklORy5jcHAKaW5kZXggOTU2YTExMS4uNzQyZmU4OSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19TVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19TVFJJTkcuaAppbmRleCA5NTc0MzQ3Li4yYzk4MjZkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VRElOVC5jcHAKaW5kZXggNjQ4NjYwNC4uMmYwZTgwMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVURJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVURJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VRElOVC5oCmluZGV4IDliYjg1NzguLjY4ZmNhOWQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VJTlQuY3BwCmluZGV4IGFmMGNmYWMuLjlmMGYyNmEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVUlOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVUlOVC5oCmluZGV4IDAwZjRmNGIuLjc1ZDY3YjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVUxJTlQuY3BwCmluZGV4IDdkOGEyMWIuLjZhYjk1YTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VMSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVUxJTlQuaAppbmRleCBmN2QyMGNkLi5jMzZjNTYzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVVNJTlQuY3BwCmluZGV4IDBlMmJmZWUuLmQzNTJiOWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19VU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VTSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1VTSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVVNJTlQuaAppbmRleCA5MTVlNjA5Li5iZTcwMzNjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVVNJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19XT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19XT1JELmNwcAppbmRleCBmOGY2M2I2Li4xY2MzNTkxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1dPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1dPUkQuaAppbmRleCBmNjBhMGY2Li4xMzEwNTdhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19XT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fV1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fV1NUUklORy5jcHAKaW5kZXggNGEzNDM4Mi4uZjFjYTdjZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19XU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19XU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQllURS9GX0JZVEVfVE9fV1NUUklORy5oCmluZGV4IDcxYWEwNjEuLjRhYmFlMGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9CWVRFL0ZfQllURV9UT19XU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0JZVEUvRl9CWVRFX1RPX1dTVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9DTWFrZUxpc3RzLnR4dAppbmRleCBmNjgyNTUzLi5hYmZlOGE4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIFByb2ZhY29yIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaA0KKyMgQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBQcm9mYWNvciBHbWJIDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9DTWFrZUxpc3RzLnR4dAppbmRleCA0Mjk0NDk3Li5jNTlhMWY0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19CWVRFLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19CWVRFLmNwcAppbmRleCA1M2UyMWY2Li5jZTFkYjJkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0JZVEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fQllURS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0JZVEUuaAppbmRleCBiY2MwNjA5Li5jNjI1N2ViIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fQllURS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19CWVRFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fRFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0RXT1JELmNwcAppbmRleCBmMmIxZjMyLi5lM2IyMDA4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fRFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19EV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19EV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0RXT1JELmgKaW5kZXggNWZmMWU3Mi4uYTk1Y2YzYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0RXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0RXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19JTlQuY3BwCmluZGV4IGQyYWZiOTcuLjgwNTc5YTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19JTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19JTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fSU5ULmgKaW5kZXggMTYwZTNlNy4uYzFjNGVjNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19JTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19MSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19MSU5ULmNwcAppbmRleCA0YjFhMTcwLi41MDEwMTdmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xJTlQuaAppbmRleCA3YzI2Nzg3Li4xNTBjZTk2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19MSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fTFJFQUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xSRUFMLmNwcAppbmRleCBjYjNjZTk0Li43MDAwZTczIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fTFJFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19MUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19MUkVBTC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xSRUFMLmgKaW5kZXggZTU0N2QzMS4uNjUxMjZkNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xSRUFMLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xSRUFMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fTFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xXT1JELmNwcAppbmRleCA4YTgxMmM2Li43Y2QzOTczIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fTFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19MV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19MV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xXT1JELmgKaW5kZXggNWFjNmUzZC4uZjZlYjMwZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX0xXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fUkVBTC5jcHAKaW5kZXggMjdlMWRjOS4uNGNmZTgxMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1JFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19SRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1JFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19SRUFMLmgKaW5kZXggM2E3ODVmNy4uYTRlNmYyMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1JFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1NJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1NJTlQuY3BwCmluZGV4IDM3OGFkMzkuLjJlODJhMjAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19TSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fU0lOVC5oCmluZGV4IGM3NmFiYzguLjQ1ZTQ4MzMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19TSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1NJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19TVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1NUUklORy5jcHAKaW5kZXggMzY4OWUzYy4uYWUxNWQ0ZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19TVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19TVFJJTkcuaAppbmRleCA2OGNiZmM5Li4yNjg3OGU4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VRElOVC5jcHAKaW5kZXggNjFjZTI1ZC4uMGIwM2QwNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVURJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVURJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VRElOVC5oCmluZGV4IDM1MzY2OTcuLjM1ZmVjNTMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VJTlQuY3BwCmluZGV4IDMwNGY4NTEuLjVmMTMxZTMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVUlOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVUlOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VJTlQuaAppbmRleCA3OTMwMDU5Li5kNWI3MGZlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVUlOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVUxJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VMSU5ULmNwcAppbmRleCBiMDE0Nzk4Li45MjI1YjM2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVUxJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VMSU5ULmgKaW5kZXggZWQ2ZjIxYS4uYmJlZDAyYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VMSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VMSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVVNJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VTSU5ULmNwcAppbmRleCA3MDZmMjZiLi45NGFkZjY3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fVVNJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19VU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VTSU5ULmgKaW5kZXggZTM5NDdhNi4uNWYyMDZjZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VTSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1VTSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fV09SRC5jcHAKaW5kZXggYWZjYTY0Ni4uODM0YjM4ZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1dPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19XT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1dPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19XT1JELmgKaW5kZXggYzJmNmEzMy4uOTM4ZjA0MCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1dPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1dTVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1dTVFJJTkcuY3BwCmluZGV4IDYzOWJmZDEuLjU0NDQ2YjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19XU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fV1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fV1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RJTlQvRl9ESU5UX1RPX1dTVFJJTkcuaAppbmRleCA2ZTI5NTQ2Li5lMWEyODcxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRElOVC9GX0RJTlRfVE9fV1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9ESU5UL0ZfRElOVF9UT19XU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFQvQ01ha2VMaXN0cy50eHQKaW5kZXggMjMyMzUzMS4uYTYzZGYyOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EVC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXINCisjIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EVC9GX0RUX1RPX0RBVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0ZfRFRfVE9fREFURS5jcHAKaW5kZXggOTE1NGIwNy4uOWNjYzljZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0ZfRFRfVE9fREFURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0ZfRFRfVE9fREFURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFQvRl9EVF9UT19EQVRFLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFQvRl9EVF9UT19EQVRFLmgKaW5kZXggOWQ1MjBkMS4uNmM1N2QzNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0ZfRFRfVE9fREFURS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EVC9GX0RUX1RPX0RBVEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EVC9GX0RUX1RPX1RPRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFQvRl9EVF9UT19UT0QuY3BwCmluZGV4IGZjMmE1YzEuLjM1MWU4OGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EVC9GX0RUX1RPX1RPRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0ZfRFRfVE9fVE9ELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EVC9GX0RUX1RPX1RPRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0ZfRFRfVE9fVE9ELmgKaW5kZXggMTQ5MWFmNS4uNDgzYzlkNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0ZfRFRfVE9fVE9ELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RUL0ZfRFRfVE9fVE9ELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvQ01ha2VMaXN0cy50eHQKaW5kZXggZmYwMjU1Ny4uZGZlOGRlOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJIDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0JZVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fQllURS5jcHAKaW5kZXggYzMwNGNkZi4uZjY1MjM0NyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fQllURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0JZVEUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0JZVEUuaAppbmRleCBlY2I3YzNjLi5jMTcyMjg3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19CWVRFLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fQllURS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19ESU5ULmNwcAppbmRleCAxYzZiMDYzLi4zNjQzZjkwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19ESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fRElOVC5oCmluZGV4IDk5ZjAzNTIuLjZlNDYwZDAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19ESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19JTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fSU5ULmNwcAppbmRleCBkOTdmMzg5Li42YzZkNjk5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19JTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fSU5ULmgKaW5kZXggNWE3Y2MyNC4uMDgwYTQwNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19MSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0xJTlQuY3BwCmluZGV4IDU2NGI0ZjcuLjE4ODdkZDMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0xJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0xJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19MSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19MSU5ULmgKaW5kZXggMDA5ZWQxZS4uODY3YWI4YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0xJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0xXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0xXT1JELmNwcAppbmRleCAyMjllZTFjLi44OTY5NWY0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19MV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fTFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19MV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fTFdPUkQuaAppbmRleCBmM2M4NmRkLi5jMGMyNTBmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19MV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX0xXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19SRUFMLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1JFQUwuY3BwCmluZGV4IDEwYzQ1ZjIuLmIyMjI4MzUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1JFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1JFQUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19SRUFMLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19SRUFMLmgKaW5kZXggMzJlNDg3NS4uNWMyYTc3NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fUkVBTC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1JFQUwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1NJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fU0lOVC5jcHAKaW5kZXggODEwYzNjYy4uYTI2YTM2YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1NJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1NJTlQuaAppbmRleCAyNDU0ZTU4Li5mZWExNGQ1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19TSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1NUUklORy5jcHAKaW5kZXggZmNjOGRhOS4uNDc5YTIyNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19TVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19TVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1NUUklORy5oCmluZGV4IDI1OWZmNTYuLjgwODNlNjMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVURJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVURJTlQuY3BwCmluZGV4IGFkMDU0ZGMuLjBlNWQ1MTUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19VRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VESU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19VRElOVC5oCmluZGV4IGMxZGEyOTMuLjlmNWQyYjUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVURJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVUlOVC5jcHAKaW5kZXggOWVhNGIyMi4uYzkzMDY1MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVUlOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVUlOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VJTlQuaAppbmRleCBjYzUzMzUxLi45Y2YxMmM0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19VSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVUlOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVUxJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVUxJTlQuY3BwCmluZGV4IDdjYzQ0NzEuLjcwM2RhYzcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VMSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19VTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19VTElOVC5oCmluZGV4IGQ4NWI1ZTEuLmU4ZGI0ZDggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VMSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VTSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VTSU5ULmNwcAppbmRleCA0Yzg0NjVjLi44Nzc0NTk1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19VU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVVNJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19VU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fVVNJTlQuaAppbmRleCBlZWNjMzBiLi5iZDJjMWU3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19VU0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1VTSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19XT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1dPUkQuY3BwCmluZGV4IGUzZjQ0MTkuLmYxZTQ5ZTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1dPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1dPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19XT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19XT1JELmgKaW5kZXggMDRiNmZiMy4uMzdkZTZkOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1dPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1dTVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fV1NUUklORy5jcHAKaW5kZXggOGVhOGQzOS4uMmJmZDRmMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fV1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fV1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19XU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vRFdPUkQvRl9EV09SRF9UT19XU1RSSU5HLmgKaW5kZXggZmRiZGFiYy4uODk5ZTM5YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0RXT1JEL0ZfRFdPUkRfVE9fV1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9EV09SRC9GX0RXT1JEX1RPX1dTVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0NNYWtlTGlzdHMudHh0CmluZGV4IDhiNzlhMTguLjI2YjExMTIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fQllURS5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0JZVEUuY3BwCmluZGV4IDAzYTUzNTYuLjNiY2JhYjUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19CWVRFLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19CWVRFLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0JZVEUuaAppbmRleCA2ZjA5Zjk3Li4wMjBiYTdlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0JZVEUuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0JZVEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0RJTlQuY3BwCmluZGV4IDc5MDVjNzcuLjQ4ZjI1YmEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19ESU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0RJTlQuaAppbmRleCA5N2I4YWQ4Li4wM2YwYzVlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0RJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fRFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19EV09SRC5jcHAKaW5kZXggYzcwODVhYS4uYzJjOTVjNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19EV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19EV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fRFdPUkQuaAppbmRleCBlZWI5N2U2Li40YjUzYWUzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0RXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19MSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTElOVC5jcHAKaW5kZXggOWNkMGM2Yy4uNzkzMWQxNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19MSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTElOVC5oCmluZGV4IDBlNmQ2YmMuLmMzNTQ2NDMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xSRUFMLmNwcAppbmRleCBjNTViZDE4Li40Y2ViYmU3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xSRUFMLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xSRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19MUkVBTC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19MUkVBTC5oCmluZGV4IGFlZWM5NGEuLmVhZWM4N2QgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTFJFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xSRUFMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTFdPUkQuY3BwCmluZGV4IDNkMjZkMjMuLjI4ZTBjYzAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX0xXT1JELmgKaW5kZXggYmNlOWRhZi4uODEwYWM5ZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19MV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fTFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1JFQUwuY3BwCmluZGV4IDM0NDVhOTcuLmRiMmQ3MWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fUkVBTC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19SRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19SRUFMLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1JFQUwuaAppbmRleCBiMmMxZDkxLi44MDRmYzQ3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1JFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1JFQUwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1NJTlQuY3BwCmluZGV4IGE1NjEyZjUuLmZlZmQyMTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19TSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19TSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1NJTlQuaAppbmRleCBhMTVmN2M1Li5mZjIyOWE5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1NJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fU1RSSU5HLmNwcAppbmRleCBiODY5ZTVkLi4xNDg5ZDA5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19TVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19TVFJJTkcuaAppbmRleCBjMzJmODc2Li45OTViZjc0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVURJTlQuY3BwCmluZGV4IDI0YmRlZDYuLjUwODIzZTYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVURJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VESU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VESU5ULmgKaW5kZXggMjJlZmViZi4uMzNlNzI0NSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVURJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVUlOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VJTlQuY3BwCmluZGV4IDE0YTcxNzMuLmMyZmY5ZDggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVUlOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VJTlQuaAppbmRleCBmMTI1NzJmLi5hYjUwZDYzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVUxJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VTElOVC5jcHAKaW5kZXggNDExNzdmYS4uNzQ3Mzc0NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVUxJTlQuaAppbmRleCAyNmY5ODBjLi4wZjUxYWE0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VMSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VTSU5ULmNwcAppbmRleCBjZGViMGU2Li5kMzgxYmU2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VTSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VTSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19VU0lOVC5oCmluZGV4IGJjYWYxZWEuLmFmODAxMWYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fVVNJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1VTSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1dPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19XT1JELmNwcAppbmRleCBmYjdhYTgwLi45ODJhZGQ2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1dPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19XT1JELmgKaW5kZXggNGNlMGE5My4uOTIzYmFlMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19XT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19XT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1dTVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0lOVC9GX0lOVF9UT19XU1RSSU5HLmNwcAppbmRleCA5ZWFiYmY0Li5jNzZlMGUzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fV1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vSU5UL0ZfSU5UX1RPX1dTVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fV1NUUklORy5oCmluZGV4IDg4MDdmZDcuLmU2NzliMzQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fV1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9JTlQvRl9JTlRfVE9fV1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9DTWFrZUxpc3RzLnR4dAppbmRleCAxODZlYjVhLi4xZDI3NTUxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJIDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19CWVRFLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19CWVRFLmNwcAppbmRleCAwYjIyNzQ1Li43YzMzYWYyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0JZVEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fQllURS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0JZVEUuaAppbmRleCAwMWZiZDk0Li5kNDk4NTNhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fQllURS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19CWVRFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fRElOVC5jcHAKaW5kZXggZDJmM2I3NS4uMjEyY2E3MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0RJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0RJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19ESU5ULmgKaW5kZXggMzE0YTU1MC4uNmFiOTczYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0RXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19EV09SRC5jcHAKaW5kZXggMWRkNzYyZi4uZWE3MDYyZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0RXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fRFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19EV09SRC5oCmluZGV4IGVkOGQyYjYuLjQ3MWZmZjIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19EV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fSU5ULmNwcAppbmRleCA3YzA5YWY4Li5kY2NlYzA0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0lOVC5oCmluZGV4IDMxNjQ0N2MuLmZkNzdjZTEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19JTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fTFJFQUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0xSRUFMLmNwcAppbmRleCA4M2U1YjMwLi40ODAxNjE0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fTFJFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19MUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19MUkVBTC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0xSRUFMLmgKaW5kZXggZTRjYjEwYy4uNzQ1ODAwZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0xSRUFMLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0xSRUFMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fTFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0xXT1JELmNwcAppbmRleCA3MjBiMWYzLi5iNTVkYjgwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fTFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19MV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19MV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0xXT1JELmgKaW5kZXggZmExMzNkYi4uMjM4Yjc2MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0xXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX0xXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fUkVBTC5jcHAKaW5kZXggZWJhM2VkYy4uZWQ5NDI1ZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1JFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19SRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1JFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19SRUFMLmgKaW5kZXggYTI3YWYzNi4uMjM5NDkxOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1JFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1NJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1NJTlQuY3BwCmluZGV4IGVhNjUwZjcuLjViMTBiNDMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19TSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fU0lOVC5oCmluZGV4IGU1ZDhlNDUuLmEwNWNjM2IgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19TSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1NJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19TVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1NUUklORy5jcHAKaW5kZXggYzhjOThlMS4uODRkNzA5MiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19TVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19TVFJJTkcuaAppbmRleCAxOGJmZDljLi5mZmE0MzIwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VRElOVC5jcHAKaW5kZXggNTBmNDFmZS4uOTUzZjgwMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVURJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVURJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VRElOVC5oCmluZGV4IDQ0MjhlOGIuLmE5MDgyYjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VJTlQuY3BwCmluZGV4IGE0ZDc1NzUuLjliYWU0ZjIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVUlOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVUlOVC5oCmluZGV4IDhkNTA0YTMuLjZiYmExMzAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVUxJTlQuY3BwCmluZGV4IDIxMmEyMGUuLjhjNjEzNTYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VMSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVUxJTlQuaAppbmRleCA4MTAyNmNhLi45YmNjYjY2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVVNJTlQuY3BwCmluZGV4IDYyZjI1ZjguLmJjODk0OWYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19VU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VTSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1VTSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVVNJTlQuaAppbmRleCBjZDk5YmM4Li41YWQ2YzYxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVVNJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19XT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19XT1JELmNwcAppbmRleCAxZjlmY2E5Li5hOGQ5MDI5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1dPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1dPUkQuaAppbmRleCA1ZGMyMjYxLi4zODdmOTBhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19XT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fV1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fV1NUUklORy5jcHAKaW5kZXggNWRlMzU0Yy4uZjM1NzM1ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19XU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19XU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTElOVC9GX0xJTlRfVE9fV1NUUklORy5oCmluZGV4IGUxMGZlODAuLjY3MTY5NGQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MSU5UL0ZfTElOVF9UT19XU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xJTlQvRl9MSU5UX1RPX1dTVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9DTWFrZUxpc3RzLnR4dAppbmRleCAzZWI2NmZkLi40YWJjZmNjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCisjIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIDIwMTggVFUgVmllbm5hL0FDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaA0KICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92aW5nIGlsbGVnYWwgY2FzdHMNCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19ESU5ULmNwcAppbmRleCAzYmFjYWI4Li4wYjkxMjkwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19ESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX0RJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX0RJTlQuaAppbmRleCA1MGMyNzIyLi5lN2ViMWU2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19ESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX0lOVC5jcHAKaW5kZXggNmNmZjY4Ny4uMTZmM2JhZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19JTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19JTlQuaAppbmRleCA2NWU2NDlmLi4zODI5MDMyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19JTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19JTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX0xJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fTElOVC5jcHAKaW5kZXggN2IyZTU4NC4uYzkwMmU0ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19MSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19MSU5ULmgKaW5kZXggMjQxZmE0MC4uMmU4NGI3OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX0xJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX0xXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX0xXT1JELmNwcAppbmRleCA3NDBiZjg4Li5hMDAwZGY5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19MV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fTFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fTFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX0xXT1JELmgKaW5kZXggNWRkODBhOC4uYTJkZWVkZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fTFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19MV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19SRUFMLmNwcAppbmRleCBmNGNhODViLi5jZWM5M2Y4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19SRUFMLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19SRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1JFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1JFQUwuaAppbmRleCA0N2E3MjYxLi4xZDM3MDFiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19SRUFMLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19TSU5ULmNwcAppbmRleCBhYzE1N2FjLi45MDBiZDJlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19TSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1NJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1NJTlQuaAppbmRleCAzYmQ4N2Y0Li4yMDkwODA1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19TSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1NUUklORy5jcHAKaW5kZXggZDc2MjFkZC4uMTYzOGI5YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19TVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19TVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1NUUklORy5oCmluZGV4IDZhMTY0MmYuLmFmZTZkNDggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVURJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVURJTlQuY3BwCmluZGV4IDg5YWQ0NmIuLmViOWRhMjIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVURJTlQuaAppbmRleCA1NTdmOWU3Li41ODRlZDkxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VJTlQuY3BwCmluZGV4IDM5ZDQxNDMuLjk2OTI1ODAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VSU5ULmgKaW5kZXggNmE1MzMxYS4uYTliODI1YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVUlOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VMSU5ULmNwcAppbmRleCA2YzNhOTMxLi44NWI3NzBjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVUxJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VMSU5ULmgKaW5kZXggYzIyMWZjYS4uNDA4MTRiOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVVNJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVVNJTlQuY3BwCmluZGV4IDYzMTRjYjcuLmM5NmFlNGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VTSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fVVNJTlQuaAppbmRleCA1NDI0OTBkLi5jYTJmNjQ1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19VU0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1VTSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19XU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1dTVFJJTkcuY3BwCmluZGV4IGYzYjg4NTIuLmY0NjBjZTIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1dTVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fV1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xSRUFML0ZfTFJFQUxfVE9fV1NUUklORy5oCmluZGV4IGYxMGM0YmIuLjVkYTA1NmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MUkVBTC9GX0xSRUFMX1RPX1dTVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFJFQUwvRl9MUkVBTF9UT19XU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvQ01ha2VMaXN0cy50eHQKaW5kZXggMTllNGY3MS4uNzhjMGFhNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJIDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0JZVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fQllURS5jcHAKaW5kZXggZTZlNTZiMC4uY2I2YTM3NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fQllURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0JZVEUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0JZVEUuaAppbmRleCA5NWM4NDRiLi5hMmIwYzZjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19CWVRFLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fQllURS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19ESU5ULmNwcAppbmRleCBmYTcyNDc0Li41YmUzZWNiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19ESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fRElOVC5oCmluZGV4IDY5YzgwYjUuLjljMzRlZDQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19ESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19EV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19EV09SRC5jcHAKaW5kZXggN2VkM2VkYi4uMDU5ZDRiOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fRFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0RXT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0RXT1JELmgKaW5kZXggNmViMmY1My4uYTkwNWQ0MyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fRFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0lOVC5jcHAKaW5kZXggN2YzYTQ2NS4uZDk5ODBhMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19JTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19JTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0lOVC5oCmluZGV4IDRiNDk3OWEuLjRlOWY1NGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19MSU5ULmNwcAppbmRleCBjYWQ2ZWVkLi5iOTkwNjUwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19MSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19MSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fTElOVC5oCmluZGV4IDk2NjI4ZGEuLjJhZWJmNWMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0xJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19MSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19MUkVBTC5jcHAKaW5kZXggNTI1NGRiMC4uYjcyODQwYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fTFJFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0xSRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fTFJFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX0xSRUFMLmgKaW5kZXggMmE3ZTc5OS4uNDNiYmY4YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fTFJFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19MUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19TSU5ULmNwcAppbmRleCBkNTlkNjYxLi41MzRhNTQwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19TSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fU0lOVC5oCmluZGV4IDcyYTY3ZTQuLjI5ODJjZjMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19TSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19TVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fU1RSSU5HLmNwcAppbmRleCBmNjNmYjkxLi5lODc3OWY3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19TVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fU1RSSU5HLmgKaW5kZXggNzFlYjU0NS4uODEwZTRjMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VRElOVC5jcHAKaW5kZXggOTdmM2IyOS4uMDMwNzM5YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1VESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVURJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1VESU5ULmgKaW5kZXggOWQyMDI0Mi4uNDM0NzhiOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVURJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVUlOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VSU5ULmNwcAppbmRleCAxNDA1ZWY5Li40MWUxMzlmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVUlOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVUlOVC5oCmluZGV4IGVmMWVjZGIuLjdlZThlYTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VTElOVC5jcHAKaW5kZXggYjUzZjY4ZS4uNTUyZTRlYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVUxJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1VMSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1VMSU5ULmgKaW5kZXggMTI1OGE1NS4uMjRkOGJhNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVVNJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVVNJTlQuY3BwCmluZGV4IDhjYTVhY2EuLjkwODA3MzQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1VTSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1VTSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19VU0lOVC5oCmluZGV4IDM1MjZiNjQuLjFlYzcwYTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1VTSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1dPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fV09SRC5jcHAKaW5kZXggZTdjNzc5MS4uMmMzMGMzYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1dPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1dPUkQuaAppbmRleCBjZmU5NzMzLi4yMDE1NDNmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19XT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fV1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19XU1RSSU5HLmNwcAppbmRleCA5NWE2YzM2Li4xNWM4NjkzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19XU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19XU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1dTVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9MV09SRC9GX0xXT1JEX1RPX1dTVFJJTkcuaAppbmRleCA3MDRiNTZkLi4xYmZjZjA2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vTFdPUkQvRl9MV09SRF9UT19XU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL0xXT1JEL0ZfTFdPUkRfVE9fV1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9DTWFrZUxpc3RzLnR4dAppbmRleCAyZWY1OWZkLi5jNjc2YWY1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19ESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19ESU5ULmNwcAppbmRleCAyM2IyNzdmLi5mMTdiMjZmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0RJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0RJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19ESU5ULmgKaW5kZXggMzkwNzAyMy4uNTg0NzI2YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0RXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19EV09SRC5jcHAKaW5kZXggMGRiMWQ0MC4uMTdiY2JkYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0RXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fRFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0RXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fRFdPUkQuaAppbmRleCBlNDY0MDM1Li45MmJhM2JiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fRFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fRFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19JTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0lOVC5jcHAKaW5kZXggM2YxNDQyNi4uOGE4M2RlNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fSU5ULmgKaW5kZXggZjgzNDQzYy4uOGI1MGUwYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19JTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19MSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19MSU5ULmNwcAppbmRleCBiMzRkZmU5Li5hZGNjMmRkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0xJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0xJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19MSU5ULmgKaW5kZXggZDExOTkyOS4uYmFmZmE2MyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0xJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0xSRUFMLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19MUkVBTC5jcHAKaW5kZXggZjIyYTZiNi4uMGFmNDE0YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0xSRUFMLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fTFJFQUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX0xSRUFMLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fTFJFQUwuaAppbmRleCBkNDEzMjFjLi4yNTc5ODFmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fTFJFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fTFJFQUwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19TSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19TSU5ULmNwcAppbmRleCBiOWNkYzg2Li5hZDlhZDI3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1NJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1NJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19TSU5ULmgKaW5kZXggZGY4Y2Y0My4uZjI2OWI1OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fU1RSSU5HLmNwcAppbmRleCA2MDc0MDZkLi4zYzUzYWIwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1NUUklORy5oCmluZGV4IGJiOGRhMjQuLjdjZTAxOGEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19TVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVURJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1VESU5ULmNwcAppbmRleCBkYzdlNGRlLi4zZmNiODRkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVURJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VRElOVC5oCmluZGV4IDU4ZTk1ZmQuLjk4MDZlNDQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1VJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1VJTlQuY3BwCmluZGV4IDQwMzQzZjEuLmE2NjA4OGQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVUlOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVUlOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1VJTlQuaAppbmRleCAzZDQ4NTQ2Li4yMDAxZGZiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVUlOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVUxJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1VMSU5ULmNwcAppbmRleCA0ZTY0ZDQ1Li4wMzlmNDU4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVUxJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VTElOVC5oCmluZGV4IDIzODA3ZGIuLjZlZTI5NmEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1VTSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19VU0lOVC5jcHAKaW5kZXggZmNiMzk3YS4uMzFhZDJmYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1VTSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVVNJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1VTSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVVNJTlQuaAppbmRleCA2OWNjNmQzLi44MjljMDQ3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVVNJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19XU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19XU1RSSU5HLmNwcAppbmRleCAxNGEwZDRlLi41MGJjMjBkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fV1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1dTVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1dTVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9SRUFML0ZfUkVBTF9UT19XU1RSSU5HLmgKaW5kZXggZTljYWFkOS4uMzFkNmNhNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1JFQUwvRl9SRUFMX1RPX1dTVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vUkVBTC9GX1JFQUxfVE9fV1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9DTWFrZUxpc3RzLnR4dAppbmRleCA5MThlMTYxLi45OWFmMmNiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19CWVRFLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19CWVRFLmNwcAppbmRleCAxNWQ3MzYwLi42YjlhMDQ1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0JZVEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fQllURS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0JZVEUuaAppbmRleCBkNDYwZTA2Li5iYTgzYmY3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fQllURS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19CWVRFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fRElOVC5jcHAKaW5kZXggYTRiNTg4Yi4uNWZjYTNmMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0RJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0RJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19ESU5ULmgKaW5kZXggOGVhZjcwOS4uOWU4ODAxZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0RXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19EV09SRC5jcHAKaW5kZXggODQyYTBmYy4uYmY2ZWViOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0RXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fRFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19EV09SRC5oCmluZGV4IGE2M2YwNTAuLjBjZWRjNTMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19EV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fSU5ULmNwcAppbmRleCAyZjA5NDg1Li4yNWMzODJiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0lOVC5oCmluZGV4IDQ0YTdlMDAuLjMxZGNkMjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19JTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fTElOVC5jcHAKaW5kZXggZmU3NTE5NS4uZGQ4OTg3OSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0xJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0xJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MSU5ULmgKaW5kZXggMWYyYjVjZS4uYjI0ZTFmNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0xJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0xSRUFMLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MUkVBTC5jcHAKaW5kZXggOGJhMGQ2Yi4uN2FmMzY1ZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0xSRUFMLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fTFJFQUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fTFJFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MUkVBTC5oCmluZGV4IDBiMWNiMTAuLjEyYmMwNTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MUkVBTC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0xXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MV09SRC5jcHAKaW5kZXggYmFlNDczOS4uNzhjYmFiMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX0xXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fTFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fTFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MV09SRC5oCmluZGV4IDk2ZjBhMjkuLjZiZThhMzIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19MV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1JFQUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1JFQUwuY3BwCmluZGV4IDM3NzhjMmUuLjAxYTI0ZDIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19SRUFMLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19SRUFMLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fUkVBTC5oCmluZGV4IDM3MDY3ZTkuLjc3NDVhYWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19SRUFMLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1JFQUwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19TVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1NUUklORy5jcHAKaW5kZXggNjVjMzY4Mi4uOTAwYWJiYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19TVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19TVFJJTkcuaAppbmRleCA0OWQxZTA3Li5hYmU3MGNiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VRElOVC5jcHAKaW5kZXggZGExYjIzYS4uNTQ4NTk5ZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVURJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVURJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VRElOVC5oCmluZGV4IGEzZjBhNjcuLjcwOTQ5ZTMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VJTlQuY3BwCmluZGV4IDg5YTUwNzMuLjBlYzFmZWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVUlOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVUlOVC5oCmluZGV4IDI0ODlmMGUuLjExYTk1ZGMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVUxJTlQuY3BwCmluZGV4IGNmMzgxYmIuLmFlMGQ2ZTAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VMSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVUxJTlQuaAppbmRleCA5ZjkyYTBmLi5hMDhiNGNmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVVNJTlQuY3BwCmluZGV4IDdkYmMzODEuLmE5OTU5MmUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19VU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VTSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1VTSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVVNJTlQuaAppbmRleCBmMjdhOTIxLi45ODNiYmM0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVVNJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19XT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19XT1JELmNwcAppbmRleCAyOTViYjQ5Li4xNDY3YjVkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1dPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1dPUkQuaAppbmRleCA5MzZlZGM2Li45NTEzMzE0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19XT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fV1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fV1NUUklORy5jcHAKaW5kZXggMTE2ZjkyMC4uMGE1OTc4YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19XU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19XU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU0lOVC9GX1NJTlRfVE9fV1NUUklORy5oCmluZGV4IGE2NTRmNzYuLmEzZWM5OWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TSU5UL0ZfU0lOVF9UT19XU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NJTlQvRl9TSU5UX1RPX1dTVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0NNYWtlTGlzdHMudHh0CmluZGV4IGRmOTY5NDEuLmQ1NjRjZjIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXINCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19CT09MLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fQk9PTC5jcHAKaW5kZXggOTI2MDllZS4uMzVjNGFjNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19CT09MLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0JPT0wuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19CT09MLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0JPT0wuaAppbmRleCAzNWMyZWYzLi5iYzA5NGExIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0JPT0wuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0JPT0wuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fQllURS5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0JZVEUuY3BwCmluZGV4IGI2ZTQxOWMuLjkxNzVjYzUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19CWVRFLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fQllURS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19CWVRFLmgKaW5kZXggMDM0OTBjOS4uNTIwNDU0NyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19CWVRFLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19CWVRFLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0RJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19ESU5ULmNwcAppbmRleCBlZTQ2NzA2Li44ODg4M2JhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0RJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0RJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fRElOVC5oCmluZGV4IDM1MDUwZmUuLmZlZGViMTggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19EV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0RXT1JELmNwcAppbmRleCAyY2VkY2E5Li5kODdkYWY5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0RXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0RXT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fRFdPUkQuaAppbmRleCA0ZWU1MjY0Li4xZDU5MGY0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0RXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19JTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19JTlQuY3BwCmluZGV4IGVmYTg1MjYuLjlmNGIwMDEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgQUNJTiwgZm9ydGlzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0lOVC5oCmluZGV4IDBjNjQxYWYuLjdiMjA1MTMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19JTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0xJTlQuY3BwCmluZGV4IGM2YTk0ZDMuLjY4Y2QxMjQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19MSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19MSU5ULmgKaW5kZXggZjYwYzk2My4uYmNjYjBlYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19MSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19MSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0xSRUFMLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTFJFQUwuY3BwCmluZGV4IGU4MjZhNGIuLjllMDhiYTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTFJFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTFJFQUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19MUkVBTC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19MUkVBTC5oCmluZGV4IDk1MTk4ZDEuLjQ1NmExODUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTFJFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0xSRUFMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0xXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTFdPUkQuY3BwCmluZGV4IDJjN2I4NTIuLjU3MGUzZjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19MV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19MV09SRC5oCmluZGV4IDMzZTY1MGMuLjNiYjc1YzEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fTFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX0xXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1JFQUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19SRUFMLmNwcAppbmRleCAxOWY3N2FiLi44MzIxYmRiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1JFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1JFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fUkVBTC5oCmluZGV4IGUyNDE4ZjAuLjlmMzZiYjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fUkVBTC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19TSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fU0lOVC5jcHAKaW5kZXggZjliNjJlMC4uNmExOGViMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1NJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19TSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1NJTlQuaAppbmRleCBkMTRlODNkLi5kYjVkYzEyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1NJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVElNRS5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1RJTUUuY3BwCmluZGV4IDI3NjRkZWQuLmUwNzMxNjYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVElNRS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19USU1FLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVElNRS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19USU1FLmgKaW5kZXggOGY4NTI5Ni4uNWMzMjNkNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19USU1FLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19USU1FLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVURJTlQuY3BwCmluZGV4IGVhMjUwMmEuLmFhMTk1ZGEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVURJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VRElOVC5oCmluZGV4IGU1NDFmMWMuLjVhYjUxMTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVURJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VSU5ULmNwcAppbmRleCA2MjFiNWFmLi4zOTMzZTUxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVUlOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VJTlQuaAppbmRleCA5ZWQ2ODEwLi4yODUwMmM1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVUxJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VTElOVC5jcHAKaW5kZXggYTlmODI5My4uNTE4NTI2ZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VMSU5ULmgKaW5kZXggYzA1ZWQzYy4uZmUxN2JhYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVVNJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VU0lOVC5jcHAKaW5kZXggNjUwZWQ1ZS4uZDk4NTI1NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VTSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1VTSU5ULmgKaW5kZXggNzI2N2RkZi4uZTMyYzQxMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19VU0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1dPUkQuY3BwCmluZGV4IDA2YjM1ODguLmU0MWJkZDUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19XT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19XT1JELmgKaW5kZXggZDFkODMyZi4uM2VlOTA2MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19XT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19XT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1dTVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1NUUklORy9GX1NUUklOR19UT19XU1RSSU5HLmNwcAppbmRleCA3MGJkYmY2Li5kMWU5ODc5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fV1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vU1RSSU5HL0ZfU1RSSU5HX1RPX1dTVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fV1NUUklORy5oCmluZGV4IDI5OWI0ODkuLjNhZGEwZWUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fV1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9TVFJJTkcvRl9TVFJJTkdfVE9fV1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9DTWFrZUxpc3RzLnR4dAppbmRleCA1ZDQwNzEyLi40ZGI5YTA1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9DTWFrZUxpc3RzLnR4dApAQCAtMSwyMCArMSwzNyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCAyMDE4IFRVIFZpZW5uYS9BQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIDIwMTggVFUgVmllbm5hL0FDSU4sIDIwMTkgVFUgV2llbi9BQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gcmVtb3ZpbmcgaWxsZWdhbCBjYXN0cw0KKyMgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gYWRkaW5nIFRJTUUgSU4gUkVTT0xVVElPTiBUTyBGQnMNCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAjIFRJTUVfVE9feHh4IENvbnZlcnNpb24NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRl9USU1FX1RPX1NUUklORykNCiANCitpZihGT1JURV9VU0VfNjRCSVRfREFUQVRZUEVTKQ0KKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChGX1RJTUVfSU5fU19UT19MSU5UKQ0KKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChGX1RJTUVfSU5fTVNfVE9fTElOVCkNCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRl9USU1FX0lOX1VTX1RPX0xJTlQpDQorICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEZfVElNRV9JTl9OU19UT19MSU5UKQ0KKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChGX1RJTUVfSU5fU19UT19VTElOVCkNCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRl9USU1FX0lOX01TX1RPX1VMSU5UKQ0KKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChGX1RJTUVfSU5fVVNfVE9fVUxJTlQpDQorICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEZfVElNRV9JTl9OU19UT19VTElOVCkNCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRl9USU1FX0lOX1NfVE9fTFJFQUwpDQorICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEZfVElNRV9JTl9NU19UT19MUkVBTCkNCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRl9USU1FX0lOX1VTX1RPX0xSRUFMKQ0KKyAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChGX1RJTUVfSU5fTlNfVE9fTFJFQUwpDQorZW5kaWYoKQ0KKw0KIGlmKEZPUlRFX1VTRV9XU1RSSU5HX0RBVEFUWVBFKQ0KICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChGX1RJTUVfVE9fV1NUUklORykNCiBlbmRpZihGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRSkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTVNfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTVNfVE9fTElOVC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFmNmFhZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9NU19UT19MSU5ULmNwcApAQCAtMCwwICsxLDQ5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiRl9USU1FX0lOX01TX1RPX0xJTlQuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fTVNfVE9fTElOVF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fTVNfVE9fTElOVCwgZ19uU3RyaW5nSWRGX1RJTUVfSU5fTVNfVE9fTElOVCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTElOVDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTElOVDo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkVElNRX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xJTlQ6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTElOVDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZExJTlR9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTElOVDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9NU19UT19MSU5UOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTElOVDo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRSRVF9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xJTlQ6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTElOVDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xJTlQ6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZENORn07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xJTlQ6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKwordm9pZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTElOVDo6YWxnX1JFUSh2b2lkKXsKK09VVCgpID0gVElNRV9JTl9NU19UT19MSU5UKChJTigpKSk7Cit9CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTVNfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX01TX1RPX0xJTlQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjhlM2QzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX01TX1RPX0xJTlQuaApAQCAtMCwwICsxLDYzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9GX1RJTUVfSU5fTVNfVE9fTElOVF9IXworI2RlZmluZSBfRl9USU1FX0lOX01TX1RPX0xJTlRfSF8KKworI2luY2x1ZGUgPHNpbXBsZWZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfbGludC5oPgorI2luY2x1ZGUgPGZvcnRlX3RpbWUuaD4KKworY2xhc3MgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xJTlQ6IHB1YmxpYyBDU2ltcGxlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX01TX1RPX0xJTlQpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19USU1FICZJTigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfVElNRSo+KGdldERJKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19MSU5UICZPVVQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0xJTlQqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xJTlQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ1NpbXBsZUZCKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsCisgICAgICAgICAgICAgIDAsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfRl9USU1FX0lOX01TX1RPX0xJTlQoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9NU19UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTVNfVE9fTFJFQUwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNjAyNzEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTVNfVE9fTFJFQUwuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJGX1RJTUVfSU5fTVNfVE9fTFJFQUwuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fTVNfVE9fTFJFQUxfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX01TX1RPX0xSRUFMLCBnX25TdHJpbmdJZEZfVElNRV9JTl9NU19UT19MUkVBTCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTFJFQUw6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRJTn07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xSRUFMOjpzY21fYW5EYXRhSW5wdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRUSU1FfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTFJFQUw6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTFJFQUw6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRMUkVBTH07CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZfVElNRV9JTl9NU19UT19MUkVBTDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9NU19UT19MUkVBTDo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xSRUFMOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFJFUX07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTFJFQUw6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTFJFQUw6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9NU19UT19MUkVBTDo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkQ05GfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTFJFQUw6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKwordm9pZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTFJFQUw6OmFsZ19SRVEodm9pZCl7CitPVVQoKSA9IFRJTUVfSU5fTVNfVE9fTFJFQUwoKElOKCkpKTsKK30KKworCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9NU19UT19MUkVBTC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX01TX1RPX0xSRUFMLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQyMGNlMAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9NU19UT19MUkVBTC5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZfVElNRV9JTl9NU19UT19MUkVBTF9IXworI2RlZmluZSBfRl9USU1FX0lOX01TX1RPX0xSRUFMX0hfCisKKyNpbmNsdWRlIDxzaW1wbGVmYi5oPgorI2luY2x1ZGUgPGZvcnRlX3RpbWUuaD4KKyNpbmNsdWRlIDxmb3J0ZV9scmVhbC5oPgorCitjbGFzcyBGT1JURV9GX1RJTUVfSU5fTVNfVE9fTFJFQUw6IHB1YmxpYyBDU2ltcGxlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX01TX1RPX0xSRUFMKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfVElNRSAmSU4oKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1RJTUUqPihnZXRESSgwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgIENJRUNfTFJFQUwgJk9VVCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfTFJFQUwqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRl9USU1FX0lOX01TX1RPX0xSRUFMKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSA6IAorICAgICAgIENTaW1wbGVGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZfVElNRV9JTl9NU19UT19MUkVBTCgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX01TX1RPX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9NU19UT19VTElOVC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZiMTdjZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9NU19UT19VTElOVC5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIkZfVElNRV9JTl9NU19UT19VTElOVC5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9NU19UT19VTElOVF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fTVNfVE9fVUxJTlQsIGdfblN0cmluZ0lkRl9USU1FX0lOX01TX1RPX1VMSU5UKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9NU19UT19VTElOVDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fVUxJTlQ6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFRJTUV9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9NU19UT19VTElOVDo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRPVVR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9NU19UT19VTElOVDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFVMSU5UfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRl9USU1FX0lOX01TX1RPX1VMSU5UOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfRl9USU1FX0lOX01TX1RPX1VMSU5UOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTVNfVE9fVUxJTlQ6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9NU19UT19VTElOVDo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZfVElNRV9JTl9NU19UT19VTElOVDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX01TX1RPX1VMSU5UOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZfVElNRV9JTl9NU19UT19VTElOVDo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCit2b2lkIEZPUlRFX0ZfVElNRV9JTl9NU19UT19VTElOVDo6YWxnX1JFUSh2b2lkKXsKK09VVCgpID0gVElNRV9JTl9NU19UT19VTElOVCgoSU4oKSkpOworfQorCisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX01TX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTVNfVE9fVUxJTlQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTdjZDRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX01TX1RPX1VMSU5ULmgKQEAgLTAsMCArMSw2MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRl9USU1FX0lOX01TX1RPX1VMSU5UX0hfCisjZGVmaW5lIF9GX1RJTUVfSU5fTVNfVE9fVUxJTlRfSF8KKworI2luY2x1ZGUgPHNpbXBsZWZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfdWxpbnQuaD4KKyNpbmNsdWRlIDxmb3J0ZV90aW1lLmg+CisKK2NsYXNzIEZPUlRFX0ZfVElNRV9JTl9NU19UT19VTElOVDogcHVibGljIENTaW1wbGVGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fTVNfVE9fVUxJTlQpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19USU1FICZJTigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfVElNRSo+KGdldERJKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19VTElOVCAmT1VUKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19VTElOVCo+KGdldERPKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudFJFUUlEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTkZJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMSwgMSwgMSwgMCk7CisgIHZvaWQgYWxnX1JFUSh2b2lkKTsKKworcHVibGljOgorICBGT1JURV9GX1RJTUVfSU5fTVNfVE9fVUxJTlQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ1NpbXBsZUZCKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsCisgICAgICAgICAgICAgIDAsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfRl9USU1FX0lOX01TX1RPX1VMSU5UKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTlNfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTlNfVE9fTElOVC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTgyNDk1OAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9OU19UT19MSU5ULmNwcApAQCAtMCwwICsxLDQ5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiRl9USU1FX0lOX05TX1RPX0xJTlQuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fTlNfVE9fTElOVF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fTlNfVE9fTElOVCwgZ19uU3RyaW5nSWRGX1RJTUVfSU5fTlNfVE9fTElOVCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTElOVDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTElOVDo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkVElNRX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xJTlQ6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTElOVDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZExJTlR9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTElOVDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9OU19UT19MSU5UOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTElOVDo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRSRVF9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xJTlQ6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTElOVDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xJTlQ6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZENORn07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xJTlQ6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKwordm9pZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTElOVDo6YWxnX1JFUSh2b2lkKXsKK09VVCgpID0gVElNRV9JTl9OU19UT19MSU5UKChJTigpKSk7Cit9CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTlNfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX05TX1RPX0xJTlQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTU2Nzk2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX05TX1RPX0xJTlQuaApAQCAtMCwwICsxLDYzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9GX1RJTUVfSU5fTlNfVE9fTElOVF9IXworI2RlZmluZSBfRl9USU1FX0lOX05TX1RPX0xJTlRfSF8KKworI2luY2x1ZGUgPHNpbXBsZWZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfbGludC5oPgorI2luY2x1ZGUgPGZvcnRlX3RpbWUuaD4KKworY2xhc3MgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xJTlQ6IHB1YmxpYyBDU2ltcGxlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX05TX1RPX0xJTlQpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19USU1FICZJTigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfVElNRSo+KGdldERJKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19MSU5UICZPVVQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0xJTlQqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xJTlQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ1NpbXBsZUZCKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsCisgICAgICAgICAgICAgIDAsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfRl9USU1FX0lOX05TX1RPX0xJTlQoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9OU19UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTlNfVE9fTFJFQUwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0MmQ4NWYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTlNfVE9fTFJFQUwuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJGX1RJTUVfSU5fTlNfVE9fTFJFQUwuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fTlNfVE9fTFJFQUxfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX05TX1RPX0xSRUFMLCBnX25TdHJpbmdJZEZfVElNRV9JTl9OU19UT19MUkVBTCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTFJFQUw6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRJTn07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xSRUFMOjpzY21fYW5EYXRhSW5wdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRUSU1FfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTFJFQUw6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTFJFQUw6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRMUkVBTH07CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZfVElNRV9JTl9OU19UT19MUkVBTDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9OU19UT19MUkVBTDo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xSRUFMOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFJFUX07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTFJFQUw6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTFJFQUw6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9OU19UT19MUkVBTDo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkQ05GfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTFJFQUw6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKwordm9pZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTFJFQUw6OmFsZ19SRVEodm9pZCl7CitPVVQoKSA9IFRJTUVfSU5fTlNfVE9fTFJFQUwoKElOKCkpKTsKK30KKworCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9OU19UT19MUkVBTC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX05TX1RPX0xSRUFMLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFlMGFkMQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9OU19UT19MUkVBTC5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZfVElNRV9JTl9OU19UT19MUkVBTF9IXworI2RlZmluZSBfRl9USU1FX0lOX05TX1RPX0xSRUFMX0hfCisKKyNpbmNsdWRlIDxzaW1wbGVmYi5oPgorI2luY2x1ZGUgPGZvcnRlX3RpbWUuaD4KKyNpbmNsdWRlIDxmb3J0ZV9scmVhbC5oPgorCitjbGFzcyBGT1JURV9GX1RJTUVfSU5fTlNfVE9fTFJFQUw6IHB1YmxpYyBDU2ltcGxlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX05TX1RPX0xSRUFMKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfVElNRSAmSU4oKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1RJTUUqPihnZXRESSgwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgIENJRUNfTFJFQUwgJk9VVCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfTFJFQUwqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRl9USU1FX0lOX05TX1RPX0xSRUFMKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSA6IAorICAgICAgIENTaW1wbGVGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZfVElNRV9JTl9OU19UT19MUkVBTCgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX05TX1RPX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9OU19UT19VTElOVC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRjM2VmOAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9OU19UT19VTElOVC5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIkZfVElNRV9JTl9OU19UT19VTElOVC5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9OU19UT19VTElOVF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fTlNfVE9fVUxJTlQsIGdfblN0cmluZ0lkRl9USU1FX0lOX05TX1RPX1VMSU5UKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9OU19UT19VTElOVDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fVUxJTlQ6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFRJTUV9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9OU19UT19VTElOVDo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRPVVR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9OU19UT19VTElOVDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFVMSU5UfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRl9USU1FX0lOX05TX1RPX1VMSU5UOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfRl9USU1FX0lOX05TX1RPX1VMSU5UOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fTlNfVE9fVUxJTlQ6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9OU19UT19VTElOVDo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZfVElNRV9JTl9OU19UT19VTElOVDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX05TX1RPX1VMSU5UOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZfVElNRV9JTl9OU19UT19VTElOVDo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCit2b2lkIEZPUlRFX0ZfVElNRV9JTl9OU19UT19VTElOVDo6YWxnX1JFUSh2b2lkKXsKK09VVCgpID0gVElNRV9JTl9OU19UT19VTElOVCgoSU4oKSkpOworfQorCisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX05TX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fTlNfVE9fVUxJTlQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTA4NTU4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX05TX1RPX1VMSU5ULmgKQEAgLTAsMCArMSw2MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRl9USU1FX0lOX05TX1RPX1VMSU5UX0hfCisjZGVmaW5lIF9GX1RJTUVfSU5fTlNfVE9fVUxJTlRfSF8KKworI2luY2x1ZGUgPHNpbXBsZWZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfdWxpbnQuaD4KKyNpbmNsdWRlIDxmb3J0ZV90aW1lLmg+CisKK2NsYXNzIEZPUlRFX0ZfVElNRV9JTl9OU19UT19VTElOVDogcHVibGljIENTaW1wbGVGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fTlNfVE9fVUxJTlQpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19USU1FICZJTigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfVElNRSo+KGdldERJKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19VTElOVCAmT1VUKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19VTElOVCo+KGdldERPKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudFJFUUlEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTkZJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMSwgMSwgMSwgMCk7CisgIHZvaWQgYWxnX1JFUSh2b2lkKTsKKworcHVibGljOgorICBGT1JURV9GX1RJTUVfSU5fTlNfVE9fVUxJTlQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ1NpbXBsZUZCKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsCisgICAgICAgICAgICAgIDAsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfRl9USU1FX0lOX05TX1RPX1VMSU5UKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fU19UT19MSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9TX1RPX0xJTlQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNDBlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fU19UT19MSU5ULmNwcApAQCAtMCwwICsxLDQ5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiRl9USU1FX0lOX1NfVE9fTElOVC5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9TX1RPX0xJTlRfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX1NfVE9fTElOVCwgZ19uU3RyaW5nSWRGX1RJTUVfSU5fU19UT19MSU5UKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xJTlQ6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRJTn07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1NfVE9fTElOVDo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkVElNRX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1NfVE9fTElOVDo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRPVVR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xJTlQ6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRMSU5UfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRl9USU1FX0lOX1NfVE9fTElOVDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xJTlQ6OnNjbV9hbkVJV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xJTlQ6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xJTlQ6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fU19UT19MSU5UOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fU19UT19MSU5UOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xJTlQ6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKwordm9pZCBGT1JURV9GX1RJTUVfSU5fU19UT19MSU5UOjphbGdfUkVRKHZvaWQpeworT1VUKCkgPSBUSU1FX0lOX1NfVE9fTElOVCgoSU4oKSkpOworfQorCisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1NfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1NfVE9fTElOVC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwN2Q5ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fU19UT19MSU5ULmgKQEAgLTAsMCArMSw2MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRl9USU1FX0lOX1NfVE9fTElOVF9IXworI2RlZmluZSBfRl9USU1FX0lOX1NfVE9fTElOVF9IXworCisjaW5jbHVkZSA8c2ltcGxlZmIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9saW50Lmg+CisjaW5jbHVkZSA8Zm9ydGVfdGltZS5oPgorCitjbGFzcyBGT1JURV9GX1RJTUVfSU5fU19UT19MSU5UOiBwdWJsaWMgQ1NpbXBsZUZCeworICBERUNMQVJFX0ZJUk1XQVJFX0ZCKEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xJTlQpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19USU1FICZJTigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfVElNRSo+KGdldERJKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19MSU5UICZPVVQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0xJTlQqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRl9USU1FX0lOX1NfVE9fTElOVChDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcykgOiAKKyAgICAgICBDU2ltcGxlRkIocGFfcG9TcmNSZXMsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgICAgICAgMCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9GX1RJTUVfSU5fU19UT19MSU5UKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fU19UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fU19UT19MUkVBTC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRlMGI3MAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9TX1RPX0xSRUFMLmNwcApAQCAtMCwwICsxLDQ5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiRl9USU1FX0lOX1NfVE9fTFJFQUwuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fU19UT19MUkVBTF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fU19UT19MUkVBTCwgZ19uU3RyaW5nSWRGX1RJTUVfSU5fU19UT19MUkVBTCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fU19UT19MUkVBTDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fU19UT19MUkVBTDo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkVElNRX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1NfVE9fTFJFQUw6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fU19UT19MUkVBTDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZExSRUFMfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRl9USU1FX0lOX1NfVE9fTFJFQUw6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GX1RJTUVfSU5fU19UT19MUkVBTDo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1NfVE9fTFJFQUw6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xSRUFMOjpzY21fYW5FT1dpdGhbXSA9IHswLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRl9USU1FX0lOX1NfVE9fTFJFQUw6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xSRUFMOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xSRUFMOjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDEsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAxLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDEsICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywKKyAgMSwgIHNjbV9hbkRhdGFPdXRwdXROYW1lcywgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHMsCisgIDAsIDAKK307CisKK3ZvaWQgRk9SVEVfRl9USU1FX0lOX1NfVE9fTFJFQUw6OmFsZ19SRVEodm9pZCl7CitPVVQoKSA9IFRJTUVfSU5fU19UT19MUkVBTCgoSU4oKSkpOworfQorCisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1NfVE9fTFJFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9TX1RPX0xSRUFMLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhkNWJkYgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9TX1RPX0xSRUFMLmgKQEAgLTAsMCArMSw2MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRl9USU1FX0lOX1NfVE9fTFJFQUxfSF8KKyNkZWZpbmUgX0ZfVElNRV9JTl9TX1RPX0xSRUFMX0hfCisKKyNpbmNsdWRlIDxzaW1wbGVmYi5oPgorI2luY2x1ZGUgPGZvcnRlX3RpbWUuaD4KKyNpbmNsdWRlIDxmb3J0ZV9scmVhbC5oPgorCitjbGFzcyBGT1JURV9GX1RJTUVfSU5fU19UT19MUkVBTDogcHVibGljIENTaW1wbGVGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fU19UT19MUkVBTCkKKworcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICBDSUVDX1RJTUUgJklOKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19USU1FKj4oZ2V0REkoMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX0xSRUFMICZPVVQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0xSRUFMKj4oZ2V0RE8oMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50UkVRSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRUlXaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudElucHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudENORklEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgRk9SVEVfRkJfREFUQV9BUlJBWSgxLCAxLCAxLCAwKTsKKyAgdm9pZCBhbGdfUkVRKHZvaWQpOworCitwdWJsaWM6CisgIEZPUlRFX0ZfVElNRV9JTl9TX1RPX0xSRUFMKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSA6IAorICAgICAgIENTaW1wbGVGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZfVElNRV9JTl9TX1RPX0xSRUFMKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fU19UT19VTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fU19UT19VTElOVC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMyYzI2MAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9TX1RPX1VMSU5ULmNwcApAQCAtMCwwICsxLDQ5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiRl9USU1FX0lOX1NfVE9fVUxJTlQuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fU19UT19VTElOVF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fU19UT19VTElOVCwgZ19uU3RyaW5nSWRGX1RJTUVfSU5fU19UT19VTElOVCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fU19UT19VTElOVDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fU19UT19VTElOVDo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkVElNRX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1NfVE9fVUxJTlQ6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fU19UT19VTElOVDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFVMSU5UfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRl9USU1FX0lOX1NfVE9fVUxJTlQ6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GX1RJTUVfSU5fU19UT19VTElOVDo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1NfVE9fVUxJTlQ6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9TX1RPX1VMSU5UOjpzY21fYW5FT1dpdGhbXSA9IHswLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRl9USU1FX0lOX1NfVE9fVUxJTlQ6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9TX1RPX1VMSU5UOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZfVElNRV9JTl9TX1RPX1VMSU5UOjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDEsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAxLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDEsICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywKKyAgMSwgIHNjbV9hbkRhdGFPdXRwdXROYW1lcywgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHMsCisgIDAsIDAKK307CisKK3ZvaWQgRk9SVEVfRl9USU1FX0lOX1NfVE9fVUxJTlQ6OmFsZ19SRVEodm9pZCl7CitPVVQoKSA9IFRJTUVfSU5fU19UT19VTElOVCgoSU4oKSkpOworfQorCisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1NfVE9fVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9TX1RPX1VMSU5ULmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY3ZGVhYgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9TX1RPX1VMSU5ULmgKQEAgLTAsMCArMSw2MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRl9USU1FX0lOX1NfVE9fVUxJTlRfSF8KKyNkZWZpbmUgX0ZfVElNRV9JTl9TX1RPX1VMSU5UX0hfCisKKyNpbmNsdWRlIDxzaW1wbGVmYi5oPgorI2luY2x1ZGUgPGZvcnRlX3VsaW50Lmg+CisjaW5jbHVkZSA8Zm9ydGVfdGltZS5oPgorCitjbGFzcyBGT1JURV9GX1RJTUVfSU5fU19UT19VTElOVDogcHVibGljIENTaW1wbGVGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fU19UT19VTElOVCkKKworcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICBDSUVDX1RJTUUgJklOKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19USU1FKj4oZ2V0REkoMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX1VMSU5UICZPVVQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1VMSU5UKj4oZ2V0RE8oMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50UkVRSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRUlXaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudElucHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudENORklEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgRk9SVEVfRkJfREFUQV9BUlJBWSgxLCAxLCAxLCAwKTsKKyAgdm9pZCBhbGdfUkVRKHZvaWQpOworCitwdWJsaWM6CisgIEZPUlRFX0ZfVElNRV9JTl9TX1RPX1VMSU5UKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSA6IAorICAgICAgIENTaW1wbGVGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZfVElNRV9JTl9TX1RPX1VMSU5UKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fVVNfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fVVNfVE9fTElOVC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVlMzhiYgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9VU19UT19MSU5ULmNwcApAQCAtMCwwICsxLDQ5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiRl9USU1FX0lOX1VTX1RPX0xJTlQuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fVVNfVE9fTElOVF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fVVNfVE9fTElOVCwgZ19uU3RyaW5nSWRGX1RJTUVfSU5fVVNfVE9fTElOVCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTElOVDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTElOVDo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkVElNRX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xJTlQ6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTElOVDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZExJTlR9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTElOVDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9VU19UT19MSU5UOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTElOVDo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRSRVF9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xJTlQ6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTElOVDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xJTlQ6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZENORn07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xJTlQ6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKwordm9pZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTElOVDo6YWxnX1JFUSh2b2lkKXsKK09VVCgpID0gVElNRV9JTl9VU19UT19MSU5UKChJTigpKSk7Cit9CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fVVNfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1VTX1RPX0xJTlQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjhiNGY2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1VTX1RPX0xJTlQuaApAQCAtMCwwICsxLDYzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9GX1RJTUVfSU5fVVNfVE9fTElOVF9IXworI2RlZmluZSBfRl9USU1FX0lOX1VTX1RPX0xJTlRfSF8KKworI2luY2x1ZGUgPHNpbXBsZWZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfbGludC5oPgorI2luY2x1ZGUgPGZvcnRlX3RpbWUuaD4KKworY2xhc3MgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xJTlQ6IHB1YmxpYyBDU2ltcGxlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xJTlQpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19USU1FICZJTigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfVElNRSo+KGdldERJKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19MSU5UICZPVVQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0xJTlQqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xJTlQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ1NpbXBsZUZCKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsCisgICAgICAgICAgICAgIDAsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfRl9USU1FX0lOX1VTX1RPX0xJTlQoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9VU19UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fVVNfVE9fTFJFQUwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ZDY3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fVVNfVE9fTFJFQUwuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJGX1RJTUVfSU5fVVNfVE9fTFJFQUwuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fVVNfVE9fTFJFQUxfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xSRUFMLCBnX25TdHJpbmdJZEZfVElNRV9JTl9VU19UT19MUkVBTCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTFJFQUw6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRJTn07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xSRUFMOjpzY21fYW5EYXRhSW5wdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRUSU1FfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTFJFQUw6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTFJFQUw6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRMUkVBTH07CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZfVElNRV9JTl9VU19UT19MUkVBTDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9VU19UT19MUkVBTDo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xSRUFMOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFJFUX07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTFJFQUw6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTFJFQUw6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9VU19UT19MUkVBTDo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkQ05GfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTFJFQUw6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKwordm9pZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTFJFQUw6OmFsZ19SRVEodm9pZCl7CitPVVQoKSA9IFRJTUVfSU5fVVNfVE9fTFJFQUwoKElOKCkpKTsKK30KKworCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9VU19UT19MUkVBTC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1VTX1RPX0xSRUFMLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcwYjhhMgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9VU19UT19MUkVBTC5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKKyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZfVElNRV9JTl9VU19UT19MUkVBTF9IXworI2RlZmluZSBfRl9USU1FX0lOX1VTX1RPX0xSRUFMX0hfCisKKyNpbmNsdWRlIDxzaW1wbGVmYi5oPgorI2luY2x1ZGUgPGZvcnRlX3RpbWUuaD4KKyNpbmNsdWRlIDxmb3J0ZV9scmVhbC5oPgorCitjbGFzcyBGT1JURV9GX1RJTUVfSU5fVVNfVE9fTFJFQUw6IHB1YmxpYyBDU2ltcGxlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xSRUFMKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfVElNRSAmSU4oKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1RJTUUqPihnZXRESSgwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgIENJRUNfTFJFQUwgJk9VVCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfTFJFQUwqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRl9USU1FX0lOX1VTX1RPX0xSRUFMKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSA6IAorICAgICAgIENTaW1wbGVGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZfVElNRV9JTl9VU19UT19MUkVBTCgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1VTX1RPX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9VU19UT19VTElOVC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y5OTkwZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9JTl9VU19UT19VTElOVC5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIkZfVElNRV9JTl9VU19UT19VTElOVC5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9VU19UT19VTElOVF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fVVNfVE9fVUxJTlQsIGdfblN0cmluZ0lkRl9USU1FX0lOX1VTX1RPX1VMSU5UKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9VU19UT19VTElOVDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fVUxJTlQ6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFRJTUV9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9VU19UT19VTElOVDo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRPVVR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZfVElNRV9JTl9VU19UT19VTElOVDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFVMSU5UfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRl9USU1FX0lOX1VTX1RPX1VMSU5UOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfRl9USU1FX0lOX1VTX1RPX1VMSU5UOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GX1RJTUVfSU5fVVNfVE9fVUxJTlQ6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZfVElNRV9JTl9VU19UT19VTElOVDo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZfVElNRV9JTl9VU19UT19VTElOVDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRl9USU1FX0lOX1VTX1RPX1VMSU5UOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZfVElNRV9JTl9VU19UT19VTElOVDo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCit2b2lkIEZPUlRFX0ZfVElNRV9JTl9VU19UT19VTElOVDo6YWxnX1JFUSh2b2lkKXsKK09VVCgpID0gVElNRV9JTl9VU19UT19VTElOVCgoSU4oKSkpOworfQorCisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1VTX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfSU5fVVNfVE9fVUxJTlQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTU5YjZkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX0lOX1VTX1RPX1VMSU5ULmgKQEAgLTAsMCArMSw2MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucworICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRl9USU1FX0lOX1VTX1RPX1VMSU5UX0hfCisjZGVmaW5lIF9GX1RJTUVfSU5fVVNfVE9fVUxJTlRfSF8KKworI2luY2x1ZGUgPHNpbXBsZWZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfdWxpbnQuaD4KKyNpbmNsdWRlIDxmb3J0ZV90aW1lLmg+CisKK2NsYXNzIEZPUlRFX0ZfVElNRV9JTl9VU19UT19VTElOVDogcHVibGljIENTaW1wbGVGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GX1RJTUVfSU5fVVNfVE9fVUxJTlQpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19USU1FICZJTigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfVElNRSo+KGdldERJKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19VTElOVCAmT1VUKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19VTElOVCo+KGdldERPKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudFJFUUlEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTkZJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMSwgMSwgMSwgMCk7CisgIHZvaWQgYWxnX1JFUSh2b2lkKTsKKworcHVibGljOgorICBGT1JURV9GX1RJTUVfSU5fVVNfVE9fVUxJTlQoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ1NpbXBsZUZCKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsCisgICAgICAgICAgICAgIDAsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfRl9USU1FX0lOX1VTX1RPX1VMSU5UKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfVE9fU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9UT19TVFJJTkcuY3BwCmluZGV4IGU5MjhhYWUuLmM2ZTAwNWUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9UT19TVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9UT19TVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfVE9fU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfVE9fU1RSSU5HLmgKaW5kZXggYzJkYzZjYS4uNjFhMmVjZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX1RPX1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9UT19TVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9UT19XU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9UT19XU1RSSU5HLmNwcAppbmRleCA4MTgwZjNlLi42ZTlmZmJjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfVE9fV1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX1RPX1dTVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX1RPX1dTVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9USU1FL0ZfVElNRV9UT19XU1RSSU5HLmgKaW5kZXggYTIzMmFiZS4uOTBjZWM3NSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1RJTUUvRl9USU1FX1RPX1dTVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVElNRS9GX1RJTUVfVE9fV1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5ZTU1YTEuLjljMTY5NGUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIDIwMTggVFUgVmllbm5hL0FDSU4NCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaA0KKyMgQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gcmVtb3ZpbmcgaWxsZWdhbCBjYXN0cw0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19CWVRFLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0JZVEUuY3BwCmluZGV4IGRmNDYzMGQuLjdhYjM5OTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0JZVEUuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0JZVEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19CWVRFLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19CWVRFLmgKaW5kZXggMmRiZWRlMS4uZDNiMmMyZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fQllURS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0JZVEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0RJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fRElOVC5jcHAKaW5kZXggNDI5ZmJlNS4uYTdlYzgyNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0RJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0RJTlQuaAppbmRleCBlMmIyNzhjLi5kOThlNWUzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19ESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fRFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fRFdPUkQuY3BwCmluZGV4IGQzZTFmNDguLjRjNGZhNDEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0RXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19EV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0RXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19EV09SRC5oCmluZGV4IDViYTUyYzcuLjVlZmU1YmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0RXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fRFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19JTlQuY3BwCmluZGV4IDdhMzkyNTEuLjMxNDBjM2IgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19JTlQuaAppbmRleCBkOWIzM2FjLi5jMDUzZWUyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19JTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19JTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTElOVC5jcHAKaW5kZXggN2RmZWQxNy4uMmVjMTY0YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xJTlQuaAppbmRleCAzMGZlMTUzLi5iYjlkYmZhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19MSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTFJFQUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTFJFQUwuY3BwCmluZGV4IDEwNmE2ZGYuLmJjYTQwYjYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xSRUFMLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19MUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xSRUFMLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19MUkVBTC5oCmluZGV4IDdjN2EyMDAuLjZiNDRkODYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xSRUFMLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTFJFQUwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xXT1JELmNwcAppbmRleCBhMmQ3MTIwLi40ZTkwNjQyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19MV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19MV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fTFdPUkQuaAppbmRleCA3ODBlNGFiLi4xMDA2ZGM3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19MV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX0xXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19SRUFMLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1JFQUwuY3BwCmluZGV4IDI2Yjg0MDcuLjIyZGVhZmUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1JFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1JFQUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19SRUFMLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19SRUFMLmgKaW5kZXggMmE2OTI5ZC4uNDdkZTZiOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fUkVBTC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1JFQUwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1NJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fU0lOVC5jcHAKaW5kZXggOTc2Zjk2NC4uOTg1OGFhYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1NJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1NJTlQuaAppbmRleCAzNTBiMTk1Li41ZjNjNzIyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19TSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1NUUklORy5jcHAKaW5kZXggMzc3NWFjYy4uZTUwNzQ4MiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19TVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19TVFJJTkcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1NUUklORy5oCmluZGV4IDY2YWU2OTUuLjFiY2Q4MzIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1NUUklORy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVUlOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VSU5ULmNwcAppbmRleCA1Yzg5MzQ5Li5hZmU0ZGM3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVUlOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVUlOVC5oCmluZGV4IDBkOWE1YjkuLmE1NTQ4YmMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VTElOVC5jcHAKaW5kZXggNDZlNmYxOS4uZjA5NTc3YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVUxJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1VMSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1VMSU5ULmgKaW5kZXggN2ViMzIwNC4uMTcyZGUxNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVVNJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVVNJTlQuY3BwCmluZGV4IDZiZTEzZWQuLjc2MmE4MmUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1VTSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fVVNJTlQuaAppbmRleCA0MDFlOTdhLi44OTc5ZWVkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19VU0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1VTSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19XT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1dPUkQuY3BwCmluZGV4IDkzNTkwZGQuLmVmNzJmYjIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1dPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1dPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19XT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19XT1JELmgKaW5kZXggOGMyNTM1Mi4uY2FlZDAyNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1dPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1dTVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fV1NUUklORy5jcHAKaW5kZXggMmZjZTRjMS4uYmZiM2ZmYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fV1NUUklORy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fV1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19XU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVURJTlQvRl9VRElOVF9UT19XU1RSSU5HLmgKaW5kZXggOWYyY2JhMS4uMTg0NGRhNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VESU5UL0ZfVURJTlRfVE9fV1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VRElOVC9GX1VESU5UX1RPX1dTVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvQ01ha2VMaXN0cy50eHQKaW5kZXggYWE5YzFkNi4uMTQ5YmViYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIDIwMTggVFUgVmllbm5hL0FDSU4NCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaA0KKyMgQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gcmVtb3ZpbmcgaWxsZWdhbCBjYXN0cw0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fQllURS5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fQllURS5jcHAKaW5kZXggYWRmMmM2OC4uMGI3MmIyNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0JZVEUuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19CWVRFLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0JZVEUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19CWVRFLmgKaW5kZXggNDg1ZDAzNy4uMDYzOTU0MiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0JZVEUuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fQllURS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0RJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0RJTlQuY3BwCmluZGV4IGFlMmU2NmIuLjg3MzIwZjUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19ESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19ESU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fRElOVC5oCmluZGV4IGU3MzdjMjUuLmNhNmRlZjcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19ESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0RJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19EV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fRFdPUkQuY3BwCmluZGV4IDQ2ZGVhZTAuLjRjYTE2OTggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19EV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0RXT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0RXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fRFdPUkQuaAppbmRleCBlN2E0NTYxLi43MWEzYjQ0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fRFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fRFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19JTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0lOVC5jcHAKaW5kZXggZGEzMjA2Ny4uNjY1MTI1ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19JTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19JTlQuaAppbmRleCBjODQxNDVkLi43ZWQxYThmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0xJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0xJTlQuY3BwCmluZGV4IDAxZDAxZDUuLjA5NDFiMjMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19MSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19MSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTElOVC5oCmluZGV4IDdjMDk3ZDYuLmQwOWVmMmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19MSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0xJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTFJFQUwuY3BwCmluZGV4IGY3ZTY0MDcuLmRhYzAwZDEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19MUkVBTC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0xSRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0xSRUFMLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTFJFQUwuaAppbmRleCAxOWEzOGZkLi5lMTU3YWZiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTFJFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTFJFQUwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19MV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTFdPUkQuY3BwCmluZGV4IDUxNWE0ZDUuLmZjMDY4YzggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19MV09SRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0xXT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX0xXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTFdPUkQuaAppbmRleCBhZWE4MjI3Li45MmU4NWQ5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fTFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19SRUFMLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19SRUFMLmNwcAppbmRleCBhYzJkZjI0Li40ZmZkZTRmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fUkVBTC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1JFQUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fUkVBTC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1JFQUwuaAppbmRleCA3NDMwZjNhLi4yZGM5MmM2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fUkVBTC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19SRUFMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fU0lOVC5jcHAKaW5kZXggYzRjZjg4OC4uZjliZDE5OSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1NJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19TSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1NJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19TSU5ULmgKaW5kZXggYWNjNWNmYy4uNzZlN2EwNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fU1RSSU5HLmNwcAppbmRleCAwYzRlYTFjLi4xYzk3N2Y3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1NUUklORy5oCmluZGV4IDQ2NzU5NGUuLmEzOGMwODggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19TVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fVURJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VESU5ULmNwcAppbmRleCBlNjMyOTY0Li5jMDJiNWJjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19VRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19VRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VESU5ULmgKaW5kZXggNWEyNjgwZS4uNzVmMGQ0NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fVUxJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VMSU5ULmNwcAppbmRleCA0ZjBiMGVjLi44MDRiNjhkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fVUxJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19VTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19VTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VMSU5ULmgKaW5kZXggYzVmMmZhNS4uMjNjMzZkNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VMSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VMSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fVVNJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VTSU5ULmNwcAppbmRleCBiZGExODllLi45ZTExNDY4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fVVNJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19VU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19VU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VTSU5ULmgKaW5kZXggNjNhOGI3MS4uZmE4N2Y0NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VTSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1VTSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fV09SRC5jcHAKaW5kZXggMzQ2NTg2Mi4uODU1NzVjMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1dPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19XT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1dPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19XT1JELmgKaW5kZXggOGExMmFlZC4uZDkzY2ViYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1dPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1dTVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1dTVFJJTkcuY3BwCmluZGV4IGQyZThkNWUuLmE1Nzg4OTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19XU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fV1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fV1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VJTlQvRl9VSU5UX1RPX1dTVFJJTkcuaAppbmRleCA5M2FiZjdkLi5kMjM1OTYxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUlOVC9GX1VJTlRfVE9fV1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VSU5UL0ZfVUlOVF9UT19XU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvQ01ha2VMaXN0cy50eHQKaW5kZXggMDhmYmUwMC4uZGMyZDQyNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0JZVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fQllURS5jcHAKaW5kZXggZDY5YWI0Yy4uODk0ZDVkYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fQllURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0JZVEUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0JZVEUuaAppbmRleCAxYTFkYjQxLi5mNGQ1ZjhiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19CWVRFLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fQllURS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19ESU5ULmNwcAppbmRleCA3MmVlZjE1Li4zMGU2MDY1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19ESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fRElOVC5oCmluZGV4IDYwYzQ2MzEuLjMwZWQwNTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19ESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19EV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19EV09SRC5jcHAKaW5kZXggNGZiNjUwZi4uMzFiODU0MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fRFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0RXT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0RXT1JELmgKaW5kZXggYTlkMzYwMy4uOGRlYzQ2MyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fRFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0lOVC5jcHAKaW5kZXggM2EyZTE5Zi4uMDY1OTIwMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19JTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19JTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0lOVC5oCmluZGV4IGY4NjU4MzUuLjc1ODI5N2EgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MSU5ULmNwcAppbmRleCBmMTZhOTFmLi5iYjZjMGEwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTElOVC5oCmluZGV4IDJhMWE3ZWMuLmRiNTcwYmMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0xJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MUkVBTC5jcHAKaW5kZXggOGYyMDEyNi4uYWU1ZDJmNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTFJFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0xSRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTFJFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0xSRUFMLmgKaW5kZXggOTcwOTM1MS4uZDNmNDFiMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTFJFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTFdPUkQuY3BwCmluZGV4IDg4MTIxM2EuLjg5ZjQyOTAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0xXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0xXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19MV09SRC5oCmluZGV4IGY4ZTAwNWEuLmJmN2Y2NDcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX0xXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fTFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1JFQUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fUkVBTC5jcHAKaW5kZXggMjUxN2FhZi4uYzVjODM3NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fUkVBTC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1JFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1JFQUwuaAppbmRleCA4MWYwZGJmLi4xYmE1MWI4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19SRUFMLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19TSU5ULmNwcAppbmRleCBhYzZiN2YyLi40ODRkY2JiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19TSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fU0lOVC5oCmluZGV4IDI1MWZiMzQuLjQxYjljMjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19TSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19TVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fU1RSSU5HLmNwcAppbmRleCA1MjEyODQ0Li5mZTI4M2NiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19TVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fU1RSSU5HLmgKaW5kZXggMzA0Zjc5YS4uMTkxYzRhMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VRElOVC5jcHAKaW5kZXggNTBjMjlhZC4uYWViYWQ3YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1VESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVURJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1VESU5ULmgKaW5kZXggODEyNzQxNS4uNTVlNDUxZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVURJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVUlOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VSU5ULmNwcAppbmRleCAwYjI0Njg5Li40ZTU2NTIzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVUlOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVUlOVC5oCmluZGV4IGI4ZDg3NGIuLmJjOTUyZjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VU0lOVC5jcHAKaW5kZXggNzIzNWEyOC4uN2EwYWE5OSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVVNJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1VTSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVVNJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1VTSU5ULmgKaW5kZXggOWRlNjc3NC4uZWU4MDEwYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fVVNJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19VU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19XT1JELmNwcAppbmRleCBjZGU0N2FiLi4zYjJlNTA5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19XT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19XT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fV09SRC5oCmluZGV4IDA5YTAzMWEuLjY0MDAzMGYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1dPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19XT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19XU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1dTVFJJTkcuY3BwCmluZGV4IDhjMzQ5OWIuLmY4ZmRjYWQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1dTVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fV1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VMSU5UL0ZfVUxJTlRfVE9fV1NUUklORy5oCmluZGV4IDkwNmNlMTQuLjQzMWQ0OTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VTElOVC9GX1VMSU5UX1RPX1dTVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVUxJTlQvRl9VTElOVF9UT19XU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvQ01ha2VMaXN0cy50eHQKaW5kZXggMmY2OTIyNC4uMGI0ZTNlMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlciwgTWF0dGhpYXMgUGxhc2NoDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSByZW1vdmluZyBpbGxlZ2FsIGNhc3RzDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0JZVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fQllURS5jcHAKaW5kZXggYjk5YWJhOS4uNjNkZGFlOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fQllURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0JZVEUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0JZVEUuaAppbmRleCA2N2IyYzVhLi5jM2JhZjBiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19CWVRFLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fQllURS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19ESU5ULmNwcAppbmRleCBlYjdlMzEzLi41MTJkNWQyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19ESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fRElOVC5oCmluZGV4IDAwNWM3NDkuLjA3NTljZGEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19ESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19EV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19EV09SRC5jcHAKaW5kZXggZjI1OGI0Yi4uMTlkOTYyZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fRFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0RXT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0RXT1JELmgKaW5kZXggNWI4MGE0Zi4uOGU4NmU0YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fRFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0lOVC5jcHAKaW5kZXggMTNmM2Q5Yy4uNGFkNzU2NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19JTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19JTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0lOVC5oCmluZGV4IDk4ZjBiZWQuLjYwMmJmYmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MSU5ULmNwcAppbmRleCAyZThjMDM5Li44MDgxOTg4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTElOVC5oCmluZGV4IGRkM2M2OTMuLmQxZTNlNzAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0xJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MUkVBTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MUkVBTC5jcHAKaW5kZXggODc3YzVlYi4uY2I3Mzc0YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTFJFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0xSRUFMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTFJFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0xSRUFMLmgKaW5kZXggYTAzZTUzMi4uMmU1ODU4YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTFJFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTFdPUkQuY3BwCmluZGV4IDZjMzNhMWQuLmQ0ZmZlNTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0xXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0xXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19MV09SRC5oCmluZGV4IDUyNWM5YjYuLjJmZGEwY2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX0xXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fTFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1JFQUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fUkVBTC5jcHAKaW5kZXggNmVlYjNkOC4uYWZiYjY0MiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fUkVBTC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1JFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1JFQUwuaAppbmRleCA3Nzg5ZTdmLi5lYzA5ZGRhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19SRUFMLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19TSU5ULmNwcAppbmRleCBjOWZjZTg2Li4yZWFlMjE4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19TSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fU0lOVC5oCmluZGV4IGIwZWYyNzcuLmViNTBjZWIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19TSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19TVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fU1RSSU5HLmNwcAppbmRleCBkZGEyZGVlLi4wZGI5OTVjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19TVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fU1RSSU5HLmgKaW5kZXggZmE5ZGRhZi4uM2I0MTBmZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VRElOVC5jcHAKaW5kZXggZWZlNTdlOC4uNGZjNjNhOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1VESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVURJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1VESU5ULmgKaW5kZXggMzNlZTE0ZC4uYjgyNGE1MyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVURJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVUlOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VSU5ULmNwcAppbmRleCA1YWYwZjM5Li5iZWYwYjIxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVUlOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVUlOVC5oCmluZGV4IDYwM2Y0OTkuLmI0MWQ3MmIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VTElOVC5jcHAKaW5kZXggYmMyMzRhYS4uMDg4NzIyYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVUxJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1VMSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1VMSU5ULmgKaW5kZXggZWIwMGIyOC4uN2YwZWVmZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19VTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19XT1JELmNwcAppbmRleCBiZTRiYzIzLi4zMmUwMGMzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19XT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19XT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fV09SRC5oCmluZGV4IGUyN2JiMjkuLmI5NGEzY2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1dPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19XT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19XU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1dTVFJJTkcuY3BwCmluZGV4IDM1OGZkMzQuLmE2NGY2NmIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1dTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1dTVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fV1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1VTSU5UL0ZfVVNJTlRfVE9fV1NUUklORy5oCmluZGV4IDQ3NGRkMjAuLjAyMTEyNmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9VU0lOVC9GX1VTSU5UX1RPX1dTVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vVVNJTlQvRl9VU0lOVF9UT19XU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0NNYWtlTGlzdHMudHh0CmluZGV4IDEyNGQyMTMuLjcxZGQyMGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCAyMDE4IFRVIFZpZW5uYS9BQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCisjIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIDIwMTggVFUgVmllbm5hL0FDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaA0KICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIHJlbW92aW5nIGlsbGVnYWwgY2FzdHMNCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0JZVEUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0JZVEUuY3BwCmluZGV4IGQ3Yzk1YzAuLjkxZGJhN2UgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19CWVRFLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fQllURS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19CWVRFLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fQllURS5oCmluZGV4IDYxODYwZTYuLjQwMTFmZTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19CWVRFLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0JZVEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19ESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19ESU5ULmNwcAppbmRleCBmMzlkZTRmLi43ZGNlYjBiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0RJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0RJTlQuaAppbmRleCA5ZWM4NWM3Li43ZmFjYmFlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19ESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fRFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0RXT1JELmNwcAppbmRleCBjMzY1MmNkLi5lODcxOWM2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fRFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19EV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19EV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0RXT1JELmgKaW5kZXggYmY1NjkxNC4uOGU1NjkyNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0RXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0RXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19JTlQuY3BwCmluZGV4IDE2MjQwOTUuLjkzODgzYWIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19JTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19JTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fSU5ULmgKaW5kZXggNjdiODkzOC4uZGU0MmE1NSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19JTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19MSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19MSU5ULmNwcAppbmRleCAwY2FjMjAxLi4wZTUyMjhmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0xJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0xJTlQuaAppbmRleCAwMjk1OGZjLi42YzUzYmMxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19MSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fTFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0xXT1JELmNwcAppbmRleCBkYzI0OWVlLi41MzE4OGM5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fTFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19MV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19MV09SRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0xXT1JELmgKaW5kZXggYzkyMGE3MC4uNGQ0MmU3YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0xXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX0xXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fU0lOVC5jcHAKaW5kZXggMDE2NjI5OS4uNTYzZDM1ZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1NJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19TSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1NJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19TSU5ULmgKaW5kZXggMzJmZTUzMy4uZWQ0NzUyOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1NJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fU1RSSU5HLmNwcAppbmRleCA1ZTE2ZmIzLi5mNzhiNDE0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1NUUklORy5oCmluZGV4IDA4NDcxNmYuLjlmMjRiMjAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19TVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVURJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VESU5ULmNwcAppbmRleCBhMWI0NzQ3Li5kYmEyZDYxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VESU5ULmgKaW5kZXggMWQyMWQ4My4uOTU2MjhlNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVUlOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVUlOVC5jcHAKaW5kZXggMDk5ZjBhNC4uNDRiNmI2NSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VSU5ULmgKaW5kZXggOGQ4ZmMyMi4uYzVmNDdhZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVUlOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VTElOVC5jcHAKaW5kZXggNGU1MjJiZC4uMjI5NTMxYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VMSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVUxJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VTElOVC5oCmluZGV4IDMxMDYzNjkuLmE0NjBjY2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VTSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VU0lOVC5jcHAKaW5kZXggZDI1MjdmOC4uNDQzZWM3OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1VTSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVVNJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fVVNJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VU0lOVC5oCmluZGV4IDVhNGQ4MzAuLmQ0NWI3MjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VU0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19VU0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1dTVFJJTkcuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1dTVFJJTkcuY3BwCmluZGV4IGY1MDQzYzcuLmM4ZWQ2NmEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19XU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fV1NUUklORy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fV1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dPUkQvRl9XT1JEX1RPX1dTVFJJTkcuaAppbmRleCA1ZTg4NDIxLi5kYjcwNTI1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV09SRC9GX1dPUkRfVE9fV1NUUklORy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XT1JEL0ZfV09SRF9UT19XU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0NNYWtlTGlzdHMudHh0CmluZGV4IGEzYzU1NDguLjFlOGUyM2IgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIEFDSU4NCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXINCisjIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlcg0KICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fQk9PTC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fQk9PTC5jcHAKaW5kZXggZDI2YjhlOS4uZDkzZTJmNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0JPT0wuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19CT09MLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19CT09MLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fQk9PTC5oCmluZGV4IGQwMTU0OGIuLjU4NzNlYjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19CT09MLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0JPT0wuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19CWVRFLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19CWVRFLmNwcAppbmRleCA1N2IzMDE5Li41YjM4ODllIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0JZVEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0JZVEUuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19CWVRFLmgKaW5kZXggZGI0NmM1NC4uNjIwNjhhYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0JZVEUuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fQllURS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0RJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0RJTlQuY3BwCmluZGV4IDIxYWY3YTAuLjdmYzkwMGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19ESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0RJTlQuaAppbmRleCAxMGM2YTkwLi40MmVjYzU0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19ESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fRFdPUkQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0RXT1JELmNwcAppbmRleCBiY2Q5ZmE0Li44MjM3MTg2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fRFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19EV09SRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fRFdPUkQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19EV09SRC5oCmluZGV4IGRhYzBhMTkuLmRhM2JmNWYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19EV09SRC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19EV09SRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fSU5ULmNwcAppbmRleCAwN2JjMWZiLi41ODYxOGNiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19JTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19JTlQuaAppbmRleCBhZjc1MWY2Li5iZWY4YzA5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0lOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0xJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0xJTlQuY3BwCmluZGV4IDE4MzhjMTEuLjQzMWJlODYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19MSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0xJTlQuaAppbmRleCAzOTdkYWJjLi45Y2M1ZDc2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19MSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTFJFQUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0xSRUFMLmNwcAppbmRleCA4ZTBjZGJhLi44NjIzNmFiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTFJFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19MUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTFJFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19MUkVBTC5oCmluZGV4IDgyMTc1ZDMuLjg0OWFiNjMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19MUkVBTC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19MUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0xXT1JELmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19MV09SRC5jcHAKaW5kZXggOTc0YmIzYS4uZDRiNzlhMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0xXT1JELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX0xXT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTFdPUkQuaAppbmRleCA3NjFmNjA4Li5mMjY3YzA4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fTFdPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19SRUFMLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19SRUFMLmNwcAppbmRleCAxN2MxNGFiLi5kZjMzNmU2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fUkVBTC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1JFQUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1JFQUwuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19SRUFMLmgKaW5kZXggNDZjMzQ3OS4uOWQyNmJhZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1JFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fUkVBTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1NJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1NJTlQuY3BwCmluZGV4IDkzZTkxZTUuLmZkYTYwNDYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19TSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1NJTlQuaAppbmRleCA4MGMzZTExLi45MGQ2MzRmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fU0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19TSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19TVFJJTkcuY3BwCmluZGV4IGI3ZmJkNDYuLjc3MjBhYjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19TVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19TVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1NUUklORy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1NUUklORy5oCmluZGV4IDc5ZGNhZDYuLmUzNWY4NWUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19TVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fU1RSSU5HLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVElNRS5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVElNRS5jcHAKaW5kZXggMGUzYmEwZi4uYzlkMzZjMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1RJTUUuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19USU1FLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19USU1FLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVElNRS5oCmluZGV4IDM4NzZjMjguLmI2Zjc3MTggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19USU1FLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1RJTUUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVURJTlQuY3BwCmluZGV4IDBmZGQyZTEuLmM3YWJkYjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VESU5ULmgKaW5kZXggYTI2OWQ1OS4uMmFjMWFkZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVUlOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVUlOVC5jcHAKaW5kZXggOGM4MDQ0MC4uY2U2ZWQ5NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VSU5ULmgKaW5kZXggNzY1NmEyMy4uMWIwMDhhOSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVUlOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VTElOVC5jcHAKaW5kZXggMWE4ZmE3NC4uYjNjNTg5OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VMSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVUxJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVUxJTlQuaAppbmRleCA0YWExZmI0Li4wYWJkN2NjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VU0lOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fVVNJTlQuY3BwCmluZGV4IDJlM2VjYzIuLjg5NWZiY2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VTSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19VU0lOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VTSU5ULmgKaW5kZXggOWFmNmI2Mi4uYzBjYTVmNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VTSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1VTSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fV09SRC5jcHAKaW5kZXggN2Y3NjA2My4uNGJkMjgwYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1dPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19XT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19XT1JELmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvbnZlcnNpb24vV1NUUklORy9GX1dTVFJJTkdfVE9fV09SRC5oCmluZGV4IDhmNWU5NjkuLjVmOTlmNzIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ29udmVyc2lvbi9XU1RSSU5HL0ZfV1NUUklOR19UT19XT1JELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db252ZXJzaW9uL1dTVFJJTkcvRl9XU1RSSU5HX1RPX1dPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0NNYWtlTGlzdHMudHh0CmluZGV4IDllNjg4YTAuLjJlM2I3MDkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMiBBQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyDQorIyBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXINCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVEQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVEQuY3BwCmluZGV4IGEzZTI4MGIuLjQ3ZGEwYjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RELmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVEQuaAppbmRleCA4MTEwMmFkLi43ZGQwNTkzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX0RJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfRElOVC5jcHAKaW5kZXggMjMxODVjMi4uYjkxZTNlYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9ESU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9ESU5ULmgKaW5kZXggOTYwYzI2NS4uNzRlZTU5ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX0RJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9MSU5ULmNwcAppbmRleCBiOWI4NzE3Li4zZDE5MDlmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9MSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9MSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX0xJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX0xJTlQuaAppbmRleCA3MTQ0MGExLi40YTE3NjczIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9MSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9VRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9VRElOVC5jcHAKaW5kZXggZjZmNTA1OC4uOWRkYzQxMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfVURJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX1VESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX1VESU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9VRElOVC5oCmluZGV4IDY3NDdmZTkuLmY0NWIxMzUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX1VESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfVURJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfVUxJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfVUxJTlQuY3BwCmluZGV4IDdjNDYzODQuLjM5OTYzODYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX1VMSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9VTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9VTElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVERfVUxJTlQuaAppbmRleCAxZmI2ODBkLi4xNjU5NjRjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NURF9VTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1REX1VMSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDExQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFUuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFUuY3BwCmluZGV4IDExZDY1MTAuLmEyZWE0MjMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVS5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFUuaAppbmRleCA1YjhlZjg2Li45NTFhZDY4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVS5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVUQuY3BwCmluZGV4IDE0MTRkZjcuLjc0ZDU1NGQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVELmgKaW5kZXggNzI3OGFkYS4uNzU2YjE5NSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVELmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRF9ESU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRF9ESU5ULmNwcAppbmRleCAyMTAwYjk3Li45NDg1NDhkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfRElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVEX0RJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVEX0RJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRF9ESU5ULmgKaW5kZXggOGFmN2Y1ZC4uNmIxMjM3NSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVEX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfTElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfTElOVC5jcHAKaW5kZXggYmZmN2EyNy4uMGJkN2NhOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVEX0xJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRF9MSU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRF9MSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfTElOVC5oCmluZGV4IGM4M2NjOTYuLmEwZjgyNTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRF9MSU5ULmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVEX0xJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVEX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVRF9VTElOVC5jcHAKaW5kZXggNDNiN2NkZC4uNmY0ZGVmMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVEX1VMSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfVUxJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVEX1VMSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfVUxJTlQuaAppbmRleCBjMjUxYTY2Li45MjM5YzIwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVURfVUxJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9ESU5ULmNwcAppbmRleCBkOTgyNmRjLi5hMGU0YjdlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9ESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9ESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdCwgSW5nbyBIZW5neQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfRElOVC5oCmluZGV4IGE2Y2E3MTcuLjhjZGIzOGYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVX0RJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9ESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVX0xJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfTElOVC5jcHAKaW5kZXggNDA3YzIxOS4uOTQ3ZjViNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfTElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9MSU5ULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9MSU5ULmgKaW5kZXggMTI5YTM1MS4uZjU0YmFiMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfTElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVX0xJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfVURJTlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfVURJTlQuY3BwCmluZGV4IDQyYTIyOTguLjc4MzRkMTggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVX1VESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9VRElOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9VRElOVC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfVURJTlQuaAppbmRleCBhYzM5M2VjLi4wYzI1M2MzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9VRElOVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVX1VESU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVX1VMSU5ULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVX1VMSU5ULmNwcAppbmRleCBmOWI5YmZmLi40NDRjZTNlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9VTElOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfVUxJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfVUxJTlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvQ291bnRlcnMvRkJfQ1RVX1VMSU5ULmgKaW5kZXggMTNjNDE0NS4uODUzNDI3NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9Db3VudGVycy9GQl9DVFVfVUxJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0NvdW50ZXJzL0ZCX0NUVV9VTElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0VkZ2VEZXRlY3Rpb24vQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0VkZ2VEZXRlY3Rpb24vQ01ha2VMaXN0cy50eHQKaW5kZXggZTcwYTBmMy4uOTc3OGI1OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9FZGdlRGV0ZWN0aW9uL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvRWRnZURldGVjdGlvbi9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMiBBQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNb25pa2EgV2VuZ2VyDQorIyBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1vbmlrYSBXZW5nZXINCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9FZGdlRGV0ZWN0aW9uL0ZCX0ZfVFJJRy5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0VkZ2VEZXRlY3Rpb24vRkJfRl9UUklHLmNwcAppbmRleCBhNGMzYTU1Li40YTIzMmM2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0VkZ2VEZXRlY3Rpb24vRkJfRl9UUklHLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0VkZ2VEZXRlY3Rpb24vRkJfRl9UUklHLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvRWRnZURldGVjdGlvbi9GQl9GX1RSSUcuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvRWRnZURldGVjdGlvbi9GQl9GX1RSSUcuaAppbmRleCBlOGM4NzI0Li4zODA0ZTU2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0VkZ2VEZXRlY3Rpb24vRkJfRl9UUklHLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9FZGdlRGV0ZWN0aW9uL0ZCX0ZfVFJJRy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMSBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0VkZ2VEZXRlY3Rpb24vRkJfUl9UUklHLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvRWRnZURldGVjdGlvbi9GQl9SX1RSSUcuY3BwCmluZGV4IGY1ZGFlZTAuLjg4MWNmNTEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvRWRnZURldGVjdGlvbi9GQl9SX1RSSUcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvRWRnZURldGVjdGlvbi9GQl9SX1RSSUcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9FZGdlRGV0ZWN0aW9uL0ZCX1JfVFJJRy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9FZGdlRGV0ZWN0aW9uL0ZCX1JfVFJJRy5oCmluZGV4IGIxNGVhOTYuLjBkMjFiOWUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvRWRnZURldGVjdGlvbi9GQl9SX1RSSUcuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL0VkZ2VEZXRlY3Rpb24vRkJfUl9UUklHLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvQ01ha2VMaXN0cy50eHQKaW5kZXggODU4MDVmMi4uODI3YzY3ZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgTW9uaWthIFdlbmdlcg0KKyMgQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lODQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNb25pa2EgV2VuZ2VyDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQUJTLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQUJTLmNwcAppbmRleCBkOWZjYTE5Li40ZDA3ZGNlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FCUy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BQlMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BQlMuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQUJTLmgKaW5kZXggOTQxNmQwMC4uM2Q5MmE5NyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BQlMuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FCUy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BQ09TLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQUNPUy5jcHAKaW5kZXggMjJiOThmYi4uZWYyZTNmYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BQ09TLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FDT1MuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BQ09TLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FDT1MuaAppbmRleCA4YzEwYmVkLi4yOWRkZjllIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FDT1MuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FDT1MuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQVNJTi5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FTSU4uY3BwCmluZGV4IDUxNWEyODkuLjViYTkxYjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQVNJTi5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BU0lOLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQVNJTi5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BU0lOLmgKaW5kZXggYTIwY2QxOC4uMDE2YWY5NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BU0lOLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BU0lOLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FUQU4uY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9BVEFOLmNwcAppbmRleCA0MDI0MDEzLi40ZmQ3ZTRlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FUQU4uY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQVRBTi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0FUQU4uaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQVRBTi5oCmluZGV4IDJhYzhlOGYuLjA3MTk1OTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQVRBTi5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQVRBTi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9DT1MuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9DT1MuY3BwCmluZGV4IDQ2MjhiMzMuLmY1MTllMDUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQ09TLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0NPUy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0NPUy5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9DT1MuaAppbmRleCAyNTIwNjJkLi5hNzUyY2FjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0NPUy5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfQ09TLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0VYUC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0VYUC5jcHAKaW5kZXggM2FjYTI4OC4uMWE2NzlhNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9FWFAuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfRVhQLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0VYUC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9FWFAuaAppbmRleCA5OWQ1OWJjLi40NDc4YWE4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0VYUC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfRVhQLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfTE4uY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9MTi5jcHAKaW5kZXggMzljOGZkMy4uMGNlNjBhMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9MTi5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9MTi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0xOLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0xOLmgKaW5kZXggMGRkZjg0YS4uMzI5MzI2OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9MTi5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfTE4uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfTE9HLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfTE9HLmNwcAppbmRleCA1ZGU1ZGI2Li5lZDRjOTM1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0xPRy5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9MT0cuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9MT0cuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfTE9HLmgKaW5kZXggM2E2YmZmYi4uYjg1MzAzZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9MT0cuaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX0xPRy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9TSU4uY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9TSU4uY3BwCmluZGV4IGFlNThkY2IuLjNhZDE4MjMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfU0lOLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1NJTi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1NJTi5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9TSU4uaAppbmRleCAzMzExMTQzLi5mN2Y4YTg4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1NJTi5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfU0lOLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1NRUlQuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9TUVJULmNwcAppbmRleCA4MjdkMGE4Li4xMzQ0ZWNhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1NRUlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfU1FSVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1NRUlQuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfU1FSVC5oCmluZGV4IDM5YTU4MjEuLmFhMzRkMGEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfU1FSVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfU1FSVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9UQU4uY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9UQU4uY3BwCmluZGV4IDBlMTAzYzQuLjk0ZjM3ODYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfVEFOLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1RBTi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1RBTi5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9OdW1lcmljYWwvRl9UQU4uaAppbmRleCA0Yjg4NGI4Li5iYzBlZmVhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL051bWVyaWNhbC9GX1RBTi5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvTnVtZXJpY2FsL0ZfVEFOLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0NNYWtlTGlzdHMudHh0CmluZGV4IDBlNzllOGIuLjlmNWFiODMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4NCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXINCisjIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlcg0KICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX0xJTUlULmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTElNSVQuY3BwCmluZGV4IDQzZmFlOGUuLjM0MzYyN2IgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTElNSVQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTElNSVQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX0xJTUlULmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX0xJTUlULmgKaW5kZXggNmRkNGQzYi4uZGUwN2RiZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9MSU1JVC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTElNSVQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgTWF0dGhpYXMgUGxhc2NoLCBHZXJoYXJkIEViZW5ob2Zlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTUFYLmNwcCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTUFYLmNwcAppbmRleCBkYTQ5Yzg0Li5lNTU3N2UzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01BWC5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9NQVguY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01BWC5oIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9NQVguaAppbmRleCAyZjQ2YzAyLi45YTI2N2Y3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01BWC5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTUFYLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01JTi5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01JTi5jcHAKaW5kZXggMjViYmYzNi4uNmNkODU4YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9NSU4uY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTUlOLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9NSU4uaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTUlOLmgKaW5kZXggYTIwYjA4Mi4uZGZmOTk0ZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9NSU4uaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01JTi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBNYXR0aGlhcyBQbGFzY2gsIEdlcmhhcmQgRWJlbmhvZmVyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9NVVhfMi5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01VWF8yLmNwcAppbmRleCBiNzMyODQ1Li4zZmMzNDVmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01VWF8yLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01VWF8yLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KQEAgLTQ0LDcgKzQ1LDcgQEAKIHZvaWQgRk9SVEVfRl9NVVhfMjo6ZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCl7DQogICBpZihzY21fbkV2ZW50UkVRSUQgPT0gcGFfbkVJSUQpew0KICAgICBpZihLKCkuaXNTaWduZWQoKSAmJiAoSygpLmdldFNpZ25lZFZhbHVlKCkgPCAwIHx8IEsoKS5nZXRTaWduZWRWYWx1ZSgpID4gMSkpew0KLSAgICAgICAgREVWTE9HX0VSUk9SKCJ2YWx1ZSBvZiBpbnB1dCBLIGlzIG5vdCBiZXR3ZWVuIDAgYW5kIDEiKTsNCisgICAgICBERVZMT0dfRVJST1IoInZhbHVlIG9mIGlucHV0IEsgaXMgbm90IGJldHdlZW4gMCBhbmQgMVxuIik7DQogICAgIH1lbHNlew0KICAgICAgIE9VVCgpLnNhdmVBc3NpZ24oKnN0YXRpY19jYXN0PENJRUNfQU5ZKj4oZ2V0REkoIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oSygpLmdldFVuc2lnbmVkVmFsdWUoKSArIDEpKSkpOw0KICAgICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50Q05GSUQpOw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTVVYXzIuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfTVVYXzIuaAppbmRleCBhOTEyNTY3Li5iNjBhMGM0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX01VWF8yLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9NVVhfMi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9TRUwuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9TRUwuY3BwCmluZGV4IDNjZmVhMTIuLjI4MzQwOWIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfU0VMLmNwcAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX1NFTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfU0VMLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1NlbGVjdGlvbi9GX1NFTC5oCmluZGV4IDU5YzhlYzMuLjM2MmE1ZGQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvU2VsZWN0aW9uL0ZfU0VMLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9TZWxlY3Rpb24vRl9TRUwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTkgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0NNYWtlTGlzdHMudHh0CmluZGV4IDVkNGNmZjEuLjRkZGZlZTIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4NCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1vbmlrYSBXZW5nZXINCisjIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTIgQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTW9uaWthIFdlbmdlcg0KICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UT0YuY3BwIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9UaW1lcnMvRkJfVE9GLmNwcAppbmRleCBhZDg0NWM4Li41OWJjN2UwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UT0YuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RPRi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCBJbmdvIEhlbmd5CkBAIC02MCwxMCArNjEsMTAgQEAKICAgICAgIGlmKHRydWUgPT0gbm90Rmlyc3RSaXNpbmdFZGdlKXsKICAgICAgICAgaWYoZmFsbGluZ0VkZ2UgPT0gZmFsc2UpewogICAgICAgICAgIGZhbGxpbmdFZGdlID0gdHJ1ZTsKLSAgICAgICAgICBzdGFydCA9IFRJTUUoKTsKKyAgICAgICAgICBzdGFydCA9IE5PV19NT05PVE9OSUMoKTsKICAgICAgICAgfQogICAgICAgICBlbHNlewotICAgICAgICAgIGNvdW50ID0gVElNRSgpIC0gc3RhcnQ7CisgICAgICAgICAgY291bnQgPSBOT1dfTU9OT1RPTklDKCkgLSBzdGFydDsKICAgICAgICAgICBpZihQVCgpIDw9IGNvdW50KXsKICAgICAgICAgICAgIFEoKSA9IGZhbHNlOwogICAgICAgICAgICAgRVQoKSA9IFBUKCk7CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UT0YuaCBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RPRi5oCmluZGV4IDJhMmRkM2UuLmU4MGIzZjYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RPRi5oCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RPRi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCwgSW5nbyBIZW5neQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RPTi5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UT04uY3BwCmluZGV4IDNkMTMwNzYuLjU1OTRhYTEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RPTi5jcHAKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9UaW1lcnMvRkJfVE9OLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA5ICAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsLCAgSW5nbyBIZW5neQpAQCAtNTgsOSArNTksOSBAQAogICAgIGVsc2V7CiAgICAgICBpZihyaXNpbmdFZGdlID09IGZhbHNlKXsKICAgICAgICAgcmlzaW5nRWRnZSA9IHRydWU7Ci0gICAgICAgIHN0YXJ0ID0gVElNRSgpOworICAgICAgICBzdGFydCA9IE5PV19NT05PVE9OSUMoKTsKICAgICAgIH1lbHNlewotICAgICAgICBjb3VudCA9IFRJTUUoKSAtIHN0YXJ0OworICAgICAgICBjb3VudCA9IE5PV19NT05PVE9OSUMoKSAtIHN0YXJ0OwogICAgICAgICBpZihQVCgpIDw9IGNvdW50KXsKICAgICAgICAgICBRKCkgPSB0cnVlOwogICAgICAgICAgIEVUKCkgPSBQVCgpOwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9UaW1lcnMvRkJfVE9OLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UT04uaAppbmRleCA0YTE1OWNjLi43YjBlNmE3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UT04uaAorKysgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UT04uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UUC5jcHAgYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UUC5jcHAKaW5kZXggY2MxZWE3ZC4uOTkxNTI3YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9UaW1lcnMvRkJfVFAuY3BwCisrKyBiL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RQLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsICBJbmdvIEhlbmd5CkBAIC01NSw3ICs1Niw3IEBACiAgICAgICAgICAgZWRnZUZsYWcgPSBmYWxzZTsKICAgICAgICAgICBERVZMT0dfREVCVUcoInRvcFxuIik7CiAgICAgICAgIH1lbHNlewotICAgICAgICAgIEVUKCkgPSBUSU1FKCkgLSBzdGFydDsKKyAgICAgICAgICBFVCgpID0gTk9XX01PTk9UT05JQygpIC0gc3RhcnQ7CiAgICAgICAgICAgREVWTE9HX0RFQlVHKCJyaXNpbmdcbiIpOwogICAgICAgICB9CiAgICAgICB9CkBAIC02Myw3ICs2NCw3IEBACiAgICAgICAgIGlmKElOKCkgPT0gdHJ1ZSAmJiBFVCgpID09IDApewogICAgICAgICAgIFEoKSA9IHRydWU7CiAgICAgICAgICAgZWRnZUZsYWcgPSB0cnVlOwotICAgICAgICAgIHN0YXJ0ID0gVElNRSgpOworICAgICAgICAgIHN0YXJ0ID0gTk9XX01PTk9UT05JQygpOwogICAgICAgICAgIERFVkxPR19ERUJVRygic3RhcnRcbiIpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RQLmggYi9zcmMvbW9kdWxlcy9JRUM2MTEzMS0zL1RpbWVycy9GQl9UUC5oCmluZGV4IDY3ZmRhODQuLmMwZjg0OTggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL0lFQzYxMTMxLTMvVGltZXJzL0ZCX1RQLmgKKysrIGIvc3JjL21vZHVsZXMvSUVDNjExMzEtMy9UaW1lcnMvRkJfVFAuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwsIEluZ28gSGVuZ3kNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hZHMvQURTX1NFUlZFUl9DT05GSUcuY3BwIGIvc3JjL21vZHVsZXMvYWRzL0FEU19TRVJWRVJfQ09ORklHLmNwcAppbmRleCAzNmI4Y2I3Li5jYmUwM2ExIDEwMDc1NQotLS0gYS9zcmMvbW9kdWxlcy9hZHMvQURTX1NFUlZFUl9DT05GSUcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2Fkcy9BRFNfU0VSVkVSX0NPTkZJRy5jcHAKQEAgLTEsMTMgKzEsMTUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lODQotKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0qIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSoNCi0qIENvbnRyaWJ1dG9yczoNCi0qICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCBjb250cmlidXRpb24NCi0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KKyAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4NCisgKg0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQ0KKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuDQorICoNCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyAqDQorICogQ29udHJpYnV0b3JzOg0KKyAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCBjb250cmlidXRpb24NCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiANCiAjaW5jbHVkZSAiQURTX1NFUlZFUl9DT05GSUcuaCINCiAjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWRzL0FEU19TRVJWRVJfQ09ORklHLmggYi9zcmMvbW9kdWxlcy9hZHMvQURTX1NFUlZFUl9DT05GSUcuaAppbmRleCA3YzgwMjhhLi4yNDRhMTRiIDEwMDc1NQotLS0gYS9zcmMvbW9kdWxlcy9hZHMvQURTX1NFUlZFUl9DT05GSUcuaAorKysgYi9zcmMvbW9kdWxlcy9hZHMvQURTX1NFUlZFUl9DT05GSUcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIGNvbnRyaWJ1dGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fkcy9DQWRzQ29ubmVjdGlvbi5jcHAgYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc0Nvbm5lY3Rpb24uY3BwCmluZGV4IDNlM2NlMjkuLjg3YmY5OTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Fkcy9DQWRzQ29ubmVjdGlvbi5jcHAKKysrIGIvc3JjL21vZHVsZXMvYWRzL0NBZHNDb25uZWN0aW9uLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIGNvbnRyaWJ1dGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWRzL0NBZHNDb25uZWN0aW9uLmggYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc0Nvbm5lY3Rpb24uaAppbmRleCA5MGZkY2EzLi4xYTNhYTZiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9hZHMvQ0Fkc0Nvbm5lY3Rpb24uaAorKysgYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc0Nvbm5lY3Rpb24uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIGNvbnRyaWJ1dGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWRzL0NBZHNDb25uZWN0aW9uTWFuYWdlci5jcHAgYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc0Nvbm5lY3Rpb25NYW5hZ2VyLmNwcAppbmRleCA1ODBhOWE1Li40NWE2M2ExIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9hZHMvQ0Fkc0Nvbm5lY3Rpb25NYW5hZ2VyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc0Nvbm5lY3Rpb25NYW5hZ2VyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIGNvbnRyaWJ1dGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWRzL0NBZHNDb25uZWN0aW9uTWFuYWdlci5oIGIvc3JjL21vZHVsZXMvYWRzL0NBZHNDb25uZWN0aW9uTWFuYWdlci5oCmluZGV4IDUzODEwMTQuLmI4OWQ3M2QgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Fkcy9DQWRzQ29ubmVjdGlvbk1hbmFnZXIuaAorKysgYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCBjb250cmlidXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fkcy9DQWRzUHJvY2Vzc0ludGVyZmFjZS5jcHAgYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc1Byb2Nlc3NJbnRlcmZhY2UuY3BwCmluZGV4IGRjMWFhYmYuLmQ3OTFhNGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Fkcy9DQWRzUHJvY2Vzc0ludGVyZmFjZS5jcHAKKysrIGIvc3JjL21vZHVsZXMvYWRzL0NBZHNQcm9jZXNzSW50ZXJmYWNlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIGNvbnRyaWJ1dGlvbgpAQCAtMjUsNyArMjYsNyBAQAogICAgIH0KIAogICAgIGJvb2wgQ0Fkc1Byb2Nlc3NJbnRlcmZhY2U6OmluaXRpYWxpc2UoYm9vbCl7Ci0gICAgICBDUGFyYW1ldGVyUGFyc2VyIGFkc1BhcmFtZXRlcnMoUEFSQU1TKCkuZ2V0VmFsdWUoKSwgMiwgJzonKTsKKyAgICAgIENQYXJhbWV0ZXJQYXJzZXIgYWRzUGFyYW1ldGVycyhQQVJBTVMoKS5nZXRWYWx1ZSgpLCAnOicsIDIpOwogICAgICAgaWYoMiAhPSBhZHNQYXJhbWV0ZXJzLnBhcnNlUGFyYW1ldGVycygpKSB7CiAgICAgICAgIFNUQVRVUygpID0gIlBBUkFNUyBjb3VsZCBub3QgYmUgcGFyc2VkIjsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWRzL0NBZHNQcm9jZXNzSW50ZXJmYWNlLmggYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc1Byb2Nlc3NJbnRlcmZhY2UuaAppbmRleCA2OGFmMjY2Li5lMjVhNzZhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9hZHMvQ0Fkc1Byb2Nlc3NJbnRlcmZhY2UuaAorKysgYi9zcmMvbW9kdWxlcy9hZHMvQ0Fkc1Byb2Nlc3NJbnRlcmZhY2UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIGNvbnRyaWJ1dGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWRzL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvYWRzL0NNYWtlTGlzdHMudHh0CmluZGV4IDU0NDQ0YzEuLjZlMTU3MjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Fkcy9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9hZHMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0YWwgY29udHJpYnV0aW9uCisjIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0YWwgY29udHJpYnV0aW9uCiAjICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBhZGRzIElCLCBRQiwgSUwsIFFMCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIAogIApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWRzL1NFVF9MT0NBTF9BRFNfQUREUkVTUy5jcHAgYi9zcmMvbW9kdWxlcy9hZHMvU0VUX0xPQ0FMX0FEU19BRERSRVNTLmNwcAppbmRleCA2YzcxOGEzLi5mM2JhYTA5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9hZHMvU0VUX0xPQ0FMX0FEU19BRERSRVNTLmNwcAorKysgYi9zcmMvbW9kdWxlcy9hZHMvU0VUX0xPQ0FMX0FEU19BRERSRVNTLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIGNvbnRyaWJ1dGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWRzL1NFVF9MT0NBTF9BRFNfQUREUkVTUy5oIGIvc3JjL21vZHVsZXMvYWRzL1NFVF9MT0NBTF9BRFNfQUREUkVTUy5oCmluZGV4IGFiNGFhMTMuLjVjZGMwOGQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Fkcy9TRVRfTE9DQUxfQURTX0FERFJFU1MuaAorKysgYi9zcmMvbW9kdWxlcy9hZHMvU0VUX0xPQ0FMX0FEU19BRERSRVNTLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCBjb250cmlidXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fkcy9wcm9jZXNzaW50ZXJmYWNlLmggYi9zcmMvbW9kdWxlcy9hZHMvcHJvY2Vzc2ludGVyZmFjZS5oCmluZGV4IDU0MGJkNGUuLmRiOTZmOGUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Fkcy9wcm9jZXNzaW50ZXJmYWNlLmgKKysrIGIvc3JjL21vZHVsZXMvYWRzL3Byb2Nlc3NpbnRlcmZhY2UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIGNvbnRyaWJ1dGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5M2JkODUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyOCBAQAorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQXJyb3doZWFkIHNwZWNpZmljIGZ1bmN0aW9uYWwgYmxvY2tzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmb3J0ZV9hZGRfbW9kdWxlKEFycm93aGVhZCAiQXJyb3doZWFkIEZ1bmN0aW9uIEJsb2NrcyIpCisKK0lGKEZPUlRFX01PRFVMRV9BcnJvd2hlYWQpCisgIGFkZF9zdWJkaXJlY3RvcnkoY29tbW9uKQorICBhZGRfc3ViZGlyZWN0b3J5KG9yY2hlc3RyYXRvcikKKyAgYWRkX3N1YmRpcmVjdG9yeShzZXJ2aWNlUmVnaXN0cnkpCisgIGFkZF9zdWJkaXJlY3RvcnkoU3lzdGVtVGVzdHMpCitFTkRJRihGT1JURV9NT0RVTEVfQXJyb3doZWFkKQorCisKKworICAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvU3lzdGVtVGVzdHMvQXJyb3doZWFkX0hUVFBUZXN0LmZib290IGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL1N5c3RlbVRlc3RzL0Fycm93aGVhZF9IVFRQVGVzdC5mYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTZlZWIwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL1N5c3RlbVRlc3RzL0Fycm93aGVhZF9IVFRQVGVzdC5mYm9vdApAQCAtMCwwICsxLDI1NzcgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjbGVhbkFsbCIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMS5SZWdpc3RlclNlcnZpY2VIVFRQXzEiIFR5cGU9IlJlZ2lzdGVyU2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMS5SZWdpc3RlclNlcnZpY2UiIFR5cGU9IlJlZ2lzdGVyU2VydmljZSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1JFTkQiIFR5cGU9IkVfUkVORCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2VIVFRQXzEiIFR5cGU9IlJlZ2lzdGVyU2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlIiBUeXBlPSJSZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTIuRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5EIiBUeXBlPSJFX1JFTkQiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzeXN0ZW1UZXN0TmFtZSIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLnN5c3RlbU5hbWUiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjE2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImxvY2FsaG9zdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLmFkZHJlc3MiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjgwOTAiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5wb3J0IiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMXzAiIFR5cGU9IlBVQkxfMCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklHTiNhbGxDbGVhbmVkIiBEZXN0aW5hdGlvbj0iUFVCTF8wLklEIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O0pTT04mcXVvdDssICZxdW90O1hNTCZxdW90O10iIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuaW50ZXJmYWNlcyIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2Uuc2VydmljZU1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3NlcnZpY2VUZXN0MiIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xLnNlcnZpY2VEZWZpbml0aW9uIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7SlNPTiZxdW90OywgJnF1b3Q7WE1MJnF1b3Q7XSIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtrZXkxPXZhbHVlMSZxdW90OywgJnF1b3Q7a2V5Mj12YWx1ZTImcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzEuc2VydmljZU1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyXzEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMl8xLlJlZ2lzdGVyU2VydmljZUhUVFBfMSIgVHlwZT0iUmVnaXN0ZXJTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMl8xLlJlZ2lzdGVyU2VydmljZSIgVHlwZT0iUmVnaXN0ZXJTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyXzEuRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkVfUkVORCIgVHlwZT0iRV9SRU5EIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzeXN0ZW1UZXN0TmFtZTIiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xLnN5c3RlbU5hbWUiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjM2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImxvY2FsaG9zdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtXzEuYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iODA5MCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtXzEucG9ydCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1VCTF8wIiBUeXBlPSJTVUJMXzAiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJR04jYWxsRW5kZWQiIERlc3RpbmF0aW9uPSJTVUJMXzAuSUQiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNURVNUX0VORCIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJMXzBfMSIgVHlwZT0iU1VCTF8wIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI0MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI2FsbExvYWRlZCIgRGVzdGluYXRpb249IlNVQkxfMF8xLklEIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI0MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuc2VydmljZVVSSSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI0NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJmYWxzZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS51ZHAiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjQ2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IiZxdW90O2tleTE9dmFsdWUxLCBrZXkyPXZhbHVlMiZxdW90OyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5tZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5lbmRwb2ludCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iL3NlcnZpY2VUZXN0L3N0YXJ0MiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlVVJJIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI0OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnZlcnNpb24iIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjUwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZhbHNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnVkcCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iJnF1b3Q7a2V5MT12YWx1ZTEsIGtleTI9dmFsdWUyJnF1b3Q7IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5Lm1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI1MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzEyNy4wLjAuMTo4NDQyL3NlcnZpY2VyZWdpc3RyeSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLmVuZHBvaW50IiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI1MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIvc2VydmljZVRlc3Qvc3RhcnQyIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuc2VydmljZVVSSSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTJfMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnZlcnNpb24iIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjU1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZhbHNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkudWRwIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSImcXVvdDtrZXkxPXZhbHVlMSwga2V5Mj12YWx1ZTImcXVvdDsiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyXzEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5tZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyXzEuUmVnaXN0ZXJTZXJ2aWNlLmVuZHBvaW50IiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5SZWdpc3RlclNlcnZpY2UuZG9uZVVucmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfU1IuUiIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVVbnJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVVbnJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5SZWdpc3RlclNlcnZpY2UudW5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkVfUkVORC5FSTIiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9SRU5ELlIiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuc2VydmljZVJlZ2lzdHJ5RW50cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5zZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5SZWdpc3RlclNlcnZpY2UucmVnaXN0ZXJTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5SZWdpc3RlclNlcnZpY2VIVFRQXzEucmVnaXN0ZXJTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UuZG9uZVVucmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyXzEuRV9TUi5SIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UuZG9uZVVucmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyXzEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5kb25lVW5yZWdpc3RlciIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTJfMS5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UudW5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FSTIiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9Ijc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9Ijc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5ELlIiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuc2VydmljZVJlZ2lzdHJ5RW50cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5zZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UucmVnaXN0ZXJTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2VIVFRQXzEucmVnaXN0ZXJTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMl8xLlJlZ2lzdGVyU2VydmljZS5kb25lVW5yZWdpc3RlciIgRGVzdGluYXRpb249IlBVQkxfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTJfMS5SZWdpc3RlclNlcnZpY2UucmVnaXN0ZXIiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyXzEuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMl8xLlJlZ2lzdGVyU2VydmljZS51bnJlZ2lzdGVyIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkVfUkVORC5FSTIiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9Ijg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyXzEuRV9SRU5ELkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMl8xLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTJfMS5FX1JFTkQuUiIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTJfMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VSZWdpc3RyeUVudHJ5IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMl8xLlJlZ2lzdGVyU2VydmljZS5zZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTJfMS5FX1NSLlEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyXzEuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTJfMS5SZWdpc3RlclNlcnZpY2UucmVnaXN0ZXJTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMl8xLlJlZ2lzdGVyU2VydmljZUhUVFBfMS5yZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5DTkYiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuUkVRIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xLlJFUSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NSLlIiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xLkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xLkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9SRU5ELkVJMSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCTF8wLklOSVRPIiBEZXN0aW5hdGlvbj0iUFVCTF8wLlJFUSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iOTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxfMC5JTklUTyIgRGVzdGluYXRpb249IlNVQkxfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSI5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCTF8wLklORCIgRGVzdGluYXRpb249IlNURVNUX0VORC5SRVEiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9Ijk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJMXzBfMS5JTkQiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5SRVEiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9Ijk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iU1VCTF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5DT0xEIiBEZXN0aW5hdGlvbj0iU1VCTF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5hcnJvd2hlYWRTeXN0ZW0iIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZXIiIC8+PC9SZXF1ZXN0PgorY2xlYW5BbGw7PFJlcXVlc3QgSUQ9IjEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uYXJyb3doZWFkU3lzdGVtIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnByb3ZpZGVyIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIxMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5hcnJvd2hlYWRTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnByb3ZpZGVkU2VydmljZSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMS5hcnJvd2hlYWRTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnByb3ZpZGVkU2VydmljZSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTJfMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnByb3ZpZGVkU2VydmljZSIgLz48L1JlcXVlc3Q+CitjbGVhbkFsbDs8UmVxdWVzdCBJRD0iMTA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xLmFycm93aGVhZFN5c3RlbSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTJfMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnByb3ZpZGVyIiAvPjwvUmVxdWVzdD4KK2NsZWFuQWxsOzxSZXF1ZXN0IElEPSIxMDciIEFjdGlvbj0iU1RBUlQiLz4KKzs8UmVxdWVzdCBJRD0iMTA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyVW5yZWdpc3RlciIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjEwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVgiIFR5cGU9IkdFVF9BVF9JTkRFWCIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjExMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYLklOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcnZpY2VOb3RSZWdpc3RlcmVkUG9zMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiBUeXBlPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZUhUVFAiIFR5cGU9IlF1ZXJ5U2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjExNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7SlNPTiZxdW90OywgJnF1b3Q7WE1MJnF1b3Q7XSIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5pbnRlcmZhY2VzIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtrZXkxPXZhbHVlMSZxdW90OywgJnF1b3Q7a2V5Mj12YWx1ZTImcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLnNlcnZpY2VNZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjExOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjOjAiIERlc3RpbmF0aW9uPSJGX0VRLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjEyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjEyNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIucG9ydCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydCIgVHlwZT0iQVBQRU5EX1NUUklOR18zIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyM6IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjEyOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIuYWRkcmVzcyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNzZXJ2aWNlVVJJIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjEzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjEzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjEzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2UiIFR5cGU9IlF1ZXJ5U2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjEzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzEyNy4wLjAuMTo4NDQyL3NlcnZpY2VyZWdpc3RyeSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyZWQiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI2xvY2FsaG9zdDo4MDkwL3NlcnZpY2VUZXN0L3N0YXJ0IiBEZXN0aW5hdGlvbj0iRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlUmVnaXN0ZXJlZFBvczAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX0RFTVVYIiBUeXBlPSJFX0RFTVVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfREVNVVhfMSIgVHlwZT0iRV9ERU1VWCIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5GX0dUIiBUeXBlPSJGX0dUIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCMzIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX01FUkdFIiBUeXBlPSJFX01FUkdFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5GX1NVQiIgVHlwZT0iRl9TVUIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUIuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZUhUVFAiIFR5cGU9IlJlZ2lzdGVyU2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlIiBUeXBlPSJSZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UuZW5kcG9pbnQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE1NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VVUkkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkudmVyc2lvbiIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE1NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJmYWxzZSIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkudWRwIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IiZxdW90O2tleTE9dmFsdWUxLCBrZXkyPXZhbHVlMiZxdW90OyIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkubWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc3lzdGVtVGVzdE5hbWUiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5zeXN0ZW1OYW1lIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTYxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImxvY2FsaG9zdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLmFkZHJlc3MiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iODA5MCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLnBvcnQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUyIgVHlwZT0iRl9ESU5UX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLnBvcnQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0IiBUeXBlPSJBUFBFTkRfU1RSSU5HXzMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTY5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE3MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIuYWRkcmVzcyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTczIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNzZXJ2aWNlVVJJIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRVUkkubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSSIgVHlwZT0iQVBQRU5EX1NUUklOR18yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlTm90UmVnaXN0ZXJlZFBvczAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdFVF9BVF9JTkRFWF8xIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xLklOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlBVQkxJU0hfMCIgVHlwZT0iUFVCTF8wIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTgzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJR04jUmVnaXN0ZXJVbnJlZ2lzdGVyVGVzdFJlYWR5IiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLklEIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNVQkxfMCIgVHlwZT0iU1VCTF8wIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMTg1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJR04jYWxsQ2xlYW5lZCIgRGVzdGluYXRpb249IlNVQkxfMC5JRCIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjE5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LklOXzEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIxOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUy5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMCIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZS5xdWVyeSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8xIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlLnJlZ2lzdGVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzIiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UucXVlcnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZS51bnJlZ2lzdGVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMCIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZS5xdWVyeSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzEiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfR1QuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVguRUkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX01FUkdFLkVPIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9TV0lUQ0guRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfU1VCLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfU1VCLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYXzEuRUkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8zIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8yIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkxIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVguSyIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfR1QuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX1NVQi5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLksiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfU1VCLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJGX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjIzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0LklOXzEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUy5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMS5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuSU5fMiIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZU5vdFJlZ2lzdGVyZWRQb3MxLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlLnF1ZXJpZWQiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJGX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZVJlZ2lzdGVyZWRQb3MwLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZVJlZ2lzdGVyZWRQb3MwLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlLmRvbmVVbnJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UuZG9uZVVucmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJSZWdpc3RlcmVkLlIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyNjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZS5kb25lUmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZS5kb25lUmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJSZWdpc3RlcmVkLlMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZU5vdFJlZ2lzdGVyZWRQb3MwLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZS5xdWVyaWVkIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJGX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXJ2aWNlTm90UmVnaXN0ZXJlZFBvczAuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJQVUJMSVNIXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCTF8wLklORCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJTVUJMXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IlNVQkxfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRLk9VVCIgRGVzdGluYXRpb249IlNlcnZpY2VOb3RSZWdpc3RlcmVkUG9zMS5jaGVjayIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZVF1ZXJ5Rm9ybSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZS5zZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2Uuc2VydmljZUVudHJpZXMiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyZWQuUSIgRGVzdGluYXRpb249IkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJTZXJ2aWNlUmVnaXN0ZXJlZFBvczAuY2hlY2siIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuc2VydmljZVJlZ2lzdHJ5RW50cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2Uuc2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5hcnJvd2hlYWRTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5wcm92aWRlZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLmFycm93aGVhZFN5c3RlbSIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJTZXJ2aWNlTm90UmVnaXN0ZXJlZFBvczAuY2hlY2siIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJVbnJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xLklOX0FSUkFZIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2UucXVlcnlTZXJ2aWNlcyIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFAucXVlcnlTZXJ2aWNlcyIgLz48L1JlcXVlc3Q+CitSZWdpc3RlclVucmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlLnJlZ2lzdGVyU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUhUVFAucmVnaXN0ZXJTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyVW5yZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjkzIiBBY3Rpb249IlNUQVJUIi8+Cis7PFJlcXVlc3QgSUQ9IjI5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEb3VibGVSZWdpc3RlciIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZSIgVHlwZT0iUXVlcnlTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIyOTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UuYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZUhUVFAiIFR5cGU9IlF1ZXJ5U2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjI5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVgiIFR5cGU9IkdFVF9BVF9JTkRFWCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMjk5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguSU5ERVgiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VydmljZU5vdFJlZ2lzdGVyZWRQb3MxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzA2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyM6IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLmFkZHJlc3MiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMxMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjc2VydmljZVVSSSIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xIiBUeXBlPSJGX1dTVFJJTkdfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc2VydmljZVRlc3QiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2Uuc2VydmljZURlZmluaXRpb24iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7SlNPTiZxdW90OywgJnF1b3Q7WE1MJnF1b3Q7XSIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5pbnRlcmZhY2VzIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2Uuc2VydmljZU1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiBUeXBlPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnZlcnNpb24iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlcmVkIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNsb2NhbGhvc3Q6ODA5MC9zZXJ2aWNlVGVzdC9zdGFydCIgRGVzdGluYXRpb249IkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlUmVnaXN0ZXJlZFBvczAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfREVNVVgiIFR5cGU9IkVfREVNVVgiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfREVNVVhfMSIgVHlwZT0iRV9ERU1VWCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRl9HVCIgVHlwZT0iRl9HVCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCMzIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuSU4yIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkZfU1VCIiBUeXBlPSJGX1NVQiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCM0IiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfU1VCLklOMiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX01FUkdFXzEiIFR5cGU9IkVfTUVSR0UiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjMzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3N5c3RlbVRlc3ROYW1lIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uc3lzdGVtTmFtZSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImxvY2FsaG9zdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLmFkZHJlc3MiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSI4MDkwIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0ucG9ydCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM0MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VVUkkiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM0MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnVkcCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzQ1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IiZxdW90O2tleTE9dmFsdWUxLCBrZXkyPXZhbHVlMiZxdW90OyIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkubWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UiIFR5cGU9IlJlZ2lzdGVyU2VydmljZSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjMTI3LjAuMC4xOjg0NDIvc2VydmljZXJlZ2lzdHJ5IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlLmVuZHBvaW50IiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlSFRUUCIgVHlwZT0iUmVnaXN0ZXJTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUyIgVHlwZT0iRl9ESU5UX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzUyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0Lm1lbWJlciIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0IiBUeXBlPSJBUFBFTkRfU1RSSU5HXzMiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM1NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjOiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIuYWRkcmVzcyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzU5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNzZXJ2aWNlVVJJIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRVUkkubWVtYmVyIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEiIFR5cGU9IkZfV1NUUklOR19UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSSIgVHlwZT0iQVBQRU5EX1NUUklOR18yIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR0VUX0FUX0lOREVYXzEiIFR5cGU9IkdFVF9BVF9JTkRFWCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzY0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMS5JTkRFWCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzY2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjOjAiIERlc3RpbmF0aW9uPSJGX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VydmljZU5vdFJlZ2lzdGVyZWRQb3MwIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNVQlNDUklCRV8wIiBUeXBlPSJTVUJMXzAiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSUdOI1JlZ2lzdGVyVW5yZWdpc3RlclRlc3RSZWFkeSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wLklEIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUFVCTF8wIiBUeXBlPSJQVUJMXzAiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM3MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSUdOI0RvdWJsZVJlZ2lzdGVyUmVhZHkiIERlc3RpbmF0aW9uPSJQVUJMXzAuSUQiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTLklOIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRQb3J0LmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5JTiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLklOXzEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuSU5fMiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UucmVnaXN0ZXIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjM5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8xIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlLnJlZ2lzdGVyIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8wIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlLnF1ZXJ5IiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSIzOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8xIiBEZXN0aW5hdGlvbj0iUFVCTF8wLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iMzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9HVC5DTkYiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX1NVQi5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfU1VCLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYXzEuRUkiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzMiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9DVFUuUiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFXzEuRUkyIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8yIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0VfMS5FSTIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfTUVSR0VfMS5FTyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRV8xLkVJMSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRV8xLkVJMSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRV8xLkVJMSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFXzEuRUkyIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFXzEuRUkxIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9ERU1VWC5FSSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzMiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UudW5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzIiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UucXVlcnkiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVguSyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9HVC5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9TVUIuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVhfMS5LIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULklOMSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUIuSU4xIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXU18xLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0LklOXzEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUy5JTiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlLnF1ZXJpZWQiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZU5vdFJlZ2lzdGVyZWRQb3MxLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVguQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5DTkYiIERlc3RpbmF0aW9uPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8xLkNORiIgRGVzdGluYXRpb249IlNlcnZpY2VSZWdpc3RlcmVkUG9zMC5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZVJlZ2lzdGVyZWRQb3MwLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5DTkYiIERlc3RpbmF0aW9uPSJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UuZG9uZVJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJlZC5TIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZS5kb25lVW5yZWdpc3RlciIgRGVzdGluYXRpb249IlJlZ2lzdGVyZWQuUiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2UucXVlcmllZCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJGX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJTZXJ2aWNlTm90UmVnaXN0ZXJlZFBvczAuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2VOb3RSZWdpc3RlcmVkUG9zMC5DTkYiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzAuSU5EIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLlJFUSIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZS5kb25lUmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlLmRvbmVVbnJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8wLklOSVRPIiBEZXN0aW5hdGlvbj0iUFVCTF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlLnNlcnZpY2VFbnRyaWVzIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYLklOX0FSUkFZIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iU2VydmljZU5vdFJlZ2lzdGVyZWRQb3MxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlUXVlcnlGb3JtIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlLnNlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJlZC5RIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iU2VydmljZVJlZ2lzdGVyZWRQb3MwLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5hcnJvd2hlYWRTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5wcm92aWRlZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uYXJyb3doZWFkU3lzdGVtIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5wcm92aWRlciIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VSZWdpc3RyeUVudHJ5IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlLnNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xLklOX0FSUkFZIiAvPjwvUmVxdWVzdD4KK0RvdWJsZVJlZ2lzdGVyOzxSZXF1ZXN0IElEPSI0NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IlNlcnZpY2VOb3RSZWdpc3RlcmVkUG9zMC5jaGVjayIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2UucXVlcnlTZXJ2aWNlcyIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFAucXVlcnlTZXJ2aWNlcyIgLz48L1JlcXVlc3Q+CitEb3VibGVSZWdpc3Rlcjs8UmVxdWVzdCBJRD0iNDc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UucmVnaXN0ZXJTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlSFRUUC5yZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorRG91YmxlUmVnaXN0ZXI7PFJlcXVlc3QgSUQ9IjQ3OSIgQWN0aW9uPSJTVEFSVCIvPgorOzxSZXF1ZXN0IElEPSI0ODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJNb3JlU2VydmljZXMiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjQ4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjQ4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjQ4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjQ4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjQ4NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIucG9ydCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0UG9ydC5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjQ4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydCIgVHlwZT0iQVBQRU5EX1NUUklOR18zIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI0ODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI0ODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI0ODkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLmFkZHJlc3MiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI0OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI0OTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRVUkkiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjc2VydmljZVVSSSIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNDkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXU18xIiBUeXBlPSJGX1dTVFJJTkdfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI0OTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNDk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNDk3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc3lzdGVtVGVzdE5hbWUiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5zeXN0ZW1OYW1lIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI0OTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibG9jYWxob3N0IiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNDk5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjgwOTAiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5wb3J0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VydmljZTJSZWdpc3RlcmVkUG9zMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlMVJlZ2lzdGVyZWRQb3MwIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUwNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI2xvY2FsaG9zdDo4MDkwL3NlcnZpY2VUZXN0L3N0YXJ0IiBEZXN0aW5hdGlvbj0iRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTA5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTExIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyM6IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLmFkZHJlc3MiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUxNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjc2VydmljZVVSSSIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xIiBUeXBlPSJGX1dTVFJJTkdfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlMU5vdFJlZ2lzdGVyZWRQb3MxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX0RFTVVYIiBUeXBlPSJFX0RFTVVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX0RFTVVYXzEiIFR5cGU9IkVfREVNVVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkZfR1QiIFR5cGU9IkZfR1QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUyNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJJTlQjMyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULklOMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX01FUkdFIiBUeXBlPSJFX01FUkdFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkZfU1VCIiBUeXBlPSJGX1NVQiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCM0IiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfU1VCLklOMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX0RFTVVYXzFfMSIgVHlwZT0iRV9ERU1VWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5GX0dUXzEiIFR5cGU9IkZfR1QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJJTlQjNyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dUXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkZfU1VCXzEiIFR5cGU9IkZfU1VCIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzgiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9TV0lUQ0hfMSIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVgiIFR5cGU9IkdFVF9BVF9JTkRFWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguSU5ERVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjUzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVhfMSIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1MzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xLklOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNsb2NhbGhvc3Q6ODA5MC9zZXJ2aWNlVGVzdC9zdGFydDIiIERlc3RpbmF0aW9uPSJGX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUzFSZWciIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZUhUVFBfMSIgVHlwZT0iUmVnaXN0ZXJTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlIiBUeXBlPSJSZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5EIiBUeXBlPSJFX1JFTkQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZUhUVFBfMSIgVHlwZT0iUmVnaXN0ZXJTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlIiBUeXBlPSJSZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTEuRV9SRU5EIiBUeXBlPSJFX1JFTkQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlMk5vdFJlZ2lzdGVyZWRQb3MxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlMyUmVnIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TV0lUQ0hfMSIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU2MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIucG9ydCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRQb3J0Lm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTY1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyM6IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIuYWRkcmVzcyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFVSSSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNzZXJ2aWNlVVJJIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLldTMldTXzEiIFR5cGU9IkZfV1NUUklOR19UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU3NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIucG9ydCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuR2V0UG9ydC5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLklwUG9ydCIgVHlwZT0iQVBQRU5EX1NUUklOR18zIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1NzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1ODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRBZGRyZXNzIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1ODEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLmFkZHJlc3MiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1ODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1ODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRVUkkiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjc2VydmljZVVSSSIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuR2V0VVJJLm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1ODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5XUzJXU18xIiBUeXBlPSJGX1dTVFJJTkdfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1ODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdFVF9BVF9JTkRFWF8xXzEiIFR5cGU9IkdFVF9BVF9JTkRFWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTg5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMV8xLklOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIFR5cGU9IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZTIuUXVlcnlTZXJ2aWNlIiBUeXBlPSJRdWVyeVNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2UyLlF1ZXJ5U2VydmljZUhUVFAiIFR5cGU9IlF1ZXJ5U2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVhfMiIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1OTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8yLklOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI1OTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1VCTF8wIiBUeXBlPSJTVUJMXzAiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU5NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSUdOI0RvdWJsZVJlZ2lzdGVyUmVhZHkiIERlc3RpbmF0aW9uPSJTVUJMXzAuSUQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzMiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjU5OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUV8zLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNTk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcnZpY2UxTm90UmVnaXN0ZXJlZFBvczAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8zXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYwMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUV8zXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VydmljZTJOb3RSZWdpc3RlcmVkUG9zMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgVHlwZT0iRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlMS5RdWVyeVNlcnZpY2UiIFR5cGU9IlF1ZXJ5U2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZTEuUXVlcnlTZXJ2aWNlSFRUUCIgVHlwZT0iUXVlcnlTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcnZpY2UxIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYwNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3NlcnZpY2VUZXN0IiBEZXN0aW5hdGlvbj0iU2VydmljZTEuc2VydmljZURlZmluaXRpb24iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYwOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7SlNPTiZxdW90OywgJnF1b3Q7WE1MJnF1b3Q7XSIgRGVzdGluYXRpb249IlNlcnZpY2UxLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYwOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7a2V5MT12YWx1ZTEmcXVvdDssICZxdW90O2tleTI9dmFsdWUyJnF1b3Q7XSIgRGVzdGluYXRpb249IlNlcnZpY2UxLnNlcnZpY2VNZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcnZpY2UyIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYxMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3NlcnZpY2VUZXN0MiIgRGVzdGluYXRpb249IlNlcnZpY2UyLnNlcnZpY2VEZWZpbml0aW9uIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O0pTT04mcXVvdDssICZxdW90O1hNTCZxdW90O10iIERlc3RpbmF0aW9uPSJTZXJ2aWNlMi5pbnRlcmZhY2VzIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJTZXJ2aWNlMi5zZXJ2aWNlTWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMXzAiIFR5cGU9IlBVQkxfMCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjE1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJR04jdGVzdE1vcmVTZXJ2aWNlc1JlYWR5IiBEZXN0aW5hdGlvbj0iUFVCTF8wLklEIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iL3NlcnZpY2VUZXN0L3N0YXJ0MiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlVVJJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkudWRwIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iJnF1b3Q7a2V5MT12YWx1ZTEsIGtleTI9dmFsdWUyJnF1b3Q7IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5Lm1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5lbmRwb2ludCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ii9zZXJ2aWNlVGVzdC9zdGFydCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlVVJJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkudWRwIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iJnF1b3Q7a2V5MT12YWx1ZTEsIGtleTI9dmFsdWUyJnF1b3Q7IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5Lm1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5lbmRwb2ludCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UyLlF1ZXJ5U2VydmljZS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnZlcnNpb24iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYyOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzEyNy4wLjAuMTo4NDQyL3NlcnZpY2VyZWdpc3RyeSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZTEuUXVlcnlTZXJ2aWNlLmFkZHJlc3MiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjYzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJFX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRLklOMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0UG9ydC5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3MuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMS5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5JTl8xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuSU5fMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5JTl8xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV8zLklOMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydFVSSS5JTl8yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8wIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8xIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMiIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzMiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkVfU1IuUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkVfUkVORC5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzEiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzIiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzMiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfU1IuUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzMiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfR1QuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI2OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9ERU1VWC5FSSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9NRVJHRS5FTyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9TVUIuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVhfMS5FSSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNjk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzMiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjY5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8yIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkxIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dUXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX0dUXzEuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfU1dJVENIXzEuRUkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfU1dJVENIXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfU1VCLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9TV0lUQ0hfMS5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfU1VCXzEuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVhfMV8xLkVJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzFfMS5FTzAiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMV8xLkVPMSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8yIiBEZXN0aW5hdGlvbj0iUFVCTF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzMiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMV8xLkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzFfMS5FTzIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMV8xLkVPMyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0NUVS5SIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYLksiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfR1QuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfU1VCLk9VVCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYXzEuSyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5JTjEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfU1VCLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1RfMS5JTjEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfR1RfMS5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9TV0lUQ0hfMS5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX1NVQl8xLk9VVCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYXzFfMS5LIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVSZWdpc3RlciIgRGVzdGluYXRpb249IlMyUmVnLlMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UuZG9uZVVucmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJTMlJlZy5SIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9TV0lUQ0guRU8xIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UucmVnaXN0ZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS51bnJlZ2lzdGVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FSTIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjcyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRU8iIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5ELkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuc2VydmljZVJlZ2lzdHJ5RW50cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5zZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkVfU1IuUSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlclNlcnZpY2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZUhUVFBfMS5yZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjczNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5SZWdpc3RlclNlcnZpY2UuZG9uZVJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iUzFSZWcuUyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5kb25lVW5yZWdpc3RlciIgRGVzdGluYXRpb249IlMxUmVnLlIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjczNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlLnVucmVnaXN0ZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjczOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9SRU5ELkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1JFTkQuRU8iIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkVfUkVORC5SIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlUmVnaXN0cnlFbnRyeSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlLnNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlLnJlZ2lzdGVyU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlSFRUUF8xLnJlZ2lzdGVyU2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0hfMS5FSSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldEFkZHJlc3MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXU18xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5ESTJTLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0LklOXzEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLldTMldTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5ESTJTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydC5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuREkyUy5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRVUkkuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydC5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXU18xLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydFVSSS5JTl8xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydFVSSS5JTl8yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldEFkZHJlc3MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRBZGRyZXNzLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuSXBQb3J0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5XUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzNfMS5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI3ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLklwUG9ydFVSSS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlMi5RdWVyeVNlcnZpY2UucXVlcnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlMi5RdWVyeVNlcnZpY2UucXVlcmllZCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8yLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlUXVlcnlGb3JtIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlMi5RdWVyeVNlcnZpY2Uuc2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2UyLlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzEuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlMi5RdWVyeVNlcnZpY2Uuc2VydmljZUVudHJpZXMiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMi5JTl9BUlJBWSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iNzk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2UyLlF1ZXJ5U2VydmljZS5xdWVyeVNlcnZpY2VzIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlMi5RdWVyeVNlcnZpY2VIVFRQLnF1ZXJ5U2VydmljZXMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlMS5RdWVyeVNlcnZpY2UucXVlcnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlMS5RdWVyeVNlcnZpY2UucXVlcmllZCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZVF1ZXJ5Rm9ybSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZTEuUXVlcnlTZXJ2aWNlLnNlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlMS5RdWVyeVNlcnZpY2Uuc2VydmljZUVudHJpZXMiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijc5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlMS5RdWVyeVNlcnZpY2Uuc2VydmljZUVudHJpZXMiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMS5JTl9BUlJBWSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2UxLlF1ZXJ5U2VydmljZS5xdWVyeVNlcnZpY2VzIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlMS5RdWVyeVNlcnZpY2VIVFRQLnF1ZXJ5U2VydmljZXMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8yLkNORiIgRGVzdGluYXRpb249IlNlcnZpY2UxUmVnaXN0ZXJlZFBvczAuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZTFOb3RSZWdpc3RlcmVkUG9zMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8xLkNORiIgRGVzdGluYXRpb249IlNlcnZpY2UyUmVnaXN0ZXJlZFBvczAuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249IlNlcnZpY2UyTm90UmVnaXN0ZXJlZFBvczEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQkxfMC5JTkQiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYLkNORiIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTFSZWdpc3RlcmVkUG9zMC5DTkYiIERlc3RpbmF0aW9uPSJGX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXJ2aWNlMlJlZ2lzdGVyZWRQb3MwLkNORiIgRGVzdGluYXRpb249IkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMi5DTkYiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iRl9FUV8zLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzMuQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZTFOb3RSZWdpc3RlcmVkUG9zMC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTFOb3RSZWdpc3RlcmVkUG9zMC5DTkYiIERlc3RpbmF0aW9uPSJGX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMk5vdFJlZ2lzdGVyZWRQb3MwLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSF8xLkVPMSIgRGVzdGluYXRpb249IkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0hfMS5FTzAiIERlc3RpbmF0aW9uPSJGX0VRXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTJOb3RSZWdpc3RlcmVkUG9zMC5DTkYiIERlc3RpbmF0aW9uPSJGX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTJOb3RSZWdpc3RlcmVkUG9zMS5DTkYiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTFOb3RSZWdpc3RlcmVkUG9zMS5DTkYiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IlNVQkxfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJTVUJMXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTMlJlZy5FTyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTMVJlZy5FTyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5DTkYiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTEuQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2UyLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJQVUJMXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMVJlZ2lzdGVyZWRQb3MwLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iU2VydmljZTFOb3RSZWdpc3RlcmVkUG9zMS5jaGVjayIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVguT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iU2VydmljZTJSZWdpc3RlcmVkUG9zMC5jaGVjayIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTMVJlZy5RIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5hcnJvd2hlYWRTeXN0ZW0iIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uYXJyb3doZWFkU3lzdGVtIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnByb3ZpZGVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249IlNlcnZpY2UyTm90UmVnaXN0ZXJlZFBvczEuY2hlY2siIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9IjgzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUzJSZWcuUSIgRGVzdGluYXRpb249IkVfU1dJVENIXzEuRyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlczs8UmVxdWVzdCBJRD0iODQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMi5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMy5PVVQiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMU5vdFJlZ2lzdGVyZWRQb3MwLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzOzxSZXF1ZXN0IElEPSI4NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfM18xLk9VVCIgRGVzdGluYXRpb249IlNlcnZpY2UyTm90UmVnaXN0ZXJlZFBvczAuY2hlY2siIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijg0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTEuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5wcm92aWRlZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijg0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTIuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5wcm92aWRlZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijg0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTEuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijg0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTIuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXM7PFJlcXVlc3QgSUQ9Ijg0OCIgQWN0aW9uPSJTVEFSVCIvPgorOzxSZXF1ZXN0IElEPSI4NDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2FtZVNlcnZpY2VUd2ljZSIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1VCTF8wIiBUeXBlPSJTVUJMXzAiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODUxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJR04jdGVzdE1vcmVTZXJ2aWNlc1JlYWR5IiBEZXN0aW5hdGlvbj0iU1VCTF8wLklEIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9ERU1VWCIgVHlwZT0iRV9ERU1VWCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfREVNVVhfMSIgVHlwZT0iRV9ERU1VWCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkZfR1QiIFR5cGU9IkZfR1QiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODU3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCMzIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuSU4yIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9NRVJHRSIgVHlwZT0iRV9NRVJHRSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkZfU1VCIiBUeXBlPSJGX1NVQiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUIuSU4yIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEiIFR5cGU9IkVfREVNVVgiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5GX0dUXzEiIFR5cGU9IkZfR1QiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCM3IiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1RfMS5JTjIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5GX1NVQl8xIiBUeXBlPSJGX1NVQiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzgiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX1NXSVRDSF8xIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5IiBUeXBlPSJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZUhUVFBfMSIgVHlwZT0iUmVnaXN0ZXJTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UiIFR5cGU9IlJlZ2lzdGVyU2VydmljZSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQiIFR5cGU9IkVfUkVORCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VydmljZTEiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4NzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdCIgRGVzdGluYXRpb249IlNlcnZpY2UxLnNlcnZpY2VEZWZpbml0aW9uIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg3NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7SlNPTiZxdW90OywgJnF1b3Q7WE1MJnF1b3Q7XSIgRGVzdGluYXRpb249IlNlcnZpY2UxLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODc2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtrZXkxPXZhbHVlMSZxdW90OywgJnF1b3Q7a2V5Mj12YWx1ZTImcXVvdDtdIiBEZXN0aW5hdGlvbj0iU2VydmljZTEuc2VydmljZU1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlSFRUUF8xIiBUeXBlPSJSZWdpc3RlclNlcnZpY2VIVFRQIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZSIgVHlwZT0iUmVnaXN0ZXJTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTEuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UxLkVfUkVORCIgVHlwZT0iRV9SRU5EIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODg0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc3lzdGVtVGVzdE5hbWUiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5zeXN0ZW1OYW1lIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg4NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJsb2NhbGhvc3QiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg4NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSI4MDkwIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0ucG9ydCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4ODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIFR5cGU9IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4ODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2UiIFR5cGU9IlF1ZXJ5U2VydmljZSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI4ODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2VIVFRQIiBUeXBlPSJRdWVyeVNlcnZpY2VIVFRQIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVhfMSIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg5MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzEuSU5ERVgiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iODk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydCIgVHlwZT0iQVBQRU5EX1NUUklOR18zIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg5NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjOiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijg5OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIuYWRkcmVzcyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTAyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNzZXJ2aWNlVVJJIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLm1lbWJlciIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xIiBUeXBlPSJGX1dTVFJJTkdfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR0VUX0FUX0lOREVYIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTA3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguSU5ERVgiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTExIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0Lm1lbWJlciIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTE1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEiIFR5cGU9IkZfV1NUUklOR19UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcnZpY2UxUmVnaXN0ZXJlZFBvczAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjbG9jYWxob3N0OjgwOTAvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJGX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCb3RoU2VydmljZXNSZWdpc3RlcmVkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8zIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkyNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI2xvY2FsaG9zdDo4MDkwL3NlcnZpY2VUZXN0L3N0YXJ0MiIgRGVzdGluYXRpb249IkZfRVFfMy5JTjEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjbG9jYWxob3N0OjgwOTAvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJGX0VRLklOMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjbG9jYWxob3N0OjgwOTAvc2VydmljZVRlc3Qvc3RhcnQyIiBEZXN0aW5hdGlvbj0iRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzNfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNsb2NhbGhvc3Q6ODA5MC9zZXJ2aWNlVGVzdC9zdGFydCIgRGVzdGluYXRpb249IkZfRVFfM18xLklOMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VydmljZTJSZWdpc3RlcmVkUG9zMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNsb2NhbGhvc3Q6ODA5MC9zZXJ2aWNlVGVzdC9zdGFydDIiIERlc3RpbmF0aW9uPSJGX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjkzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCb3RoU2VydmljZXNOb3RSZWdpc3RlcmVkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5MzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjOjAiIERlc3RpbmF0aW9uPSJGX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjOjAiIERlc3RpbmF0aW9uPSJGX0VRXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VydmljZTJOb3RSZWdpc3RlcmVkUG9zMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfNCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVFfNC5JTjEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfNF8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUV80XzEuSU4xIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlMU5vdFJlZ2lzdGVyZWRQb3MxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9BTkQiIFR5cGU9IkZfQU5EIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX01FUkdFIiBUeXBlPSJFX01FUkdFIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX01FUkdFXzEiIFR5cGU9IkVfTUVSR0UiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfQU5EXzEiIFR5cGU9IkZfQU5EIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX09SIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0FORF8xXzEiIFR5cGU9IkZfQU5EIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCT09MMkJPT0wiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW1fMSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTU3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc3lzdGVtVGVzdE5hbWUyIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW1fMS5zeXN0ZW1OYW1lIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJsb2NhbGhvc3QiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xLmFkZHJlc3MiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTU5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjgwOTAiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xLnBvcnQiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlBVQkxfMCIgVHlwZT0iUFVCTF8wIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk2MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSUdOI3NhbWVTZXJ2aWNlVHdpY2VSZWFkeSIgRGVzdGluYXRpb249IlBVQkxfMC5JRCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iL3NlcnZpY2VUZXN0L3N0YXJ0MiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlVVJJIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk2MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnZlcnNpb24iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTY0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZhbHNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnVkcCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iJnF1b3Q7a2V5MT12YWx1ZTEsIGtleTI9dmFsdWUyJnF1b3Q7IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5Lm1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk2NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzEyNy4wLjAuMTo4NDQyL3NlcnZpY2VyZWdpc3RyeSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLmVuZHBvaW50IiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuc2VydmljZVVSSSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJmYWxzZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS51ZHAiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IiZxdW90O2tleTE9dmFsdWUxLCBrZXkyPXZhbHVlMiZxdW90OyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5tZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5lbmRwb2ludCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnZlcnNpb24iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTczIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjMTI3LjAuMC4xOjg0NDIvc2VydmljZXJlZ2lzdHJ5IiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2UuYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8wIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9SRU5ELkVJMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8xIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5ELkVJMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMiIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMyIgRGVzdGluYXRpb249IkZfRVFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8wIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NSLlIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9SRU5ELkVJMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8xIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzIiIERlc3RpbmF0aW9uPSJGX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzMiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfU1IuUiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8zIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8zIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfR1QuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYLkVJIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfTUVSR0UuRU8iIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9TVUIuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVhfMS5FSSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9Ijk5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iOTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSI5OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkxIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9TV0lUQ0guRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX0dUXzEuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfU1dJVENIXzEuRUkiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX1NXSVRDSF8xLkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX1NVQi5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX1NXSVRDSF8xLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX1NVQl8xLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfU1VCXzEuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVhfMV8xLkVJIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8wIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8xIiBEZXN0aW5hdGlvbj0iRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8yIiBEZXN0aW5hdGlvbj0iUFVCTF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8zIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8yIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8zIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYLksiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX0dULk9VVCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9TVUIuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVhfMS5LIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5JTjEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX1NVQi5JTjEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX1NVQl8xLklOMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1RfMS5JTjEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX0dUXzEuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfU1dJVENIXzEuRyIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfU1VCXzEuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfREVNVVhfMV8xLksiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVSZWdpc3RlciIgRGVzdGluYXRpb249IkVfTUVSR0VfMS5FSTEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVVbnJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iRV9NRVJHRV8xLkVJMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS51bnJlZ2lzdGVyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRUkyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5ELkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuUiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VSZWdpc3RyeUVudHJ5IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2Uuc2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlclNlcnZpY2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZUhUVFBfMS5yZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVSZWdpc3RlciIgRGVzdGluYXRpb249IkVfTUVSR0VfMS5FSTEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVVbnJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iRV9NRVJHRV8xLkVJMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDAzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS51bnJlZ2lzdGVyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1JFTkQuRUkyIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTEuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuRV9SRU5ELkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1JFTkQuUiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMS5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VSZWdpc3RyeUVudHJ5IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5SZWdpc3RlclNlcnZpY2Uuc2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTEuRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMS5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlclNlcnZpY2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLlJlZ2lzdGVyU2VydmljZUhUVFBfMS5yZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLkNORiIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJ5IiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZS5xdWVyaWVkIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZVF1ZXJ5Rm9ybSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnNlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnNlcnZpY2VFbnRyaWVzIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzEuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnNlcnZpY2VFbnRyaWVzIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYLklOX0FSUkFZIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZS5xdWVyeVNlcnZpY2VzIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2VIVFRQLnF1ZXJ5U2VydmljZXMiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUy5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5JTl8xIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTLklOIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5JTl8zIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMuSU4iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV8zLklOMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRLklOMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzNfMS5JTjIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5JTl8zIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV80LklOMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfNF8xLklOMiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0LmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDA5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3MuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMDk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLklOXzEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwwOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLkNORiIgRGVzdGluYXRpb249IlNlcnZpY2UxLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVguQ05GIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzMuQ05GIiBEZXN0aW5hdGlvbj0iRl9FUV8yLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMVJlZ2lzdGVyZWRQb3MwLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZTJSZWdpc3RlcmVkUG9zMC5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249IkZfRVFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXJ2aWNlMVJlZ2lzdGVyZWRQb3MwLkNORiIgRGVzdGluYXRpb249IkZfRVFfNC5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfNC5DTkYiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMk5vdFJlZ2lzdGVyZWRQb3MxLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDExMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTJSZWdpc3RlcmVkUG9zMC5DTkYiIERlc3RpbmF0aW9uPSJGX0VRXzRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfNF8xLkNORiIgRGVzdGluYXRpb249IlNlcnZpY2UxTm90UmVnaXN0ZXJlZFBvczEuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkZfQU5ELlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDExNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9BTkQuQ05GIiBEZXN0aW5hdGlvbj0iQm90aFNlcnZpY2VzTm90UmVnaXN0ZXJlZC5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJvdGhTZXJ2aWNlc1JlZ2lzdGVyZWQuQ05GIiBEZXN0aW5hdGlvbj0iRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJvdGhTZXJ2aWNlc05vdFJlZ2lzdGVyZWQuQ05GIiBEZXN0aW5hdGlvbj0iRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2UxTm90UmVnaXN0ZXJlZFBvczEuQ05GIiBEZXN0aW5hdGlvbj0iRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2UyTm90UmVnaXN0ZXJlZFBvczEuQ05GIiBEZXN0aW5hdGlvbj0iRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfTUVSR0UuRU8iIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfTUVSR0VfMS5FTyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iRl9BTkRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfT1IuQ05GIiBEZXN0aW5hdGlvbj0iQm90aFNlcnZpY2VzUmVnaXN0ZXJlZC5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJGX0FORF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0FORF8xLkNORiIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTC5DTkYiIERlc3RpbmF0aW9uPSJGX0VRXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0FORF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0xfMS5DTkYiIERlc3RpbmF0aW9uPSJGX09SLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IlNVQkxfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iU1VCTF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2UxLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW1fMS5DTkYiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5SRVEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQkxfMC5JTkQiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUFVCTF8wLklOSVRPIiBEZXN0aW5hdGlvbj0iUFVCTF8wLlJFUSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDEzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTEuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5wcm92aWRlZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2UxLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5hcnJvd2hlYWRTeXN0ZW0iIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UxLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZXIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2UxLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVguT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iU2VydmljZTFSZWdpc3RlcmVkUG9zMC5jaGVjayIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDE0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IlNlcnZpY2UyUmVnaXN0ZXJlZFBvczAuY2hlY2siIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfNC5PVVQiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMk5vdFJlZ2lzdGVyZWRQb3MxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzRfMS5PVVQiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMU5vdFJlZ2lzdGVyZWRQb3MxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGX0FORC5JTjEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxNDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRl9BTkQuSU4yIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0FORC5PVVQiIERlc3RpbmF0aW9uPSJCb3RoU2VydmljZXNOb3RSZWdpc3RlcmVkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJGX0FORF8xLklOMSIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDE0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iRl9BTkRfMS5JTjIiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfT1IuT1VUIiBEZXN0aW5hdGlvbj0iQm90aFNlcnZpY2VzUmVnaXN0ZXJlZC5jaGVjayIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDE1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8zLk9VVCIgRGVzdGluYXRpb249IkZfQU5EXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJGX0FORF8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0FORF8xLk9VVCIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5JTiIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDE1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249IkZfT1IuSU4xIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0FORF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MXzEuSU4iIC8+PC9SZXF1ZXN0PgorU2FtZVNlcnZpY2VUd2ljZTs8UmVxdWVzdCBJRD0iMSwxNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTF8xLk9VVCIgRGVzdGluYXRpb249IkZfT1IuSU4yIiAvPjwvUmVxdWVzdD4KK1NhbWVTZXJ2aWNlVHdpY2U7PFJlcXVlc3QgSUQ9IjEsMTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbV8xLmFycm93aGVhZFN5c3RlbSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5wcm92aWRlciIgLz48L1JlcXVlc3Q+CitTYW1lU2VydmljZVR3aWNlOzxSZXF1ZXN0IElEPSIxLDE1NyIgQWN0aW9uPSJTVEFSVCIvPgorOzxSZXF1ZXN0IElEPSIxLDE1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGEiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5GaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5IiBUeXBlPSJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlSFRUUF8xIiBUeXBlPSJSZWdpc3RlclNlcnZpY2VIVFRQIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlIiBUeXBlPSJSZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5FX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuRV9SRU5EIiBUeXBlPSJFX1JFTkQiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE2NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgVHlwZT0iRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2UiIFR5cGU9IlF1ZXJ5U2VydmljZSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlSFRUUCIgVHlwZT0iUXVlcnlTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTc0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtKU09OJnF1b3Q7LCAmcXVvdDtYTUwmcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE3NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7a2V5MT12YWx1ZTEmcXVvdDssICZxdW90O2tleTI9dmFsdWUyJnF1b3Q7XSIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5zZXJ2aWNlTWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUyIgVHlwZT0iRl9ESU5UX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE3OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIucG9ydCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0IiBUeXBlPSJBUFBFTkRfU1RSSU5HXzMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjOiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTgzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0QWRkcmVzcy5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxODYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydFVSSSIgVHlwZT0iQVBQRU5EX1NUUklOR18yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR0VUX0FUX0lOREVYIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE5MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYLklOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV80IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVFfNC5JTjEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDE5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb3dlclZlcnNpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzEiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTk2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc2VydmljZVRlc3QiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTk3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtKU09OJnF1b3Q7LCAmcXVvdDtYTUwmcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzEuaW50ZXJmYWNlcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMTk4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtrZXkxPXZhbHVlMSZxdW90OywgJnF1b3Q7a2V5Mj12YWx1ZTImcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzEuc2VydmljZU1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwxOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2FtZVZlcnNpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgVHlwZT0iRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xLlF1ZXJ5U2VydmljZSIgVHlwZT0iUXVlcnlTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xLlF1ZXJ5U2VydmljZUhUVFAiIFR5cGU9IlF1ZXJ5U2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVhfMSIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xLklOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0IiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLnBvcnQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyM6IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuSU5fMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjEyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUyIgVHlwZT0iRl9TVFJJTkdfVE9fV1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiBUeXBlPSJTZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzRfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjbG9jYWxob3N0OjgwOTAvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJGX0VRXzRfMS5JTjEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJPbmVJbnRlcmZhY2VPdXRPZlR3byIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIFR5cGU9IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8xLlF1ZXJ5U2VydmljZSIgVHlwZT0iUXVlcnlTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzEuUXVlcnlTZXJ2aWNlSFRUUCIgVHlwZT0iUXVlcnlTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjI4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydCIgVHlwZT0iQVBQRU5EX1NUUklOR18zIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyMzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0VVJJLm1lbWJlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjM4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfNF8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI2xvY2FsaG9zdDo4MDkwL3NlcnZpY2VUZXN0L3N0YXJ0IiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8xIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI0MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3NlcnZpY2VUZXN0IiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjQzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtYTUwmcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMS5pbnRlcmZhY2VzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8xLnNlcnZpY2VNZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdFVF9BVF9JTkRFWF8xXzEiIFR5cGU9IkdFVF9BVF9JTkRFWCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjQ2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMV8xLklOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iT25lSW50ZXJmYWNlT3V0T2ZUd29fMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIFR5cGU9IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yLlF1ZXJ5U2VydmljZSIgVHlwZT0iUXVlcnlTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzIuUXVlcnlTZXJ2aWNlSFRUUCIgVHlwZT0iUXVlcnlTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjU0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLklwUG9ydCIgVHlwZT0iQVBQRU5EX1NUUklOR18zIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuR2V0VVJJLm1lbWJlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfNF8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI2NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI2xvY2FsaG9zdDo4MDkwL3NlcnZpY2VUZXN0L3N0YXJ0IiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI2OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3NlcnZpY2VUZXN0IiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMi5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjY5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtKU09OJnF1b3Q7XSIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzIuaW50ZXJmYWNlcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtrZXkxPXZhbHVlMSZxdW90OywgJnF1b3Q7a2V5Mj12YWx1ZTImcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMi5zZXJ2aWNlTWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVhfMV8yIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI3MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzFfMi5JTkRFWCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSW50ZXJmYWNlUHJvdmlkZWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR0VUX0FUX0lOREVYXzFfMl8xIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI3NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzFfMl8xLklOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIFR5cGU9IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzEuUXVlcnlTZXJ2aWNlIiBUeXBlPSJRdWVyeVNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLlF1ZXJ5U2VydmljZUhUVFAiIFR5cGU9IlF1ZXJ5U2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuREkyUyIgVHlwZT0iRl9ESU5UX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI4MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIucG9ydCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuSXBQb3J0IiBUeXBlPSJBUFBFTkRfU1RSSU5HXzMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjOiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuR2V0QWRkcmVzcy5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyODkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5HZXRVUkkubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyOTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMjkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLklwUG9ydFVSSSIgVHlwZT0iQVBQRU5EX1NUUklOR18yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyOTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3NlcnZpY2VUZXN0IiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xLnNlcnZpY2VEZWZpbml0aW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyOTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O0pTT04xJnF1b3Q7XSIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMS5pbnRlcmZhY2VzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyOTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzEuc2VydmljZU1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV80XzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwyOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVFfNF8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDI5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJMXzAiIFR5cGU9IlNVQkxfMCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzAwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJR04jc2FtZVNlcnZpY2VUd2ljZVJlYWR5IiBEZXN0aW5hdGlvbj0iU1VCTF8wLklEIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iT25seU9uZU1ldGFkYXRhIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuREkyUyIgVHlwZT0iRl9ESU5UX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzA1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRQb3J0Lm1lbWJlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuSXBQb3J0IiBUeXBlPSJBUFBFTkRfU1RSSU5HXzMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMwNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjOiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMwOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIuYWRkcmVzcyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuR2V0QWRkcmVzcy5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLkdldFVSSSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzEyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNzZXJ2aWNlVVJJIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRVUkkubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLldTMldTXzEiIFR5cGU9IkZfV1NUUklOR19UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLklwUG9ydFVSSSIgVHlwZT0iQVBQRU5EX1NUUklOR18yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV80XzFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMxNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzEiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzE5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc2VydmljZVRlc3QiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzFfMS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtKU09OJnF1b3Q7LCAmcXVvdDtYTUwmcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzEuaW50ZXJmYWNlcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtrZXkxPXZhbHVlMSZxdW90O10iIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzFfMS5zZXJ2aWNlTWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVhfMV8yXzFfMSIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMV8xLklOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgVHlwZT0iRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xLlF1ZXJ5U2VydmljZSIgVHlwZT0iUXVlcnlTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xLlF1ZXJ5U2VydmljZUhUVFAiIFR5cGU9IlF1ZXJ5U2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIFR5cGU9IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xLlF1ZXJ5U2VydmljZSIgVHlwZT0iUXVlcnlTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzEuUXVlcnlTZXJ2aWNlSFRUUCIgVHlwZT0iUXVlcnlTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLklwUG9ydCIgVHlwZT0iQVBQRU5EX1NUUklOR18zIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDMzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuR2V0VVJJLm1lbWJlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8xXzEiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzQ1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc2VydmljZVRlc3QiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzFfMV8xLnNlcnZpY2VEZWZpbml0aW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O0pTT04mcXVvdDssICZxdW90O1hNTCZxdW90O10iIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzFfMV8xLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzRfMV8yXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVFfNF8xXzJfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR0VUX0FUX0lOREVYXzFfMl8xXzFfMSIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMV8xXzEuSU5ERVgiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb01ldGFkYXRhQW5kQXNrZWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzIiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzUzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc2VydmljZVRlc3QiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzFfMi5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzU0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtrZXkxPXZhbHVlMSZxdW90OywgJnF1b3Q7a2V5Mj12YWx1ZTImcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzIuc2VydmljZU1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV80XzFfMl8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMl8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5HZXRQb3J0IiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLnBvcnQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyM6IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5JcFBvcnQuSU5fMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuR2V0QWRkcmVzcyIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzY0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuUzJXUyIgVHlwZT0iRl9TVFJJTkdfVE9fV1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiBUeXBlPSJTZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzY5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuV1MyV1NfMSIgVHlwZT0iRl9XU1RSSU5HX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHRVRfQVRfSU5ERVhfMV8yXzFfMiIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMV8yLklOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9JbnRlcmZhY2VQcm92aWRlZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiBUeXBlPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzIuUXVlcnlTZXJ2aWNlIiBUeXBlPSJRdWVyeVNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzIuUXVlcnlTZXJ2aWNlSFRUUCIgVHlwZT0iUXVlcnlTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdFVF9BVF9JTkRFWF8xXzJfMV8xXzFfMSIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzNzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMV8xXzFfMS5JTkRFWCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8xXzFfMSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzODAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8xXzFfMS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzgxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtKU09OJnF1b3Q7LCAmcXVvdDtYTUwmcXVvdDtdIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzFfMV8xLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ01ldGFkYUJ1dE5vdEFza2VkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiBUeXBlPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMV8xLlF1ZXJ5U2VydmljZSIgVHlwZT0iUXVlcnlTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzFfMS5RdWVyeVNlcnZpY2VIVFRQIiBUeXBlPSJRdWVyeVNlcnZpY2VIVFRQIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5HZXRQb3J0IiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzODkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLnBvcnQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5HZXRQb3J0Lm1lbWJlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLklwUG9ydCIgVHlwZT0iQVBQRU5EX1NUUklOR18zIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzOTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5JcFBvcnQuSU5fMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM5MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIuYWRkcmVzcyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSwzOTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuUzJXUyIgVHlwZT0iRl9TVFJJTkdfVE9fV1NUUklORyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkdldFVSSSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzk2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNzZXJ2aWNlVVJJIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuR2V0VVJJLm1lbWJlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiBUeXBlPSJTZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsMzk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLldTMldTXzEiIFR5cGU9IkZfV1NUUklOR19UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDM5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfNF8xXzJfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjbG9jYWxob3N0OjgwOTAvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJGX0VRXzRfMV8yXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUFVCTF8wIiBUeXBlPSJQVUJMXzAiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSUdOI3ZlcnNpb25FbmRlZCIgRGVzdGluYXRpb249IlBVQkxfMC5JRCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDA0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc3lzdGVtVGVzdE5hbWUiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5GaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5zeXN0ZW1OYW1lIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibG9jYWxob3N0IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDA2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjgwOTAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5GaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5wb3J0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtKU09OJnF1b3Q7LCAmcXVvdDtYTUwmcXVvdDtdIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQwOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7a2V5MT12YWx1ZTEmcXVvdDssICZxdW90O2tleTI9dmFsdWUyJnF1b3Q7XSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5zZXJ2aWNlTWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VVUkkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQxMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnVkcCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IiZxdW90O2tleTE9dmFsdWUxLCBrZXkyPXZhbHVlMiZxdW90OyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkubWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQxNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzEyNy4wLjAuMTo4NDQyL3NlcnZpY2VyZWdpc3RyeSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLlJlZ2lzdGVyU2VydmljZS5lbmRwb2ludCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDE1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0udmVyc2lvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjMTI3LjAuMC4xOjg0NDIvc2VydmljZXJlZ2lzdHJ5IiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xLlF1ZXJ5U2VydmljZS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0idHJ1ZSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5tZXRhZGF0YVNlYXJjaCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0udmVyc2lvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjMTI3LjAuMC4xOjg0NDIvc2VydmljZXJlZ2lzdHJ5IiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzEuUXVlcnlTZXJ2aWNlLmFkZHJlc3MiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJ0cnVlIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLm1ldGFkYXRhU2VhcmNoIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMi5RdWVyeVNlcnZpY2UuYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRydWUiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5tZXRhZGF0YVNlYXJjaCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLlF1ZXJ5U2VydmljZS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0idHJ1ZSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0ubWV0YWRhdGFTZWFyY2giIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQyOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzEuUXVlcnlTZXJ2aWNlLmFkZHJlc3MiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQzMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJ0cnVlIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLm1ldGFkYXRhU2VhcmNoIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMS5RdWVyeVNlcnZpY2UuYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDM0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRydWUiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLm1ldGFkYXRhU2VhcmNoIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0udmVyc2lvbiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDM2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjMTI3LjAuMC4xOjg0NDIvc2VydmljZXJlZ2lzdHJ5IiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8yLlF1ZXJ5U2VydmljZS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5tZXRhZGF0YVNlYXJjaCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDM4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0MzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMV8xLlF1ZXJ5U2VydmljZS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLlJlZ2lzdGVyU2VydmljZS5kb25lUmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLlJlZ2lzdGVyU2VydmljZS5kb25lVW5yZWdpc3RlciIgRGVzdGluYXRpb249IlBVQkxfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5SZWdpc3RlclNlcnZpY2UudW5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLkVfUkVORC5FSTIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuRV9SRU5ELkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuRV9SRU5ELkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuRV9SRU5ELlIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuUmVnaXN0ZXJTZXJ2aWNlUGFydGlhbEhUVFAuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlUmVnaXN0cnlFbnRyeSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLlJlZ2lzdGVyU2VydmljZS5zZXJ2aWNlUmVnaXN0cnlFbnRyeSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5FX1NSLlEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlclNlcnZpY2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5SZWdpc3RlclNlcnZpY2VIVFRQXzEucmVnaXN0ZXJTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLkVfU1IuUyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLkVfU1IuUiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5SZWdpc3RlclNlcnZpY2VQYXJ0aWFsSFRUUC5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLmFycm93aGVhZFN5c3RlbSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZXIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZUZ1bGxIVFRQLlJlZ2lzdGVyU2VydmljZVBhcnRpYWxIVFRQLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLkNORiIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJ5IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJpZWQiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2VRdWVyeUZvcm0iIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZS5zZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnNlcnZpY2VFbnRyaWVzIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYLklOX0FSUkFZIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJ5U2VydmljZXMiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZUhUVFAucXVlcnlTZXJ2aWNlcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJGX0VRXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LklOXzEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0QWRkcmVzcy5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5JTl8zIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUy5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfNC5JTjIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRQb3J0LmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLklOXzEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuSU5fMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLkNORiIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMS5RdWVyeVNlcnZpY2UucXVlcnkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xLlF1ZXJ5U2VydmljZS5xdWVyaWVkIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZVF1ZXJ5Rm9ybSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMS5RdWVyeVNlcnZpY2Uuc2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzEuUXVlcnlTZXJ2aWNlLnNlcnZpY2VFbnRyaWVzIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzEuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xLlF1ZXJ5U2VydmljZS5xdWVyeVNlcnZpY2VzIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xLlF1ZXJ5U2VydmljZUhUVFAucXVlcnlTZXJ2aWNlcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDQ5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTLkNORiIgRGVzdGluYXRpb249IkZfRVFfNF8xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw0OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzRfMS5JTjIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLkNORiIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8xLlF1ZXJ5U2VydmljZS5xdWVyeSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMS5RdWVyeVNlcnZpY2UucXVlcmllZCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlUXVlcnlGb3JtIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzEuUXVlcnlTZXJ2aWNlLnNlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzEuUXVlcnlTZXJ2aWNlLnNlcnZpY2VFbnRyaWVzIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzFfMS5JTl9BUlJBWSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMS5RdWVyeVNlcnZpY2UucXVlcnlTZXJ2aWNlcyIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8xLlF1ZXJ5U2VydmljZUhUVFAucXVlcnlTZXJ2aWNlcyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRBZGRyZXNzLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXU18xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuREkyUy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TMldTLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydC5JTl8xIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuREkyUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkRJMlMuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRVUkkuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydC5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDUzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXU18xLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydFVSSS5JTl8xIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydFVSSS5JTl8yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5DTkYiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMi5RdWVyeVNlcnZpY2UucXVlcnkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzIuUXVlcnlTZXJ2aWNlLnF1ZXJpZWQiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZVF1ZXJ5Rm9ybSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yLlF1ZXJ5U2VydmljZS5zZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yLlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzIuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzIuUXVlcnlTZXJ2aWNlLnF1ZXJ5U2VydmljZXMiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMi5RdWVyeVNlcnZpY2VIVFRQLnF1ZXJ5U2VydmljZXMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkRJMlMuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkdldEFkZHJlc3MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TMldTLkNORiIgRGVzdGluYXRpb249IkZfRVFfNF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuV1MyV1NfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5JcFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLldTMldTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuR2V0QWRkcmVzcy5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLklwUG9ydC5JTl8zIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfNF8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuR2V0VVJJLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuR2V0QWRkcmVzcy5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuV1MyV1NfMS5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuSXBQb3J0Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzIuSXBQb3J0VVJJLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TMldTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5JcFBvcnRVUkkuSU5fMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5DTkYiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLlF1ZXJ5U2VydmljZS5xdWVyeSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLlF1ZXJ5U2VydmljZS5xdWVyaWVkIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlUXVlcnlGb3JtIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMS5RdWVyeVNlcnZpY2Uuc2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMS5JTl9BUlJBWSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLlF1ZXJ5U2VydmljZS5xdWVyeVNlcnZpY2VzIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMS5RdWVyeVNlcnZpY2VIVFRQLnF1ZXJ5U2VydmljZXMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5XUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5HZXRBZGRyZXNzLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLkdldFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuR2V0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuREkyUy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuSXBQb3J0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLldTMldTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLklwUG9ydC5JTl8xIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuREkyUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLkRJMlMuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzRfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuR2V0UG9ydC5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuR2V0QWRkcmVzcy5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuSXBQb3J0Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLklwUG9ydFVSSS5JTl8xIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLklwUG9ydFVSSS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMS5TMldTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDU5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5ESTJTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuV1MyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5JcFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw1OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJGX0VRXzRfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuR2V0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5XUzJXU18xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5ESTJTLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLklwUG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5JcFBvcnRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5TMldTLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLldTMldTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuSXBQb3J0LklOXzEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5ESTJTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuREkyUy5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRVUkkuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRQb3J0LmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuR2V0QWRkcmVzcy5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5HZXRVUkkub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5XUzJXU18xLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuSXBQb3J0Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuSXBQb3J0VVJJLklOXzEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMS5TMldTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuV1MyV1NfMS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLklwUG9ydFVSSS5JTl8yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xLlF1ZXJ5U2VydmljZS5xdWVyeSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzEuUXVlcnlTZXJ2aWNlLnF1ZXJpZWQiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlUXVlcnlGb3JtIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xLlF1ZXJ5U2VydmljZS5zZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMS5RdWVyeVNlcnZpY2Uuc2VydmljZUVudHJpZXMiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMV8yXzFfMS5JTl9BUlJBWSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzEuUXVlcnlTZXJ2aWNlLnF1ZXJ5U2VydmljZXMiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzEuUXVlcnlTZXJ2aWNlSFRUUC5xdWVyeVNlcnZpY2VzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5DTkYiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMS5RdWVyeVNlcnZpY2UucXVlcnkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzEuUXVlcnlTZXJ2aWNlLnF1ZXJpZWQiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMV8yXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZVF1ZXJ5Rm9ybSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xLlF1ZXJ5U2VydmljZS5zZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xLlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMV8xXzEuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzEuUXVlcnlTZXJ2aWNlLnF1ZXJ5U2VydmljZXMiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMS5RdWVyeVNlcnZpY2VIVFRQLnF1ZXJ5U2VydmljZXMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkRJMlMuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkdldEFkZHJlc3MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5TMldTLkNORiIgRGVzdGluYXRpb249IkZfRVFfNF8xXzJfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuV1MyV1NfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5JcFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDYzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLldTMldTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuR2V0QWRkcmVzcy5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLklwUG9ydC5JTl8zIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfNF8xXzJfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuR2V0VVJJLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuR2V0QWRkcmVzcy5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuV1MyV1NfMS5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuSXBQb3J0Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuSXBQb3J0VVJJLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5TMldTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5JcFBvcnRVUkkuSU5fMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkRJMlMuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5XUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5HZXRBZGRyZXNzLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5TMldTLkNORiIgRGVzdGluYXRpb249IkZfRVFfNF8xXzJfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5HZXRBZGRyZXNzLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuSXBQb3J0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5XUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzRfMV8yXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLklwUG9ydFVSSS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8yLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzIuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8yLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5DTkYiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzIuUXVlcnlTZXJ2aWNlLnF1ZXJ5IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMi5RdWVyeVNlcnZpY2UucXVlcmllZCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2VRdWVyeUZvcm0iIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzIuUXVlcnlTZXJ2aWNlLnNlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8yLlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMV8yLklOX0FSUkFZIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMi5RdWVyeVNlcnZpY2UucXVlcnlTZXJ2aWNlcyIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMi5RdWVyeVNlcnZpY2VIVFRQLnF1ZXJ5U2VydmljZXMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzFfMS5RdWVyeVNlcnZpY2UucXVlcnkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzFfMS5RdWVyeVNlcnZpY2UucXVlcmllZCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzJfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZVF1ZXJ5Rm9ybSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xXzEuUXVlcnlTZXJ2aWNlLnNlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzFfMS5RdWVyeVNlcnZpY2Uuc2VydmljZUVudHJpZXMiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMV8yXzFfMV8xXzEuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzFfMS5RdWVyeVNlcnZpY2UucXVlcnlTZXJ2aWNlcyIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xXzEuUXVlcnlTZXJ2aWNlSFRUUC5xdWVyeVNlcnZpY2VzIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkRJMlMuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuV1MyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLldTMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5HZXRQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5TMldTLkNORiIgRGVzdGluYXRpb249IkZfRVFfNF8xXzJfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuR2V0UG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkdldEFkZHJlc3MuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5XUzJXU18xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5XUzJXU18xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLklwUG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5JcFBvcnRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5TMldTLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5XUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLldTMldTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDY5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuR2V0UG9ydC5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV80XzFfMl8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNjk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5HZXRVUkkuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw2OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkdldEFkZHJlc3MuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5XUzJXU18xLklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLklwUG9ydC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMV8xLklwUG9ydFVSSS5JTl8yIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5DTkYiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDcwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzQuQ05GIiBEZXN0aW5hdGlvbj0iTG93ZXJWZXJzaW9uLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMS5DTkYiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzRfMS5DTkYiIERlc3RpbmF0aW9uPSJTYW1lVmVyc2lvbi5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDcxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV80XzFfMS5DTkYiIERlc3RpbmF0aW9uPSJPbmVJbnRlcmZhY2VPdXRPZlR3by5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDcxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzRfMV8yLkNORiIgRGVzdGluYXRpb249Ik9uZUludGVyZmFjZU91dE9mVHdvXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8yLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDcxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzFfMl8xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfNF8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0ludGVyZmFjZVByb3ZpZGVkLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzRfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJPbmx5T25lTWV0YWRhdGEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMS5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8yXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMl8xXzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDcyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV80XzFfMl8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJOb01ldGFkYXRhQW5kQXNrZWQuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJTVUJMXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iU1VCTF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDcyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzFfMl8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDcyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV80XzFfMl8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iTm9JbnRlcmZhY2VQcm92aWRlZC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDcyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8yLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDczMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8yXzFfMV8xXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8yXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMV8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfNF8xXzJfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ01ldGFkYUJ1dE5vdEFza2VkLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJMXzAuSU5EIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQkxfMC5JTkQiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2VGdWxsSFRUUC5FX1NSLlMiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDczNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG93ZXJWZXJzaW9uLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTYW1lVmVyc2lvbi5DTkYiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJPbmVJbnRlcmZhY2VPdXRPZlR3by5DTkYiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJPbmVJbnRlcmZhY2VPdXRPZlR3b18yLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0ludGVyZmFjZVByb3ZpZGVkLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJbnRlcmZhY2VQcm92aWRlZC5DTkYiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iT25seU9uZU1ldGFkYXRhLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vTWV0YWRhdGFBbmRBc2tlZC5DTkYiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nTWV0YWRhQnV0Tm90QXNrZWQuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uUkVRIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nTWV0YWRhQnV0Tm90QXNrZWQuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlRnVsbEhUVFAuRV9TUi5SIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxfMC5JTklUTyIgRGVzdGluYXRpb249IlBVQkxfMC5SRVEiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzQuT1VUIiBEZXN0aW5hdGlvbj0iTG93ZXJWZXJzaW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzRfMS5PVVQiIERlc3RpbmF0aW9uPSJTYW1lVmVyc2lvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzRfMV8xLk9VVCIgRGVzdGluYXRpb249Ik9uZUludGVyZmFjZU91dE9mVHdvLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzEuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlF1ZXJ5U2VydmljZUhUVFBTdWJfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfNF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iT25lSW50ZXJmYWNlT3V0T2ZUd29fMi5jaGVjayIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2VfMV8yLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZSIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8yLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfNF8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ0ludGVyZmFjZVByb3ZpZGVkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfNF8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249Ik9ubHlPbmVNZXRhZGF0YS5jaGVjayIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LklOIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8xLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzFfMS5hcnJvd2hlYWRTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iUXVlcnlTZXJ2aWNlSFRUUFN1Yl8xXzJfMV8xXzEuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzFfMl8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV80XzFfMl8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb01ldGFkYXRhQW5kQXNrZWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzFfMl8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8yXzFfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzRfMV8yXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJOb0ludGVyZmFjZVByb3ZpZGVkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV8xXzJfMV8yLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorVmVyc2lvbkludGVyZmFjZUFuZE1ldGFkYXRhOzxSZXF1ZXN0IElEPSIxLDc3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlXzFfMl8xXzFfMV8xLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlcnZpY2VIVFRQU3ViXzFfMl8xXzFfMV8xLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1ZlcnNpb25JbnRlcmZhY2VBbmRNZXRhZGF0YTs8UmVxdWVzdCBJRD0iMSw3NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xXzJfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzJfMV8xXzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzRfMV8yXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdNZXRhZGFCdXROb3RBc2tlZC5jaGVjayIgLz48L1JlcXVlc3Q+CitWZXJzaW9uSW50ZXJmYWNlQW5kTWV0YWRhdGE7PFJlcXVlc3QgSUQ9IjEsNzczIiBBY3Rpb249IlNUQVJUIi8+Cis7PFJlcXVlc3QgSUQ9IjEsNzc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDc3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJMXzAiIFR5cGU9IlNVQkxfMCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3NzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklHTiN2ZXJzaW9uRW5kZWQiIERlc3RpbmF0aW9uPSJTVUJMXzAuSUQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3NzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDc3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzgwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0Lm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3ODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3ODIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDc4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzg0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3ODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDc4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3ODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDc4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEiIFR5cGU9IkZfV1NUUklOR19UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdFVF9BVF9JTkRFWF8xIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzkyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMS5JTkRFWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3OTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3OTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuREkyUyIgVHlwZT0iRl9ESU5UX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3OTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3OTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLnBvcnQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRQb3J0Lm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw3OTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0IiBUeXBlPSJBUFBFTkRfU1RSSU5HXzMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzk4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyM6IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsNzk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODAwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0QWRkcmVzcy5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkubWVtYmVyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEiIFR5cGU9IkZfV1NUUklOR19UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydFVSSSIgVHlwZT0iQVBQRU5EX1NUUklOR18yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc3lzdGVtVGVzdE5hbWUiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5zeXN0ZW1OYW1lIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgwOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJsb2NhbGhvc3QiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSI4MDkwIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0ucG9ydCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgxMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR0VUX0FUX0lOREVYIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODE0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVguSU5ERVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODE1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlBvczFFbXB0eTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjOjAiIERlc3RpbmF0aW9uPSJGX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQb3MxRW1wdHkiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9ERU1VWCIgVHlwZT0iRV9ERU1VWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfREVNVVhfMSIgVHlwZT0iRV9ERU1VWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkZfR1QiIFR5cGU9IkZfR1QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCMzIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9NRVJHRSIgVHlwZT0iRV9NRVJHRSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyLkZfU1VCIiBUeXBlPSJGX1NVQiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUIuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEiIFR5cGU9IkVfREVNVVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5GX0dUXzEiIFR5cGU9IkZfR1QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCM3IiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1RfMS5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5GX1NVQl8xIiBUeXBlPSJGX1NVQiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzgiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlci5FX1NXSVRDSF8xIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR0VUX0FUX0lOREVYXzFfMSIgVHlwZT0iR0VUX0FUX0lOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzFfMS5JTkRFWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLldTMldTIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDgzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4MzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLnBvcnQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydC5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRBZGRyZXNzIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg0MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIuYWRkcmVzcyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRVUkkiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODQ2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNzZXJ2aWNlVVJJIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSIgVHlwZT0iU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXU18xIiBUeXBlPSJGX1dTVFJJTkdfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5ESTJTIiBUeXBlPSJGX0RJTlRfVE9fU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODUzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5wb3J0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRQb3J0Lm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HIzoiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODU3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNwcm92aWRlci5hZGRyZXNzIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFVSSSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTXzEiIFR5cGU9IkZfV1NUUklOR19UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdFVF9BVF9JTkRFWF8yIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODY1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMi5JTkRFWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUG9zMFNlcnZpY2UxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8zIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg2OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI2xvY2FsaG9zdDo4MDkwL3NlcnZpY2VUZXN0L3N0YXJ0IiBEZXN0aW5hdGlvbj0iRl9FUV8zLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8zXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjbG9jYWxob3N0OjgwOTAvc2VydmljZVRlc3Qvc3RhcnQyIiBEZXN0aW5hdGlvbj0iRl9FUV8zXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQb3MwU2VydmljZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMXzBfMSIgVHlwZT0iUFVCTF8wIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg3MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJ0ZXN0NkVuZGVkIiBEZXN0aW5hdGlvbj0iUFVCTF8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2Vjb25kU2VydmljZS5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlTZWNvbmRTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIiBUeXBlPSJGaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlF1ZXJ5U2Vjb25kU2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZSIgVHlwZT0iUXVlcnlTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeVNlY29uZFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2VIVFRQIiBUeXBlPSJRdWVyeVNlcnZpY2VIVFRQIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJRdWVyeUZpcnN0U2VydmljZS5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4NzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlGaXJzdFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0iIFR5cGU9IkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4ODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlGaXJzdFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2UiIFR5cGU9IlF1ZXJ5U2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4ODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUXVlcnlGaXJzdFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2VIVFRQIiBUeXBlPSJRdWVyeVNlcnZpY2VIVFRQIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4ODMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4ODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8zXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4ODUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVFfM18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQb3MxRW1wdHkzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4ODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUG9zMEVtcHR5MyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODg5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjOjAiIERlc3RpbmF0aW9uPSJGX0VRXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUG9zMEVtcHR5NCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlBvczFFbXB0eTQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRXzNfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODkzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjOjAiIERlc3RpbmF0aW9uPSJGX0VRXzNfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX01FUkdFIiBUeXBlPSJFX01FUkdFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX01FUkdFXzEiIFR5cGU9IkVfTUVSR0UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsODk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlc2V0IiBUeXBlPSJFX01FUkdFIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw4OTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnVW5yZWciIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDg5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdpc3RlciIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnaXN0ZXJTZXJ2aWNlIiBUeXBlPSJSZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ2lzdGVyU2VydmljZUhUVFAiIFR5cGU9IlJlZ2lzdGVyU2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ1VucmVnRG9uZSIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkdldE5hbWUiIFR5cGU9IkdFVF9BVF9JTkRFWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLldTVFJJTkcyV1NUUklORyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5Jc0xhc3QiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTA5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjJnF1b3Q7JnF1b3Q7IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuSXNMYXN0LklOMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuR2V0VVJJIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkVfU1BMSVQiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlBlcm1pdFVucmVnIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5QZXJtaXRSZWciIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdibG9jayIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlVuUmVnQmxvY2siIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkFSUkFZMkFSUkFZXzEwX1dTVFJJTkciIFR5cGU9IkFSUkFZMkFSUkFZXzEwX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkFSUkFZMkFSUkFZXzEwX1dTVFJJTkdfMSIgVHlwZT0iQVJSQVkyQVJSQVlfMTBfV1NUUklORyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdDIiIERlc3RpbmF0aW9uPSJRdWVyeVNlY29uZFNlcnZpY2UuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLnNlcnZpY2VEZWZpbml0aW9uIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkyMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7SlNPTiZxdW90OywgJnF1b3Q7WE1MJnF1b3Q7XSIgRGVzdGluYXRpb249IlF1ZXJ5U2Vjb25kU2VydmljZS5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuaW50ZXJmYWNlcyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJRdWVyeVNlY29uZFNlcnZpY2UuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLnNlcnZpY2VNZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlY29uZFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0ubWV0YWRhdGFTZWFyY2giIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJRdWVyeVNlY29uZFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0udmVyc2lvbiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeVNlY29uZFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2UuYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdCIgRGVzdGluYXRpb249IlF1ZXJ5Rmlyc3RTZXJ2aWNlLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O0pTT04mcXVvdDssICZxdW90O1hNTCZxdW90O10iIERlc3RpbmF0aW9uPSJRdWVyeUZpcnN0U2VydmljZS5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuaW50ZXJmYWNlcyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJRdWVyeUZpcnN0U2VydmljZS5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2Uuc2VydmljZU1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkyOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJmYWxzZSIgRGVzdGluYXRpb249IlF1ZXJ5Rmlyc3RTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLm1ldGFkYXRhU2VhcmNoIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkzMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUXVlcnlGaXJzdFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0udmVyc2lvbiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJRdWVyeUZpcnN0U2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7c2VydmljZVRlc3QmcXVvdDssICZxdW90O3NlcnZpY2VUZXN0MiZxdW90O10iIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5BUlJBWTJBUlJBWV8xMF9XU1RSSU5HXzEuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtKU09OJnF1b3Q7LCAmcXVvdDtYTUwmcXVvdDtdIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTM0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlsmcXVvdDtrZXkxPXZhbHVlMSZxdW90OywgJnF1b3Q7a2V5Mj12YWx1ZTImcXVvdDtdIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLnNlcnZpY2VNZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5MzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90Oy9zZXJ2aWNlVGVzdC9zdGFydCZxdW90OywgJnF1b3Q7L3NlcnZpY2VUZXN0L3N0YXJ0MiZxdW90O10iIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5BUlJBWTJBUlJBWV8xMF9XU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJmYWxzZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkudWRwIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSImcXVvdDtrZXkxPXZhbHVlMSwga2V5Mj12YWx1ZTImcXVvdDsiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5Lm1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDkzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzEyNy4wLjAuMTo4NDQyL3NlcnZpY2VyZWdpc3RyeSIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ2lzdGVyU2VydmljZS5lbmRwb2ludCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRV9NRVJHRV8xLkVJMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0UG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXU18xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuREkyUy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5XUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydC5JTl8xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnQuSU5fMyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0UG9ydC5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLkRJMlMuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRQb3J0LmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuV1MyV1NfMS5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuSXBQb3J0VVJJLklOXzEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLklwUG9ydFVSSS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xLldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMS5JcFBvcnRVUkkuSU5fMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1NfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXU18xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5XUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LklwUG9ydC5JTl8zIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0UG9ydC5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzMuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzNfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5HZXRQb3J0LmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LkdldEFkZHJlc3MuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuR2V0VVJJLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnQuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLklOXzEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LldTMldTXzEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GX05PVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlF1ZXJ5Rmlyc3RTZXJ2aWNlLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzIiIERlc3RpbmF0aW9uPSJGX0VRXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVguRU8zIiBEZXN0aW5hdGlvbj0iUXVlcnlTZWNvbmRTZXJ2aWNlLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMCIgRGVzdGluYXRpb249IkZfRVFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8xIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzIiIERlc3RpbmF0aW9uPSJRdWVyeUZpcnN0U2VydmljZS5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzMiIERlc3RpbmF0aW9uPSJGX0VRXzNfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX0dULkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9ERU1VWC5FSSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX01FUkdFLkVPIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIxLDk5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkZfU1VCLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYXzEuRUkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjEsOTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMSw5OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzEuRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMS5FTzIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzMiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWC5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9TV0lUQ0guRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9HVF8xLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX1NXSVRDSF8xLkVJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfU1dJVENIXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfU1VCLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX1NXSVRDSF8xLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlci5GX1NVQl8xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX1NVQl8xLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYXzFfMS5FSSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzFfMS5FTzAiIERlc3RpbmF0aW9uPSJRdWVyeVNlY29uZFNlcnZpY2UuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzFfMS5FTzEiIERlc3RpbmF0aW9uPSJGX0VRXzNfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMV8xLkVPMiIgRGVzdGluYXRpb249IlBVQkxfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLkVPMyIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzFfMS5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9NRVJHRS5FSTIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfREVNVVhfMV8xLkVPMiIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0RFTVVYXzFfMS5FTzMiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9DVFUuUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX0RFTVVYLksiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9HVC5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlci5GX1NVQi5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9ERU1VWF8xLksiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5JTjEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9TVUIuSU4xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfU1VCXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1RfMS5JTjEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9HVF8xLk9VVCIgRGVzdGluYXRpb249IlNlcXVlbmNlci5FX1NXSVRDSF8xLkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXIuRl9TVUJfMS5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRV9ERU1VWF8xXzEuSyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5ESTJTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5XUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuR2V0UG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJFX01FUkdFXzEuRUkyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldEFkZHJlc3MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1NfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuREkyUy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydFVSSS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydC5JTl8xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLldTMldTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDAzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLklwUG9ydC5JTl8zIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkRJMlMuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5HZXRVUkkub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwNDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMV8xLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuV1MyV1NfMS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8xXzEuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkRJMlMuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5XUzJXUy5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TMldTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldEFkZHJlc3MuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5XUzJXU18xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuV1MyV1NfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkRJMlMuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnRVUkkuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TMldTLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuR2V0QWRkcmVzcy5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5ESTJTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFBvcnQub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TMldTLk9VVCIgRGVzdGluYXRpb249IkZfRVFfM18xLklOMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzNfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFVSSS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuR2V0UG9ydC5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5Lk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuR2V0QWRkcmVzcy5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLldTMldTXzEuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLklwUG9ydC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLklwUG9ydFVSSS5JTl8xIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5TMldTLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnlfMi5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuSXBQb3J0VVJJLklOXzIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlY29uZFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iUXVlcnlTZWNvbmRTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZWNvbmRTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJpZWQiIERlc3RpbmF0aW9uPSJHRVRfQVRfSU5ERVhfMi5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlY29uZFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZVF1ZXJ5Rm9ybSIgRGVzdGluYXRpb249IlF1ZXJ5U2Vjb25kU2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZS5zZXJ2aWNlUXVlcnlGb3JtIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZWNvbmRTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnNlcnZpY2VFbnRyaWVzIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzFfMS5JTl9BUlJBWSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5U2Vjb25kU2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8yLklOX0FSUkFZIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlTZWNvbmRTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJ5U2VydmljZXMiIERlc3RpbmF0aW9uPSJRdWVyeVNlY29uZFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2VIVFRQLnF1ZXJ5U2VydmljZXMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlY29uZFNlcnZpY2UuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLkNORiIgRGVzdGluYXRpb249IlF1ZXJ5U2Vjb25kU2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeVNlY29uZFNlcnZpY2UuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJRdWVyeVNlY29uZFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uc2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5Rmlyc3RTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLkNORiIgRGVzdGluYXRpb249IlF1ZXJ5Rmlyc3RTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUXVlcnlGaXJzdFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2UucXVlcmllZCIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeUZpcnN0U2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5zZXJ2aWNlUXVlcnlGb3JtIiBEZXN0aW5hdGlvbj0iUXVlcnlGaXJzdFNlcnZpY2UuUXVlcnlTZXJ2aWNlSFRUUFN1Yi5RdWVyeVNlcnZpY2Uuc2VydmljZVF1ZXJ5Rm9ybSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5Rmlyc3RTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnNlcnZpY2VFbnRyaWVzIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzEuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeUZpcnN0U2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZS5zZXJ2aWNlRW50cmllcyIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWC5JTl9BUlJBWSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5Rmlyc3RTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuUXVlcnlTZXJ2aWNlLnF1ZXJ5U2VydmljZXMiIERlc3RpbmF0aW9uPSJRdWVyeUZpcnN0U2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLlF1ZXJ5U2VydmljZUhUVFAucXVlcnlTZXJ2aWNlcyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlF1ZXJ5Rmlyc3RTZXJ2aWNlLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5DTkYiIERlc3RpbmF0aW9uPSJRdWVyeUZpcnN0U2VydmljZS5RdWVyeVNlcnZpY2VIVFRQU3ViLkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJRdWVyeUZpcnN0U2VydmljZS5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlF1ZXJ5Rmlyc3RTZXJ2aWNlLlF1ZXJ5U2VydmljZUhUVFBTdWIuRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLnNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdVbnJlZ0RvbmUuRU8wIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVzZXQuRUkxIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnVW5yZWdEb25lLkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlc2V0LkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5DTkYiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnVW5yZWcuRUkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdVbnJlZy5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdpc3RlclNlcnZpY2UudW5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ1VucmVnLkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwwOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ1VucmVnRG9uZS5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdVbnJlZ0RvbmUuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuSXNMYXN0LkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDA5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuV1NUUklORzJXU1RSSU5HLkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLklzTGFzdC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuV1NUUklORzJXU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkVfU1BMSVQuRU8xIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5FX1NQTElULkVJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuRV9TV0lUQ0guRU8xIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRV9DVFUuUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkVfU1BMSVQuRU8yIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ2lzdGVyU2VydmljZS5kb25lUmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5HZXROYW1lLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkVfQ1RVLlJPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnVW5yZWdEb25lLkVJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDEwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuRl9OT1RfMS5DTkYiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5QZXJtaXRSZWcuRUkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5QZXJtaXRVbnJlZy5FSSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlBlcm1pdFVucmVnLkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnaXN0ZXIuUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlBlcm1pdFJlZy5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ2lzdGVyLlMiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZXNldC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlVuUmVnQmxvY2suUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlc2V0LkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnYmxvY2suUiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlBlcm1pdFVucmVnLkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuVW5SZWdCbG9jay5TIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDExMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuUGVybWl0VW5yZWcuRU8iIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdibG9jay5TIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDExNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuUGVybWl0UmVnLkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnYmxvY2suUyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlBlcm1pdFJlZy5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlVuUmVnQmxvY2suUyIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ2lzdGVyU2VydmljZS5kb25lVW5yZWdpc3RlciIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkdldE5hbWUuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDExNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuQVJSQVkyQVJSQVlfMTBfV1NUUklORy5DTkYiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5HZXROYW1lLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkFSUkFZMkFSUkFZXzEwX1dTVFJJTkdfMS5DTkYiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5BUlJBWTJBUlJBWV8xMF9XU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlBlcm1pdFJlZy5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkFSUkFZMkFSUkFZXzEwX1dTVFJJTkdfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5QZXJtaXRVbnJlZy5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkFSUkFZMkFSUkFZXzEwX1dTVFJJTkdfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5HZXROYW1lLkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkdldFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuYXJyb3doZWFkU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDEyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnaXN0ZXIuUSIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ1VucmVnLkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdpc3Rlci5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnVW5yZWdEb25lLkciIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VSZWdpc3RyeUVudHJ5IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUmVnaXN0ZXJTZXJ2aWNlLnNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDEyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5HZXROYW1lLklOREVYIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDEyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuR2V0TmFtZS5PVVQiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5XU1RSSU5HMldTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5FX0NUVS5DViIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkdldFVSSS5JTkRFWCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLklzTGFzdC5PVVQiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDEzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuV1NUUklORzJXU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IlJlZ2lzdGVyTWFueVNlcnZpY2VzLklzTGFzdC5JTjIiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5HZXRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlVVJJIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDEzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuR2V0TmFtZS5PVVQiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2Uuc2VydmljZURlZmluaXRpb24iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GX05PVC5PVVQiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5QZXJtaXRVbnJlZy5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5VblJlZ0Jsb2NrLlEiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLkZfTk9UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuUGVybWl0UmVnLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ2Jsb2NrLlEiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDEzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJNYW55U2VydmljZXMuQVJSQVkyQVJSQVlfMTBfV1NUUklORy5PVVQiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5HZXRVUkkuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5BUlJBWTJBUlJBWV8xMF9XU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuR2V0TmFtZS5JTl9BUlJBWSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyTWFueVNlcnZpY2VzLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlclNlcnZpY2UiIERlc3RpbmF0aW9uPSJSZWdpc3Rlck1hbnlTZXJ2aWNlcy5SZWdpc3RlclNlcnZpY2VIVFRQLnJlZ2lzdGVyU2VydmljZSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJTVUJMXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJTVUJMXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5LlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQkxfMC5JTkQiIERlc3RpbmF0aW9uPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVguQ05GIiBEZXN0aW5hdGlvbj0iR0VUX0FUX0lOREVYXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX0FUX0lOREVYXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21TZXJ2aWNlUmVnaXN0cnlFbnRyeV8yLlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8yLkNORiIgRGVzdGluYXRpb249IkdFVF9BVF9JTkRFWF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8yLkNORiIgRGVzdGluYXRpb249IlBvczBTZXJ2aWNlMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQb3MwU2VydmljZTEuQ05GIiBEZXN0aW5hdGlvbj0iUG9zMUVtcHR5LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMy5DTkYiIERlc3RpbmF0aW9uPSJGX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJQb3MwU2VydmljZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUG9zMFNlcnZpY2UyLkNORiIgRGVzdGluYXRpb249IlBvczFFbXB0eTIuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUG9zMUVtcHR5My5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzNfMV8xLkNORiIgRGVzdGluYXRpb249IlBvczBFbXB0eTMuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUG9zMEVtcHR5My5DTkYiIERlc3RpbmF0aW9uPSJGX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQb3MwRW1wdHk0LkNORiIgRGVzdGluYXRpb249IkZfRVFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJQb3MxRW1wdHk0LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfM18xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJQb3MwRW1wdHk0LlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBvczFFbXB0eS5DTkYiIERlc3RpbmF0aW9uPSJFX01FUkdFLkVJMSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBvczFFbXB0eTIuQ05GIiBEZXN0aW5hdGlvbj0iRV9NRVJHRS5FSTEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQb3MxRW1wdHkzLkNORiIgRGVzdGluYXRpb249IkVfTUVSR0UuRUkyIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUG9zMUVtcHR5NC5DTkYiIERlc3RpbmF0aW9uPSJFX01FUkdFLkVJMiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfTUVSR0UuRU8iIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX01FUkdFXzEuRU8iIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXIuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMXzBfMS5JTklUTyIgRGVzdGluYXRpb249IlBVQkxfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzEuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVguT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tU2VydmljZVJlZ2lzdHJ5RW50cnkuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iUG9zMUVtcHR5Mi5jaGVjayIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJQb3MxRW1wdHkuY2hlY2siIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfQVRfSU5ERVhfMV8xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzFfMS5TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5JTiIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdFVF9BVF9JTkRFWF8yLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbVNlcnZpY2VSZWdpc3RyeUVudHJ5XzIuU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuSU4iIC8+PC9SZXF1ZXN0PgorUmVnaXN0ZXJNb3JlU2VydmljZXNTdWJBcHA7PFJlcXVlc3QgSUQ9IjIsMTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzMuT1VUIiBEZXN0aW5hdGlvbj0iUG9zMFNlcnZpY2UxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iUG9zMFNlcnZpY2UyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUG9zMUVtcHR5My5jaGVjayIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfM18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUG9zMEVtcHR5My5jaGVjayIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUG9zMUVtcHR5NC5jaGVjayIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfM18xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJQb3MwRW1wdHk0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1JlZ2lzdGVyTW9yZVNlcnZpY2VzU3ViQXBwOzxSZXF1ZXN0IElEPSIyLDE3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uYXJyb3doZWFkU3lzdGVtIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJNYW55U2VydmljZXMuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5wcm92aWRlciIgLz48L1JlcXVlc3Q+CitSZWdpc3Rlck1vcmVTZXJ2aWNlc1N1YkFwcDs8UmVxdWVzdCBJRD0iMiwxODAiIEFjdGlvbj0iU1RBUlQiLz4KKzs8UmVxdWVzdCBJRD0iMiwxODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iT3JjaGVzdHJhdG9yTm9SdWxlIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwxODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQIiBUeXBlPSJSZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFAiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDE4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybSIgVHlwZT0iRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDE4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDE4NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3N5c3RlbVRlc3ROYW1lIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uc3lzdGVtTmFtZSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMTg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImxvY2FsaG9zdCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLmFkZHJlc3MiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDE4NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSI4MDkwIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0ucG9ydCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMTg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcnZpY2UxIiBUeXBlPSJGaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDE4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3NlcnZpY2VUZXN0MiIgRGVzdGluYXRpb249IlNlcnZpY2UxLnNlcnZpY2VEZWZpbml0aW9uIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwxOTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O0pTT04mcXVvdDssICZxdW90O1hNTCZxdW90O10iIERlc3RpbmF0aW9uPSJTZXJ2aWNlMS5pbnRlcmZhY2VzIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwxOTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJTZXJ2aWNlMS5zZXJ2aWNlTWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDE5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5TMldTIiBUeXBlPSJGX1NUUklOR19UT19XU1RSSU5HIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwxOTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uV1MyV1MiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMTk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkRJMlMiIFR5cGU9IkZfRElOVF9UT19TVFJJTkciIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDE5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRBZGRyZXNzIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwxOTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLmFkZHJlc3MiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRBZGRyZXNzLm1lbWJlciIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMTk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldFBvcnQiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDE5OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIucG9ydCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldFBvcnQubWVtYmVyIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwxOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0VVJJIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRVUkkubWVtYmVyIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0IiBUeXBlPSJBUFBFTkRfU1RSSU5HXzMiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIwMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjOiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydC5JTl8yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0iIFR5cGU9Ik9yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uV1MyV1NfMSIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0VVJJIiBUeXBlPSJBUFBFTkRfU1RSSU5HXzIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyM6MCIgRGVzdGluYXRpb249IkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZXJ2aWNlQXZhaWxhYmxlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNFUlZFUl8xIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Imh0dHBbL3NlcnZpY2VUZXN0L3N0YXJ0Ml0iIERlc3RpbmF0aW9uPSJTRVJWRVJfMS5JRCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZUhUVFBfMSIgVHlwZT0iUmVnaXN0ZXJTZXJ2aWNlSFRUUCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlIiBUeXBlPSJSZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5EIiBUeXBlPSJFX1JFTkQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJMXzAiIFR5cGU9IlNVQkxfMCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjE5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRlc3Q2RW5kZWQiIERlc3RpbmF0aW9uPSJTVUJMXzAuSUQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMXzAiIFR5cGU9IlBVQkxfMCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjdGVzdDdFbmRlZCIgRGVzdGluYXRpb249IlBVQkxfMC5JRCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdFVF9TVFJVQ1RfVkFMVUUxIiBUeXBlPSJHRVRfQVRfSU5ERVgiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iR0VUX1NUUlVDVF9WQUxVRTEuSU5ERVgiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXJfMS5FX0RFTVVYIiBUeXBlPSJFX0RFTVVYIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xIiBUeXBlPSJFX0RFTVVYIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRl9HVCIgVHlwZT0iRl9HVCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCMzIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVC5JTjIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXJfMS5GX1NVQiIgVHlwZT0iRl9TVUIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIzMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJJTlQjNCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfU1VCLklOMiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xIiBUeXBlPSJFX0RFTVVYIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRl9HVF8xIiBUeXBlPSJGX0dUIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzciIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX0dUXzEuSU4yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRl9TVUJfMSIgVHlwZT0iRl9TVUIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJJTlQjOCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfU1VCXzEuSU4yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyMzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRV9TV0lUQ0hfMSIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0iIFR5cGU9IlJlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjMTI3LjAuMC4xOjg0NDAvb3JjaGVzdHJhdG9yIiBEZXN0aW5hdGlvbj0iUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLmVuZHBvaW50IiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iL3NlcnZpY2VUZXN0L3N0YXJ0MiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlVVJJIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS52ZXJzaW9uIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkudWRwIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iJnF1b3Q7a2V5MT12YWx1ZTEsIGtleTI9dmFsdWUyJnF1b3Q7IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5Lm1ldGFkYXRhIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyMxMjcuMC4wLjE6ODQ0Mi9zZXJ2aWNlcmVnaXN0cnkiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5lbmRwb2ludCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5ESTJTLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uV1MyV1MuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0LlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRBZGRyZXNzLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0QWRkcmVzcy5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLldTMldTXzEuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLldTMldTXzEuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uREkyUy5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydFVSSS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0VVJJLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLlMyV1MuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkRJMlMuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0LklOXzEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0UG9ydC5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5ESTJTLklOIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldEFkZHJlc3Mub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRLklOMiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRQb3J0LmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRVUkkuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldFVSSS5vdXRwdXQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5XUzJXU18xLklOIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5JcFBvcnRVUkkuSU5fMSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5JcFBvcnRVUkkuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uUzJXUy5JTiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5XUzJXU18xLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydFVSSS5JTl8yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVSZWdpc3RlciIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLmRvbmVVbnJlZ2lzdGVyIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLnVucmVnaXN0ZXIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LkNORiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5ELkVJMiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRU8iIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5SIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5zZXJ2aWNlUmVnaXN0cnlFbnRyeSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLnNlcnZpY2VSZWdpc3RyeUVudHJ5IiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLnJlZ2lzdGVyU2VydmljZSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlSFRUUF8xLnJlZ2lzdGVyU2VydmljZSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMCIgRGVzdGluYXRpb249IlJlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybS5yZXF1ZXN0T3JjaGVzdGF0b3IiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfU1IuUyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FSTEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWC5FTzIiIERlc3RpbmF0aW9uPSJSZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0ucmVxdWVzdE9yY2hlc3RhdG9yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVguRU8zIiBEZXN0aW5hdGlvbj0iRV9TUi5TIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMS5FTzAiIERlc3RpbmF0aW9uPSJSZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0ucmVxdWVzdE9yY2hlc3RhdG9yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMS5FTzEiIERlc3RpbmF0aW9uPSJFX1NSLlIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLkVPMiIgRGVzdGluYXRpb249IlJlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybS5yZXF1ZXN0T3JjaGVzdGF0b3IiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLkVPMyIgRGVzdGluYXRpb249IkVfU1IuUyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5GX0dULkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfREVNVVguRUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9TVUIuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLkVJIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9HVF8xLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfU1dJVENIXzEuRUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9TV0lUQ0hfMS5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX1NVQi5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9TV0lUQ0hfMS5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX1NVQl8xLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5GX1NVQl8xLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVJIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5SIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyOTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVPMCIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xXzEuRU8wIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwyOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVPMSIgRGVzdGluYXRpb249IlJlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybS5yZXF1ZXN0T3JjaGVzdGF0b3IiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDI5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xXzEuRU8yIiBEZXN0aW5hdGlvbj0iRV9TUi5SIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVPMyIgRGVzdGluYXRpb249IlBVQkxfMC5JTklUIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVPMyIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWC5FTzMiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVguRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWC5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzFfMS5FTzIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzFfMS5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzFfMS5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzEuRU8zIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLkVPMiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMS5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLksiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9HVC5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkZfU1VCLk9VVCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfREVNVVhfMS5LIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVC5JTjEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX1NVQi5JTjEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX1NVQl8xLklOMSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1RfMS5JTjEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9HVF8xLk9VVCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfU1dJVENIXzEuRyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5GX1NVQl8xLk9VVCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLksiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZTEuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2UxLkNORiIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRLkNORiIgRGVzdGluYXRpb249Ik5vU2VydmljZUF2YWlsYWJsZS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5FTyIgRGVzdGluYXRpb249IlNFUlZFUl8xLklOSVQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCTF8wLklORCIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJQVUJMXzAuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJTVUJMXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHRVRfU1RSVUNUX1ZBTFVFMS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDMzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZXJ2aWNlQXZhaWxhYmxlLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJTVUJMXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMS5JTklUTyIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybS5yZXNwb25zZVJlY2VpdmVkIiBEZXN0aW5hdGlvbj0iR0VUX1NUUlVDVF9WQUxVRTEuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLmFycm93aGVhZFN5c3RlbSIgRGVzdGluYXRpb249IkZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtLnJlcXVlc3RlclN5c3RlbSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXJ2aWNlMS5hcnJvd2hlYWRTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0ucmVxdWVzdGVkU2VydmljZSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRLk9VVCIgRGVzdGluYXRpb249Ik5vU2VydmljZUF2YWlsYWJsZS5jaGVjayIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJTRVJWRVJfMS5RSSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXJ2aWNlMS5hcnJvd2hlYWRTZXJ2aWNlIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnByb3ZpZGVkU2VydmljZSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5hcnJvd2hlYWRTeXN0ZW0iIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZXIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDM0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR0VUX1NUUlVDVF9WQUxVRTEuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0uSU4iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDM0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0uc2VydmljZVJlcXVlc3RGb3JtIiBEZXN0aW5hdGlvbj0iUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLnNlcnZpY2VSZXF1ZXN0Rm9ybSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0b3JOb1J1bGU7PFJlcXVlc3QgSUQ9IjIsMzQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0ub3JjaGVzdHJhdGlvblJlc3BvbnNlIiBEZXN0aW5hdGlvbj0iR0VUX1NUUlVDVF9WQUxVRTEuSU5fQVJSQVkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdG9yTm9SdWxlOzxSZXF1ZXN0IElEPSIyLDM0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLnJlcXVlc3RPcmNoZXN0cmF0aW9uIiBEZXN0aW5hdGlvbj0iUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQLnJlcXVlc3RPcmNoZXN0cmF0aW9uIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRvck5vUnVsZTs8UmVxdWVzdCBJRD0iMiwzNDUiIEFjdGlvbj0iU1RBUlQiLz4KKzs8UmVxdWVzdCBJRD0iMiwzNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iT3JjaGVzdHJhdGlvbldpdGhSdWxlcyIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzeXN0ZW1UZXN0TmFtZSIgRGVzdGluYXRpb249IkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLnN5c3RlbU5hbWUiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibG9jYWxob3N0IiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uYWRkcmVzcyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM1MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSI4MDkwIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0ucG9ydCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlMSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzUyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc2VydmljZVRlc3QiIERlc3RpbmF0aW9uPSJTZXJ2aWNlMS5zZXJ2aWNlRGVmaW5pdGlvbiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM1MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJbJnF1b3Q7SlNPTiZxdW90OywgJnF1b3Q7WE1MJnF1b3Q7XSIgRGVzdGluYXRpb249IlNlcnZpY2UxLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJTZXJ2aWNlMS5zZXJ2aWNlTWV0YWRhdGEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzowIiBEZXN0aW5hdGlvbj0iRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZXJ2aWNlQXZhaWxhYmxlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTRVJWRVJfMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iaHR0cFsvc2VydmljZVRlc3Qvc3RhcnRdIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzEuSUQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIFR5cGU9IkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2VIVFRQXzEiIFR5cGU9IlJlZ2lzdGVyU2VydmljZUhUVFAiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UiIFR5cGU9IlJlZ2lzdGVyU2VydmljZSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZWdpc3RlclNlcnZpY2UyLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQiIFR5cGU9IkVfUkVORCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJMXzAiIFR5cGU9IlNVQkxfMCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM2OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI3Rlc3Q3RW5kZWQiIERlc3RpbmF0aW9uPSJTVUJMXzAuSUQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUFVCTF8wIiBUeXBlPSJQVUJMXzAiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklHTiNhbGxFbmRlZCIgRGVzdGluYXRpb249IlBVQkxfMC5JRCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXJfMS5FX0RFTVVYIiBUeXBlPSJFX0RFTVVYIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlcl8xLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzEiIFR5cGU9IkVfREVNVVgiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlcl8xLkZfR1QiIFR5cGU9IkZfR1QiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzMiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX0dULklOMiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXJfMS5GX1NVQiIgVHlwZT0iRl9TVUIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX1NVQi5JTjIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzNzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xXzEiIFR5cGU9IkVfREVNVVgiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRl9HVF8xIiBUeXBlPSJGX0dUIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzgxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCM3IiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVF8xLklOMiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXJfMS5GX1NVQl8xIiBUeXBlPSJGX1NVQiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM4MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJJTlQjOCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfU1VCXzEuSU4yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlcl8xLkVfU1dJVENIXzEiIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlcl8xLkZfR1RfMV8xIiBUeXBlPSJGX0dUIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCMxMSIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1RfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXF1ZW5jZXJfMS5FX1NXSVRDSF8xXzEiIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xXzEiIFR5cGU9IkVfREVNVVgiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VxdWVuY2VyXzEuRl9TVUJfMV8xIiBUeXBlPSJGX1NVQiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM5MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJJTlQjMTIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX1NVQl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI2xvY2FsaG9zdDo4MDkwL3NlcnZpY2VUZXN0L3N0YXJ0IiBEZXN0aW5hdGlvbj0iRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2aWNlQXZhaWxhYmxlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSXzEiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsMzk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNMSUVOVF8xXzIiIFR5cGU9IkNMSUVOVF8xXzIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzOTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNMSUVOVF8xXzIuUUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiwzOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iaHR0cFsxMjcuMC4wLjE6ODQ0NC9hdXRob3JpemF0aW9uL21nbXQvaW50cmFjbG91ZDsgUE9TVDsgYXBwbGljYXRpb24vanNvbl1dIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzFfMi5JRCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDM5OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjeyZxdW90O2NvbnN1bWVyJnF1b3Q7OiB7JnF1b3Q7c3lzdGVtTmFtZSZxdW90OyA6ICZxdW90O3N5c3RlbVRlc3ROYW1lJnF1b3Q7LCZxdW90O2FkZHJlc3MmcXVvdDsgOiAmcXVvdDtsb2NhbGhvc3QmcXVvdDssJnF1b3Q7cG9ydCZxdW90OyA6IDgwOTB9LCZxdW90O3Byb3ZpZGVyTGlzdCZxdW90OzogW3smcXVvdDtzeXN0ZW1OYW1lJnF1b3Q7IDogJnF1b3Q7c3lzdGVtVGVzdE5hbWUmcXVvdDssJnF1b3Q7YWRkcmVzcyZxdW90OyA6ICZxdW90O2xvY2FsaG9zdCZxdW90OywmcXVvdDtwb3J0JnF1b3Q7IDogODA5MH1dLCZxdW90O3NlcnZpY2VMaXN0JnF1b3Q7OiBbeyZxdW90O3NlcnZpY2VEZWZpbml0aW9uJnF1b3Q7IDogJnF1b3Q7c2VydmljZVRlc3QmcXVvdDt9XX0iIERlc3RpbmF0aW9uPSJDTElFTlRfMV8yLlNEXzEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ0xJRU5UXzFfMl8xIiBUeXBlPSJDTElFTlRfMV8yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDTElFTlRfMV8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iaHR0cFsxMjcuMC4wLjE6ODQ0MC9vcmNoZXN0cmF0b3IvbWdtdC9zdG9yZTsgUE9TVDsgYXBwbGljYXRpb24vanNvbl1dIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzFfMl8xLklEIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDAzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNbeyZxdW90O3NlcnZpY2UmcXVvdDsgOiB7JnF1b3Q7c2VydmljZURlZmluaXRpb24mcXVvdDsgOiAmcXVvdDtzZXJ2aWNlVGVzdCZxdW90OywmcXVvdDtpbnRlcmZhY2VzJnF1b3Q7IDogWyAmcXVvdDtYTUwmcXVvdDssICZxdW90O0pTT04mcXVvdDtdLCZxdW90O3NlcnZpY2VNZXRhZGF0YSZxdW90OyA6IHsgJnF1b3Q7a2V5MSZxdW90OyA6ICZxdW90O3ZhbHVlMSZxdW90OywgJnF1b3Q7a2V5MiZxdW90OyA6ICZxdW90O3ZhbHVlMiZxdW90O319LCZxdW90O2NvbnN1bWVyJnF1b3Q7IDogeyZxdW90O3N5c3RlbU5hbWUmcXVvdDsgOiAmcXVvdDtzeXN0ZW1UZXN0TmFtZSZxdW90OywmcXVvdDthZGRyZXNzJnF1b3Q7IDomcXVvdDtsb2NhbGhvc3QmcXVvdDssJnF1b3Q7cG9ydCZxdW90OyA6IDgwOTAsICZxdW90O2F1dGhlbnRpY2F0aW9uSW5mbyZxdW90OyA6ICZxdW90OyZxdW90O30sJnF1b3Q7cHJvdmlkZXJTeXN0ZW0mcXVvdDsgOiB7JnF1b3Q7c3lzdGVtTmFtZSZxdW90OyA6ICZxdW90O3N5c3RlbVRlc3ROYW1lJnF1b3Q7LCZxdW90O2FkZHJlc3MmcXVvdDsgOiAmcXVvdDtsb2NhbGhvc3QmcXVvdDssJnF1b3Q7cG9ydCZxdW90OyA6IDgwOTAsJnF1b3Q7YXV0aGVudGljYXRpb25JbmZvJnF1b3Q7IDogJnF1b3Q7JnF1b3Q7fSwmcXVvdDtwcmlvcml0eSZxdW90OyA6IDEsJnF1b3Q7ZGVmYXVsdEVudHJ5JnF1b3Q7IDogdHJ1ZSwmcXVvdDtuYW1lJnF1b3Q7IDogJnF1b3Q7JnF1b3Q7LCZxdW90O2xhc3RVcGRhdGVkJnF1b3Q7IDogJnF1b3Q7JnF1b3Q7LCZxdW90O2luc3RydWN0aW9uJnF1b3Q7IDogJnF1b3Q7JnF1b3Q7LCZxdW90O2F0dHJpYnV0ZXMmcXVvdDsgOiB7IH0sJnF1b3Q7c2VydmljZVVSSSZxdW90OyA6ICZxdW90O3NlcnZpY2VUZXN0L3N0YXJ0JnF1b3Q7fSBdIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzFfMl8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RSSU5HMlNUUklORyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMXzBfMSIgVHlwZT0iUFVCTF8wIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDA2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjYWxsTG9hZGVkIiBEZXN0aW5hdGlvbj0iUFVCTF8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HRVRfQVRfSU5ERVgiIFR5cGU9IkdFVF9BVF9JTkRFWCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLlMyV1MiIFR5cGU9IkZfU1RSSU5HX1RPX1dTVFJJTkciIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5XUzJXUyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uREkyUyIgVHlwZT0iRl9ESU5UX1RPX1NUUklORyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldEFkZHJlc3MiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3Byb3ZpZGVyLmFkZHJlc3MiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldEFkZHJlc3MubWVtYmVyIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0UG9ydCIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQxNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjcHJvdmlkZXIucG9ydCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0UG9ydC5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRVUkkiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3NlcnZpY2VVUkkiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldFVSSS5tZW1iZXIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5JcFBvcnQiIFR5cGU9IkFQUEVORF9TVFJJTkdfMyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQxOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjOiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0LklOXzIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybSIgVHlwZT0iT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5XUzJXU18xIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5JcFBvcnRVUkkiIFR5cGU9IkFQUEVORF9TVFJJTkdfMiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkZpZWxkc1RvQXJyb3doZWFkQ2xvdWQiIFR5cGU9IkZpZWxkc1RvQXJyb3doZWFkQ2xvdWQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5GaWVsZHNUb0Fycm93aGVhZFN5c3RlbSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQYXJ0aWFsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUCIgVHlwZT0iUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUGFydGlhbC5GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybSIgVHlwZT0iRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQYXJ0aWFsLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZSIgVHlwZT0iRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUGFydGlhbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0iIFR5cGU9IlJlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQyOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIvc2VydmljZVRlc3Qvc3RhcnQiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuc2VydmljZVVSSSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQyOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnZlcnNpb24iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkudWRwIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IiZxdW90O2tleTE9dmFsdWUxLCBrZXkyPXZhbHVlMiZxdW90OyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5tZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzEyNy4wLjAuMTo4NDQyL3NlcnZpY2VyZWdpc3RyeSIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuUmVnaXN0ZXJTZXJ2aWNlLmVuZHBvaW50IiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjc3lzdGVtVGVzdE5hbWUiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLnN5c3RlbU5hbWUiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibG9jYWxob3N0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5GaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5hZGRyZXNzIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjgwOTAiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLnBvcnQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNzZXJ2aWNlVGVzdCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUGFydGlhbC5GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2Uuc2VydmljZURlZmluaXRpb24iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O0pTT04mcXVvdDssICZxdW90O1hNTCZxdW90O10iIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBhcnRpYWwuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLmludGVyZmFjZXMiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0MzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iWyZxdW90O2tleTE9dmFsdWUxJnF1b3Q7LCAmcXVvdDtrZXkyPXZhbHVlMiZxdW90O10iIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBhcnRpYWwuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLnNlcnZpY2VNZXRhZGF0YSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HIzEyNy4wLjAuMTo4NDQwL29yY2hlc3RyYXRvciIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUGFydGlhbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0uZW5kcG9pbnQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR0VUX0FUX0lOREVYLklOREVYIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5kb25lUmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2UuZG9uZVVucmVnaXN0ZXIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX0dULlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlciIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS51bnJlZ2lzdGVyIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuQ05GIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRUkyIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLkVfUkVORC5FTyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5ELkVPIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuUiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LnNlcnZpY2VSZWdpc3RyeUVudHJ5IiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5SZWdpc3RlclNlcnZpY2Uuc2VydmljZVJlZ2lzdHJ5RW50cnkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZS5yZWdpc3RlclNlcnZpY2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLlJlZ2lzdGVyU2VydmljZUhUVFBfMS5yZWdpc3RlclNlcnZpY2UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVguRU8wIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzFfMi5JTklUIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMiIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVguRU8yIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5FX1JFTkQuRUkxIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMyIgRGVzdGluYXRpb249IkVfU1JfMS5TIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzEuRU8wIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5GaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMS5FTzEiIERlc3RpbmF0aW9uPSJFX1NSLlMiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMS5FTzIiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLkVPMyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9TUi5SIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzEuRU8zIiBEZXN0aW5hdGlvbj0iUmVnaXN0ZXJTZXJ2aWNlMi5GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLkVPMyIgRGVzdGluYXRpb249IlJlZ2lzdGVyU2VydmljZTIuRV9SRU5ELkVJMSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9HVC5DTkYiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9ERU1VWC5FSSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9TVUIuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLkVJIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX0dUXzEuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5GX0dUXzEuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9TV0lUQ0hfMS5FSSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9TV0lUQ0hfMS5FTzAiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX1NVQi5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkZfU1VCXzEuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xXzEuRUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVPMCIgRGVzdGluYXRpb249IkVfU1JfMS5SIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzFfMS5FTzEiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xXzEuRU8yIiBEZXN0aW5hdGlvbj0iRV9TUi5SIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMyIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzFfMS5FTzIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xXzEuRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVPMCIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzEuRU8zIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMS5FTzIiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLkVPMSIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkZfR1RfMV8xLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfU1dJVENIXzFfMS5FSSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9TVUJfMV8xLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xXzEuRUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xXzEuRU8wIiBEZXN0aW5hdGlvbj0iUFVCTF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfU1dJVENIXzEuRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX1NXSVRDSF8xXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9TVUJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfU1dJVENIXzFfMS5FTzEiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX1NVQl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzFfMV8xLkVPMyIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xXzEuRU8wIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xXzEuRU8xIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xXzEuRU8yIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xXzEuRU8zIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfREVNVVhfMV8xLkVPMyIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzFfMS5FTzMiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0RFTVVYLksiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw0OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkZfR1QuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDQ5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9TVUIuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xLksiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVC5JTjEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9TVUIuSU4xIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfU1VCXzEuSU4xIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXF1ZW5jZXJfMS5FX0NUVS5DViIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1RfMS5JTjEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkZfR1RfMS5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX1NXSVRDSF8xLkciIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkZfU1VCXzEuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9ERU1VWF8xXzEuSyIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRl9HVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRV9TV0lUQ0hfMV8xLkciIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkZfU1VCXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5FX0RFTVVYXzFfMV8xLksiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcXVlbmNlcl8xLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9TVUJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VxdWVuY2VyXzEuRV9DVFUuQ1YiIERlc3RpbmF0aW9uPSJTZXF1ZW5jZXJfMS5GX0dUXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uREkyUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLldTMldTLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5XUzJXUy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydC5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0QWRkcmVzcy5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldFBvcnQuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLlMyV1MuQ05GIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0uQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRBZGRyZXNzLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5XUzJXU18xLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5XUzJXU18xLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uREkyUy5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0LkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0VVJJLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5JcFBvcnRVUkkuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5TMldTLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5ESTJTLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uSXBQb3J0LklOXzMiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uV1MyV1MuT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5JcFBvcnQuSU5fMSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRQb3J0Lm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uREkyUy5JTiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRBZGRyZXNzLm91dHB1dCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uV1MyV1MuSU4iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uUzJXUy5PVVQiIERlc3RpbmF0aW9uPSJGX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLlMyV1MuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0uT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRBZGRyZXNzLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLkdldFBvcnQuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLk9yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtLk9VVCIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uR2V0VVJJLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5HZXRVUkkub3V0cHV0IiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5XUzJXU18xLklOIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydC5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydFVSSS5JTl8xIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydFVSSS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLlMyV1MuSU4iIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkZvcm0uV1MyV1NfMS5PVVQiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLklwUG9ydFVSSS5JTl8yIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBhcnRpYWwuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLkNORiIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUGFydGlhbC5GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUGFydGlhbC5GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBhcnRpYWwuUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLnJlcXVlc3RPcmNoZXN0YXRvciIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQYXJ0aWFsLlJlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybS5yZXNwb25zZVJlY2VpdmVkIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HRVRfQVRfSU5ERVguUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBhcnRpYWwuRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBhcnRpYWwuRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0ucmVxdWVzdGVkU2VydmljZSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDUzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQYXJ0aWFsLkZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtLnNlcnZpY2VSZXF1ZXN0Rm9ybSIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUGFydGlhbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0uc2VydmljZVJlcXVlc3RGb3JtIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBhcnRpYWwuUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLm9yY2hlc3RyYXRpb25SZXNwb25zZSIgRGVzdGluYXRpb249IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuR0VUX0FUX0lOREVYLklOX0FSUkFZIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBhcnRpYWwuUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLnJlcXVlc3RPcmNoZXN0cmF0aW9uIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQYXJ0aWFsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUC5yZXF1ZXN0T3JjaGVzdHJhdGlvbiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5GaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkZpZWxkc1RvQXJyb3doZWFkQ2xvdWQuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkZpZWxkc1RvQXJyb3doZWFkQ2xvdWQuQ05GIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQYXJ0aWFsLkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQUEZ1bGwuRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uYXJyb3doZWFkU3lzdGVtIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQYXJ0aWFsLkZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtLnJlcXVlc3RlclN5c3RlbSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5GaWVsZHNUb0Fycm93aGVhZENsb3VkLmFycm93aGVhZENsb3VkIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFBQYXJ0aWFsLkZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtLnJlcXVlc3RlckNsb3VkIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdFVF9BVF9JTkRFWC5DTkYiIERlc3RpbmF0aW9uPSJHZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uSFRUUFBGdWxsLkdldEVuZHBvaW50RnJvbU9yY2hlc3RyYXRpb25Gb3JtLk9yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HRVRfQVRfSU5ERVguT1VUIiBEZXN0aW5hdGlvbj0iR2V0RW5kcG9pbnRGcm9tT3JjaGVzdHJhdGlvbkhUVFBQRnVsbC5HZXRFbmRwb2ludEZyb21PcmNoZXN0cmF0aW9uRm9ybS5PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybS5JTiIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uQ05GIiBEZXN0aW5hdGlvbj0iU2VydmljZTEuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRLkNORiIgRGVzdGluYXRpb249Ik5vU2VydmljZUF2YWlsYWJsZS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuRU8iIERlc3RpbmF0aW9uPSJTRVJWRVJfMS5JTklUIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJMXzAuSU5EIiBEZXN0aW5hdGlvbj0iRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJQVUJMXzAuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlcnZpY2VBdmFpbGFibGUuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJTZXJ2aWNlQXZhaWxhYmxlLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5FTyIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iU1VCTF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8xLklOSVRPIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNMSUVOVF8xXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJDTElFTlRfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJDTElFTlRfMV8yXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzFfMl8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzFfMl8xLkNORiIgRGVzdGluYXRpb249IlNlcXVlbmNlcl8xLkZfR1QuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMS5JTkQiIERlc3RpbmF0aW9uPSJTVFJJTkcyU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HMlNUUklORy5DTkYiIERlc3RpbmF0aW9uPSJTRVJWRVJfMS5SU1AiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2VBdmFpbGFibGUuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJTVUJMXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmljZTEuQ05GIiBEZXN0aW5hdGlvbj0iU2VxdWVuY2VyXzEuRl9HVC5SRVEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQkxfMC5JTklUTyIgRGVzdGluYXRpb249IlBVQkxfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iUFVCTF8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRLk9VVCIgRGVzdGluYXRpb249Ik5vU2VydmljZUF2YWlsYWJsZS5jaGVjayIgLz48L1JlcXVlc3Q+CitPcmNoZXN0cmF0aW9uV2l0aFJ1bGVzOzxSZXF1ZXN0IElEPSIyLDU3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzEuUUkiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZpY2UxLmFycm93aGVhZFNlcnZpY2UiIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZWRTZXJ2aWNlIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5hcnJvd2hlYWRTeXN0ZW0iIERlc3RpbmF0aW9uPSJSZWdpc3RlclNlcnZpY2UyLkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkucHJvdmlkZXIiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJTZXJ2aWNlQXZhaWxhYmxlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8xLlJEXzEiIERlc3RpbmF0aW9uPSJTVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK09yY2hlc3RyYXRpb25XaXRoUnVsZXM7PFJlcXVlc3QgSUQ9IjIsNTc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcyU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IlNFUlZFUl8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorT3JjaGVzdHJhdGlvbldpdGhSdWxlczs8UmVxdWVzdCBJRD0iMiw1NzciIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9TeXN0ZW1UZXN0cy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9TeXN0ZW1UZXN0cy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmZhYzg0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL1N5c3RlbVRlc3RzL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjUgQEAKKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK1NFVChTT1VSQ0VfR1JPVVAgJHtTT1VSQ0VfR1JPVVB9XFxzeXN0ZW10ZXN0cykKKworaWYoRk9SVEVfU1lTVEVNX1RFU1RTKQorCisgICN0ZXN0IGFyZSBzb2Z0IGJlY2F1c2Ugb2YgdGhlIGh0dHBzOi8vZ2l0aHViLmNvbS9hcnJvd2hlYWQtZi9jb3JlLWphdmEvaXNzdWVzLzM0ICAKKworICBpZihGT1JURV9DT01fSFRUUCkKKyAgICBmb3J0ZV9hZGRfc3lzdGVtdGVzdF9zb2Z0KEhUVFBUZXN0cyBBcnJvd2hlYWRfSFRUUFRlc3QuZmJvb3QgODApCisgIGVuZGlmKEZPUlRFX0NPTV9IVFRQKSAKKyAgCisgICAjYWZ0ZXIgY29tcGlsYXRpb24sIHJ1biAibWFrZSBDVEVTVF9PVVRQVVRfT05fRkFJTFVSRT0xIHRlc3QiIG9uIHRoZSBiaW5hcnkgZm9sZGVyCisKK2VuZGlmKEZPUlRFX1NZU1RFTV9URVNUUykKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvU3lzdGVtVGVzdHMvY2xlYW5JbnRyYWNsb3VkQW5kUnVsZXMuc2ggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvU3lzdGVtVGVzdHMvY2xlYW5JbnRyYWNsb3VkQW5kUnVsZXMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUyYWNmZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9TeXN0ZW1UZXN0cy9jbGVhbkludHJhY2xvdWRBbmRSdWxlcy5zaApAQCAtMCwwICsxLDQ0IEBACisjIS9iaW4vYmFzaAorCitJUD0iMTI3LjAuMC4xIgorCitpZiBbICIkezF9IiAhPSAiIiBdCit0aGVuCisgICBJUD0kezF9CitmaSAKKworZWNobyAiVXNpbmcgaXAgJHtJUH0iCisKK2lkcz0kKGN1cmwgLVggR0VUICJodHRwOi8vJHtJUH06ODQ0NC9hdXRob3JpemF0aW9uL21nbXQvaW50cmFjbG91ZCIgLXMgfCBncmVwIGlkXCIgfCB0ciAtcyAnICcgfCBjdXQgLWQgJzonIC1mMiB8IGN1dCAtZCAnLCcgLWYxKQorCitjb3VudGVyPTAKK2ZvciBpIGluICRpZHMKK2RvCisgIGlmICEgKCggJHtjb3VudGVyfSAlIDQgKSkgCisgIHRoZW4KKyAgICBlY2hvICJEZWxldGluZyBhdXRob3JpemF0aW9uIGludHJhY2xvdWQgZW50cnkgd2l0aCBpZD0kaSIKKyAgICBjdXJsIC1YIERFTEVURSAiaHR0cDovLyR7SVB9Ojg0NDQvYXV0aG9yaXphdGlvbi9tZ210L2ludHJhY2xvdWQvJGkiIC1IICAiYWNjZXB0OiBhcHBsaWNhdGlvbi9qc29uIgorICBmaQorICBjb3VudGVyPSQoKCAke2NvdW50ZXJ9ICsgMSkpCitkb25lCisKKworaWRzPSQoY3VybCAtWCBHRVQgImh0dHA6Ly8ke0lQfTo4NDQwL29yY2hlc3RyYXRvci9tZ210L3N0b3JlL2FsbCIgLUggICJhY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24iIC1zIHwgZ3JlcCBpZFwiIHwgdHIgLXMgJyAnIHwgY3V0IC1kICc6JyAtZjIgfCBjdXQgLWQgJywnIC1mMSkKKworY291bnRlcj0wCitmb3IgaSBpbiAkaWRzCitkbworCisgIGlmICgoICR7Y291bnRlcn0gPT0gMiApKQorICB0aGVuCisgICAgZWNobyAiRGVsZXRpbmcgb3JjaGVzdHJhdGlvbiBydWxlIG9mIGNvbnN1bWVyIHdpdGggaWQ9JGkiCisgICAgY3VybCAtWCBERUxFVEUgImh0dHA6Ly8ke0lQfTo4NDQwL29yY2hlc3RyYXRvci9tZ210L3N0b3JlL2NvbnN1bWVySWQvJGkiIC1IICAiYWNjZXB0OiBhcHBsaWNhdGlvbi9qc29uIgorICAgIGNvdW50ZXI9JCgoICR7Y291bnRlcn0gKyAxKSkKKyAgZWxpZiAoKCAke2NvdW50ZXJ9ID09IDMgKSkKKyAgdGhlbgorICAgIGNvdW50ZXI9MAorICBlbHNlCisgICAgY291bnRlcj0kKCggJHtjb3VudGVyfSArIDEpKQorICBmaQorZG9uZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjMzOWU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDI2IEBACisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb21tb24gQXJyb3doZWFkIHNwZWNpZmljIGZ1bmN0aW9uYWwgYmxvY2tzIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZm9ydGVfYWRkX2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCisjZGF0YXR5cGUKK2ZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoZm9ydGVfYXJyb3doZWFkc2VydmljZSBmb3J0ZV9hcnJvd2hlYWRzeXN0ZW0gZm9ydGVfYXJyb3doZWFkY2xvdWQpCisKKyNoZWxwZXIgRkJzCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEZpZWxkc1RvQXJyb3doZWFkU2VydmljZSBGaWVsZHNUb0Fycm93aGVhZFN5c3RlbSBGaWVsZHNUb0Fycm93aGVhZENsb3VkKQorCithZGRfc3ViZGlyZWN0b3J5KEpTT04pCisgIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vRmllbGRzVG9BcnJvd2hlYWRDbG91ZC5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmYmVmZmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQuY3BwCkBAIC0wLDAgKzEsOTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJGaWVsZHNUb0Fycm93aGVhZENsb3VkLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiRmllbGRzVG9BcnJvd2hlYWRDbG91ZF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GaWVsZHNUb0Fycm93aGVhZENsb3VkLCBnX25TdHJpbmdJZEZpZWxkc1RvQXJyb3doZWFkQ2xvdWQpCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRDbG91ZDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZE9wZXJhdG9yLCBnX25TdHJpbmdJZGNsb3VkTmFtZSwgZ19uU3RyaW5nSWRhZGRyZXNzLCBnX25TdHJpbmdJZHBvcnQsIGdfblN0cmluZ0lkZ2F0ZWtlZXBlclNlcnZpY2VVUkksIGdfblN0cmluZ0lkYXV0aGVudGljYXRpb25JbmZvLCBnX25TdHJpbmdJZHNlY3VyZX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRDbG91ZDo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkRElOVCwgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkQk9PTH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRDbG91ZDo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRhcnJvd2hlYWRDbG91ZH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRDbG91ZDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEFycm93aGVhZENsb3VkfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRDbG91ZDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQ6OnNjbV9hbkVJV2l0aFtdID0gezAsIDEsIDIsIDYsIDUsIDQsIDMsIDI1NX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQ6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQ6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GaWVsZHNUb0Fycm93aGVhZENsb3VkOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZENsb3VkOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQ6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgNywgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKwordm9pZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZENsb3VkOjphbGdfUkVRKHZvaWQpeworYXJyb3doZWFkQ2xvdWQoKS5PcGVyYXRvcigpID0gT3BlcmF0b3IoKTsKK2Fycm93aGVhZENsb3VkKCkuY2xvdWROYW1lKCkgPSBjbG91ZE5hbWUoKTsKK2Fycm93aGVhZENsb3VkKCkuYWRkcmVzcygpID0gYWRkcmVzcygpOworYXJyb3doZWFkQ2xvdWQoKS5wb3J0KCkgPSBwb3J0KCk7CithcnJvd2hlYWRDbG91ZCgpLmdhdGVrZWVwZXJTZXJ2aWNlVVJJKCkgPSBnYXRla2VlcGVyU2VydmljZVVSSSgpOworYXJyb3doZWFkQ2xvdWQoKS5hdXRoZW50aWNhdGlvbkluZm8oKSA9IGF1dGhlbnRpY2F0aW9uSW5mbygpOworYXJyb3doZWFkQ2xvdWQoKS5zZWN1cmUoKSA9IHNlY3VyZSgpOworCisKKworCisKK30KKworCit2b2lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQ6OmVudGVyU3RhdGVTVEFSVCh2b2lkKXsKKyAgbV9uRUNDU3RhdGUgPSBzY21fblN0YXRlU1RBUlQ7Cit9CisKK3ZvaWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRDbG91ZDo6ZW50ZXJTdGF0ZVJFUSh2b2lkKXsKKyAgbV9uRUNDU3RhdGUgPSBzY21fblN0YXRlUkVROworICBhbGdfUkVRKCk7CisgIHNlbmRPdXRwdXRFdmVudCggc2NtX25FdmVudENORklEKTsKK30KKwordm9pZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZENsb3VkOjpleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKXsKKyAgYm9vbCBiVHJhbnNpdGlvbkNsZWFyZWQ7CisgIGRveworICAgIGJUcmFuc2l0aW9uQ2xlYXJlZCA9IHRydWU7CisgICAgc3dpdGNoKG1fbkVDQ1N0YXRlKXsKKyAgICAgIGNhc2Ugc2NtX25TdGF0ZVNUQVJUOgorICAgICAgICBpZihzY21fbkV2ZW50UkVRSUQgPT0gcGFfbkVJSUQpCisgICAgICAgICAgZW50ZXJTdGF0ZVJFUSgpOworICAgICAgICBlbHNlCisgICAgICAgICAgYlRyYW5zaXRpb25DbGVhcmVkICA9IGZhbHNlOyAvL25vIHRyYW5zaXRpb24gY2xlYXJlZAorICAgICAgICBicmVhazsKKyAgICAgIGNhc2Ugc2NtX25TdGF0ZVJFUToKKyAgICAgICAgaWYoMSkKKyAgICAgICAgICBlbnRlclN0YXRlU1RBUlQoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGJUcmFuc2l0aW9uQ2xlYXJlZCAgPSBmYWxzZTsgLy9ubyB0cmFuc2l0aW9uIGNsZWFyZWQKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0OgorICAgICAgREVWTE9HX0VSUk9SKCJUaGUgc3RhdGUgaXMgbm90IGluIHRoZSB2YWxpZCByYW5nZSEgVGhlIHN0YXRlIHZhbHVlIGlzOiAlZC4gVGhlIG1heCB2YWx1ZSBjYW4gYmU6IDEuIiwgbV9uRUNDU3RhdGUub3BlcmF0b3IgVEZvcnRlVUludDE2ICgpKTsKKyAgICAgICAgbV9uRUNDU3RhdGUgPSAwOyAvLzAgaXMgYWx3YXlzIHRoZSBpbml0aWFsIHN0YXRlCisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBwYV9uRUlJRCA9IGNnX25JbnZhbGlkRXZlbnRJRDsgIC8vIHdlIGhhdmUgdG8gY2xlYXIgdGhlIGV2ZW50IGFmdGVyIHRoZSBmaXJzdCBjaGVjayBpbiBvcmRlciB0byBlbnN1cmUgY29ycmVjdCBiZWhhdmlvcgorICB9d2hpbGUoYlRyYW5zaXRpb25DbGVhcmVkKTsKK30KKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQuaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vRmllbGRzVG9BcnJvd2hlYWRDbG91ZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyNDM4ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQuaApAQCAtMCwwICsxLDk1IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9GSUVMRFNUT0FSUk9XSEVBRENMT1VEX0hfCisjZGVmaW5lIF9GSUVMRFNUT0FSUk9XSEVBRENMT1VEX0hfCisKKyNpbmNsdWRlIDxiYXNpY2ZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgorI2luY2x1ZGUgPGZvcnRlX2Fycm93aGVhZGNsb3VkLmg+CisjaW5jbHVkZSA8Zm9ydGVfZGludC5oPgorI2luY2x1ZGUgPGZvcnRlX3dzdHJpbmcuaD4KKworY2xhc3MgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRDbG91ZDogcHVibGljIENCYXNpY0ZCeworICBERUNMQVJFX0ZJUk1XQVJFX0ZCKEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkQ2xvdWQpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19XU1RSSU5HICZPcGVyYXRvcigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDApKTsKKyAgfTsKKworICBDSUVDX1dTVFJJTkcgJmNsb3VkTmFtZSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEpKTsKKyAgfTsKKworICBDSUVDX1dTVFJJTkcgJmFkZHJlc3MoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgyKSk7CisgIH07CisKKyAgQ0lFQ19ESU5UICZwb3J0KCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19ESU5UKj4oZ2V0REkoMykpOworICB9OworCisgIENJRUNfV1NUUklORyAmZ2F0ZWtlZXBlclNlcnZpY2VVUkkoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg0KSk7CisgIH07CisKKyAgQ0lFQ19XU1RSSU5HICZhdXRoZW50aWNhdGlvbkluZm8oKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg1KSk7CisgIH07CisKKyAgQ0lFQ19CT09MICZzZWN1cmUoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRESSg2KSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgIENJRUNfQXJyb3doZWFkQ2xvdWQgJmFycm93aGVhZENsb3VkKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRDbG91ZCo+KGdldERPKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudFJFUUlEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTkZJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0JBU0lDX0ZCX0RBVEFfQVJSQVkoMSwgNywgMSwgMCwgMCk7CisgIHZvaWQgYWxnX1JFUSh2b2lkKTsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9uU3RhdGVTVEFSVCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fblN0YXRlUkVRID0gMTsKKworICB2b2lkIGVudGVyU3RhdGVTVEFSVCh2b2lkKTsKKyAgdm9pZCBlbnRlclN0YXRlUkVRKHZvaWQpOworCisgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKTsKKworcHVibGljOgorICBGT1JURV9GaWVsZHNUb0Fycm93aGVhZENsb3VkKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSA6IAorICAgICAgIENCYXNpY0ZCKHBhX3BvU3JjUmVzLCAmc2NtX3N0RkJJbnRlcmZhY2VTcGVjLCBwYV9uSW5zdGFuY2VOYW1lSWQsCisgICAgICAgICAgICAgIDAsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfRmllbGRzVG9BcnJvd2hlYWRDbG91ZCgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuY3BwIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjMDYwZjYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5jcHAKQEAgLTAsMCArMSw5NyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIkZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZpZWxkc1RvQXJyb3doZWFkU2VydmljZV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UsIGdfblN0cmluZ0lkRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZTo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHNlcnZpY2VEZWZpbml0aW9uLCBnX25TdHJpbmdJZGludGVyZmFjZXMsIGdfblN0cmluZ0lkc2VydmljZU1ldGFkYXRhfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2U6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZFdTVFJJTkd9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZTo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRhcnJvd2hlYWRTZXJ2aWNlfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2U6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRBcnJvd2hlYWRTZXJ2aWNlfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlOjpzY21fYW5FSVdpdGhbXSA9IHswLCAxLCAyLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2U6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZTo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZTo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZTo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAzLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCit2b2lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZTo6YWxnX1JFUSh2b2lkKXsKK0NJRUNfSU5UIGk7Cis7CisKK2kgPSAwOworYXJyb3doZWFkU2VydmljZSgpLnNlcnZpY2VEZWZpbml0aW9uKCkgPSBzZXJ2aWNlRGVmaW5pdGlvbigpOworCit3aGlsZSgoaSA8IDEwKSl7CisvLyBsb29rcyBsaWtlIHdoaWxlIGlzIGZhc3RlciB0aGFuIEZPUiB3aGVuIGV4cG9ydGluZyB0byBjcHAKKworYXJyb3doZWFkU2VydmljZSgpLmludGVyZmFjZXMoKVtpXSA9IGludGVyZmFjZXMoKVtpXTsKK2Fycm93aGVhZFNlcnZpY2UoKS5zZXJ2aWNlTWV0YWRhdGEoKVtpXSA9IHNlcnZpY2VNZXRhZGF0YSgpW2ldOworaSA9IGkrMTsKK30KKworfQorCisKK3ZvaWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlOjplbnRlclN0YXRlU1RBUlQodm9pZCl7CisgIG1fbkVDQ1N0YXRlID0gc2NtX25TdGF0ZVNUQVJUOworfQorCit2b2lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZTo6ZW50ZXJTdGF0ZVJFUSh2b2lkKXsKKyAgbV9uRUNDU3RhdGUgPSBzY21fblN0YXRlUkVROworICBhbGdfUkVRKCk7CisgIHNlbmRPdXRwdXRFdmVudCggc2NtX25FdmVudENORklEKTsKK30KKwordm9pZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2U6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpeworICBib29sIGJUcmFuc2l0aW9uQ2xlYXJlZDsKKyAgZG97CisgICAgYlRyYW5zaXRpb25DbGVhcmVkID0gdHJ1ZTsKKyAgICBzd2l0Y2gobV9uRUNDU3RhdGUpeworICAgICAgY2FzZSBzY21fblN0YXRlU1RBUlQ6CisgICAgICAgIGlmKHNjbV9uRXZlbnRSRVFJRCA9PSBwYV9uRUlJRCkKKyAgICAgICAgICBlbnRlclN0YXRlUkVRKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBiVHJhbnNpdGlvbkNsZWFyZWQgID0gZmFsc2U7IC8vbm8gdHJhbnNpdGlvbiBjbGVhcmVkCisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBzY21fblN0YXRlUkVROgorICAgICAgICBpZigxKQorICAgICAgICAgIGVudGVyU3RhdGVTVEFSVCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgYlRyYW5zaXRpb25DbGVhcmVkICA9IGZhbHNlOyAvL25vIHRyYW5zaXRpb24gY2xlYXJlZAorICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICBERVZMT0dfRVJST1IoIlRoZSBzdGF0ZSBpcyBub3QgaW4gdGhlIHZhbGlkIHJhbmdlISBUaGUgc3RhdGUgdmFsdWUgaXM6ICVkLiBUaGUgbWF4IHZhbHVlIGNhbiBiZTogMS4iLCBtX25FQ0NTdGF0ZS5vcGVyYXRvciBURm9ydGVVSW50MTYgKCkpOworICAgICAgICBtX25FQ0NTdGF0ZSA9IDA7IC8vMCBpcyBhbHdheXMgdGhlIGluaXRpYWwgc3RhdGUKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHBhX25FSUlEID0gY2dfbkludmFsaWRFdmVudElEOyAgLy8gd2UgaGF2ZSB0byBjbGVhciB0aGUgZXZlbnQgYWZ0ZXIgdGhlIGZpcnN0IGNoZWNrIGluIG9yZGVyIHRvIGVuc3VyZSBjb3JyZWN0IGJlaGF2aW9yCisgIH13aGlsZShiVHJhbnNpdGlvbkNsZWFyZWQpOworfQorCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vRmllbGRzVG9BcnJvd2hlYWRTZXJ2aWNlLmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3YTM5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0ZpZWxkc1RvQXJyb3doZWFkU2VydmljZS5oCkBAIC0wLDAgKzEsODYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZJRUxEU1RPQVJST1dIRUFEU0VSVklDRV9IXworI2RlZmluZSBfRklFTERTVE9BUlJPV0hFQURTRVJWSUNFX0hfCisKKyNpbmNsdWRlIDxiYXNpY2ZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfYXJyb3doZWFkc2VydmljZS5oPgorI2luY2x1ZGUgPGZvcnRlX3dzdHJpbmcuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hcnJheS5oPgorCitjbGFzcyBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2U6IHB1YmxpYyBDQmFzaWNGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19XU1RSSU5HICZzZXJ2aWNlRGVmaW5pdGlvbigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDApKTsKKyAgfTsKKworICBDSUVDX1dTVFJJTkcgKmludGVyZmFjZXMoKSB7CisgICAgcmV0dXJuIChDSUVDX1dTVFJJTkcqKSgqc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSAqPihnZXRESSgxKSkpWzBdOyAvL3RoZSBmaXJzdCBlbGVtZW50IG1hcmtzIHRoZSBzdGFydCBvZiB0aGUgYXJyYXkKKyAgfTsKKworICBDSUVDX0FSUkFZICZpbnRlcmZhY2VzX0FycmF5KCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSo+KGdldERJKDEpKTsKKyAgfTsKKworICBDSUVDX1dTVFJJTkcgKnNlcnZpY2VNZXRhZGF0YSgpIHsKKyAgICByZXR1cm4gKENJRUNfV1NUUklORyopKCpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZICo+KGdldERJKDIpKSlbMF07IC8vdGhlIGZpcnN0IGVsZW1lbnQgbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBhcnJheQorICB9OworCisgIENJRUNfQVJSQVkgJnNlcnZpY2VNZXRhZGF0YV9BcnJheSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQVJSQVkqPihnZXRESSgyKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgIENJRUNfQXJyb3doZWFkU2VydmljZSAmYXJyb3doZWFkU2VydmljZSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQXJyb3doZWFkU2VydmljZSo+KGdldERPKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudFJFUUlEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTkZJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0JBU0lDX0ZCX0RBVEFfQVJSQVkoMSwgMywgMSwgMCwgMCk7CisgIHZvaWQgYWxnX1JFUSh2b2lkKTsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9uU3RhdGVTVEFSVCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fblN0YXRlUkVRID0gMTsKKworICB2b2lkIGVudGVyU3RhdGVTVEFSVCh2b2lkKTsKKyAgdm9pZCBlbnRlclN0YXRlUkVRKHZvaWQpOworCisgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKTsKKworcHVibGljOgorICBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ0Jhc2ljRkIocGFfcG9TcmNSZXMsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgICAgICAgMCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9GaWVsZHNUb0Fycm93aGVhZFNlcnZpY2UoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uY3BwIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9GaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNkZWE1ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uY3BwCkBAIC0wLDAgKzEsODggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJGaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZpZWxkc1RvQXJyb3doZWFkU3lzdGVtX2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU3lzdGVtLCBnX25TdHJpbmdJZEZpZWxkc1RvQXJyb3doZWFkU3lzdGVtKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU3lzdGVtOjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkc3lzdGVtTmFtZSwgZ19uU3RyaW5nSWRhZGRyZXNzLCBnX25TdHJpbmdJZHBvcnQsIGdfblN0cmluZ0lkYXV0aGVudGljYXRpb25JbmZvfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFN5c3RlbTo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZERJTlQsIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW06OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkYXJyb3doZWFkU3lzdGVtfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFN5c3RlbTo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEFycm93aGVhZFN5c3RlbX07CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU3lzdGVtOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW06OnNjbV9hbkVJV2l0aFtdID0gezMsIDIsIDEsIDAsIDI1NX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU3lzdGVtOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFJFUX07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFN5c3RlbTo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU3lzdGVtOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFN5c3RlbTo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkQ05GfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFN5c3RlbTo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICA0LCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCit2b2lkIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU3lzdGVtOjphbGdfUkVRKHZvaWQpeworYXJyb3doZWFkU3lzdGVtKCkuc3lzdGVtTmFtZSgpID0gc3lzdGVtTmFtZSgpOworYXJyb3doZWFkU3lzdGVtKCkuYWRkcmVzcygpID0gYWRkcmVzcygpOworYXJyb3doZWFkU3lzdGVtKCkucG9ydCgpID0gcG9ydCgpOworYXJyb3doZWFkU3lzdGVtKCkuYXV0aGVudGljYXRpb25JbmZvKCkgPSBhdXRoZW50aWNhdGlvbkluZm8oKTsKKworfQorCisKK3ZvaWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW06OmVudGVyU3RhdGVTVEFSVCh2b2lkKXsKKyAgbV9uRUNDU3RhdGUgPSBzY21fblN0YXRlU1RBUlQ7Cit9CisKK3ZvaWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW06OmVudGVyU3RhdGVSRVEodm9pZCl7CisgIG1fbkVDQ1N0YXRlID0gc2NtX25TdGF0ZVJFUTsKKyAgYWxnX1JFUSgpOworICBzZW5kT3V0cHV0RXZlbnQoIHNjbV9uRXZlbnRDTkZJRCk7Cit9CisKK3ZvaWQgRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW06OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpeworICBib29sIGJUcmFuc2l0aW9uQ2xlYXJlZDsKKyAgZG97CisgICAgYlRyYW5zaXRpb25DbGVhcmVkID0gdHJ1ZTsKKyAgICBzd2l0Y2gobV9uRUNDU3RhdGUpeworICAgICAgY2FzZSBzY21fblN0YXRlU1RBUlQ6CisgICAgICAgIGlmKHNjbV9uRXZlbnRSRVFJRCA9PSBwYV9uRUlJRCkKKyAgICAgICAgICBlbnRlclN0YXRlUkVRKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBiVHJhbnNpdGlvbkNsZWFyZWQgID0gZmFsc2U7IC8vbm8gdHJhbnNpdGlvbiBjbGVhcmVkCisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBzY21fblN0YXRlUkVROgorICAgICAgICBpZigxKQorICAgICAgICAgIGVudGVyU3RhdGVTVEFSVCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgYlRyYW5zaXRpb25DbGVhcmVkICA9IGZhbHNlOyAvL25vIHRyYW5zaXRpb24gY2xlYXJlZAorICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICBERVZMT0dfRVJST1IoIlRoZSBzdGF0ZSBpcyBub3QgaW4gdGhlIHZhbGlkIHJhbmdlISBUaGUgc3RhdGUgdmFsdWUgaXM6ICVkLiBUaGUgbWF4IHZhbHVlIGNhbiBiZTogMS4iLCBtX25FQ0NTdGF0ZS5vcGVyYXRvciBURm9ydGVVSW50MTYgKCkpOworICAgICAgICBtX25FQ0NTdGF0ZSA9IDA7IC8vMCBpcyBhbHdheXMgdGhlIGluaXRpYWwgc3RhdGUKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHBhX25FSUlEID0gY2dfbkludmFsaWRFdmVudElEOyAgLy8gd2UgaGF2ZSB0byBjbGVhciB0aGUgZXZlbnQgYWZ0ZXIgdGhlIGZpcnN0IGNoZWNrIGluIG9yZGVyIHRvIGVuc3VyZSBjb3JyZWN0IGJlaGF2aW9yCisgIH13aGlsZShiVHJhbnNpdGlvbkNsZWFyZWQpOworfQorCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjRjNjVlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9GaWVsZHNUb0Fycm93aGVhZFN5c3RlbS5oCkBAIC0wLDAgKzEsODIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZJRUxEU1RPQVJST1dIRUFEU1lTVEVNX0hfCisjZGVmaW5lIF9GSUVMRFNUT0FSUk9XSEVBRFNZU1RFTV9IXworCisjaW5jbHVkZSA8YmFzaWNmYi5oPgorI2luY2x1ZGUgPGZvcnRlX2Fycm93aGVhZHN5c3RlbS5oPgorI2luY2x1ZGUgPGZvcnRlX2RpbnQuaD4KKyNpbmNsdWRlIDxmb3J0ZV93c3RyaW5nLmg+CisKK2NsYXNzIEZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU3lzdGVtOiBwdWJsaWMgQ0Jhc2ljRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfRmllbGRzVG9BcnJvd2hlYWRTeXN0ZW0pCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19XU1RSSU5HICZzeXN0ZW1OYW1lKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMCkpOworICB9OworCisgIENJRUNfV1NUUklORyAmYWRkcmVzcygpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEpKTsKKyAgfTsKKworICBDSUVDX0RJTlQgJnBvcnQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0RJTlQqPihnZXRESSgyKSk7CisgIH07CisKKyAgQ0lFQ19XU1RSSU5HICZhdXRoZW50aWNhdGlvbkluZm8oKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgzKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgIENJRUNfQXJyb3doZWFkU3lzdGVtICZhcnJvd2hlYWRTeXN0ZW0oKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0Fycm93aGVhZFN5c3RlbSo+KGdldERPKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudFJFUUlEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTkZJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0JBU0lDX0ZCX0RBVEFfQVJSQVkoMSwgNCwgMSwgMCwgMCk7CisgIHZvaWQgYWxnX1JFUSh2b2lkKTsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9uU3RhdGVTVEFSVCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fblN0YXRlUkVRID0gMTsKKworICB2b2lkIGVudGVyU3RhdGVTVEFSVCh2b2lkKTsKKyAgdm9pZCBlbnRlclN0YXRlUkVRKHZvaWQpOworCisgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKTsKKworcHVibGljOgorICBGT1JURV9GaWVsZHNUb0Fycm93aGVhZFN5c3RlbShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcykgOiAKKyAgICAgICBDQmFzaWNGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZpZWxkc1RvQXJyb3doZWFkU3lzdGVtKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vQU5ZVG9KU09OLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vSlNPTi9BTllUb0pTT04uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NzA5MDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vQU5ZVG9KU09OLmNwcApAQCAtMCwwICsxLDU0IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiQU5ZVG9KU09OLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiQU5ZVG9KU09OX2dlbi5jcHAiCisjZW5kaWYKKyNpbmNsdWRlICJBcnJvd2hlYWRKU09OSGVscGVyLmgiCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9BTllUb0pTT04sIGdfblN0cmluZ0lkQU5ZVG9KU09OKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0FOWVRvSlNPTjo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZGlucHV0fTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9BTllUb0pTT046OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEFOWX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfQU5ZVG9KU09OOjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZG91dHB1dH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfQU5ZVG9KU09OOjpzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkU1RSSU5HfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfQU5ZVG9KU09OOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfQU5ZVG9KU09OOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9BTllUb0pTT046OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0FOWVRvSlNPTjo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0FOWVRvSlNPTjo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfQU5ZVG9KU09OOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0FOWVRvSlNPTjo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCisKK3ZvaWQgRk9SVEVfQU5ZVG9KU09OOjpleGVjdXRlRXZlbnQoaW50IHBhRUlJRCkgeworICBpZihzY21fbkV2ZW50UkVRSUQgPT0gcGFFSUlEKSB7CisgICAgb3V0cHV0KCkgPSAiIjsKKyAgICBBcnJvd2hlYWRKU09OSGVscGVyOjp0cmFuc2Zvcm1BTllUb0pTT04oaW5wdXQoKSwgb3V0cHV0KCkpOworICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50Q05GSUQpOworICB9Cit9CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vQU5ZVG9KU09OLmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vQU5ZVG9KU09OLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMyNDllZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vSlNPTi9BTllUb0pTT04uaApAQCAtMCwwICsxLDYxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9BTllUT0pTT05fSF8KKyNkZWZpbmUgX0FOWVRPSlNPTl9IXworCisjaW5jbHVkZSA8ZnVuY2Jsb2MuaD4KKyNpbmNsdWRlIDxmb3J0ZV9zdHJpbmcuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hbnkuaD4KKworY2xhc3MgRk9SVEVfQU5ZVG9KU09OOiBwdWJsaWMgQ0Z1bmN0aW9uQmxvY2t7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfQU5ZVG9KU09OKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfQU5ZICZpbnB1dCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQU5ZKj4oZ2V0REkoMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX1NUUklORyAmb3V0cHV0KCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TVFJJTkcqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworCisgIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CisKK3B1YmxpYzoKKyAgRlVOQ1RJT05fQkxPQ0tfQ1RPUihGT1JURV9BTllUb0pTT04peworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0FOWVRvSlNPTigpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9KU09OL0Fycm93aGVhZEpTT05IZWxwZXIuY3BwIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9KU09OL0Fycm93aGVhZEpTT05IZWxwZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNTI5MTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vQXJyb3doZWFkSlNPTkhlbHBlci5jcHAKQEAgLTAsMCArMSwzNDMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJBcnJvd2hlYWRKU09OSGVscGVyLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiQXJyb3doZWFkSlNPTkhlbHBlcl9nZW4uY3BwIgorI2VuZGlmCisjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgorI2luY2x1ZGUgPHBhcmFtZXRlclBhcnNlci5oPgorI2luY2x1ZGUgPGRldmxvZy5oPgorCit2b2lkIEFycm93aGVhZEpTT05IZWxwZXI6OnRyYW5zZm9ybUFOWVRvSlNPTihjb25zdCBDSUVDX0FOWSYgcGFTb3VyY2UsIENJRUNfU1RSSU5HJiBwYVJlc3VsdCkgeworICBzd2l0Y2gocGFTb3VyY2UuZ2V0RGF0YVR5cGVJRCgpKXsKKyAgICBjYXNlIENJRUNfQU5ZOjplX1NUUlVDVDoKKyAgICAgIGlmKGdfblN0cmluZ0lkQXJyb3doZWFkU2VydmljZSA9PSBzdGF0aWNfY2FzdDxjb25zdCBDSUVDX1NUUlVDVCY+KHBhU291cmNlKS5nZXRTdHJ1Y3RUeXBlTmFtZUlEKCkpIHsKKyAgICAgICAgdHJhbnNmb3JtU2VydmljZVRvSlNPTihjb25zdF9jYXN0PENJRUNfQXJyb3doZWFkU2VydmljZSY+KHN0YXRpY19jYXN0PGNvbnN0IENJRUNfQXJyb3doZWFkU2VydmljZSY+KHBhU291cmNlKSksIHBhUmVzdWx0KTsKKyAgICAgIH0gZWxzZSBpZihnX25TdHJpbmdJZFNlcnZpY2VSZXF1ZXN0Rm9ybSA9PSBzdGF0aWNfY2FzdDxjb25zdCBDSUVDX1NUUlVDVCY+KHBhU291cmNlKS5nZXRTdHJ1Y3RUeXBlTmFtZUlEKCkpIHsKKyAgICAgICAgdHJhbnNmb3JtT3JjaFNlcnZjaWNlUmVxdWVzdEZvcm1Ub0pTT04oY29uc3RfY2FzdDxDSUVDX1NlcnZpY2VSZXF1ZXN0Rm9ybSY+KHN0YXRpY19jYXN0PGNvbnN0IENJRUNfU2VydmljZVJlcXVlc3RGb3JtJj4ocGFTb3VyY2UpKSwgcGFSZXN1bHQpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgdHJhbnNmb3JtU3RydWN0VG9KU09OKHN0YXRpY19jYXN0PGNvbnN0IENJRUNfU1RSVUNUJj4ocGFTb3VyY2UpLCBwYVJlc3VsdCk7CisgICAgICB9CisgICAgICBicmVhazsKKyAgICBjYXNlIENJRUNfQU5ZOjplX0FSUkFZOgorICAgICAgdHJhbnNmb3JtQXJyYXlUb0pTT04oc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19BUlJBWSY+KHBhU291cmNlKSwgcGFSZXN1bHQpOworICAgICAgYnJlYWs7CisgICAgY2FzZSBDSUVDX0FOWTo6ZV9CT09MOgorICAgICAgcGFSZXN1bHQuYXBwZW5kKHN0YXRpY19jYXN0PGJvb2w+KHN0YXRpY19jYXN0PGNvbnN0IENJRUNfQk9PTCY+KHBhU291cmNlKSkgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6IHsKKyAgICAgIHVuc2lnbmVkIGludCBzaXplID0gcGFTb3VyY2UuZ2V0VG9TdHJpbmdCdWZmZXJTaXplKCk7CisgICAgICBjaGFyICp0b1N0b3JlID0gbmV3IGNoYXJbc2l6ZV07CisgICAgICBwYVNvdXJjZS50b1N0cmluZyh0b1N0b3JlLCBzaXplKTsKKyAgICAgIHBhUmVzdWx0LmFwcGVuZCh0b1N0b3JlKTsKKyAgICAgIGRlbGV0ZVtdIHRvU3RvcmU7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICAvL2NoYW5nZSAnIGZyb20gU1RSSU5HIHRvICIgaW4gSlNPTgorICBjaGFyKiByZXN1bHRTdHJpbmcgPSBwYVJlc3VsdC5nZXRWYWx1ZSgpOworICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgcGFSZXN1bHQubGVuZ3RoKCk7IGkrKykgeworICAgIGlmKCdcJycgPT0gcmVzdWx0U3RyaW5nW2ldKSB7CisgICAgICByZXN1bHRTdHJpbmdbaV0gPSAnIic7CisgICAgfQorICB9Cit9CisKK3ZvaWQgQXJyb3doZWFkSlNPTkhlbHBlcjo6dHJhbnNmb3JtSlNPTlRvU3RydWN0KGNoYXIqIHBhVG9DaGFuZ2UpIHsKKyAgdHJhbnNmb3JtU2VydmljZU1ldGFkYXRhKHBhVG9DaGFuZ2UpOworICByZW1vdmVJZHMocGFUb0NoYW5nZSk7CisgIGNoYXIqIHJ1bm5lciA9IHBhVG9DaGFuZ2U7CisgIGNoYW5nZUtleXMoJnJ1bm5lcik7CisgIGNoYW5nZVRvU3RydWN0KHBhVG9DaGFuZ2UpOworfQorCit2b2lkIEFycm93aGVhZEpTT05IZWxwZXI6OnRyYW5zZm9ybVN0cnVjdFRvSlNPTihjb25zdCBDSUVDX1NUUlVDVCYgcGFTb3VyY2UsIENJRUNfU1RSSU5HJiBwYVJlc3VsdCkgeworCisgIFRGb3J0ZVVJbnQxNiB1blNpemUgPSBwYVNvdXJjZS5nZXRTdHJ1Y3RTaXplKCk7CisgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgKnB1bk1lbWJlck5hbWVJZHMgPSBwYVNvdXJjZS5lbGVtZW50TmFtZXMoKTsKKyAgY29uc3QgQ0lFQ19BTlkgKnBvTWVtYmVycyA9IHBhU291cmNlLmdldE1lbWJlcnMoKTsKKworICBwYVJlc3VsdC5hcHBlbmQoInsiKTsKKworICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgdW5TaXplOyArK2kpIHsKKyAgICBjb25zdCBjaGFyICphY01lbWJlck5hbWUgPSBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQocHVuTWVtYmVyTmFtZUlkc1tpXSk7CisKKyAgICBwYVJlc3VsdC5hcHBlbmQoIlwiIik7CisgICAgcGFSZXN1bHQuYXBwZW5kKGFjTWVtYmVyTmFtZSk7CisgICAgcGFSZXN1bHQuYXBwZW5kKCJcIjoiKTsKKworICAgIHRyYW5zZm9ybUFOWVRvSlNPTihwb01lbWJlcnNbaV0sIHBhUmVzdWx0KTsKKworICAgIGlmKGkgIT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50Pih1blNpemUgLSAxKSkgeworICAgICAgcGFSZXN1bHQuYXBwZW5kKCIsIik7CisgICAgfQorICB9CisgIHBhUmVzdWx0LmFwcGVuZCgifSIpOworfQorCit2b2lkIEFycm93aGVhZEpTT05IZWxwZXI6OnRyYW5zZm9ybVNlcnZpY2VUb0pTT04oQ0lFQ19BcnJvd2hlYWRTZXJ2aWNlJiBwYVNvdXJjZSwgQ0lFQ19TVFJJTkcmIHBhUmVzdWx0KSB7CisKKyAgcGFSZXN1bHQuYXBwZW5kKCJ7XCJzZXJ2aWNlRGVmaW5pdGlvblwiOlwiIik7CisgIHBhUmVzdWx0LmFwcGVuZChwYVNvdXJjZS5zZXJ2aWNlRGVmaW5pdGlvbigpLmdldFZhbHVlKCkpOworICBwYVJlc3VsdC5hcHBlbmQoIlwiLFwiaW50ZXJmYWNlc1wiOiIpOworICB0cmFuc2Zvcm1BTllUb0pTT04oKnBhU291cmNlLmludGVyZmFjZXNfYXJyYXkoKSwgcGFSZXN1bHQpOworICBwYVJlc3VsdC5hcHBlbmQoIixcInNlcnZpY2VNZXRhZGF0YVwiOnsiKTsKKworICBib29sIGZpcnN0ID0gdHJ1ZTsKKyAgZm9yKHNpemVfdCBpID0gMDsgaSA8IDEwOyBpKyspIHsKKyAgICBpZigwICE9IHN0cmNtcChwYVNvdXJjZS5zZXJ2aWNlTWV0YWRhdGEoKVtpXS5nZXRWYWx1ZSgpLCAiIikpIHsgLy9pZiBhIHNlcnZpY2UgaXMgZW1wdHksIGtlZXAgbG9va2luZyBmb3Igb3RoZXJzLCBqdXN0IGluIGNhc2UKKyAgICAgIGlmKCFmaXJzdCkgeworICAgICAgICBwYVJlc3VsdC5hcHBlbmQoIiwiKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIGZpcnN0ID0gZmFsc2U7CisgICAgICB9CisKKyAgICAgIENQYXJhbWV0ZXJQYXJzZXIgcGFyc2VyKHBhU291cmNlLnNlcnZpY2VNZXRhZGF0YSgpW2ldLmdldFZhbHVlKCksICc9JywgMik7CisgICAgICBpZigyICE9IHBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSkgeworICAgICAgICBERVZMT0dfRVJST1IoIltBcnJvd2hlYWRKU09OSGVscGVyXTogd3JvbmcgbWV0YWRhdGEgJXMuIEVhY2ggbWV0YWRhdGEgc2hvdWxkIGJlIGluIHRoZSBmb3JtIG9mIGtleT12YWx1ZVxuIiwgcGFTb3VyY2Uuc2VydmljZU1ldGFkYXRhKClbaV0uZ2V0VmFsdWUoKSk7CisgICAgICAgIGJyZWFrOworICAgICAgfQorCisgICAgICBwYVJlc3VsdC5hcHBlbmQoIlwiIik7CisgICAgICBwYVJlc3VsdC5hcHBlbmQocGFyc2VyWzBdKTsKKyAgICAgIHBhUmVzdWx0LmFwcGVuZCgiXCI6XCIiKTsKKyAgICAgIHBhUmVzdWx0LmFwcGVuZChwYXJzZXJbMV0pOworICAgICAgcGFSZXN1bHQuYXBwZW5kKCJcIiIpOworICAgIH0KKyAgfQorICBwYVJlc3VsdC5hcHBlbmQoIn19Iik7Cit9CisKK3ZvaWQgQXJyb3doZWFkSlNPTkhlbHBlcjo6dHJhbnNmb3JtT3JjaFNlcnZjaWNlUmVxdWVzdEZvcm1Ub0pTT04oQ0lFQ19TZXJ2aWNlUmVxdWVzdEZvcm0mIHBhU291cmNlLCBDSUVDX1NUUklORyYgcGFSZXN1bHQpIHsKKworICBwYVJlc3VsdC5hcHBlbmQoIntcInJlcXVlc3RlclN5c3RlbVwiOiIpOworICB0cmFuc2Zvcm1BTllUb0pTT04ocGFTb3VyY2UucmVxdWVzdGVyU3lzdGVtKCksIHBhUmVzdWx0KTsKKworICAvL0Nsb3VkIHNob3Vkbid0IGJlIHNlbnQgYnkgYXBwbGljYXRpb25zCisKKyAgcGFSZXN1bHQuYXBwZW5kKCIsXCJyZXF1ZXN0ZWRTZXJ2aWNlXCI6Iik7CisgIHRyYW5zZm9ybUFOWVRvSlNPTihwYVNvdXJjZS5yZXF1ZXN0ZWRTZXJ2aWNlKCksIHBhUmVzdWx0KTsKKworICBwYVJlc3VsdC5hcHBlbmQoIixcIm9yY2hlc3RyYXRpb25GbGFnc1wiOnsiKTsKKyAgYm9vbCBmaXJzdCA9IHRydWU7CisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCAxMDsgaSsrKSB7CisgICAgaWYoMCAhPSBzdHJjbXAocGFTb3VyY2Uub3JjaGVzdHJhdGlvbkZsYWdzKClbaV0uZ2V0VmFsdWUoKSwgIiIpKSB7CisgICAgICBpZighZmlyc3QpIHsKKyAgICAgICAgcGFSZXN1bHQuYXBwZW5kKCIsIik7CisgICAgICB9IGVsc2UgeworICAgICAgICBmaXJzdCA9IGZhbHNlOworICAgICAgfQorCisgICAgICBwYVJlc3VsdC5hcHBlbmQoIlwiIik7CisgICAgICBwYVJlc3VsdC5hcHBlbmQocGFTb3VyY2Uub3JjaGVzdHJhdGlvbkZsYWdzKClbaV0uZ2V0VmFsdWUoKSk7CisgICAgICBwYVJlc3VsdC5hcHBlbmQoIlwiOnRydWUiKTsKKyAgICB9IGVsc2UgeworICAgICAgYnJlYWs7CisgICAgfQorICB9CisKKyAgcGFSZXN1bHQuYXBwZW5kKCJ9LFwicHJlZmVycmVkUHJvdmlkZXJzXCI6WyIpOworICBmaXJzdCA9IHRydWU7CisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCAxMDsgaSsrKSB7CisgICAgaWYoMCAhPSBzdHJjbXAocGFTb3VyY2UucHJlZmVycmVkUHJvdmlkZXJzKClbaV0ucHJvdmlkZXJTeXN0ZW0oKS5zeXN0ZW1OYW1lKCkuZ2V0VmFsdWUoKSwgIiIpKSB7CisgICAgICBpZighZmlyc3QpIHsKKyAgICAgICAgcGFSZXN1bHQuYXBwZW5kKCIsIik7CisgICAgICB9IGVsc2UgeworICAgICAgICBmaXJzdCA9IGZhbHNlOworICAgICAgfQorICAgICAgdHJhbnNmb3JtQU5ZVG9KU09OKHBhU291cmNlLnByZWZlcnJlZFByb3ZpZGVycygpW2ldLCBwYVJlc3VsdCk7CisgICAgfSBlbHNlIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorCisgIHBhUmVzdWx0LmFwcGVuZCgiXSxcInJlcXVlc3RlZFFvU1wiOnt9fSIpOyAvL3JlcXVlc3RlZFFvUyBub3QgaW1wbGVtZW50ZWQgeWV0IGluIHRoZSBhcnJvd2hlYWQgZGVmaW5pdGlvbgorfQorCit2b2lkIEFycm93aGVhZEpTT05IZWxwZXI6OnRyYW5zZm9ybUFycmF5VG9KU09OKGNvbnN0IENJRUNfQVJSQVkmIHBhU291cmNlLCBDSUVDX1NUUklORyYgcGFSZXN1bHQpIHsKKyAgVEZvcnRlVUludDE2IHVuU2l6ZSA9IHBhU291cmNlLnNpemUoKTsKKyAgcGFSZXN1bHQuYXBwZW5kKCJbIik7CisKKyAgYm9vbCBmaXJzdCA9IHRydWU7CisgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCB1blNpemU7ICsraSkgeworICAgIGlmKChDSUVDX0FOWTo6ZV9TVFJJTkcgPT0gcGFTb3VyY2UuZ2V0RWxlbWVudERhdGFUeXBlSUQoKSB8fCBDSUVDX0FOWTo6ZV9XU1RSSU5HID09IHBhU291cmNlLmdldEVsZW1lbnREYXRhVHlwZUlEKCkpCisgICAgICAmJiAwID09IHN0cmNtcChzdGF0aWNfY2FzdDxjb25zdCBDSUVDX1dTVFJJTkcqPihwYVNvdXJjZVtpXSktPmdldFZhbHVlKCksICIiKSkgeworICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYoIWZpcnN0KSB7CisgICAgICBwYVJlc3VsdC5hcHBlbmQoIiwiKTsKKyAgICB9IGVsc2UgeworICAgICAgZmlyc3QgPSBmYWxzZTsKKyAgICB9CisgICAgdHJhbnNmb3JtQU5ZVG9KU09OKCpwYVNvdXJjZVtpXSwgcGFSZXN1bHQpOworICB9CisgIHBhUmVzdWx0LmFwcGVuZCgiXSIpOworfQorCit2b2lkIEFycm93aGVhZEpTT05IZWxwZXI6OnRyYW5zZm9ybVNlcnZpY2VNZXRhZGF0YShjaGFyKiBwYVRleHQpIHsKKyAgY2hhciogaGVscGVyID0gc3Ryc3RyKHBhVGV4dCwgIlwic2VydmljZU1ldGFkYXRhXCIiKTsKKyAgd2hpbGUoMCAhPSBoZWxwZXIpIHsKKyAgICBoZWxwZXIgPSBzdHJjaHIoaGVscGVyLCAneycpOworICAgIGlmKDAgIT0gaGVscGVyKSB7CisgICAgICAqaGVscGVyID0gJ1snOworCisgICAgICBkbyB7CisgICAgICAgIHdoaWxlKCciJyAhPSAqaGVscGVyICYmICd9JyAhPSAqaGVscGVyKSB7IC8vbG9vayBmb3Igc3RhcnQgb2Yga2V5CisgICAgICAgICAgaGVscGVyKys7CisgICAgICAgIH0KKyAgICAgICAgaWYoJ30nID09ICpoZWxwZXIpIHsgLy9lbmQgb2YgbWV0YWRhdGEKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjaGFyICpzdGFydE9mS2V5ID0gaGVscGVyOworICAgICAgICBoZWxwZXIrKzsKKyAgICAgICAgd2hpbGUoJyInICE9ICpoZWxwZXIpIHsgLy9sb29rIGZvciBlbmQgb2Yga2V5CisgICAgICAgICAgaGVscGVyKys7CisgICAgICAgIH0KKyAgICAgICAgY2hhciAqZW5kT2ZLZXkgPSBoZWxwZXIgLSAxOworICAgICAgICBoZWxwZXIrKzsKKyAgICAgICAgd2hpbGUoJyInICE9ICpoZWxwZXIpIHsgLy9sb29rIGZvciBzdGFydCBvZiB2YWx1ZQorICAgICAgICAgIGhlbHBlcisrOworICAgICAgICB9CisKKyAgICAgICAgY2hhciogc3RhcnRPZlZhbHVlID0gaGVscGVyOworICAgICAgICAqc3RhcnRPZlZhbHVlID0gJz0nOworICAgICAgICBzdGFydE9mVmFsdWUtLTsKKyAgICAgICAgd2hpbGUoZW5kT2ZLZXkgIT0gc3RhcnRPZktleSkgeworICAgICAgICAgICpzdGFydE9mVmFsdWUtLSA9ICplbmRPZktleS0tOworICAgICAgICB9CisgICAgICAgICpzdGFydE9mVmFsdWUgPSAnIic7CisgICAgICAgIHdoaWxlKHN0YXJ0T2ZLZXkgIT0gc3RhcnRPZlZhbHVlKSB7CisgICAgICAgICAgKnN0YXJ0T2ZLZXkrKyA9ICcgJzsKKyAgICAgICAgfQorICAgICAgICBoZWxwZXIgPSBzdHJjaHIoc3RhcnRPZlZhbHVlICsgMSwgJyInKTsKKyAgICAgICAgaGVscGVyKys7CisgICAgICB9IHdoaWxlKCd9JyAhPSAqaGVscGVyKTsKKworICAgICAgKmhlbHBlciA9ICddJzsKKyAgICAgIGhlbHBlciA9IHN0cnN0cihoZWxwZXIsICJcInNlcnZpY2VNZXRhZGF0YVwiIik7CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigiW0Fycm93aGVhZEpTT05IZWxwZXJdOiB3aGVuIHRyYW5zZm9ybWluZyBzZXJ2aWNlTWV0YWRhdGEsIG5vIHsgY2hhciB3YXMgZm91bmRcbiIpOworICAgIH0KKyAgfQorfQorCit2b2lkIEFycm93aGVhZEpTT05IZWxwZXI6OnJlbW92ZUlkcyhjaGFyKiBwYVRleHQpIHsKKyAgZG8geworICAgIHBhVGV4dCA9IHN0cnN0cihwYVRleHQsICJcImlkXCIiKTsKKyAgICBpZigwICE9IHBhVGV4dCkgeworICAgICAgd2hpbGUoJywnICE9ICpwYVRleHQpIHsKKyAgICAgICAgKnBhVGV4dCA9ICcgJzsKKyAgICAgICAgcGFUZXh0Kys7CisgICAgICB9CisgICAgICAqcGFUZXh0ID0gJyAnOyAvL2ZvciB0aGUgbGFzdCBjb21tYQorICAgICAgcGFUZXh0Kys7CisgICAgfQorICB9IHdoaWxlKDAgIT0gcGFUZXh0KTsKK30KKwordm9pZCBBcnJvd2hlYWRKU09OSGVscGVyOjpjaGFuZ2VLZXlzQXJyYXkoY2hhcioqIHBhVGV4dCkgeworCisgIGRvIHsKKyAgICB3aGlsZSgnICcgPT0gKipwYVRleHQgfHwgJ1xyJyA9PSAqKnBhVGV4dCB8fCAnXG4nID09ICoqcGFUZXh0KSB7CisgICAgICAoKnBhVGV4dCkrKzsKKyAgICB9CisKKyAgICBpZignXDAnID09ICoqcGFUZXh0KSB7CisgICAgICByZXR1cm47CisgICAgfSBlbHNlIGlmKCddJyA9PSAqKnBhVGV4dCkgeworICAgICAgKCpwYVRleHQpKys7CisgICAgICByZXR1cm47CisgICAgfSBlbHNlIGlmKCdbJyA9PSAqKnBhVGV4dCkgeworICAgICAgKCpwYVRleHQpKys7CisgICAgICBjaGFuZ2VLZXlzQXJyYXkocGFUZXh0KTsKKyAgICB9IGVsc2UgaWYoJ3snID09ICoqcGFUZXh0KSB7CisgICAgICAoKnBhVGV4dCkrKzsKKyAgICAgIGNoYW5nZUtleXMocGFUZXh0KTsKKyAgICB9CisgICAgKCpwYVRleHQpKys7CisgIH0gd2hpbGUoJ1wwJyAhPSAqKnBhVGV4dCk7CisKK30KKwordm9pZCBBcnJvd2hlYWRKU09OSGVscGVyOjpjaGFuZ2VLZXlzKGNoYXIqKiBwYVRleHQpIHsKKworICBib29sIGlzS2V5ID0gdHJ1ZTsKKyAgZG8geworICAgIHdoaWxlKCcgJyA9PSAqKnBhVGV4dCB8fCAnXHInID09ICoqcGFUZXh0IHx8ICdcbicgPT0gKipwYVRleHQpIHsKKyAgICAgICgqcGFUZXh0KSsrOworICAgIH0KKworICAgIGlmKCdcMCcgPT0gKipwYVRleHQpIHsKKyAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgaWYoJ30nID09ICoqcGFUZXh0KSB7CisgICAgICAoKnBhVGV4dCkrKzsKKyAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgaWYoJ1snID09ICoqcGFUZXh0KSB7CisgICAgICAoKnBhVGV4dCkrKzsKKyAgICAgIGNoYW5nZUtleXNBcnJheShwYVRleHQpOworICAgIH0gZWxzZSBpZigneycgPT0gKipwYVRleHQpIHsKKyAgICAgICgqcGFUZXh0KSsrOworICAgICAgY2hhbmdlS2V5cyhwYVRleHQpOworICAgIH0KKworICAgIGlmKCdcMCcgPT0gKipwYVRleHQpIHsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZighaXNLZXkpIHsKKyAgICAgIGlmKCciJyA9PSAqKnBhVGV4dCkgeworICAgICAgICAqcGFUZXh0ID0gc3RyY2hyKCgqcGFUZXh0KSArIDEsICciJyk7CisgICAgICAgICgqcGFUZXh0KSsrOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgd2hpbGUoJywnICE9ICoqcGFUZXh0ICYmICd9JyAhPSAqKnBhVGV4dCkgeworICAgICAgICAgICgqcGFUZXh0KSsrOworICAgICAgICB9CisgICAgICB9CisgICAgICBpc0tleSA9IHRydWU7CisgICAgICBjb250aW51ZTsKKyAgICB9CisKKyAgICBjaGFyICpzdGFydE9mS2V5ID0gc3RyY2hyKCpwYVRleHQsICciJyk7CisgICAgKCpwYVRleHQpID0gc3RyY2hyKHN0YXJ0T2ZLZXkgKyAxLCAnIicpOworICAgIGNoYXIgKnN0YXJ0T2ZWYWx1ZSA9IHN0cmNocigoKnBhVGV4dCkgKyAxLCAnOicpICsgMTsKKworICAgICpzdGFydE9mS2V5ID0gJyAnOworICAgICoqcGFUZXh0ID0gJzonOworICAgICgqcGFUZXh0KSsrOworICAgICoqcGFUZXh0ID0gJz0nOworICAgICgqcGFUZXh0KSsrOworICAgIHdoaWxlKCpwYVRleHQgIT0gc3RhcnRPZlZhbHVlKSB7CisgICAgICAqKnBhVGV4dCA9ICcgJzsKKyAgICAgICgqcGFUZXh0KSsrOworICAgIH0KKworICAgIGlzS2V5ID0gZmFsc2U7CisKKyAgfSB3aGlsZSgnXDAnICE9ICoqcGFUZXh0KTsKKworfQorCit2b2lkIEFycm93aGVhZEpTT05IZWxwZXI6OmNoYW5nZVRvU3RydWN0KGNoYXIqIHBhVGV4dCkgeworICB3aGlsZSgnXDAnICE9ICpwYVRleHQpIHsKKyAgICBpZigneycgPT0gKnBhVGV4dCkgeworICAgICAgKnBhVGV4dCA9ICcoJzsKKyAgICB9IGVsc2UgaWYoJ30nID09ICpwYVRleHQpIHsKKyAgICAgICpwYVRleHQgPSAnKSc7CisgICAgfSBlbHNlIGlmKCdcbicgPT0gKnBhVGV4dCB8fCAnXHInID09ICpwYVRleHQpIHsKKyAgICAgICpwYVRleHQgPSAnICc7CisgICAgfQorICAgIHBhVGV4dCsrOworICB9Cit9CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vQXJyb3doZWFkSlNPTkhlbHBlci5oIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9KU09OL0Fycm93aGVhZEpTT05IZWxwZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MzVlZjk2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9KU09OL0Fycm93aGVhZEpTT05IZWxwZXIuaApAQCAtMCwwICsxLDUzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIEZPUkRJQUNfUlRFX01PRFVMRVNfQVJST1dIRUFEX0NPTU1PTl9IVFRQX0FSUk9XSEVBREpTT05IRUxQRVJfSF8KKyNkZWZpbmUgRk9SRElBQ19SVEVfTU9EVUxFU19BUlJPV0hFQURfQ09NTU9OX0hUVFBfQVJST1dIRUFESlNPTkhFTFBFUl9IXworCisjaW5jbHVkZSA8Zm9ydGVfc3RydWN0Lmg+CisjaW5jbHVkZSA8Zm9ydGVfc3RyaW5nLmg+CisjaW5jbHVkZSA8Zm9ydGVfYXJyYXkuaD4KKyNpbmNsdWRlICIuLi9mb3J0ZV9hcnJvd2hlYWRzZXJ2aWNlLmgiCisjaW5jbHVkZSAiLi4vLi4vb3JjaGVzdHJhdG9yL2ZvcnRlX3NlcnZpY2VyZXF1ZXN0Zm9ybS5oIgorCitjbGFzcyBBcnJvd2hlYWRKU09OSGVscGVyIHsKKyAgcHVibGljOgorICAgIHN0YXRpYyB2b2lkIHRyYW5zZm9ybUFOWVRvSlNPTihjb25zdCBDSUVDX0FOWSAmcGFTb3VyY2UsIENJRUNfU1RSSU5HICZwYVJlc3VsdCk7CisKKyAgICBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1KU09OVG9TdHJ1Y3QoY2hhciogcGFUb0NoYW5nZSk7CisKKyAgcHJpdmF0ZToKKyAgICBBcnJvd2hlYWRKU09OSGVscGVyKCkgeworICAgIH0KKyAgICB2aXJ0dWFsIH5BcnJvd2hlYWRKU09OSGVscGVyKCkgeworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHRyYW5zZm9ybVN0cnVjdFRvSlNPTihjb25zdCBDSUVDX1NUUlVDVCAmcGFTb3VyY2UsIENJRUNfU1RSSU5HICZwYVJlc3VsdCk7CisKKyAgICBzdGF0aWMgdm9pZCB0cmFuc2Zvcm1BcnJheVRvSlNPTihjb25zdCBDSUVDX0FSUkFZICZwYVNvdXJjZSwgQ0lFQ19TVFJJTkcgJnBhUmVzdWx0KTsKKworICAgIHN0YXRpYyB2b2lkIHRyYW5zZm9ybVNlcnZpY2VUb0pTT04oQ0lFQ19BcnJvd2hlYWRTZXJ2aWNlICZwYVNvdXJjZSwgQ0lFQ19TVFJJTkcgJnBhUmVzdWx0KTsKKworICAgIHN0YXRpYyB2b2lkIHRyYW5zZm9ybU9yY2hTZXJ2Y2ljZVJlcXVlc3RGb3JtVG9KU09OKENJRUNfU2VydmljZVJlcXVlc3RGb3JtJiBwYVNvdXJjZSwgQ0lFQ19TVFJJTkcmIHBhUmVzdWx0KTsKKworICAgIHN0YXRpYyB2b2lkIHRyYW5zZm9ybVNlcnZpY2VNZXRhZGF0YShjaGFyKiBwYVRleHQpOworCisgICAgc3RhdGljIHZvaWQgcmVtb3ZlSWRzKGNoYXIqIHBhVGV4dCk7CisKKyAgICBzdGF0aWMgdm9pZCBjaGFuZ2VLZXlzKGNoYXIqKiBwYVRleHQpOworCisgICAgc3RhdGljIHZvaWQgY2hhbmdlS2V5c0FycmF5KGNoYXIqKiBwYVRleHQpOworCisgICAgc3RhdGljIHZvaWQgY2hhbmdlVG9TdHJ1Y3QoY2hhciogcGFUZXh0KTsKK307CisKKyNlbmRpZiAvKiBGT1JESUFDX1JURV9NT0RVTEVTX0FSUk9XSEVBRF9DT01NT05fSFRUUF9BUlJPV0hFQURKU09OSEVMUEVSX0hfICovCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFmNmE1ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vSlNPTi9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDIxIEBACisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBDb21tb24gQXJyb3doZWFkIHNwZWNpZmljIGZ1bmN0aW9uYWwgYmxvY2tzIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZm9ydGVfYWRkX2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEFOWVRvSlNPTiBBcnJvd2hlYWRKU09OSGVscGVyIEdldEFycmF5UmVzcG9uc2VGcm9tSlNPTikKKworICAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vR2V0QXJyYXlSZXNwb25zZUZyb21KU09OLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vSlNPTi9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT04uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZDhjMmYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vR2V0QXJyYXlSZXNwb25zZUZyb21KU09OLmNwcApAQCAtMCwwICsxLDg1IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiR2V0QXJyYXlSZXNwb25zZUZyb21KU09OLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiR2V0QXJyYXlSZXNwb25zZUZyb21KU09OX2dlbi5jcHAiCisjZW5kaWYKKworI2luY2x1ZGUgIkFycm93aGVhZEpTT05IZWxwZXIuaCIKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX0dldEFycmF5UmVzcG9uc2VGcm9tSlNPTiwgZ19uU3RyaW5nSWRHZXRBcnJheVJlc3BvbnNlRnJvbUpTT04pCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfR2V0QXJyYXlSZXNwb25zZUZyb21KU09OOjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkcmVzcG9uc2V9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0dldEFycmF5UmVzcG9uc2VGcm9tSlNPTjo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkU1RSSU5HfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT046OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkb3V0cHV0fTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT046OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRBTll9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT046OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT046OnNjbV9hbkVJV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0dldEFycmF5UmVzcG9uc2VGcm9tSlNPTjo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRSRVF9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfR2V0QXJyYXlSZXNwb25zZUZyb21KU09OOjpzY21fYW5FT1dpdGhbXSA9IHswLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfR2V0QXJyYXlSZXNwb25zZUZyb21KU09OOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT046OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZENORn07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfR2V0QXJyYXlSZXNwb25zZUZyb21KU09OOjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDEsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAxLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDEsICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywKKyAgMSwgIHNjbV9hbkRhdGFPdXRwdXROYW1lcywgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHMsCisgIDAsIDAKK307CisKKworYm9vbCBGT1JURV9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT046OmlzUmVzcG9uc2VFbXB0eShjaGFyKiBwYVRleHQpIHsKKyAgd2hpbGUoJ10nICE9ICpwYVRleHQpIHsKKyAgICBpZignICcgIT0gKnBhVGV4dCkgeworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBwYVRleHQrKzsKKyAgfQorICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBGT1JURV9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT046OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKSB7CisgIGlmKHNjbV9uRXZlbnRSRVFJRCA9PSBwYUVJSUQgJiYgQ0lFQ19BTlk6OmVfQVJSQVkgPT0gb3V0cHV0KCkuZ2V0RGF0YVR5cGVJRCgpICYmIENJRUNfQU5ZOjplX1NUUlVDVCA9PSBvdXRwdXRfQXJyYXkoKVswXS0+Z2V0RGF0YVR5cGVJRCgpKSB7CisgICAgLy9jbGVhbiB0aGUgb3V0cHV0IGZpcnN0CisgICAgb3V0cHV0X0FycmF5KCkuc2V0dXAob3V0cHV0X0FycmF5KCkuc2l6ZSgpLCBzdGF0aWNfY2FzdDxDSUVDX1NUUlVDVCo+KG91dHB1dF9BcnJheSgpWzBdKS0+Z2V0U3RydWN0VHlwZU5hbWVJRCgpKTsKKworICAgIERFVkxPR19ERUJVRygiW0Fycm93aGVhZCBHZXRSZXNwb25zZUZyb21IVFRQXTogUmVzcG9uc2UgcmVjZWl2ZWQ6ICVzXG4iLCByZXNwb25zZSgpLmdldFZhbHVlKCkpOworICAgIGNoYXIqIGhlbHBlciA9IHN0cnJjaHIocmVzcG9uc2UoKS5nZXRWYWx1ZSgpLCAnXScpOworICAgIGlmKDAgIT0gaGVscGVyKSB7CisKKyAgICAgICooaGVscGVyICsgMSkgPSAnXDAnOworCisgICAgICBoZWxwZXIgPSBzdHJjaHIocmVzcG9uc2UoKS5nZXRWYWx1ZSgpLCAnWycpOworICAgICAgaWYoMCAhPSBoZWxwZXIpIHsKKyAgICAgICAgaWYoIWlzUmVzcG9uc2VFbXB0eShoZWxwZXIgKyAxKSkgeworICAgICAgICAgIEFycm93aGVhZEpTT05IZWxwZXI6OnRyYW5zZm9ybUpTT05Ub1N0cnVjdChoZWxwZXIpOworICAgICAgICAgIG91dHB1dCgpLmZyb21TdHJpbmcoaGVscGVyKTsKKyAgICAgICAgfSAvL2lmIHJlc3BvbnNlIGlzIGVtcHR5LCBkb24ndCBkbyBhbnl0aGluZy4KKyAgICAgIH0gZWxzZSB7CisgICAgICAgIERFVkxPR19FUlJPUigiW0Fycm93aGVhZCBHZXRSZXNwb25zZUZyb21IVFRQXTogSW52YWxpZCByZXNwb25zZSwgXSB3YXMgZm91bmQgYnV0IG5vdCBbOiBcbiIsIHJlc3BvbnNlKCkuZ2V0VmFsdWUoKSk7CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigiW0Fycm93aGVhZCBHZXRSZXNwb25zZUZyb21IVFRQXTogSW52YWxpZCByZXNwb25zZSwgbm8gXSB3YXMgZm91bmQ6ICVzXG4iLCByZXNwb25zZSgpLmdldFZhbHVlKCkpOworICAgIH0KKyAgICBzZW5kT3V0cHV0RXZlbnQoc2NtX25FdmVudENORklEKTsKKyAgfQorfQorCisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vR2V0QXJyYXlSZXNwb25zZUZyb21KU09OLmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL0pTT04vR2V0QXJyYXlSZXNwb25zZUZyb21KU09OLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFlOTEwYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vSlNPTi9HZXRBcnJheVJlc3BvbnNlRnJvbUpTT04uaApAQCAtMCwwICsxLDY4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9HRVRBUlJBWVJFU1BPTlNFRlJPTUpTT05fSF8KKyNkZWZpbmUgX0dFVEFSUkFZUkVTUE9OU0VGUk9NSlNPTl9IXworCisjaW5jbHVkZSA8ZnVuY2Jsb2MuaD4KKyNpbmNsdWRlIDxmb3J0ZV9zdHJpbmcuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hbnkuaD4KKworY2xhc3MgRk9SVEVfR2V0QXJyYXlSZXNwb25zZUZyb21KU09OOiBwdWJsaWMgQ0Z1bmN0aW9uQmxvY2t7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfR2V0QXJyYXlSZXNwb25zZUZyb21KU09OKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfU1RSSU5HICZyZXNwb25zZSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfU1RSSU5HKj4oZ2V0REkoMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX0FOWSAmb3V0cHV0KCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BTlkqPihnZXRETygwKSk7CisgIH07CisKKyAgQ0lFQ19BUlJBWSAmb3V0cHV0X0FycmF5KCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSo+KGdldERPKDApKTsKKyAgfQorCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50UkVRSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRUlXaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudElucHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudENORklEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgRk9SVEVfRkJfREFUQV9BUlJBWSgxLCAxLCAxLCAwKTsKKworICB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpOworCisgIGJvb2wgaXNSZXNwb25zZUVtcHR5KGNoYXIqIHBhVGV4dCk7CisKKworcHVibGljOgorICBGVU5DVElPTl9CTE9DS19DVE9SKEZPUlRFX0dldEFycmF5UmVzcG9uc2VGcm9tSlNPTil7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfR2V0QXJyYXlSZXNwb25zZUZyb21KU09OKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL2ZvcnRlX2Fycm93aGVhZGNsb3VkLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vZm9ydGVfYXJyb3doZWFkY2xvdWQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlY2M3YzUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL2ZvcnRlX2Fycm93aGVhZGNsb3VkLmNwcApAQCAtMCwwICsxLDI4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkY2xvdWQuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJmb3J0ZV9hcnJvd2hlYWRjbG91ZF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9EQVRBVFlQRShBcnJvd2hlYWRDbG91ZCwgZ19uU3RyaW5nSWRBcnJvd2hlYWRDbG91ZCk7CisKK0NJRUNfQXJyb3doZWFkQ2xvdWQ6OkNJRUNfQXJyb3doZWFkQ2xvdWQoKSA6CisgICAgQ0lFQ19TVFJVQ1QoZ19uU3RyaW5nSWRBcnJvd2hlYWRDbG91ZCwgNywgc2NtRWxlbWVudFR5cGVzLCBzY21FbGVtZW50TmFtZXMsIGVfQVBQTElDQVRJT04gKyBlX0NPTlNUUlVDVEVEICsgMSkgeworfQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIENJRUNfQXJyb3doZWFkQ2xvdWQ6OnNjbUVsZW1lbnRUeXBlc1tdID0geyBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZERJTlQsCisgIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZEJPT0wgfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgQ0lFQ19BcnJvd2hlYWRDbG91ZDo6c2NtRWxlbWVudE5hbWVzW10gPQorICB7IGdfblN0cmluZ0lkb3BlcmF0b3IsIGdfblN0cmluZ0lkY2xvdWROYW1lLCBnX25TdHJpbmdJZGFkZHJlc3MsIGdfblN0cmluZ0lkcG9ydCwKKyAgZ19uU3RyaW5nSWRnYXRla2VlcGVyU2VydmljZVVSSSwgZ19uU3RyaW5nSWRhdXRoZW50aWNhdGlvbkluZm8sIGdfblN0cmluZ0lkc2VjdXJlIH07CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL2ZvcnRlX2Fycm93aGVhZGNsb3VkLmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL2ZvcnRlX2Fycm93aGVhZGNsb3VkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIzNTJjYQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vZm9ydGVfYXJyb3doZWFkY2xvdWQuaApAQCAtMCwwICsxLDYzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9GT1JURV9BUlJPV0hFQURTQ0xPVURfSF8KKyNkZWZpbmUgX0ZPUlRFX0FSUk9XSEVBRFNDTE9VRF9IXworCisjaW5jbHVkZSAiZm9ydGVfc3RydWN0LmgiCisjaW5jbHVkZSAiZm9ydGVfd3N0cmluZy5oIgorI2luY2x1ZGUgImZvcnRlX2RpbnQuaCIKKyNpbmNsdWRlICJmb3J0ZV9ib29sLmgiCisKK2NsYXNzIENJRUNfQXJyb3doZWFkQ2xvdWQgOiBwdWJsaWMgQ0lFQ19TVFJVQ1QgeworICBERUNMQVJFX0ZJUk1XQVJFX0RBVEFUWVBFKEFycm93aGVhZENsb3VkKQorCisgIHB1YmxpYzoKKyAgICBDSUVDX0Fycm93aGVhZENsb3VkKCk7CisKKyAgICB2aXJ0dWFsIH5DSUVDX0Fycm93aGVhZENsb3VkKCkgeworICAgIH0KKworICAgIENJRUNfV1NUUklORyAmT3BlcmF0b3IoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KCZnZXRNZW1iZXJzKClbMF0pOworICAgIH0KKworICAgIENJRUNfV1NUUklORyAmY2xvdWROYW1lKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPigmZ2V0TWVtYmVycygpWzFdKTsKKyAgICB9CisKKyAgICBDSUVDX1dTVFJJTkcgJmFkZHJlc3MoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KCZnZXRNZW1iZXJzKClbMl0pOworICAgIH0KKworICAgIENJRUNfRElOVCAmcG9ydCgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19ESU5UKj4oJmdldE1lbWJlcnMoKVszXSk7CisgICAgfQorCisgICAgQ0lFQ19XU1RSSU5HICZnYXRla2VlcGVyU2VydmljZVVSSSgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oJmdldE1lbWJlcnMoKVs0XSk7CisgICAgfQorCisgICAgQ0lFQ19XU1RSSU5HICZhdXRoZW50aWNhdGlvbkluZm8oKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KCZnZXRNZW1iZXJzKClbNV0pOworICAgIH0KKworICAgIENJRUNfQk9PTCAmc2VjdXJlKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPigmZ2V0TWVtYmVycygpWzZdKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50VHlwZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50TmFtZXNbXTsKK307CisKKyNlbmRpZiAvL19GT1JURV9BUlJPV0hFQURTQ0xPVURfSF8KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vZm9ydGVfYXJyb3doZWFkc2VydmljZS5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL2ZvcnRlX2Fycm93aGVhZHNlcnZpY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMTQ4NTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL2ZvcnRlX2Fycm93aGVhZHNlcnZpY2UuY3BwCkBAIC0wLDAgKzEsMjcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJmb3J0ZV9hcnJvd2hlYWRzZXJ2aWNlLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkc2VydmljZV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9EQVRBVFlQRShBcnJvd2hlYWRTZXJ2aWNlLCBnX25TdHJpbmdJZEFycm93aGVhZFNlcnZpY2UpOworCitDSUVDX0Fycm93aGVhZFNlcnZpY2U6OkNJRUNfQXJyb3doZWFkU2VydmljZSgpIDoKKyAgICBDSUVDX1NUUlVDVChnX25TdHJpbmdJZEFycm93aGVhZFNlcnZpY2UsIDMsIHNjbUVsZW1lbnRUeXBlcywgc2NtRWxlbWVudE5hbWVzLCBlX0FQUExJQ0FUSU9OICsgZV9DT05TVFJVQ1RFRCArIDEpIHsKK30KKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBDSUVDX0Fycm93aGVhZFNlcnZpY2U6OnNjbUVsZW1lbnRUeXBlc1tdID0geyBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkQVJSQVksCisgIDEwLCBnX25TdHJpbmdJZFdTVFJJTkcgfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgQ0lFQ19BcnJvd2hlYWRTZXJ2aWNlOjpzY21FbGVtZW50TmFtZXNbXSA9CisgIHsgZ19uU3RyaW5nSWRzZXJ2aWNlRGVmaW5pdGlvbiwgZ19uU3RyaW5nSWRpbnRlcmZhY2VzLCBnX25TdHJpbmdJZHNlcnZpY2VNZXRhZGF0YSB9OwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9mb3J0ZV9hcnJvd2hlYWRzZXJ2aWNlLmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL2ZvcnRlX2Fycm93aGVhZHNlcnZpY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDUzODZjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9mb3J0ZV9hcnJvd2hlYWRzZXJ2aWNlLmgKQEAgLTAsMCArMSw1MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRk9SVEVfQVJST1dIRUFEU0VSVklDRV9IXworI2RlZmluZSBfRk9SVEVfQVJST1dIRUFEU0VSVklDRV9IXworCisjaW5jbHVkZSAiZm9ydGVfc3RydWN0LmgiCisjaW5jbHVkZSAiZm9ydGVfd3N0cmluZy5oIgorI2luY2x1ZGUgImZvcnRlX2RpbnQuaCIKKyNpbmNsdWRlICJmb3J0ZV9hcnJheS5oIgorCitjbGFzcyBDSUVDX0Fycm93aGVhZFNlcnZpY2UgOiBwdWJsaWMgQ0lFQ19TVFJVQ1QgeworICBERUNMQVJFX0ZJUk1XQVJFX0RBVEFUWVBFKEFycm93aGVhZFNlcnZpY2UpCisKKyAgcHVibGljOgorICAgIENJRUNfQXJyb3doZWFkU2VydmljZSgpOworCisgICAgdmlydHVhbCB+Q0lFQ19BcnJvd2hlYWRTZXJ2aWNlKCkgeworICAgIH0KKworICAgIENJRUNfV1NUUklORyAmc2VydmljZURlZmluaXRpb24oKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KCZnZXRNZW1iZXJzKClbMF0pOworICAgIH0KKworICAgIENJRUNfQVJSQVkgKmludGVyZmFjZXNfYXJyYXkoKSB7CisgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSAqPigmZ2V0TWVtYmVycygpWzFdKTsgLy90aGUgZmlyc3QgZWxlbWVudCBtYXJrcyB0aGUgc3RhcnQgb2YgdGhlIGFycmF5CisgICAgfQorCisgICAgQ0lFQ19XU1RSSU5HICppbnRlcmZhY2VzKCkgeworICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KCgqc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSAqPigmZ2V0TWVtYmVycygpWzFdKSlbMF0pOyAvL3RoZSBmaXJzdCBlbGVtZW50IG1hcmtzIHRoZSBzdGFydCBvZiB0aGUgYXJyYXkKKyAgICB9CisKKyAgICBDSUVDX1dTVFJJTkcgKnNlcnZpY2VNZXRhZGF0YSgpIHsKKyAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPigoKnN0YXRpY19jYXN0PENJRUNfQVJSQVkgKj4oJmdldE1lbWJlcnMoKVsyXSkpWzBdKTsgLy90aGUgZmlyc3QgZWxlbWVudCBtYXJrcyB0aGUgc3RhcnQgb2YgdGhlIGFycmF5CisgICAgfQorCisgIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtRWxlbWVudFR5cGVzW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtRWxlbWVudE5hbWVzW107Cit9OworCisjZW5kaWYgLy9fRk9SVEVfQVJST1dIRUFEU0VSVklDRV9IXwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9mb3J0ZV9hcnJvd2hlYWRzeXN0ZW0uY3BwIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9mb3J0ZV9hcnJvd2hlYWRzeXN0ZW0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhYmI4ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvY29tbW9uL2ZvcnRlX2Fycm93aGVhZHN5c3RlbS5jcHAKQEAgLTAsMCArMSwyNiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImZvcnRlX2Fycm93aGVhZHN5c3RlbS5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgImZvcnRlX2Fycm93aGVhZHN5c3RlbV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9EQVRBVFlQRShBcnJvd2hlYWRTeXN0ZW0sIGdfblN0cmluZ0lkQXJyb3doZWFkU3lzdGVtKTsKKworQ0lFQ19BcnJvd2hlYWRTeXN0ZW06OkNJRUNfQXJyb3doZWFkU3lzdGVtKCkgOgorICAgIENJRUNfU1RSVUNUKGdfblN0cmluZ0lkQXJyb3doZWFkU3lzdGVtLCA0LCBzY21FbGVtZW50VHlwZXMsIHNjbUVsZW1lbnROYW1lcywgZV9BUFBMSUNBVElPTiArIGVfQ09OU1RSVUNURUQgKyAxKSB7Cit9CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgQ0lFQ19BcnJvd2hlYWRTeXN0ZW06OnNjbUVsZW1lbnRUeXBlc1tdID0geyBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRESU5ULCBnX25TdHJpbmdJZFdTVFJJTkcgfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgQ0lFQ19BcnJvd2hlYWRTeXN0ZW06OnNjbUVsZW1lbnROYW1lc1tdID0geyBnX25TdHJpbmdJZHN5c3RlbU5hbWUsIGdfblN0cmluZ0lkYWRkcmVzcywgZ19uU3RyaW5nSWRwb3J0LAorICBnX25TdHJpbmdJZGF1dGhlbnRpY2F0aW9uSW5mbyB9OwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL2NvbW1vbi9mb3J0ZV9hcnJvd2hlYWRzeXN0ZW0uaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vZm9ydGVfYXJyb3doZWFkc3lzdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGMwNDYzZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9jb21tb24vZm9ydGVfYXJyb3doZWFkc3lzdGVtLmgKQEAgLTAsMCArMSw1MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRk9SVEVfQVJST1dIRUFEU1lTVEVNX0hfCisjZGVmaW5lIF9GT1JURV9BUlJPV0hFQURTWVNURU1fSF8KKworI2luY2x1ZGUgImZvcnRlX3N0cnVjdC5oIgorI2luY2x1ZGUgImZvcnRlX3dzdHJpbmcuaCIKKyNpbmNsdWRlICJmb3J0ZV9kaW50LmgiCisKK2NsYXNzIENJRUNfQXJyb3doZWFkU3lzdGVtIDogcHVibGljIENJRUNfU1RSVUNUIHsKKyAgREVDTEFSRV9GSVJNV0FSRV9EQVRBVFlQRShBcnJvd2hlYWRTeXN0ZW0pCisKKyAgcHVibGljOgorICAgIENJRUNfQXJyb3doZWFkU3lzdGVtKCk7CisKKyAgICB2aXJ0dWFsIH5DSUVDX0Fycm93aGVhZFN5c3RlbSgpIHsKKyAgICB9CisKKyAgICBDSUVDX1dTVFJJTkcgJnN5c3RlbU5hbWUoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KCZnZXRNZW1iZXJzKClbMF0pOworICAgIH0KKworICAgIENJRUNfV1NUUklORyAmYWRkcmVzcygpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oJmdldE1lbWJlcnMoKVsxXSk7CisgICAgfQorCisgICAgQ0lFQ19ESU5UICZwb3J0KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0RJTlQqPigmZ2V0TWVtYmVycygpWzJdKTsKKyAgICB9CisKKyAgICBDSUVDX1dTVFJJTkcgJmF1dGhlbnRpY2F0aW9uSW5mbygpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oJmdldE1lbWJlcnMoKVszXSk7CisgICAgfQorCisgIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtRWxlbWVudFR5cGVzW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtRWxlbWVudE5hbWVzW107Cit9OworCisjZW5kaWYgLy9fRk9SVEVfQVJST1dIRUFEU1lTVEVNX0hfCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2ExYjdlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDI5IEBACisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBBcnJvd2hlYWQgc3BlY2lmaWMgZnVuY3Rpb25hbCBibG9ja3MgZm9yIHRoZSBvcmNoZXN0cmF0b3IKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2ZvcnRlX2FkZF9pbmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkKKworI2RhdGF0eXBlCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGZvcnRlX29yY2hlc3RyYXRpb25mb3JtIGZvcnRlX3ByZWZlcnJlZHByb3ZpZGVyIGZvcnRlX3NlcnZpY2VyZXF1ZXN0Zm9ybSkKKworI09yY2hlc3RyYXRvcgorZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChGaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyIEZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtIE9yY2hlc3RyYXRvclJlcXVlc3RBZHAgUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtIE9yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtKQorCitpZihGT1JURV9DT01fSFRUUCkKKyAgYWRkX3N1YmRpcmVjdG9yeShIVFRQKQorZW5kaWYoRk9SVEVfQ09NX0hUVFApCisKKyAgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9GaWVsZHNQcmVmZXJyZWRQcm92aWRlci5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL0ZpZWxkc1ByZWZlcnJlZFByb3ZpZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGU0YmU4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9GaWVsZHNQcmVmZXJyZWRQcm92aWRlci5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIkZpZWxkc1ByZWZlcnJlZFByb3ZpZGVyLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiRmllbGRzUHJlZmVycmVkUHJvdmlkZXJfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfRmllbGRzUHJlZmVycmVkUHJvdmlkZXIsIGdfblN0cmluZ0lkRmllbGRzUHJlZmVycmVkUHJvdmlkZXIpCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzUHJlZmVycmVkUHJvdmlkZXI6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRwcm92aWRlclN5c3RlbSwgZ19uU3RyaW5nSWRwcm92aWRlckNsb3VkfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkQXJyb3doZWFkU3lzdGVtLCBnX25TdHJpbmdJZEFycm93aGVhZENsb3VkfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRwcmVmZXJyZWRQcm92aWRlcn07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzUHJlZmVycmVkUHJvdmlkZXI6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRQcmVmZXJyZWRQcm92aWRlcn07CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZpZWxkc1ByZWZlcnJlZFByb3ZpZGVyOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfRmllbGRzUHJlZmVycmVkUHJvdmlkZXI6OnNjbV9hbkVJV2l0aFtdID0gezAsIDEsIDI1NX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1ByZWZlcnJlZFByb3ZpZGVyOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFJFUX07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZpZWxkc1ByZWZlcnJlZFByb3ZpZGVyOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkQ05GfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAyLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCit2b2lkIEZPUlRFX0ZpZWxkc1ByZWZlcnJlZFByb3ZpZGVyOjphbGdfUkVRKHZvaWQpeworcHJlZmVycmVkUHJvdmlkZXIoKS5wcm92aWRlclN5c3RlbSgpID0gcHJvdmlkZXJTeXN0ZW0oKTsKK3ByZWZlcnJlZFByb3ZpZGVyKCkucHJvdmlkZXJDbG91ZCgpID0gcHJvdmlkZXJDbG91ZCgpOworCit9CisKKwordm9pZCBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjo6ZW50ZXJTdGF0ZVNUQVJUKHZvaWQpeworICBtX25FQ0NTdGF0ZSA9IHNjbV9uU3RhdGVTVEFSVDsKK30KKwordm9pZCBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjo6ZW50ZXJTdGF0ZVJFUSh2b2lkKXsKKyAgbV9uRUNDU3RhdGUgPSBzY21fblN0YXRlUkVROworICBhbGdfUkVRKCk7CisgIHNlbmRPdXRwdXRFdmVudCggc2NtX25FdmVudENORklEKTsKK30KKwordm9pZCBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjo6ZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCl7CisgIGJvb2wgYlRyYW5zaXRpb25DbGVhcmVkOworICBkb3sKKyAgICBiVHJhbnNpdGlvbkNsZWFyZWQgPSB0cnVlOworICAgIHN3aXRjaChtX25FQ0NTdGF0ZSl7CisgICAgICBjYXNlIHNjbV9uU3RhdGVTVEFSVDoKKyAgICAgICAgaWYoc2NtX25FdmVudFJFUUlEID09IHBhX25FSUlEKQorICAgICAgICAgIGVudGVyU3RhdGVSRVEoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGJUcmFuc2l0aW9uQ2xlYXJlZCAgPSBmYWxzZTsgLy9ubyB0cmFuc2l0aW9uIGNsZWFyZWQKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIHNjbV9uU3RhdGVSRVE6CisgICAgICAgIGlmKDEpCisgICAgICAgICAgZW50ZXJTdGF0ZVNUQVJUKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBiVHJhbnNpdGlvbkNsZWFyZWQgID0gZmFsc2U7IC8vbm8gdHJhbnNpdGlvbiBjbGVhcmVkCisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdDoKKyAgICAgIERFVkxPR19FUlJPUigiVGhlIHN0YXRlIGlzIG5vdCBpbiB0aGUgdmFsaWQgcmFuZ2UhIFRoZSBzdGF0ZSB2YWx1ZSBpczogJWQuIFRoZSBtYXggdmFsdWUgY2FuIGJlOiAxLiIsIG1fbkVDQ1N0YXRlLm9wZXJhdG9yIFRGb3J0ZVVJbnQxNiAoKSk7CisgICAgICAgIG1fbkVDQ1N0YXRlID0gMDsgLy8wIGlzIGFsd2F5cyB0aGUgaW5pdGlhbCBzdGF0ZQorICAgICAgICBicmVhazsKKyAgICB9CisgICAgcGFfbkVJSUQgPSBjZ19uSW52YWxpZEV2ZW50SUQ7ICAvLyB3ZSBoYXZlIHRvIGNsZWFyIHRoZSBldmVudCBhZnRlciB0aGUgZmlyc3QgY2hlY2sgaW4gb3JkZXIgdG8gZW5zdXJlIGNvcnJlY3QgYmVoYXZpb3IKKyAgfXdoaWxlKGJUcmFuc2l0aW9uQ2xlYXJlZCk7Cit9CisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9GaWVsZHNQcmVmZXJyZWRQcm92aWRlci5oIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9GaWVsZHNQcmVmZXJyZWRQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1NWRjZDYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL0ZpZWxkc1ByZWZlcnJlZFByb3ZpZGVyLmgKQEAgLTAsMCArMSw3NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRklFTERTUFJFRkVSUkVEUFJPVklERVJfSF8KKyNkZWZpbmUgX0ZJRUxEU1BSRUZFUlJFRFBST1ZJREVSX0hfCisKKyNpbmNsdWRlIDxiYXNpY2ZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfcHJlZmVycmVkcHJvdmlkZXIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hcnJvd2hlYWRjbG91ZC5oPgorI2luY2x1ZGUgPGZvcnRlX2Fycm93aGVhZHN5c3RlbS5oPgorCitjbGFzcyBGT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcjogcHVibGljIENCYXNpY0ZCeworICBERUNMQVJFX0ZJUk1XQVJFX0ZCKEZPUlRFX0ZpZWxkc1ByZWZlcnJlZFByb3ZpZGVyKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfQXJyb3doZWFkU3lzdGVtICZwcm92aWRlclN5c3RlbSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQXJyb3doZWFkU3lzdGVtKj4oZ2V0REkoMCkpOworICB9OworCisgIENJRUNfQXJyb3doZWFkQ2xvdWQgJnByb3ZpZGVyQ2xvdWQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0Fycm93aGVhZENsb3VkKj4oZ2V0REkoMSkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX1ByZWZlcnJlZFByb3ZpZGVyICZwcmVmZXJyZWRQcm92aWRlcigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfUHJlZmVycmVkUHJvdmlkZXIqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9CQVNJQ19GQl9EQVRBX0FSUkFZKDEsIDIsIDEsIDAsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fblN0YXRlU1RBUlQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX25TdGF0ZVJFUSA9IDE7CisKKyAgdm9pZCBlbnRlclN0YXRlU1RBUlQodm9pZCk7CisgIHZvaWQgZW50ZXJTdGF0ZVJFUSh2b2lkKTsKKworICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRmllbGRzUHJlZmVycmVkUHJvdmlkZXIoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ0Jhc2ljRkIocGFfcG9TcmNSZXMsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgICAgICAgMCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9GaWVsZHNQcmVmZXJyZWRQcm92aWRlcigpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9GaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhmZTRhOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlci5jcHAKQEAgLTAsMCArMSw5MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIkZpZWxkc1RvUHJlZmVycmVkUHJvdmlkZXIuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyX2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX0ZpZWxkc1RvUHJlZmVycmVkUHJvdmlkZXIsIGdfblN0cmluZ0lkRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlcikKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyOjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkcHJvdmlkZXJTeXN0ZW0sIGdfblN0cmluZ0lkcHJvdmlkZXJDbG91ZH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlcjo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkQXJyb3doZWFkU3lzdGVtLCBnX25TdHJpbmdJZEFycm93aGVhZENsb3VkfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyOjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHByZWZlcnJlZFByb3ZpZGVyfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyOjpzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkUHJlZmVycmVkUHJvdmlkZXJ9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9GaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlcjo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMSwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlcjo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRSRVF9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlcjo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZpZWxkc1RvUHJlZmVycmVkUHJvdmlkZXI6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvUHJlZmVycmVkUHJvdmlkZXI6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZENORn07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlcjo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAyLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCit2b2lkIEZPUlRFX0ZpZWxkc1RvUHJlZmVycmVkUHJvdmlkZXI6OmFsZ19SRVEodm9pZCl7CitwcmVmZXJyZWRQcm92aWRlcigpLnByb3ZpZGVyU3lzdGVtKCkgPSBwcm92aWRlclN5c3RlbSgpOworcHJlZmVycmVkUHJvdmlkZXIoKS5wcm92aWRlckNsb3VkKCkgPSBwcm92aWRlckNsb3VkKCk7CisKKworCisKKworfQorCisKK3ZvaWQgRk9SVEVfRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlcjo6ZW50ZXJTdGF0ZVNUQVJUKHZvaWQpeworICBtX25FQ0NTdGF0ZSA9IHNjbV9uU3RhdGVTVEFSVDsKK30KKwordm9pZCBGT1JURV9GaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyOjplbnRlclN0YXRlUkVRKHZvaWQpeworICBtX25FQ0NTdGF0ZSA9IHNjbV9uU3RhdGVSRVE7CisgIGFsZ19SRVEoKTsKKyAgc2VuZE91dHB1dEV2ZW50KCBzY21fbkV2ZW50Q05GSUQpOworfQorCit2b2lkIEZPUlRFX0ZpZWxkc1RvUHJlZmVycmVkUHJvdmlkZXI6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpeworICBib29sIGJUcmFuc2l0aW9uQ2xlYXJlZDsKKyAgZG97CisgICAgYlRyYW5zaXRpb25DbGVhcmVkID0gdHJ1ZTsKKyAgICBzd2l0Y2gobV9uRUNDU3RhdGUpeworICAgICAgY2FzZSBzY21fblN0YXRlU1RBUlQ6CisgICAgICAgIGlmKHNjbV9uRXZlbnRSRVFJRCA9PSBwYV9uRUlJRCkKKyAgICAgICAgICBlbnRlclN0YXRlUkVRKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBiVHJhbnNpdGlvbkNsZWFyZWQgID0gZmFsc2U7IC8vbm8gdHJhbnNpdGlvbiBjbGVhcmVkCisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBzY21fblN0YXRlUkVROgorICAgICAgICBpZigxKQorICAgICAgICAgIGVudGVyU3RhdGVTVEFSVCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgYlRyYW5zaXRpb25DbGVhcmVkICA9IGZhbHNlOyAvL25vIHRyYW5zaXRpb24gY2xlYXJlZAorICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICBERVZMT0dfRVJST1IoIlRoZSBzdGF0ZSBpcyBub3QgaW4gdGhlIHZhbGlkIHJhbmdlISBUaGUgc3RhdGUgdmFsdWUgaXM6ICVkLiBUaGUgbWF4IHZhbHVlIGNhbiBiZTogMS4iLCBtX25FQ0NTdGF0ZS5vcGVyYXRvciBURm9ydGVVSW50MTYgKCkpOworICAgICAgICBtX25FQ0NTdGF0ZSA9IDA7IC8vMCBpcyBhbHdheXMgdGhlIGluaXRpYWwgc3RhdGUKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHBhX25FSUlEID0gY2dfbkludmFsaWRFdmVudElEOyAgLy8gd2UgaGF2ZSB0byBjbGVhciB0aGUgZXZlbnQgYWZ0ZXIgdGhlIGZpcnN0IGNoZWNrIGluIG9yZGVyIHRvIGVuc3VyZSBjb3JyZWN0IGJlaGF2aW9yCisgIH13aGlsZShiVHJhbnNpdGlvbkNsZWFyZWQpOworfQorCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlci5oIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9GaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJmMDA2OAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlci5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZJRUxEU1RPUFJFRkVSUkVEUFJPVklERVJfSF8KKyNkZWZpbmUgX0ZJRUxEU1RPUFJFRkVSUkVEUFJPVklERVJfSF8KKworI2luY2x1ZGUgPGJhc2ljZmIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9wcmVmZXJyZWRwcm92aWRlci5oPgorI2luY2x1ZGUgPGZvcnRlX2Fycm93aGVhZGNsb3VkLmg+CisjaW5jbHVkZSA8Zm9ydGVfYXJyb3doZWFkc3lzdGVtLmg+CisKK2NsYXNzIEZPUlRFX0ZpZWxkc1RvUHJlZmVycmVkUHJvdmlkZXI6IHB1YmxpYyBDQmFzaWNGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GaWVsZHNUb1ByZWZlcnJlZFByb3ZpZGVyKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfQXJyb3doZWFkU3lzdGVtICZwcm92aWRlclN5c3RlbSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQXJyb3doZWFkU3lzdGVtKj4oZ2V0REkoMCkpOworICB9OworCisgIENJRUNfQXJyb3doZWFkQ2xvdWQgJnByb3ZpZGVyQ2xvdWQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0Fycm93aGVhZENsb3VkKj4oZ2V0REkoMSkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX1ByZWZlcnJlZFByb3ZpZGVyICZwcmVmZXJyZWRQcm92aWRlcigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfUHJlZmVycmVkUHJvdmlkZXIqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9CQVNJQ19GQl9EQVRBX0FSUkFZKDEsIDIsIDEsIDAsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fblN0YXRlU1RBUlQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX25TdGF0ZVJFUSA9IDE7CisKKyAgdm9pZCBlbnRlclN0YXRlU1RBUlQodm9pZCk7CisgIHZvaWQgZW50ZXJTdGF0ZVJFUSh2b2lkKTsKKworICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRmllbGRzVG9QcmVmZXJyZWRQcm92aWRlcihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcykgOiAKKyAgICAgICBDQmFzaWNGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZpZWxkc1RvUHJlZmVycmVkUHJvdmlkZXIoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0uY3BwIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY1YjFlZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0uY3BwCkBAIC0wLDAgKzEsMTA2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0uaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybSwgZ19uU3RyaW5nSWRGaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybSkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybTo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHJlcXVlc3RlclN5c3RlbSwgZ19uU3RyaW5nSWRyZXF1ZXN0ZXJDbG91ZCwgZ19uU3RyaW5nSWRyZXF1ZXN0ZWRTZXJ2aWNlLCBnX25TdHJpbmdJZG9yY2hlc3RyYXRpb25GbGFncywgZ19uU3RyaW5nSWRwcmVmZXJyZWRQcm92aWRlcnMsIGdfblN0cmluZ0lkcmVxdWVzdGVkUW9TfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybTo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkQXJyb3doZWFkU3lzdGVtLCBnX25TdHJpbmdJZEFycm93aGVhZENsb3VkLCBnX25TdHJpbmdJZEFycm93aGVhZFNlcnZpY2UsIGdfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZFByZWZlcnJlZFByb3ZpZGVyLCBnX25TdHJpbmdJZEFSUkFZLCAxMCwgZ19uU3RyaW5nSWRXU1RSSU5HfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybTo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRzZXJ2aWNlUmVxdWVzdEZvcm19OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtOjpzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkU2VydmljZVJlcXVlc3RGb3JtfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm06OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybTo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMSwgNSwgNCwgMywgMiwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm06OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtOjpzY21fYW5FT1dpdGhbXSA9IHswLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm06OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtOjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDEsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAxLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDYsICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywKKyAgMSwgIHNjbV9hbkRhdGFPdXRwdXROYW1lcywgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHMsCisgIDAsIDAKK307CisKK3ZvaWQgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm06OmFsZ19SRVEodm9pZCl7CitDSUVDX0lOVCBpOworOworCitzZXJ2aWNlUmVxdWVzdEZvcm0oKS5yZXF1ZXN0ZXJTeXN0ZW0oKSA9IHJlcXVlc3RlclN5c3RlbSgpOworc2VydmljZVJlcXVlc3RGb3JtKCkucmVxdWVzdGVyQ2xvdWQoKSA9IHJlcXVlc3RlckNsb3VkKCk7CitzZXJ2aWNlUmVxdWVzdEZvcm0oKS5yZXF1ZXN0ZWRTZXJ2aWNlKCkgPSByZXF1ZXN0ZWRTZXJ2aWNlKCk7CisKKworaSA9IDA7Cit3aGlsZSgoaSA8IDEwKSl7CisvLyBsb29rcyBsaWtlIHdoaWxlIGlzIGZhc3RlciB0aGFuIEZPUiB3aGVuIGV4cG9ydGluZyB0byBjcHAKKworc2VydmljZVJlcXVlc3RGb3JtKCkub3JjaGVzdHJhdGlvbkZsYWdzKClbaV0gPSBvcmNoZXN0cmF0aW9uRmxhZ3MoKVtpXTsKK3NlcnZpY2VSZXF1ZXN0Rm9ybSgpLnByZWZlcnJlZFByb3ZpZGVycygpW2ldID0gcHJlZmVycmVkUHJvdmlkZXJzKClbaV07CitzZXJ2aWNlUmVxdWVzdEZvcm0oKS5yZXF1ZXN0ZWRRb1MoKVtpXSA9IHJlcXVlc3RlZFFvUygpW2ldOworaSA9IGkrMTsKK30KKworCisKKworCisKK30KKworCit2b2lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtOjplbnRlclN0YXRlU1RBUlQodm9pZCl7CisgIG1fbkVDQ1N0YXRlID0gc2NtX25TdGF0ZVNUQVJUOworfQorCit2b2lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtOjplbnRlclN0YXRlUkVRKHZvaWQpeworICBtX25FQ0NTdGF0ZSA9IHNjbV9uU3RhdGVSRVE7CisgIGFsZ19SRVEoKTsKKyAgc2VuZE91dHB1dEV2ZW50KCBzY21fbkV2ZW50Q05GSUQpOworfQorCit2b2lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtOjpleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKXsKKyAgYm9vbCBiVHJhbnNpdGlvbkNsZWFyZWQ7CisgIGRveworICAgIGJUcmFuc2l0aW9uQ2xlYXJlZCA9IHRydWU7CisgICAgc3dpdGNoKG1fbkVDQ1N0YXRlKXsKKyAgICAgIGNhc2Ugc2NtX25TdGF0ZVNUQVJUOgorICAgICAgICBpZihzY21fbkV2ZW50UkVRSUQgPT0gcGFfbkVJSUQpCisgICAgICAgICAgZW50ZXJTdGF0ZVJFUSgpOworICAgICAgICBlbHNlCisgICAgICAgICAgYlRyYW5zaXRpb25DbGVhcmVkICA9IGZhbHNlOyAvL25vIHRyYW5zaXRpb24gY2xlYXJlZAorICAgICAgICBicmVhazsKKyAgICAgIGNhc2Ugc2NtX25TdGF0ZVJFUToKKyAgICAgICAgaWYoMSkKKyAgICAgICAgICBlbnRlclN0YXRlU1RBUlQoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGJUcmFuc2l0aW9uQ2xlYXJlZCAgPSBmYWxzZTsgLy9ubyB0cmFuc2l0aW9uIGNsZWFyZWQKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0OgorICAgICAgREVWTE9HX0VSUk9SKCJUaGUgc3RhdGUgaXMgbm90IGluIHRoZSB2YWxpZCByYW5nZSEgVGhlIHN0YXRlIHZhbHVlIGlzOiAlZC4gVGhlIG1heCB2YWx1ZSBjYW4gYmU6IDEuIiwgbV9uRUNDU3RhdGUub3BlcmF0b3IgVEZvcnRlVUludDE2ICgpKTsKKyAgICAgICAgbV9uRUNDU3RhdGUgPSAwOyAvLzAgaXMgYWx3YXlzIHRoZSBpbml0aWFsIHN0YXRlCisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBwYV9uRUlJRCA9IGNnX25JbnZhbGlkRXZlbnRJRDsgIC8vIHdlIGhhdmUgdG8gY2xlYXIgdGhlIGV2ZW50IGFmdGVyIHRoZSBmaXJzdCBjaGVjayBpbiBvcmRlciB0byBlbnN1cmUgY29ycmVjdCBiZWhhdmlvcgorICB9d2hpbGUoYlRyYW5zaXRpb25DbGVhcmVkKTsKK30KKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtLmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL0ZpZWxkc1RvU2VydmljZVJlcXVlc3RGb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTcxMWQ2NwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0uaApAQCAtMCwwICsxLDEwNiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRklFTERTVE9TRVJWSUNFUkVRVUVTVEZPUk1fSF8KKyNkZWZpbmUgX0ZJRUxEU1RPU0VSVklDRVJFUVVFU1RGT1JNX0hfCisKKyNpbmNsdWRlIDxiYXNpY2ZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfcHJlZmVycmVkcHJvdmlkZXIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hcnJvd2hlYWRzZXJ2aWNlLmg+CisjaW5jbHVkZSA8Zm9ydGVfYXJyb3doZWFkY2xvdWQuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hcnJvd2hlYWRzeXN0ZW0uaD4KKyNpbmNsdWRlIDxmb3J0ZV9zZXJ2aWNlcmVxdWVzdGZvcm0uaD4KKyNpbmNsdWRlIDxmb3J0ZV93c3RyaW5nLmg+CisjaW5jbHVkZSA8Zm9ydGVfYXJyYXkuaD4KKworY2xhc3MgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm06IHB1YmxpYyBDQmFzaWNGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybSkKKworcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICBDSUVDX0Fycm93aGVhZFN5c3RlbSAmcmVxdWVzdGVyU3lzdGVtKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRTeXN0ZW0qPihnZXRESSgwKSk7CisgIH07CisKKyAgQ0lFQ19BcnJvd2hlYWRDbG91ZCAmcmVxdWVzdGVyQ2xvdWQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0Fycm93aGVhZENsb3VkKj4oZ2V0REkoMSkpOworICB9OworCisgIENJRUNfQXJyb3doZWFkU2VydmljZSAmcmVxdWVzdGVkU2VydmljZSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQXJyb3doZWFkU2VydmljZSo+KGdldERJKDIpKTsKKyAgfTsKKworICBDSUVDX1dTVFJJTkcgKm9yY2hlc3RyYXRpb25GbGFncygpIHsKKyAgICByZXR1cm4gKENJRUNfV1NUUklORyopKCpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZICo+KGdldERJKDMpKSlbMF07IC8vdGhlIGZpcnN0IGVsZW1lbnQgbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBhcnJheQorICB9OworCisgIENJRUNfQVJSQVkgJm9yY2hlc3RyYXRpb25GbGFnc19BcnJheSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQVJSQVkqPihnZXRESSgzKSk7CisgIH07CisKKyAgQ0lFQ19QcmVmZXJyZWRQcm92aWRlciAqcHJlZmVycmVkUHJvdmlkZXJzKCkgeworICAgIHJldHVybiAoQ0lFQ19QcmVmZXJyZWRQcm92aWRlciopKCpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZICo+KGdldERJKDQpKSlbMF07IC8vdGhlIGZpcnN0IGVsZW1lbnQgbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBhcnJheQorICB9OworCisgIENJRUNfQVJSQVkgJnByZWZlcnJlZFByb3ZpZGVyc19BcnJheSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQVJSQVkqPihnZXRESSg0KSk7CisgIH07CisKKyAgQ0lFQ19XU1RSSU5HICpyZXF1ZXN0ZWRRb1MoKSB7CisgICAgcmV0dXJuIChDSUVDX1dTVFJJTkcqKSgqc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSAqPihnZXRESSg1KSkpWzBdOyAvL3RoZSBmaXJzdCBlbGVtZW50IG1hcmtzIHRoZSBzdGFydCBvZiB0aGUgYXJyYXkKKyAgfTsKKworICBDSUVDX0FSUkFZICZyZXF1ZXN0ZWRRb1NfQXJyYXkoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZKj4oZ2V0REkoNSkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX1NlcnZpY2VSZXF1ZXN0Rm9ybSAmc2VydmljZVJlcXVlc3RGb3JtKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TZXJ2aWNlUmVxdWVzdEZvcm0qPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9CQVNJQ19GQl9EQVRBX0FSUkFZKDEsIDYsIDEsIDAsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fblN0YXRlU1RBUlQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX25TdGF0ZVJFUSA9IDE7CisKKyAgdm9pZCBlbnRlclN0YXRlU1RBUlQodm9pZCk7CisgIHZvaWQgZW50ZXJTdGF0ZVJFUSh2b2lkKTsKKworICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVxdWVzdEZvcm0oQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ0Jhc2ljRkIocGFfcG9TcmNSZXMsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgICAgICAgMCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9GaWVsZHNUb1NlcnZpY2VSZXF1ZXN0Rm9ybSgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9IVFRQL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9IVFRQL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3MmY3NDAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL0hUVFAvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyMSBAQAorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQXJyb3doZWFkIHNwZWNpZmljIGZ1bmN0aW9uYWwgYmxvY2tzIGZvciBIVFRQIGZvciB0aGUgb3JjaGVzdHJhdG9yCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmb3J0ZV9hZGRfaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKK2ZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQKQorICAKKyAgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9IVFRQL1JlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUC5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL0hUVFAvUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmE4ZGI1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9IVFRQL1JlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUC5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUC5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIlJlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFAsIGdfblN0cmluZ0lkUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQKQorCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFA6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHstMX07Citjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUDo6c2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXNbXSA9IHsKK3tnX25TdHJpbmdJZE9yY2hlc3RyYXRvclJlcXVlc3RBZHAsIGdfblN0cmluZ0lkcmVxdWVzdE9yY2hlc3RyYXRpb24sIGZhbHNlIH19OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUDo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAwLCAgMCwgIDAsICAwLAorICAwLCAgMCwgICAwLCAwLCAgMCwgIDAsIDAsIAorICAwLCAgMCwgMCwKKyAgMSxzY21fYXN0QWRhcHRlckluc3RhbmNlc307CisKKworY29uc3QgU0NGQl9GQkluc3RhbmNlRGF0YSBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFA6OnNjbV9hc3RJbnRlcm5hbEZCc1tdID0geworICB7Z19uU3RyaW5nSWRBUFBFTkRfU1RSSU5HXzMsIGdfblN0cmluZ0lkQVBQRU5EX1NUUklOR18zfSwKKyAge2dfblN0cmluZ0lkUmVxdWVzdCwgZ19uU3RyaW5nSWRDTElFTlRfMV8yfSwKKyAge2dfblN0cmluZ0lkSW5pdEZsYWcsIGdfblN0cmluZ0lkRV9TUn0sCisgIHtnX25TdHJpbmdJZEVfUEVSTUlULCBnX25TdHJpbmdJZEVfUEVSTUlUfSwKKyAge2dfblN0cmluZ0lkRl9TVFJJTkdfVE9fV1NUUklORywgZ19uU3RyaW5nSWRGX1NUUklOR19UT19XU1RSSU5HfSwKKyAge2dfblN0cmluZ0lkQU5ZVG9KU09OLCBnX25TdHJpbmdJZEFOWVRvSlNPTn0sCisgIHtnX25TdHJpbmdJZEdldEhUVFBPcmNoZXN0cmF0aW9uRm9ybSwgZ19uU3RyaW5nSWRHZXRBcnJheVJlc3BvbnNlRnJvbUpTT059LAorfTsKKworY29uc3QgU0NGQl9GQlBhcmFtZXRlciBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFA6OnNjbV9hc3RQYXJhbXRlcnNbXSA9IHsKKyAgezAsIGdfblN0cmluZ0lkSU5fMSwgIlNUUklORyNodHRwWyJ9LAorICB7MCwgZ19uU3RyaW5nSWRJTl8zLCAiU1RSSU5HIy9vcmNoZXN0cmF0aW9uOyBQT1NUOyBhcHBsaWNhdGlvbi9qc29uXSJ9LAorfTsKKworY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUDo6c2NtX2FzdEV2ZW50Q29ubmVjdGlvbnNbXSA9IHsKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEFQUEVORF9TVFJJTkdfMywgZ19uU3RyaW5nSWRDTkYpLCAwLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRGX1NUUklOR19UT19XU1RSSU5HLCBnX25TdHJpbmdJZFJFUSksIDR9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkRl9TVFJJTkdfVE9fV1NUUklORywgZ19uU3RyaW5nSWRDTkYpLCA0LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRJbml0RmxhZywgZ19uU3RyaW5nSWRTKSwgMn0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRJbml0RmxhZywgZ19uU3RyaW5nSWRFTyksIDIsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFJlcXVlc3QsIGdfblN0cmluZ0lkSU5JVCksIDF9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkRV9QRVJNSVQsIGdfblN0cmluZ0lkRU8pLCAzLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRSZXF1ZXN0LCBnX25TdHJpbmdJZFJFUSksIDF9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQU5ZVG9KU09OLCBnX25TdHJpbmdJZENORiksIDUsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEFQUEVORF9TVFJJTkdfMywgZ19uU3RyaW5nSWRSRVEpLCAwfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFJlcXVlc3QsIGdfblN0cmluZ0lkQ05GKSwgMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkSW5pdEZsYWcsIGdfblN0cmluZ0lkUiksIDJ9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkUmVxdWVzdCwgZ19uU3RyaW5nSWRJTklUTyksIDEsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEVfUEVSTUlULCBnX25TdHJpbmdJZEVJKSwgM30sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRyZXF1ZXN0T3JjaGVzdHJhdGlvbiwgZ19uU3RyaW5nSWRyZXF1ZXN0T3JjaGVzdGF0b3IpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQU5ZVG9KU09OLCBnX25TdHJpbmdJZFJFUSksIDV9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkR2V0SFRUUE9yY2hlc3RyYXRpb25Gb3JtLCBnX25TdHJpbmdJZENORiksIDYsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZHJlcXVlc3RPcmNoZXN0cmF0aW9uLCBnX25TdHJpbmdJZHJlc3BvbnNlUmVjZWl2ZWQpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MH0sCit9OworCitjb25zdCBTQ0ZCX0ZCRmFubmVkT3V0Q29ubmVjdGlvbkRhdGEgRk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQOjpzY21fYXN0RmFubmVkT3V0RXZlbnRDb25uZWN0aW9uc1tdID0geworICB7NSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkR2V0SFRUUE9yY2hlc3RyYXRpb25Gb3JtLCBnX25TdHJpbmdJZFJFUSksIDZ9LAorfTsKKworY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUDo6c2NtX2FzdERhdGFDb25uZWN0aW9uc1tdID0geworICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQVBQRU5EX1NUUklOR18zLCBnX25TdHJpbmdJZE9VVCksIDAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkSU4pLCA0fSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkT1VUKSwgNCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkUmVxdWVzdCwgZ19uU3RyaW5nSWRJRCksIDF9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkSW5pdEZsYWcsIGdfblN0cmluZ0lkUSksIDIsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEVfUEVSTUlULCBnX25TdHJpbmdJZFBFUk1JVCksIDN9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQU5ZVG9KU09OLCBnX25TdHJpbmdJZG91dHB1dCksIDUsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFJlcXVlc3QsIGdfblN0cmluZ0lkU0RfMSksIDF9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVxdWVzdE9yY2hlc3RyYXRpb24sIGdfblN0cmluZ0lkc2VydmljZVJlcXVlc3RGb3JtKSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEFOWVRvSlNPTiwgZ19uU3RyaW5nSWRpbnB1dCksIDV9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVxdWVzdE9yY2hlc3RyYXRpb24sIGdfblN0cmluZ0lkZW5kcG9pbnQpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQVBQRU5EX1NUUklOR18zLCBnX25TdHJpbmdJZElOXzIpLCAwfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFJlcXVlc3QsIGdfblN0cmluZ0lkUkRfMiksIDEsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEdldEhUVFBPcmNoZXN0cmF0aW9uRm9ybSwgZ19uU3RyaW5nSWRyZXNwb25zZSksIDZ9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkR2V0SFRUUE9yY2hlc3RyYXRpb25Gb3JtLCBnX25TdHJpbmdJZG91dHB1dCksIDYsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZHJlcXVlc3RPcmNoZXN0cmF0aW9uLCBnX25TdHJpbmdJZG9yY2hlc3RyYXRpb25SZXNwb25zZSksIENDb21wb3NpdGVGQjo6c2NtX25BZGFwdGVyTWFya2VyIHwwfSwKK307CisKK2NvbnN0IFNDRkJfRkJGYW5uZWRPdXRDb25uZWN0aW9uRGF0YSBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFA6OnNjbV9hc3RGYW5uZWRPdXREYXRhQ29ubmVjdGlvbnNbXSA9IHsKKyAgezIsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFJlcXVlc3QsIGdfblN0cmluZ0lkUUkpLCAxfSwKK307CisKK2NvbnN0IFNDRkJfRkJORGF0YSBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFA6OnNjbV9zdEZCTkRhdGEgPSB7CisgIDcsIHNjbV9hc3RJbnRlcm5hbEZCcywKKyAgOSwgc2NtX2FzdEV2ZW50Q29ubmVjdGlvbnMsCisgIDEsIHNjbV9hc3RGYW5uZWRPdXRFdmVudENvbm5lY3Rpb25zLAorICA4LCBzY21fYXN0RGF0YUNvbm5lY3Rpb25zLAorICAxLCBzY21fYXN0RmFubmVkT3V0RGF0YUNvbm5lY3Rpb25zLAorICAyLCBzY21fYXN0UGFyYW10ZXJzCit9OworCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvSFRUUC9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFAuaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvSFRUUC9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2ZiODc5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9IVFRQL1JlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUC5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX1JFUVVFU1RPUkNIRVNUUkFUSU9OSFRUUF9IXworI2RlZmluZSBfUkVRVUVTVE9SQ0hFU1RSQVRJT05IVFRQX0hfCisKKyNpbmNsdWRlIDxjZmIuaD4KKyNpbmNsdWRlIDx0eXBlbGliLmg+CisjaW5jbHVkZSAiT3JjaGVzdHJhdG9yUmVxdWVzdEFkcC5oIgorCitjbGFzcyBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkhUVFA6IHB1YmxpYyBDQ29tcG9zaXRlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiBzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdOworCisgIEZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHAmIHJlcXVlc3RPcmNoZXN0cmF0aW9uKCkgeworICAgIHJldHVybiAoKnN0YXRpY19jYXN0PEZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHAqPihtX2Fwb0FkYXB0ZXJzWzBdKSk7CisgIH07CisgIHN0YXRpYyBjb25zdCBpbnQgc2NtX25yZXF1ZXN0T3JjaGVzdHJhdGlvbkFkcE51bSA9IDA7CisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgRk9SVEVfRkJfREFUQV9BUlJBWSgwLCAwLCAwLCAxKTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQkluc3RhbmNlRGF0YSBzY21fYXN0SW50ZXJuYWxGQnNbXTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQlBhcmFtZXRlciBzY21fYXN0UGFyYW10ZXJzW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJDb25uZWN0aW9uRGF0YSBzY21fYXN0RXZlbnRDb25uZWN0aW9uc1tdOworCisgIHN0YXRpYyBjb25zdCBTQ0ZCX0ZCRmFubmVkT3V0Q29ubmVjdGlvbkRhdGEgc2NtX2FzdEZhbm5lZE91dEV2ZW50Q29ubmVjdGlvbnNbXTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIHNjbV9hc3REYXRhQ29ubmVjdGlvbnNbXTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQkZhbm5lZE91dENvbm5lY3Rpb25EYXRhIHNjbV9hc3RGYW5uZWRPdXREYXRhQ29ubmVjdGlvbnNbXTsKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJORGF0YSBzY21fc3RGQk5EYXRhOworCitwdWJsaWM6CisgIENPTVBPU0lURV9GVU5DVElPTl9CTE9DS19DVE9SKEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uSFRUUCl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25IVFRQKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL09yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwZGEwZTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL09yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtLmNwcApAQCAtMCwwICsxLDUyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0uaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJPcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybSwgZ19uU3RyaW5nSWRPcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybSkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkT3JjaGVzdHJhdGlvbkZvcm19OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX09yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtOjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZE9VVH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm06OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRPcmNoZXN0cmF0aW9uRm9ybX07CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX09yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm06OnNjbV9hbkVJV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX09yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFJFUX07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX09yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkQ05GfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCisKK3ZvaWQgRk9SVEVfT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm06OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpeworICBpZihzY21fbkV2ZW50UkVRSUQgPT0gcGFfbkVJSUQpIHsKKyAgICBPVVQoKSA9IElOKCk7CisgICAgc2VuZE91dHB1dEV2ZW50KHNjbV9uRXZlbnRDTkZJRCk7CisgIH0KK30KKworCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0uaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvT3JjaGVzdHJhdGlvbkZvcm0yT3JjaGVzdHJhdGlvbkZvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTg4ZTE3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybS5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTksIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX09SQ0hFU1RSQVRJT05GT1JNMk9SQ0hFU1RSQVRJT05GT1JNX0hfCisjZGVmaW5lIF9PUkNIRVNUUkFUSU9ORk9STTJPUkNIRVNUUkFUSU9ORk9STV9IXworCisjaW5jbHVkZSA8ZnVuY2Jsb2MuaD4KKyNpbmNsdWRlIDxmb3J0ZV9vcmNoZXN0cmF0aW9uZm9ybS5oPgorCitjbGFzcyBGT1JURV9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybTogcHVibGljIENGdW5jdGlvbkJsb2NreworICBERUNMQVJFX0ZJUk1XQVJFX0ZCKEZPUlRFX09yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfT3JjaGVzdHJhdGlvbkZvcm0gJklOKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19PcmNoZXN0cmF0aW9uRm9ybSo+KGdldERJKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19PcmNoZXN0cmF0aW9uRm9ybSAmT1VUKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19PcmNoZXN0cmF0aW9uRm9ybSo+KGdldERPKDApKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudFJFUUlEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTkZJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMSwgMSwgMSwgMCk7CisKKyAgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKTsKKworcHVibGljOgorICBGVU5DVElPTl9CTE9DS19DVE9SKEZPUlRFX09yY2hlc3RyYXRpb25Gb3JtMk9yY2hlc3RyYXRpb25Gb3JtKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9PcmNoZXN0cmF0aW9uRm9ybTJPcmNoZXN0cmF0aW9uRm9ybSgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9PcmNoZXN0cmF0b3JSZXF1ZXN0QWRwLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvT3JjaGVzdHJhdG9yUmVxdWVzdEFkcC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjcwYjNjMQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvT3JjaGVzdHJhdG9yUmVxdWVzdEFkcC5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIk9yY2hlc3RyYXRvclJlcXVlc3RBZHAuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJPcmNoZXN0cmF0b3JSZXF1ZXN0QWRwX2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0FEQVBURVJfVFlQRShGT1JURV9PcmNoZXN0cmF0b3JSZXF1ZXN0QWRwLCBnX25TdHJpbmdJZE9yY2hlc3RyYXRvclJlcXVlc3RBZHApCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfT3JjaGVzdHJhdG9yUmVxdWVzdEFkcDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZG9yY2hlc3RyYXRpb25SZXNwb25zZX07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfT3JjaGVzdHJhdG9yUmVxdWVzdEFkcDo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZE9yY2hlc3RyYXRpb25Gb3JtfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9PcmNoZXN0cmF0b3JSZXF1ZXN0QWRwOjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHNlcnZpY2VSZXF1ZXN0Rm9ybSwgZ19uU3RyaW5nSWRlbmRwb2ludH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfT3JjaGVzdHJhdG9yUmVxdWVzdEFkcDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFNlcnZpY2VSZXF1ZXN0Rm9ybSwgZ19uU3RyaW5nSWRXU1RSSU5HfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHA6OnNjbV9hbkVJV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9PcmNoZXN0cmF0b3JSZXF1ZXN0QWRwOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9PcmNoZXN0cmF0b3JSZXF1ZXN0QWRwOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHJlc3BvbnNlUmVjZWl2ZWR9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfT3JjaGVzdHJhdG9yUmVxdWVzdEFkcDo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMSwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHA6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHA6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHJlcXVlc3RPcmNoZXN0YXRvcn07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfT3JjaGVzdHJhdG9yUmVxdWVzdEFkcDo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjU29ja2V0ID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDIsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHA6OnNjbV9zdEZCSW50ZXJmYWNlU3BlY1BsdWcgPSB7CisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCAgc2NtX2FuRU9XaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgc2NtX2FuRUlXaXRoSW5kZXhlcywgIDIsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDAsIDAKK307CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL09yY2hlc3RyYXRvclJlcXVlc3RBZHAuaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvT3JjaGVzdHJhdG9yUmVxdWVzdEFkcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMDQ1OGYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL09yY2hlc3RyYXRvclJlcXVlc3RBZHAuaApAQCAtMCwwICsxLDg2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9PUkNIRVNUUkFUT1JSRVFVRVNUQURQX0hfCisjZGVmaW5lIF9PUkNIRVNUUkFUT1JSRVFVRVNUQURQX0hfCisKKyNpbmNsdWRlIDxhZGFwdGVyLmg+CisjaW5jbHVkZSA8dHlwZWxpYi5oPgorI2luY2x1ZGUgPGZvcnRlX29yY2hlc3RyYXRpb25mb3JtLmg+CisjaW5jbHVkZSA8Zm9ydGVfc2VydmljZXJlcXVlc3Rmb3JtLmg+CisjaW5jbHVkZSA8Zm9ydGVfd3N0cmluZy5oPgorI2luY2x1ZGUgPGZvcnRlX2FycmF5Lmg+CisKK2NsYXNzIEZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHA6IHB1YmxpYyBDQWRhcHRlcnsKKyAgREVDTEFSRV9BREFQVEVSX1RZUEUoRk9SVEVfT3JjaGVzdHJhdG9yUmVxdWVzdEFkcCkKKworcHJpdmF0ZToKKyBwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgcHVibGljOgorICBDSUVDX09yY2hlc3RyYXRpb25Gb3JtICpvcmNoZXN0cmF0aW9uUmVzcG9uc2UoKSB7CisgICAgcmV0dXJuIChDSUVDX09yY2hlc3RyYXRpb25Gb3JtKikoKnN0YXRpY19jYXN0PENJRUNfQVJSQVkgKj4oKGlzU29ja2V0KCkpID8gZ2V0REkoMCkgOiBnZXRETygwKSkpWzBdOyAvL3RoZSBmaXJzdCBlbGVtZW50IG1hcmtzIHRoZSBzdGFydCBvZiB0aGUgYXJyYXkKKyAgfTsKKworICBDSUVDX0FSUkFZICZvcmNoZXN0cmF0aW9uUmVzcG9uc2VfQXJyYXkoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZKj4oKGlzU29ja2V0KCkpID8gZ2V0REkoMCkgOiBnZXRETygwKSk7CisgIH07CisKKyBwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyBwdWJsaWM6CisgIENJRUNfU2VydmljZVJlcXVlc3RGb3JtICZzZXJ2aWNlUmVxdWVzdEZvcm0oKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1NlcnZpY2VSZXF1ZXN0Rm9ybSo+KChpc1NvY2tldCgpKSA/IGdldERPKDApIDogZ2V0REkoMCkpOworICB9OworCisgIENJRUNfV1NUUklORyAmZW5kcG9pbnQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPigoaXNTb2NrZXQoKSkgPyBnZXRETygxKSA6IGdldERJKDEpKTsKKyAgfTsKKworIHB1YmxpYzoKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRyZXNwb25zZVJlY2VpdmVkSUQgPSAwOworICBpbnQgcmVzcG9uc2VSZWNlaXZlZCgpIHsKKyAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtX25FdmVudHJlc3BvbnNlUmVjZWl2ZWRJRDsKKyAgfQorIHByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgcHVibGljOgorICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudHJlcXVlc3RPcmNoZXN0YXRvcklEID0gMDsKKyAgaW50IHJlcXVlc3RPcmNoZXN0YXRvcigpIHsKKyAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtX25FdmVudHJlcXVlc3RPcmNoZXN0YXRvcklEOworICB9CisgcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlY1NvY2tldDsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWNQbHVnOworCisgICBGT1JURV9BREFQVEVSX0RBVEFfQVJSQVkoMSwgMSwgMSwgMiwgMCk7CisKK3B1YmxpYzoKKyAgQURBUFRFUl9DVE9SKEZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHApeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX09yY2hlc3RyYXRvclJlcXVlc3RBZHAoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjMwYTc1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0uY3BwCkBAIC0wLDAgKzEsNjYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJSZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0uaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJSZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm1fZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLCBnX25TdHJpbmdJZFJlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybSkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm06OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRzZXJ2aWNlUmVxdWVzdEZvcm0sIGdfblN0cmluZ0lkZW5kcG9pbnR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkU2VydmljZVJlcXVlc3RGb3JtLCBnX25TdHJpbmdJZFdTVFJJTkd9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRvcmNoZXN0cmF0aW9uUmVzcG9uc2V9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEFSUkFZLCAxMCwgZ19uU3RyaW5nSWRPcmNoZXN0cmF0aW9uRm9ybX07CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMSwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHJlcXVlc3RPcmNoZXN0YXRvcn07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm06OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm06OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkcmVzcG9uc2VSZWNlaXZlZH07CisKK2NvbnN0IFNBZGFwdGVySW5zdGFuY2VEZWYgRk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtOjpzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdID0gewore2dfblN0cmluZ0lkT3JjaGVzdHJhdG9yUmVxdWVzdEFkcCwgZ19uU3RyaW5nSWRyZXF1ZXN0T3JjaGVzdHJhdGlvbiwgdHJ1ZSB9fTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm06OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMiwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMSxzY21fYXN0QWRhcHRlckluc3RhbmNlc307CisKKworY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX2FzdEV2ZW50Q29ubmVjdGlvbnNbXSA9IHsKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8xX0FSRyhnX25TdHJpbmdJZHJlcXVlc3RPcmNoZXN0YXRvciksIC0xLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRyZXF1ZXN0T3JjaGVzdHJhdGlvbiwgZ19uU3RyaW5nSWRyZXF1ZXN0T3JjaGVzdGF0b3IpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MH0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRyZXF1ZXN0T3JjaGVzdHJhdGlvbiwgZ19uU3RyaW5nSWRyZXNwb25zZVJlY2VpdmVkKSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8xX0FSRyhnX25TdHJpbmdJZHJlc3BvbnNlUmVjZWl2ZWQpLCAtMX0sCit9OworCitjb25zdCBTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEgRk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtOjpzY21fYXN0RGF0YUNvbm5lY3Rpb25zW10gPSB7CisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMV9BUkcoZ19uU3RyaW5nSWRzZXJ2aWNlUmVxdWVzdEZvcm0pLCAtMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVxdWVzdE9yY2hlc3RyYXRpb24sIGdfblN0cmluZ0lkc2VydmljZVJlcXVlc3RGb3JtKSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDB9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVxdWVzdE9yY2hlc3RyYXRpb24sIGdfblN0cmluZ0lkb3JjaGVzdHJhdGlvblJlc3BvbnNlKSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8xX0FSRyhnX25TdHJpbmdJZG9yY2hlc3RyYXRpb25SZXNwb25zZSksIC0xfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8xX0FSRyhnX25TdHJpbmdJZGVuZHBvaW50KSwgLTEsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZHJlcXVlc3RPcmNoZXN0cmF0aW9uLCBnX25TdHJpbmdJZGVuZHBvaW50KSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDB9LAorfTsKKworY29uc3QgU0NGQl9GQk5EYXRhIEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybTo6c2NtX3N0RkJORGF0YSA9IHsKKyAgMCwgMCwKKyAgMiwgc2NtX2FzdEV2ZW50Q29ubmVjdGlvbnMsCisgIDAsIDAsCisgIDMsIHNjbV9hc3REYXRhQ29ubmVjdGlvbnMsCisgIDAsIDAsCisgIDAsIDAKK307CisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9SZXF1ZXN0T3JjaGVzdHJhdGlvbkZvcm0uaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFlZjVkYQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtLmgKQEAgLTAsMCArMSw4MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfUkVRVUVTVE9SQ0hFU1RSQVRJT05GT1JNX0hfCisjZGVmaW5lIF9SRVFVRVNUT1JDSEVTVFJBVElPTkZPUk1fSF8KKworI2luY2x1ZGUgPGNmYi5oPgorI2luY2x1ZGUgPHR5cGVsaWIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9vcmNoZXN0cmF0aW9uZm9ybS5oPgorI2luY2x1ZGUgPGZvcnRlX3NlcnZpY2VyZXF1ZXN0Zm9ybS5oPgorI2luY2x1ZGUgPGZvcnRlX3dzdHJpbmcuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hcnJheS5oPgorI2luY2x1ZGUgIk9yY2hlc3RyYXRvclJlcXVlc3RBZHAuaCIKKworY2xhc3MgRk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtOiBwdWJsaWMgQ0NvbXBvc2l0ZUZCeworICBERUNMQVJFX0ZJUk1XQVJFX0ZCKEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybSkKKworcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICBDSUVDX1NlcnZpY2VSZXF1ZXN0Rm9ybSAmc2VydmljZVJlcXVlc3RGb3JtKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TZXJ2aWNlUmVxdWVzdEZvcm0qPihnZXRESSgwKSk7CisgIH07CisKKyAgQ0lFQ19XU1RSSU5HICZlbmRwb2ludCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEpKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19PcmNoZXN0cmF0aW9uRm9ybSAqb3JjaGVzdHJhdGlvblJlc3BvbnNlKCkgeworICAgIHJldHVybiAoQ0lFQ19PcmNoZXN0cmF0aW9uRm9ybSopKCpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZICo+KGdldERPKDApKSlbMF07IC8vdGhlIGZpcnN0IGVsZW1lbnQgbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBhcnJheQorICB9OworCisgIENJRUNfQVJSQVkgJm9yY2hlc3RyYXRpb25SZXNwb25zZV9BcnJheSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQVJSQVkqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRyZXF1ZXN0T3JjaGVzdGF0b3JJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50cmVzcG9uc2VSZWNlaXZlZElEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIHNjbV9hc3RBZGFwdGVySW5zdGFuY2VzW107CisKKyAgRk9SVEVfT3JjaGVzdHJhdG9yUmVxdWVzdEFkcCYgcmVxdWVzdE9yY2hlc3RyYXRpb24oKSB7CisgICAgcmV0dXJuICgqc3RhdGljX2Nhc3Q8Rk9SVEVfT3JjaGVzdHJhdG9yUmVxdWVzdEFkcCo+KG1fYXBvQWRhcHRlcnNbMF0pKTsKKyAgfTsKKyAgc3RhdGljIGNvbnN0IGludCBzY21fbnJlcXVlc3RPcmNoZXN0cmF0aW9uQWRwTnVtID0gMDsKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDIsIDEsIDEpOworCisgIHN0YXRpYyBjb25zdCBTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEgc2NtX2FzdEV2ZW50Q29ubmVjdGlvbnNbXTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIHNjbV9hc3REYXRhQ29ubmVjdGlvbnNbXTsKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJORGF0YSBzY21fc3RGQk5EYXRhOworCitwdWJsaWM6CisgIENPTVBPU0lURV9GVU5DVElPTl9CTE9DS19DVE9SKEZPUlRFX1JlcXVlc3RPcmNoZXN0cmF0aW9uRm9ybSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfUmVxdWVzdE9yY2hlc3RyYXRpb25Gb3JtKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL2ZvcnRlX29yY2hlc3RyYXRpb25mb3JtLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvZm9ydGVfb3JjaGVzdHJhdGlvbmZvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiYTE2ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL2ZvcnRlX29yY2hlc3RyYXRpb25mb3JtLmNwcApAQCAtMCwwICsxLDI3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiZm9ydGVfb3JjaGVzdHJhdGlvbmZvcm0uaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJmb3J0ZV9vcmNoZXN0cmF0aW9uZm9ybV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9EQVRBVFlQRShPcmNoZXN0cmF0aW9uRm9ybSwgZ19uU3RyaW5nSWRPcmNoZXN0cmF0aW9uRm9ybSk7CisKK0NJRUNfT3JjaGVzdHJhdGlvbkZvcm06OkNJRUNfT3JjaGVzdHJhdGlvbkZvcm0oKSA6CisgICAgQ0lFQ19TVFJVQ1QoZ19uU3RyaW5nSWRPcmNoZXN0cmF0aW9uRm9ybSwgNywgc2NtRWxlbWVudFR5cGVzLCBzY21FbGVtZW50TmFtZXMsIGVfQVBQTElDQVRJT04gKyBlX0NPTlNUUlVDVEVEICsgMSkgeworfQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIENJRUNfT3JjaGVzdHJhdGlvbkZvcm06OnNjbUVsZW1lbnRUeXBlc1tdID0geyBnX25TdHJpbmdJZEFycm93aGVhZFNlcnZpY2UsIGdfblN0cmluZ0lkQXJyb3doZWFkU3lzdGVtLCBnX25TdHJpbmdJZFdTVFJJTkcsCisgIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZFdTVFJJTkcgfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgQ0lFQ19PcmNoZXN0cmF0aW9uRm9ybTo6c2NtRWxlbWVudE5hbWVzW10gPSB7IGdfblN0cmluZ0lkc2VydmljZSwgZ19uU3RyaW5nSWRwcm92aWRlciwgZ19uU3RyaW5nSWRzZXJ2aWNlVVJJLAorICBnX25TdHJpbmdJZGluc3RydWN0aW9uLCBnX25TdHJpbmdJZGF1dGhvcml6YXRpb25Ub2tlbiwgZ19uU3RyaW5nSWRzaWduYXR1cmUsIGdfblN0cmluZ0lkd2FybmluZ3MgfTsKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvZm9ydGVfb3JjaGVzdHJhdGlvbmZvcm0uaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvZm9ydGVfb3JjaGVzdHJhdGlvbmZvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Yzk4ZmI1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9mb3J0ZV9vcmNoZXN0cmF0aW9uZm9ybS5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZPUlRFX09SQ0hFU1RSQVRJT05GT1JNX0hfCisjZGVmaW5lIF9GT1JURV9PUkNIRVNUUkFUSU9ORk9STV9IXworCisjaW5jbHVkZSAiZm9ydGVfc3RydWN0LmgiCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkc3lzdGVtLmgiCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkc2VydmljZS5oIgorI2luY2x1ZGUgImZvcnRlX3dzdHJpbmcuaCIKKyNpbmNsdWRlICJmb3J0ZV9hcnJheS5oIgorCitjbGFzcyBDSUVDX09yY2hlc3RyYXRpb25Gb3JtIDogcHVibGljIENJRUNfU1RSVUNUIHsKKyAgREVDTEFSRV9GSVJNV0FSRV9EQVRBVFlQRShPcmNoZXN0cmF0aW9uRm9ybSkKKworICBwdWJsaWM6CisgICAgQ0lFQ19PcmNoZXN0cmF0aW9uRm9ybSgpOworCisgICAgdmlydHVhbCB+Q0lFQ19PcmNoZXN0cmF0aW9uRm9ybSgpIHsKKyAgICB9CisKKyAgICBDSUVDX0Fycm93aGVhZFNlcnZpY2UgJnNlcnZpY2UoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQXJyb3doZWFkU2VydmljZSo+KCZnZXRNZW1iZXJzKClbMF0pOworICAgIH0KKworICAgIENJRUNfQXJyb3doZWFkU3lzdGVtICZwcm92aWRlcigpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRTeXN0ZW0qPigmZ2V0TWVtYmVycygpWzFdKTsKKyAgICB9CisKKyAgICBDSUVDX1dTVFJJTkcgJnNlcnZpY2VVUkkoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KCZnZXRNZW1iZXJzKClbMl0pOworICAgIH0KKworICAgIENJRUNfV1NUUklORyAmaW5zdHJ1Y3Rpb24oKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyAqPigmZ2V0TWVtYmVycygpWzNdKTsKKyAgICB9CisKKyAgICBDSUVDX1dTVFJJTkcgJmF1dGhvcml6YXRpb25Ub2tlbigpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HICo+KCZnZXRNZW1iZXJzKClbNF0pOworICAgIH0KKworICAgIENJRUNfV1NUUklORyAmc2lnbmF0dXJlKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcgKj4oJmdldE1lbWJlcnMoKVs1XSk7CisgICAgfQorCisgICAgQ0lFQ19XU1RSSU5HICp3YXJuaW5ncygpIHsKKyAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPigoKnN0YXRpY19jYXN0PENJRUNfQVJSQVkgKj4oJmdldE1lbWJlcnMoKVs2XSkpWzBdKTsgLy90aGUgZmlyc3QgZWxlbWVudCBtYXJrcyB0aGUgc3RhcnQgb2YgdGhlIGFycmF5CisgICAgfQorCisgIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtRWxlbWVudFR5cGVzW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtRWxlbWVudE5hbWVzW107Cit9OworCisjZW5kaWYgLy9fRk9SVEVfT1JDSEVTVFJBVElPTkZPUk1fSF8KKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9mb3J0ZV9wcmVmZXJyZWRwcm92aWRlci5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL2ZvcnRlX3ByZWZlcnJlZHByb3ZpZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjQ0MWRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9mb3J0ZV9wcmVmZXJyZWRwcm92aWRlci5jcHAKQEAgLTAsMCArMSwyNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImZvcnRlX3ByZWZlcnJlZHByb3ZpZGVyLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiZm9ydGVfcHJlZmVycmVkcHJvdmlkZXJfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfREFUQVRZUEUoUHJlZmVycmVkUHJvdmlkZXIsIGdfblN0cmluZ0lkUHJlZmVycmVkUHJvdmlkZXIpOworCitDSUVDX1ByZWZlcnJlZFByb3ZpZGVyOjpDSUVDX1ByZWZlcnJlZFByb3ZpZGVyKCkgOgorICAgIENJRUNfU1RSVUNUKGdfblN0cmluZ0lkUHJlZmVycmVkUHJvdmlkZXIsIDIsIHNjbUVsZW1lbnRUeXBlcywgc2NtRWxlbWVudE5hbWVzLCBlX0FQUExJQ0FUSU9OICsgZV9DT05TVFJVQ1RFRCArIDEpIHsKK30KKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBDSUVDX1ByZWZlcnJlZFByb3ZpZGVyOjpzY21FbGVtZW50VHlwZXNbXSA9IHsgZ19uU3RyaW5nSWRBcnJvd2hlYWRTeXN0ZW0sIGdfblN0cmluZ0lkQXJyb3doZWFkQ2xvdWQgfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgQ0lFQ19QcmVmZXJyZWRQcm92aWRlcjo6c2NtRWxlbWVudE5hbWVzW10gPSB7IGdfblN0cmluZ0lkcHJvdmlkZXJTeXN0ZW0sIGdfblN0cmluZ0lkcHJvdmlkZXJDbG91ZCB9OwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9mb3J0ZV9wcmVmZXJyZWRwcm92aWRlci5oIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9mb3J0ZV9wcmVmZXJyZWRwcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5ZGZmNGQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL2ZvcnRlX3ByZWZlcnJlZHByb3ZpZGVyLmgKQEAgLTAsMCArMSw0MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRk9SVEVfUFJFRkVSRURQUk9WSURFUl9IXworI2RlZmluZSBfRk9SVEVfUFJFRkVSRURQUk9WSURFUl9IXworCisjaW5jbHVkZSAiZm9ydGVfc3RydWN0LmgiCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkc3lzdGVtLmgiCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkY2xvdWQuaCIKKworY2xhc3MgQ0lFQ19QcmVmZXJyZWRQcm92aWRlciA6IHB1YmxpYyBDSUVDX1NUUlVDVCB7CisgIERFQ0xBUkVfRklSTVdBUkVfREFUQVRZUEUoUHJlZmVycmVkUHJvdmlkZXIpCisKKyAgcHVibGljOgorICAgIENJRUNfUHJlZmVycmVkUHJvdmlkZXIoKTsKKworICAgIHZpcnR1YWwgfkNJRUNfUHJlZmVycmVkUHJvdmlkZXIoKSB7CisgICAgfQorCisgICAgQ0lFQ19BcnJvd2hlYWRTeXN0ZW0gJnByb3ZpZGVyU3lzdGVtKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0Fycm93aGVhZFN5c3RlbSo+KCZnZXRNZW1iZXJzKClbMF0pOworICAgIH0KKworICAgIENJRUNfQXJyb3doZWFkQ2xvdWQgJnByb3ZpZGVyQ2xvdWQoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQXJyb3doZWFkQ2xvdWQqPigmZ2V0TWVtYmVycygpWzFdKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50VHlwZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50TmFtZXNbXTsKK307CisKKyNlbmRpZiAvL19GT1JURV9QUkVGRVJFRFBST1ZJREVSX0hfCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL2ZvcnRlX3NlcnZpY2VyZXF1ZXN0Zm9ybS5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvb3JjaGVzdHJhdG9yL2ZvcnRlX3NlcnZpY2VyZXF1ZXN0Zm9ybS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdkYWM2MQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvZm9ydGVfc2VydmljZXJlcXVlc3Rmb3JtLmNwcApAQCAtMCwwICsxLDI4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiZm9ydGVfc2VydmljZXJlcXVlc3Rmb3JtLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiZm9ydGVfc2VydmljZXJlcXVlc3Rmb3JtX2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0RBVEFUWVBFKFNlcnZpY2VSZXF1ZXN0Rm9ybSwgZ19uU3RyaW5nSWRTZXJ2aWNlUmVxdWVzdEZvcm0pOworCitDSUVDX1NlcnZpY2VSZXF1ZXN0Rm9ybTo6Q0lFQ19TZXJ2aWNlUmVxdWVzdEZvcm0oKSA6CisgICAgQ0lFQ19TVFJVQ1QoZ19uU3RyaW5nSWRTZXJ2aWNlUmVxdWVzdEZvcm0sIDYsIHNjbUVsZW1lbnRUeXBlcywgc2NtRWxlbWVudE5hbWVzLCBlX0FQUExJQ0FUSU9OICsgZV9DT05TVFJVQ1RFRCArIDEpIHsKK30KKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBDSUVDX1NlcnZpY2VSZXF1ZXN0Rm9ybTo6c2NtRWxlbWVudFR5cGVzW10gPSB7IGdfblN0cmluZ0lkQXJyb3doZWFkU3lzdGVtLCBnX25TdHJpbmdJZEFycm93aGVhZENsb3VkLAorICBnX25TdHJpbmdJZEFycm93aGVhZFNlcnZpY2UsIGdfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkQVJSQVksIDEwLCBnX25TdHJpbmdJZFByZWZlcnJlZFByb3ZpZGVyLCBnX25TdHJpbmdJZEFSUkFZLCAxMCwKKyAgZ19uU3RyaW5nSWRXU1RSSU5HIH07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIENJRUNfU2VydmljZVJlcXVlc3RGb3JtOjpzY21FbGVtZW50TmFtZXNbXSA9IHsgZ19uU3RyaW5nSWRyZXF1ZXN0ZXJTeXN0ZW0sIGdfblN0cmluZ0lkcmVxdWVzdGVyQ2xvdWQsCisgIGdfblN0cmluZ0lkcmVxdWVzdGVkU2VydmljZSwgZ19uU3RyaW5nSWRvcmNoZXN0cmF0aW9uRmxhZ3MsIGdfblN0cmluZ0lkcHJlZmVycmVkUHJvdmlkZXJzLCBnX25TdHJpbmdJZHJlcXVlc3RlZFFvUyB9OwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL29yY2hlc3RyYXRvci9mb3J0ZV9zZXJ2aWNlcmVxdWVzdGZvcm0uaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvZm9ydGVfc2VydmljZXJlcXVlc3Rmb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlmMjg5ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9vcmNoZXN0cmF0b3IvZm9ydGVfc2VydmljZXJlcXVlc3Rmb3JtLmgKQEAgLTAsMCArMSw2NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRk9SVEVfU0VSVklDRVJFUVVFU1RGT1JNX0hfCisjZGVmaW5lIF9GT1JURV9TRVJWSUNFUkVRVUVTVEZPUk1fSF8KKworI2luY2x1ZGUgImZvcnRlX3N0cnVjdC5oIgorI2luY2x1ZGUgImZvcnRlX2Fycm93aGVhZHN5c3RlbS5oIgorI2luY2x1ZGUgImZvcnRlX2Fycm93aGVhZGNsb3VkLmgiCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkc2VydmljZS5oIgorI2luY2x1ZGUgImZvcnRlX3dzdHJpbmcuaCIKKyNpbmNsdWRlICJmb3J0ZV9kaW50LmgiCisjaW5jbHVkZSAiZm9ydGVfYXJyYXkuaCIKKyNpbmNsdWRlICJmb3J0ZV9wcmVmZXJyZWRwcm92aWRlci5oIgorCitjbGFzcyBDSUVDX1NlcnZpY2VSZXF1ZXN0Rm9ybSA6IHB1YmxpYyBDSUVDX1NUUlVDVCB7CisgIERFQ0xBUkVfRklSTVdBUkVfREFUQVRZUEUoU2VydmljZVJlcXVlc3RGb3JtKQorCisgIHB1YmxpYzoKKyAgICBDSUVDX1NlcnZpY2VSZXF1ZXN0Rm9ybSgpOworCisgICAgdmlydHVhbCB+Q0lFQ19TZXJ2aWNlUmVxdWVzdEZvcm0oKSB7CisgICAgfQorCisgICAgQ0lFQ19BcnJvd2hlYWRTeXN0ZW0gJnJlcXVlc3RlclN5c3RlbSgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRTeXN0ZW0qPigmZ2V0TWVtYmVycygpWzBdKTsKKyAgICB9CisKKyAgICBDSUVDX0Fycm93aGVhZENsb3VkICZyZXF1ZXN0ZXJDbG91ZCgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRDbG91ZCo+KCZnZXRNZW1iZXJzKClbMV0pOworICAgIH0KKworICAgIENJRUNfQXJyb3doZWFkU2VydmljZSAmcmVxdWVzdGVkU2VydmljZSgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRTZXJ2aWNlKj4oJmdldE1lbWJlcnMoKVsyXSk7CisgICAgfQorCisgICAgQ0lFQ19XU1RSSU5HICpvcmNoZXN0cmF0aW9uRmxhZ3MoKSB7CisgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oKCpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZICo+KCZnZXRNZW1iZXJzKClbM10pKVswXSk7IC8vdGhlIGZpcnN0IGVsZW1lbnQgbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBhcnJheQorICAgIH0KKworICAgIENJRUNfUHJlZmVycmVkUHJvdmlkZXIgKnByZWZlcnJlZFByb3ZpZGVycygpIHsKKyAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxDSUVDX1ByZWZlcnJlZFByb3ZpZGVyKj4oKCpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZICo+KCZnZXRNZW1iZXJzKClbNF0pKVswXSk7IC8vdGhlIGZpcnN0IGVsZW1lbnQgbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBhcnJheQorICAgIH0KKworICAgIENJRUNfV1NUUklORyAqcmVxdWVzdGVkUW9TKCkgeworICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KCgqc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSAqPigmZ2V0TWVtYmVycygpWzVdKSlbMF0pOyAvL3RoZSBmaXJzdCBlbGVtZW50IG1hcmtzIHRoZSBzdGFydCBvZiB0aGUgYXJyYXkKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50VHlwZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50TmFtZXNbXTsKK307CisKKyNlbmRpZiAvL19GT1JURV9TRVJWSUNFUkVRVUVTVEZPUk1fSF8KKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FhODM4MAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyOCBAQAorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQXJyb3doZWFkIHNwZWNpZmljIGZ1bmN0aW9uYWwgYmxvY2tzIGZvciBzZXJ2aWNlIHJlZ2lzdHJ5CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmb3J0ZV9hZGRfaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKKyNkYXRhdHlwZQorZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChmb3J0ZV9zZXJ2aWNlcmVnaXN0cnllbnRyeSBmb3J0ZV9zZXJ2aWNlcXVlcnlmb3JtKQorCisjU2VydmljZSBSZWdpc3RyeSAKK2ZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtIEZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkgUXVlcnlTZXJ2aWNlIFF1ZXJ5U2VydmljZXNBZHAgUmVnaXN0ZXJTZXJ2aWNlIFJlZ2lzdGVyU2VydmljZUFkcCBTZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSkKKyAgICAgICAgICAgICAgICAKK2lmKEZPUlRFX0NPTV9IVFRQKQorICBhZGRfc3ViZGlyZWN0b3J5KEhUVFApCitlbmRpZihGT1JURV9DT01fSFRUUCkKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uY3BwIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4OWM3NDYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5jcHAKQEAgLTAsMCArMSw4OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0sIGdfblN0cmluZ0lkRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybTo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHNlcnZpY2UsIGdfblN0cmluZ0lkbWV0YWRhdGFTZWFyY2gsIGdfblN0cmluZ0lkcGluZ1Byb3ZpZGVycywgZ19uU3RyaW5nSWR2ZXJzaW9ufTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm06OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEFycm93aGVhZFNlcnZpY2UsIGdfblN0cmluZ0lkQk9PTCwgZ19uU3RyaW5nSWRCT09MLCBnX25TdHJpbmdJZERJTlR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybTo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRzZXJ2aWNlUXVlcnlGb3JtfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm06OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRTZXJ2aWNlUXVlcnlGb3JtfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtOjpzY21fYW5FSVdpdGhbXSA9IHswLCAzLCAyLCAxLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm06OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybTo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybTo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybTo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICA0LCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCit2b2lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybTo6YWxnX1JFUSh2b2lkKXsKK3NlcnZpY2VRdWVyeUZvcm0oKS5zZXJ2aWNlKCkgPSBzZXJ2aWNlKCk7CitzZXJ2aWNlUXVlcnlGb3JtKCkubWV0YWRhdGFTZWFyY2goKSA9IG1ldGFkYXRhU2VhcmNoKCk7CitzZXJ2aWNlUXVlcnlGb3JtKCkucGluZ1Byb3ZpZGVycygpID0gcGluZ1Byb3ZpZGVycygpOworc2VydmljZVF1ZXJ5Rm9ybSgpLnZlcnNpb24oKSA9IHZlcnNpb24oKTsKKworfQorCisKK3ZvaWQgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtOjplbnRlclN0YXRlU1RBUlQodm9pZCl7CisgIG1fbkVDQ1N0YXRlID0gc2NtX25TdGF0ZVNUQVJUOworfQorCit2b2lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybTo6ZW50ZXJTdGF0ZVJFUSh2b2lkKXsKKyAgbV9uRUNDU3RhdGUgPSBzY21fblN0YXRlUkVROworICBhbGdfUkVRKCk7CisgIHNlbmRPdXRwdXRFdmVudCggc2NtX25FdmVudENORklEKTsKK30KKwordm9pZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm06OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpeworICBib29sIGJUcmFuc2l0aW9uQ2xlYXJlZDsKKyAgZG97CisgICAgYlRyYW5zaXRpb25DbGVhcmVkID0gdHJ1ZTsKKyAgICBzd2l0Y2gobV9uRUNDU3RhdGUpeworICAgICAgY2FzZSBzY21fblN0YXRlU1RBUlQ6CisgICAgICAgIGlmKHNjbV9uRXZlbnRSRVFJRCA9PSBwYV9uRUlJRCkKKyAgICAgICAgICBlbnRlclN0YXRlUkVRKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBiVHJhbnNpdGlvbkNsZWFyZWQgID0gZmFsc2U7IC8vbm8gdHJhbnNpdGlvbiBjbGVhcmVkCisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBzY21fblN0YXRlUkVROgorICAgICAgICBpZigxKQorICAgICAgICAgIGVudGVyU3RhdGVTVEFSVCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgYlRyYW5zaXRpb25DbGVhcmVkICA9IGZhbHNlOyAvL25vIHRyYW5zaXRpb24gY2xlYXJlZAorICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICBERVZMT0dfRVJST1IoIlRoZSBzdGF0ZSBpcyBub3QgaW4gdGhlIHZhbGlkIHJhbmdlISBUaGUgc3RhdGUgdmFsdWUgaXM6ICVkLiBUaGUgbWF4IHZhbHVlIGNhbiBiZTogMS4iLCBtX25FQ0NTdGF0ZS5vcGVyYXRvciBURm9ydGVVSW50MTYgKCkpOworICAgICAgICBtX25FQ0NTdGF0ZSA9IDA7IC8vMCBpcyBhbHdheXMgdGhlIGluaXRpYWwgc3RhdGUKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHBhX25FSUlEID0gY2dfbkludmFsaWRFdmVudElEOyAgLy8gd2UgaGF2ZSB0byBjbGVhciB0aGUgZXZlbnQgYWZ0ZXIgdGhlIGZpcnN0IGNoZWNrIGluIG9yZGVyIHRvIGVuc3VyZSBjb3JyZWN0IGJlaGF2aW9yCisgIH13aGlsZShiVHJhbnNpdGlvbkNsZWFyZWQpOworfQorCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvRmllbGRzVG9TZXJ2aWNlUXVlcnlGb3JtLmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhOTA4MGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybS5oCkBAIC0wLDAgKzEsODMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZJRUxEU1RPU0VSVklDRVFVRVJZRk9STV9IXworI2RlZmluZSBfRklFTERTVE9TRVJWSUNFUVVFUllGT1JNX0hfCisKKyNpbmNsdWRlIDxiYXNpY2ZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfc2VydmljZXF1ZXJ5Zm9ybS5oPgorI2luY2x1ZGUgPGZvcnRlX2Fycm93aGVhZHNlcnZpY2UuaD4KKyNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+CisjaW5jbHVkZSA8Zm9ydGVfZGludC5oPgorCitjbGFzcyBGT1JURV9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm06IHB1YmxpYyBDQmFzaWNGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9GaWVsZHNUb1NlcnZpY2VRdWVyeUZvcm0pCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19BcnJvd2hlYWRTZXJ2aWNlICZzZXJ2aWNlKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRTZXJ2aWNlKj4oZ2V0REkoMCkpOworICB9OworCisgIENJRUNfQk9PTCAmbWV0YWRhdGFTZWFyY2goKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRESSgxKSk7CisgIH07CisKKyAgQ0lFQ19CT09MICZwaW5nUHJvdmlkZXJzKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oZ2V0REkoMikpOworICB9OworCisgIENJRUNfRElOVCAmdmVyc2lvbigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfRElOVCo+KGdldERJKDMpKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19TZXJ2aWNlUXVlcnlGb3JtICZzZXJ2aWNlUXVlcnlGb3JtKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TZXJ2aWNlUXVlcnlGb3JtKj4oZ2V0RE8oMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50UkVRSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRUlXaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudElucHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudENORklEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgRk9SVEVfQkFTSUNfRkJfREFUQV9BUlJBWSgxLCA0LCAxLCAwLCAwKTsKKyAgdm9pZCBhbGdfUkVRKHZvaWQpOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX25TdGF0ZVNUQVJUID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9uU3RhdGVSRVEgPSAxOworCisgIHZvaWQgZW50ZXJTdGF0ZVNUQVJUKHZvaWQpOworICB2b2lkIGVudGVyU3RhdGVSRVEodm9pZCk7CisKKyAgdmlydHVhbCB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpOworCitwdWJsaWM6CisgIEZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcykgOiAKKyAgICAgICBDQmFzaWNGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZpZWxkc1RvU2VydmljZVF1ZXJ5Rm9ybSgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBmOTVlNwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIkZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5X2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnksIGdfblN0cmluZ0lkRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeSkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkcHJvdmlkZWRTZXJ2aWNlLCBnX25TdHJpbmdJZHByb3ZpZGVyLCBnX25TdHJpbmdJZHNlcnZpY2VVUkksIGdfblN0cmluZ0lkdmVyc2lvbiwgZ19uU3RyaW5nSWR1ZHAsIGdfblN0cmluZ0lkdHRsLCBnX25TdHJpbmdJZG1ldGFkYXRhfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21fYW5EYXRhSW5wdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRBcnJvd2hlYWRTZXJ2aWNlLCBnX25TdHJpbmdJZEFycm93aGVhZFN5c3RlbSwgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZERJTlQsIGdfblN0cmluZ0lkQk9PTCwgZ19uU3RyaW5nSWRESU5ULCBnX25TdHJpbmdJZFdTVFJJTkd9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkc2VydmljZVJlZ2lzdHJ5RW50cnl9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRTZXJ2aWNlUmVnaXN0cnlFbnRyeX07CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21fYW5FSVdpdGhbXSA9IHs2LCA1LCA0LCAzLCAyLCAxLCAwLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFJFUX07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21fYW5FT1dpdGhbXSA9IHswLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeTo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeTo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkQ05GfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDEsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAxLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDcsICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywKKyAgMSwgIHNjbV9hbkRhdGFPdXRwdXROYW1lcywgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHMsCisgIDAsIDAKK307CisKK3ZvaWQgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeTo6YWxnX1JFUSh2b2lkKXsKK3NlcnZpY2VSZWdpc3RyeUVudHJ5KCkucHJvdmlkZWRTZXJ2aWNlKCkgPSBwcm92aWRlZFNlcnZpY2UoKTsKK3NlcnZpY2VSZWdpc3RyeUVudHJ5KCkucHJvdmlkZXIoKSA9IHByb3ZpZGVyKCk7CitzZXJ2aWNlUmVnaXN0cnlFbnRyeSgpLnNlcnZpY2VVUkkoKSA9IHNlcnZpY2VVUkkoKTsKK3NlcnZpY2VSZWdpc3RyeUVudHJ5KCkudmVyc2lvbigpID0gdmVyc2lvbigpOworc2VydmljZVJlZ2lzdHJ5RW50cnkoKS51ZHAoKSA9IHVkcCgpOworc2VydmljZVJlZ2lzdHJ5RW50cnkoKS50dGwoKSA9IHR0bCgpOworc2VydmljZVJlZ2lzdHJ5RW50cnkoKS5tZXRhZGF0YSgpID0gbWV0YWRhdGEoKTsKKworfQorCisKK3ZvaWQgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeTo6ZW50ZXJTdGF0ZVNUQVJUKHZvaWQpeworICBtX25FQ0NTdGF0ZSA9IHNjbV9uU3RhdGVTVEFSVDsKK30KKwordm9pZCBGT1JURV9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5OjplbnRlclN0YXRlUkVRKHZvaWQpeworICBtX25FQ0NTdGF0ZSA9IHNjbV9uU3RhdGVSRVE7CisgIGFsZ19SRVEoKTsKKyAgc2VuZE91dHB1dEV2ZW50KCBzY21fbkV2ZW50Q05GSUQpOworfQorCit2b2lkIEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnk6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpeworICBib29sIGJUcmFuc2l0aW9uQ2xlYXJlZDsKKyAgZG97CisgICAgYlRyYW5zaXRpb25DbGVhcmVkID0gdHJ1ZTsKKyAgICBzd2l0Y2gobV9uRUNDU3RhdGUpeworICAgICAgY2FzZSBzY21fblN0YXRlU1RBUlQ6CisgICAgICAgIGlmKHNjbV9uRXZlbnRSRVFJRCA9PSBwYV9uRUlJRCkKKyAgICAgICAgICBlbnRlclN0YXRlUkVRKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBiVHJhbnNpdGlvbkNsZWFyZWQgID0gZmFsc2U7IC8vbm8gdHJhbnNpdGlvbiBjbGVhcmVkCisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBzY21fblN0YXRlUkVROgorICAgICAgICBpZigxKQorICAgICAgICAgIGVudGVyU3RhdGVTVEFSVCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgYlRyYW5zaXRpb25DbGVhcmVkICA9IGZhbHNlOyAvL25vIHRyYW5zaXRpb24gY2xlYXJlZAorICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICBERVZMT0dfRVJST1IoIlRoZSBzdGF0ZSBpcyBub3QgaW4gdGhlIHZhbGlkIHJhbmdlISBUaGUgc3RhdGUgdmFsdWUgaXM6ICVkLiBUaGUgbWF4IHZhbHVlIGNhbiBiZTogMS4iLCBtX25FQ0NTdGF0ZS5vcGVyYXRvciBURm9ydGVVSW50MTYgKCkpOworICAgICAgICBtX25FQ0NTdGF0ZSA9IDA7IC8vMCBpcyBhbHdheXMgdGhlIGluaXRpYWwgc3RhdGUKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHBhX25FSUlEID0gY2dfbkludmFsaWRFdmVudElEOyAgLy8gd2UgaGF2ZSB0byBjbGVhciB0aGUgZXZlbnQgYWZ0ZXIgdGhlIGZpcnN0IGNoZWNrIGluIG9yZGVyIHRvIGVuc3VyZSBjb3JyZWN0IGJlaGF2aW9yCisgIH13aGlsZShiVHJhbnNpdGlvbkNsZWFyZWQpOworfQorCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5oIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9GaWVsZHNUb1NlcnZpY2VSZWdpc3RyeUVudHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlmOWNjNgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeS5oCkBAIC0wLDAgKzEsOTcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZJRUxEU1RPU0VSVklDRVJFR0lTVFJZRU5UUllfSF8KKyNkZWZpbmUgX0ZJRUxEU1RPU0VSVklDRVJFR0lTVFJZRU5UUllfSF8KKworI2luY2x1ZGUgPGJhc2ljZmIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hcnJvd2hlYWRzZXJ2aWNlLmg+CisjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgorI2luY2x1ZGUgPGZvcnRlX2Fycm93aGVhZHN5c3RlbS5oPgorI2luY2x1ZGUgPGZvcnRlX2RpbnQuaD4KKyNpbmNsdWRlIDxmb3J0ZV9zZXJ2aWNlcmVnaXN0cnllbnRyeS5oPgorI2luY2x1ZGUgPGZvcnRlX3dzdHJpbmcuaD4KKworY2xhc3MgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeTogcHVibGljIENCYXNpY0ZCeworICBERUNMQVJFX0ZJUk1XQVJFX0ZCKEZPUlRFX0ZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19BcnJvd2hlYWRTZXJ2aWNlICZwcm92aWRlZFNlcnZpY2UoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0Fycm93aGVhZFNlcnZpY2UqPihnZXRESSgwKSk7CisgIH07CisKKyAgQ0lFQ19BcnJvd2hlYWRTeXN0ZW0gJnByb3ZpZGVyKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRTeXN0ZW0qPihnZXRESSgxKSk7CisgIH07CisKKyAgQ0lFQ19XU1RSSU5HICZzZXJ2aWNlVVJJKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMikpOworICB9OworCisgIENJRUNfRElOVCAmdmVyc2lvbigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfRElOVCo+KGdldERJKDMpKTsKKyAgfTsKKworICBDSUVDX0JPT0wgJnVkcCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERJKDQpKTsKKyAgfTsKKworICBDSUVDX0RJTlQgJnR0bCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfRElOVCo+KGdldERJKDUpKTsKKyAgfTsKKworICBDSUVDX1dTVFJJTkcgJm1ldGFkYXRhKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoNikpOworICB9OworCisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX1NlcnZpY2VSZWdpc3RyeUVudHJ5ICZzZXJ2aWNlUmVnaXN0cnlFbnRyeSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnkqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9CQVNJQ19GQl9EQVRBX0FSUkFZKDEsIDcsIDEsIDAsIDApOworICB2b2lkIGFsZ19SRVEodm9pZCk7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fblN0YXRlU1RBUlQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX25TdGF0ZVJFUSA9IDE7CisKKyAgdm9pZCBlbnRlclN0YXRlU1RBUlQodm9pZCk7CisgIHZvaWQgZW50ZXJTdGF0ZVJFUSh2b2lkKTsKKworICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CisKK3B1YmxpYzoKKyAgRk9SVEVfRmllbGRzVG9TZXJ2aWNlUmVnaXN0cnlFbnRyeShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYV9wb1NyY1JlcykgOiAKKyAgICAgICBDQmFzaWNGQihwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLAorICAgICAgICAgICAgICAwLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX0ZpZWxkc1RvU2VydmljZVJlZ2lzdHJ5RW50cnkoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvSFRUUC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvSFRUUC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTkyNmFlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9IVFRQL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjEgQEAKKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIyBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEFycm93aGVhZCBzcGVjaWZpYyBmdW5jdGlvbmFsIGJsb2NrcyBmb3IgSFRUUCBmb3Igc2VydmljZSByZWdpc3RyeQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZm9ydGVfYWRkX2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKFF1ZXJ5U2VydmljZUhUVFAgUmVnaXN0ZXJTZXJ2aWNlSFRUUCkKKworICAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L0hUVFAvUXVlcnlTZXJ2aWNlSFRUUC5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L0hUVFAvUXVlcnlTZXJ2aWNlSFRUUC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI3ZTE3MAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvSFRUUC9RdWVyeVNlcnZpY2VIVFRQLmNwcApAQCAtMCwwICsxLDg2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiUXVlcnlTZXJ2aWNlSFRUUC5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIlF1ZXJ5U2VydmljZUhUVFBfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfUXVlcnlTZXJ2aWNlSFRUUCwgZ19uU3RyaW5nSWRRdWVyeVNlcnZpY2VIVFRQKQorCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9RdWVyeVNlcnZpY2VIVFRQOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7LTF9OworY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiBGT1JURV9RdWVyeVNlcnZpY2VIVFRQOjpzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdID0gewore2dfblN0cmluZ0lkUXVlcnlTZXJ2aWNlc0FkcCwgZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCBmYWxzZSB9fTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9RdWVyeVNlcnZpY2VIVFRQOjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDAsICAwLCAgMCwgIDAsCisgIDAsICAwLCAgIDAsIDAsICAwLCAgMCwgMCwgCisgIDAsICAwLCAwLAorICAxLHNjbV9hc3RBZGFwdGVySW5zdGFuY2VzfTsKKworCitjb25zdCBTQ0ZCX0ZCSW5zdGFuY2VEYXRhIEZPUlRFX1F1ZXJ5U2VydmljZUhUVFA6OnNjbV9hc3RJbnRlcm5hbEZCc1tdID0geworICB7Z19uU3RyaW5nSWRBUFBFTkRfU1RSSU5HXzMsIGdfblN0cmluZ0lkQVBQRU5EX1NUUklOR18zfSwKKyAge2dfblN0cmluZ0lkUXVlcnksIGdfblN0cmluZ0lkQ0xJRU5UXzFfMn0sCisgIHtnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkRl9TVFJJTkdfVE9fV1NUUklOR30sCisgIHtnX25TdHJpbmdJZEluaXRGbGFnLCBnX25TdHJpbmdJZEVfU1J9LAorICB7Z19uU3RyaW5nSWRFX1BFUk1JVCwgZ19uU3RyaW5nSWRFX1BFUk1JVH0sCisgIHtnX25TdHJpbmdJZEFOWVRvSlNPTiwgZ19uU3RyaW5nSWRBTllUb0pTT059LAorICB7Z19uU3RyaW5nSWRHZXRIVFRQUmVzdWx0LCBnX25TdHJpbmdJZEdldEFycmF5UmVzcG9uc2VGcm9tSlNPTn0sCit9OworCitjb25zdCBTQ0ZCX0ZCUGFyYW1ldGVyIEZPUlRFX1F1ZXJ5U2VydmljZUhUVFA6OnNjbV9hc3RQYXJhbXRlcnNbXSA9IHsKKyAgezAsIGdfblN0cmluZ0lkSU5fMSwgIlNUUklORyNodHRwWyJ9LAorICB7MCwgZ19uU3RyaW5nSWRJTl8zLCAiU1RSSU5HIy9xdWVyeTsgUFVUOyBhcHBsaWNhdGlvbi9qc29uXSJ9LAorfTsKKworY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIEZPUlRFX1F1ZXJ5U2VydmljZUhUVFA6OnNjbV9hc3RFdmVudENvbm5lY3Rpb25zW10gPSB7CisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRBUFBFTkRfU1RSSU5HXzMsIGdfblN0cmluZ0lkQ05GKSwgMCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkRl9TVFJJTkdfVE9fV1NUUklORywgZ19uU3RyaW5nSWRSRVEpLCAyfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkQ05GKSwgMiwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkSW5pdEZsYWcsIGdfblN0cmluZ0lkUyksIDN9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkSW5pdEZsYWcsIGdfblN0cmluZ0lkRU8pLCAzLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRRdWVyeSwgZ19uU3RyaW5nSWRJTklUKSwgMX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRRdWVyeSwgZ19uU3RyaW5nSWRJTklUTyksIDEsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEVfUEVSTUlULCBnX25TdHJpbmdJZEVJKSwgNH0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRFX1BFUk1JVCwgZ19uU3RyaW5nSWRFTyksIDQsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFF1ZXJ5LCBnX25TdHJpbmdJZFJFUSksIDF9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkUXVlcnksIGdfblN0cmluZ0lkQ05GKSwgMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkSW5pdEZsYWcsIGdfblN0cmluZ0lkUiksIDN9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQU5ZVG9KU09OLCBnX25TdHJpbmdJZENORiksIDUsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEFQUEVORF9TVFJJTkdfMywgZ19uU3RyaW5nSWRSRVEpLCAwfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZHF1ZXJ5U2VydmljZXMsIGdfblN0cmluZ0lkcXVlcnkpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQU5ZVG9KU09OLCBnX25TdHJpbmdJZFJFUSksIDV9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkR2V0SFRUUFJlc3VsdCwgZ19uU3RyaW5nSWRDTkYpLCA2LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCBnX25TdHJpbmdJZHF1ZXJpZWQpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MH0sCit9OworCitjb25zdCBTQ0ZCX0ZCRmFubmVkT3V0Q29ubmVjdGlvbkRhdGEgRk9SVEVfUXVlcnlTZXJ2aWNlSFRUUDo6c2NtX2FzdEZhbm5lZE91dEV2ZW50Q29ubmVjdGlvbnNbXSA9IHsKKyAgezUsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEdldEhUVFBSZXN1bHQsIGdfblN0cmluZ0lkUkVRKSwgNn0sCit9OworCitjb25zdCBTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEgRk9SVEVfUXVlcnlTZXJ2aWNlSFRUUDo6c2NtX2FzdERhdGFDb25uZWN0aW9uc1tdID0geworICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQVBQRU5EX1NUUklOR18zLCBnX25TdHJpbmdJZE9VVCksIDAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkSU4pLCAyfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkT1VUKSwgMiwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkUXVlcnksIGdfblN0cmluZ0lkSUQpLCAxfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEluaXRGbGFnLCBnX25TdHJpbmdJZFEpLCAzLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRFX1BFUk1JVCwgZ19uU3RyaW5nSWRQRVJNSVQpLCA0fSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEFOWVRvSlNPTiwgZ19uU3RyaW5nSWRvdXRwdXQpLCA1LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRRdWVyeSwgZ19uU3RyaW5nSWRTRF8xKSwgMX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCBnX25TdHJpbmdJZHNlcnZpY2VRdWVyeUZvcm0pLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQU5ZVG9KU09OLCBnX25TdHJpbmdJZGlucHV0KSwgNX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCBnX25TdHJpbmdJZGVuZHBvaW50KSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEFQUEVORF9TVFJJTkdfMywgZ19uU3RyaW5nSWRJTl8yKSwgMH0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRRdWVyeSwgZ19uU3RyaW5nSWRSRF8yKSwgMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkR2V0SFRUUFJlc3VsdCwgZ19uU3RyaW5nSWRyZXNwb25zZSksIDZ9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkR2V0SFRUUFJlc3VsdCwgZ19uU3RyaW5nSWRvdXRwdXQpLCA2LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCBnX25TdHJpbmdJZHNlcnZpY2VFbnRyaWVzKSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDB9LAorfTsKKworY29uc3QgU0NGQl9GQkZhbm5lZE91dENvbm5lY3Rpb25EYXRhIEZPUlRFX1F1ZXJ5U2VydmljZUhUVFA6OnNjbV9hc3RGYW5uZWRPdXREYXRhQ29ubmVjdGlvbnNbXSA9IHsKKyAgezIsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFF1ZXJ5LCBnX25TdHJpbmdJZFFJKSwgMX0sCit9OworCitjb25zdCBTQ0ZCX0ZCTkRhdGEgRk9SVEVfUXVlcnlTZXJ2aWNlSFRUUDo6c2NtX3N0RkJORGF0YSA9IHsKKyAgNywgc2NtX2FzdEludGVybmFsRkJzLAorICA5LCBzY21fYXN0RXZlbnRDb25uZWN0aW9ucywKKyAgMSwgc2NtX2FzdEZhbm5lZE91dEV2ZW50Q29ubmVjdGlvbnMsCisgIDgsIHNjbV9hc3REYXRhQ29ubmVjdGlvbnMsCisgIDEsIHNjbV9hc3RGYW5uZWRPdXREYXRhQ29ubmVjdGlvbnMsCisgIDIsIHNjbV9hc3RQYXJhbXRlcnMKK307CisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9IVFRQL1F1ZXJ5U2VydmljZUhUVFAuaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvSFRUUC9RdWVyeVNlcnZpY2VIVFRQLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY4NGE1NgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvSFRUUC9RdWVyeVNlcnZpY2VIVFRQLmgKQEAgLTAsMCArMSw1NyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfUVVFUllTRVJWSUNFSFRUUF9IXworI2RlZmluZSBfUVVFUllTRVJWSUNFSFRUUF9IXworCisjaW5jbHVkZSA8Y2ZiLmg+CisjaW5jbHVkZSA8dHlwZWxpYi5oPgorI2luY2x1ZGUgIlF1ZXJ5U2VydmljZXNBZHAuaCIKKworY2xhc3MgRk9SVEVfUXVlcnlTZXJ2aWNlSFRUUDogcHVibGljIENDb21wb3NpdGVGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9RdWVyeVNlcnZpY2VIVFRQKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiBzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdOworCisgIEZPUlRFX1F1ZXJ5U2VydmljZXNBZHAmIHF1ZXJ5U2VydmljZXMoKSB7CisgICAgcmV0dXJuICgqc3RhdGljX2Nhc3Q8Rk9SVEVfUXVlcnlTZXJ2aWNlc0FkcCo+KG1fYXBvQWRhcHRlcnNbMF0pKTsKKyAgfTsKKyAgc3RhdGljIGNvbnN0IGludCBzY21fbnF1ZXJ5U2VydmljZXNBZHBOdW0gPSAwOworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMCwgMCwgMCwgMSk7CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJJbnN0YW5jZURhdGEgc2NtX2FzdEludGVybmFsRkJzW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJQYXJhbWV0ZXIgc2NtX2FzdFBhcmFtdGVyc1tdOworCisgIHN0YXRpYyBjb25zdCBTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEgc2NtX2FzdEV2ZW50Q29ubmVjdGlvbnNbXTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQkZhbm5lZE91dENvbm5lY3Rpb25EYXRhIHNjbV9hc3RGYW5uZWRPdXRFdmVudENvbm5lY3Rpb25zW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJDb25uZWN0aW9uRGF0YSBzY21fYXN0RGF0YUNvbm5lY3Rpb25zW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJGYW5uZWRPdXRDb25uZWN0aW9uRGF0YSBzY21fYXN0RmFubmVkT3V0RGF0YUNvbm5lY3Rpb25zW107CisgIHN0YXRpYyBjb25zdCBTQ0ZCX0ZCTkRhdGEgc2NtX3N0RkJORGF0YTsKKworcHVibGljOgorICBDT01QT1NJVEVfRlVOQ1RJT05fQkxPQ0tfQ1RPUihGT1JURV9RdWVyeVNlcnZpY2VIVFRQKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9RdWVyeVNlcnZpY2VIVFRQKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L0hUVFAvUmVnaXN0ZXJTZXJ2aWNlSFRUUC5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L0hUVFAvUmVnaXN0ZXJTZXJ2aWNlSFRUUC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg1MzYzYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvSFRUUC9SZWdpc3RlclNlcnZpY2VIVFRQLmNwcApAQCAtMCwwICsxLDEwNCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIlJlZ2lzdGVyU2VydmljZUhUVFAuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJSZWdpc3RlclNlcnZpY2VIVFRQX2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX1JlZ2lzdGVyU2VydmljZUhUVFAsIGdfblN0cmluZ0lkUmVnaXN0ZXJTZXJ2aWNlSFRUUCkKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlSFRUUDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gey0xfTsKK2NvbnN0IFNBZGFwdGVySW5zdGFuY2VEZWYgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlSFRUUDo6c2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXNbXSA9IHsKK3tnX25TdHJpbmdJZFJlZ2lzdGVyU2VydmljZUFkcCwgZ19uU3RyaW5nSWRyZWdpc3RlclNlcnZpY2UsIGZhbHNlIH19OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX1JlZ2lzdGVyU2VydmljZUhUVFA6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMCwgIDAsICAwLCAgMCwKKyAgMCwgIDAsICAgMCwgMCwgIDAsICAwLCAwLCAKKyAgMCwgIDAsIDAsCisgIDEsc2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXN9OworCisKK2NvbnN0IFNDRkJfRkJJbnN0YW5jZURhdGEgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlSFRUUDo6c2NtX2FzdEludGVybmFsRkJzW10gPSB7CisgIHtnX25TdHJpbmdJZFJlZ2lzdGVyLCBnX25TdHJpbmdJZENMSUVOVF8xXzJ9LAorICB7Z19uU3RyaW5nSWRVbnJlZ2lzdGVyLCBnX25TdHJpbmdJZENMSUVOVF8xXzJ9LAorICB7Z19uU3RyaW5nSWRJbml0RmxhZ1JlZywgZ19uU3RyaW5nSWRFX1NSfSwKKyAge2dfblN0cmluZ0lkRV9QRVJNSVQsIGdfblN0cmluZ0lkRV9QRVJNSVR9LAorICB7Z19uU3RyaW5nSWRDcmVhdGVSZWdpc3RlcklELCBnX25TdHJpbmdJZEFQUEVORF9TVFJJTkdfM30sCisgIHtnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkRl9TVFJJTkdfVE9fV1NUUklOR30sCisgIHtnX25TdHJpbmdJZEVfUEVSTUlUXzEsIGdfblN0cmluZ0lkRV9QRVJNSVR9LAorICB7Z19uU3RyaW5nSWRJbml0RmxhZ1VuUmVnLCBnX25TdHJpbmdJZEVfU1J9LAorICB7Z19uU3RyaW5nSWRDcmVhdGVVblJlZ2lzdGVySUQsIGdfblN0cmluZ0lkQVBQRU5EX1NUUklOR18zfSwKKyAge2dfblN0cmluZ0lkRl9TVFJJTkdfVE9fV1NUUklOR18xLCBnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkd9LAorICB7Z19uU3RyaW5nSWRBTllUb0pTT04sIGdfblN0cmluZ0lkQU5ZVG9KU09OfSwKK307CisKK2NvbnN0IFNDRkJfRkJQYXJhbWV0ZXIgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlSFRUUDo6c2NtX2FzdFBhcmFtdGVyc1tdID0geworICB7NCwgZ19uU3RyaW5nSWRJTl8xLCAiU1RSSU5HI2h0dHBbIn0sCisgIHs0LCBnX25TdHJpbmdJZElOXzMsICJTVFJJTkcjL3JlZ2lzdGVyOyBQT1NUOyBhcHBsaWNhdGlvbi9qc29uXSJ9LAorICB7OCwgZ19uU3RyaW5nSWRJTl8xLCAiU1RSSU5HI2h0dHBbIn0sCisgIHs4LCBnX25TdHJpbmdJZElOXzMsICJTVFJJTkcjL3JlbW92ZTsgUFVUOyBhcHBsaWNhdGlvbi9qc29uXSJ9LAorfTsKKworY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIEZPUlRFX1JlZ2lzdGVyU2VydmljZUhUVFA6OnNjbV9hc3RFdmVudENvbm5lY3Rpb25zW10gPSB7CisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRDcmVhdGVSZWdpc3RlcklELCBnX25TdHJpbmdJZENORiksIDQsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkUkVRKSwgNX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRGX1NUUklOR19UT19XU1RSSU5HLCBnX25TdHJpbmdJZENORiksIDUsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEluaXRGbGFnUmVnLCBnX25TdHJpbmdJZFMpLCAyfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZENyZWF0ZVVuUmVnaXN0ZXJJRCwgZ19uU3RyaW5nSWRDTkYpLCA4LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRGX1NUUklOR19UT19XU1RSSU5HXzEsIGdfblN0cmluZ0lkUkVRKSwgOX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRGX1NUUklOR19UT19XU1RSSU5HXzEsIGdfblN0cmluZ0lkQ05GKSwgOSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkSW5pdEZsYWdVblJlZywgZ19uU3RyaW5nSWRTKSwgN30sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRJbml0RmxhZ1VuUmVnLCBnX25TdHJpbmdJZEVPKSwgNywgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkVW5yZWdpc3RlciwgZ19uU3RyaW5nSWRJTklUKSwgMX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRVbnJlZ2lzdGVyLCBnX25TdHJpbmdJZElOSVRPKSwgMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkRV9QRVJNSVRfMSwgZ19uU3RyaW5nSWRFSSksIDZ9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkRV9QRVJNSVRfMSwgZ19uU3RyaW5nSWRFTyksIDYsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFVucmVnaXN0ZXIsIGdfblN0cmluZ0lkUkVRKSwgMX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRVbnJlZ2lzdGVyLCBnX25TdHJpbmdJZENORiksIDEsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEluaXRGbGFnVW5SZWcsIGdfblN0cmluZ0lkUiksIDd9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkSW5pdEZsYWdSZWcsIGdfblN0cmluZ0lkRU8pLCAyLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRSZWdpc3RlciwgZ19uU3RyaW5nSWRJTklUKSwgMH0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRFX1BFUk1JVCwgZ19uU3RyaW5nSWRFTyksIDMsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFJlZ2lzdGVyLCBnX25TdHJpbmdJZFJFUSksIDB9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkUmVnaXN0ZXIsIGdfblN0cmluZ0lkSU5JVE8pLCAwLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRFX1BFUk1JVCwgZ19uU3RyaW5nSWRFSSksIDN9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkUmVnaXN0ZXIsIGdfblN0cmluZ0lkQ05GKSwgMCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkSW5pdEZsYWdSZWcsIGdfblN0cmluZ0lkUiksIDJ9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVnaXN0ZXJTZXJ2aWNlLCBnX25TdHJpbmdJZHJlZ2lzdGVyU2VydmljZSksIENDb21wb3NpdGVGQjo6c2NtX25BZGFwdGVyTWFya2VyIHwwLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRDcmVhdGVSZWdpc3RlcklELCBnX25TdHJpbmdJZFJFUSksIDR9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVnaXN0ZXJTZXJ2aWNlLCBnX25TdHJpbmdJZHVucmVnaXN0ZXJTZXJ2aWNlKSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZENyZWF0ZVVuUmVnaXN0ZXJJRCwgZ19uU3RyaW5nSWRSRVEpLCA4fSwKK307CisKK2NvbnN0IFNDRkJfRkJGYW5uZWRPdXRDb25uZWN0aW9uRGF0YSBGT1JURV9SZWdpc3RlclNlcnZpY2VIVFRQOjpzY21fYXN0RmFubmVkT3V0RXZlbnRDb25uZWN0aW9uc1tdID0geworICB7MSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQU5ZVG9KU09OLCBnX25TdHJpbmdJZFJFUSksIDEwfSwKKyAgezMsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEFOWVRvSlNPTiwgZ19uU3RyaW5nSWRSRVEpLCAxMH0sCisgIHs3LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRyZWdpc3RlclNlcnZpY2UsIGdfblN0cmluZ0lkZG9uZVVucmVnaXN0ZXIpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MH0sCisgIHsxMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVnaXN0ZXJTZXJ2aWNlLCBnX25TdHJpbmdJZGRvbmVSZWdpc3RlciksIENDb21wb3NpdGVGQjo6c2NtX25BZGFwdGVyTWFya2VyIHwwfSwKK307CisKK2NvbnN0IFNDRkJfRkJDb25uZWN0aW9uRGF0YSBGT1JURV9SZWdpc3RlclNlcnZpY2VIVFRQOjpzY21fYXN0RGF0YUNvbm5lY3Rpb25zW10gPSB7CisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRJbml0RmxhZ1JlZywgZ19uU3RyaW5nSWRRKSwgMiwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkRV9QRVJNSVQsIGdfblN0cmluZ0lkUEVSTUlUKSwgM30sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRDcmVhdGVSZWdpc3RlcklELCBnX25TdHJpbmdJZE9VVCksIDQsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkcsIGdfblN0cmluZ0lkSU4pLCA1fSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZENyZWF0ZVVuUmVnaXN0ZXJJRCwgZ19uU3RyaW5nSWRPVVQpLCA4LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRGX1NUUklOR19UT19XU1RSSU5HXzEsIGdfblN0cmluZ0lkSU4pLCA5fSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEZfU1RSSU5HX1RPX1dTVFJJTkdfMSwgZ19uU3RyaW5nSWRPVVQpLCA5LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRVbnJlZ2lzdGVyLCBnX25TdHJpbmdJZElEKSwgMX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRJbml0RmxhZ1VuUmVnLCBnX25TdHJpbmdJZFEpLCA3LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRVbnJlZ2lzdGVyLCBnX25TdHJpbmdJZFFJKSwgMX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRGX1NUUklOR19UT19XU1RSSU5HLCBnX25TdHJpbmdJZE9VVCksIDUsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFJlZ2lzdGVyLCBnX25TdHJpbmdJZElEKSwgMH0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRBTllUb0pTT04sIGdfblN0cmluZ0lkb3V0cHV0KSwgMTAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZFJlZ2lzdGVyLCBnX25TdHJpbmdJZFNEXzEpLCAwfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZHJlZ2lzdGVyU2VydmljZSwgZ19uU3RyaW5nSWRzZXJ2aWNlUmVnaXN0cnlFbnRyeSksIENDb21wb3NpdGVGQjo6c2NtX25BZGFwdGVyTWFya2VyIHwwLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRBTllUb0pTT04sIGdfblN0cmluZ0lkaW5wdXQpLCAxMH0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRyZWdpc3RlclNlcnZpY2UsIGdfblN0cmluZ0lkZW5kcG9pbnQpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkQ3JlYXRlUmVnaXN0ZXJJRCwgZ19uU3RyaW5nSWRJTl8yKSwgNH0sCit9OworCitjb25zdCBTQ0ZCX0ZCRmFubmVkT3V0Q29ubmVjdGlvbkRhdGEgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlSFRUUDo6c2NtX2FzdEZhbm5lZE91dERhdGFDb25uZWN0aW9uc1tdID0geworICB7MCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkUmVnaXN0ZXIsIGdfblN0cmluZ0lkUUkpLCAwfSwKKyAgezQsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZEVfUEVSTUlUXzEsIGdfblN0cmluZ0lkUEVSTUlUKSwgNn0sCisgIHs2LCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRVbnJlZ2lzdGVyLCBnX25TdHJpbmdJZFNEXzEpLCAxfSwKKyAgezgsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZENyZWF0ZVVuUmVnaXN0ZXJJRCwgZ19uU3RyaW5nSWRJTl8yKSwgOH0sCit9OworCitjb25zdCBTQ0ZCX0ZCTkRhdGEgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlSFRUUDo6c2NtX3N0RkJORGF0YSA9IHsKKyAgMTEsIHNjbV9hc3RJbnRlcm5hbEZCcywKKyAgMTQsIHNjbV9hc3RFdmVudENvbm5lY3Rpb25zLAorICA0LCBzY21fYXN0RmFubmVkT3V0RXZlbnRDb25uZWN0aW9ucywKKyAgOSwgc2NtX2FzdERhdGFDb25uZWN0aW9ucywKKyAgNCwgc2NtX2FzdEZhbm5lZE91dERhdGFDb25uZWN0aW9ucywKKyAgNCwgc2NtX2FzdFBhcmFtdGVycworfTsKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L0hUVFAvUmVnaXN0ZXJTZXJ2aWNlSFRUUC5oIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9IVFRQL1JlZ2lzdGVyU2VydmljZUhUVFAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2ZjZWRkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9IVFRQL1JlZ2lzdGVyU2VydmljZUhUVFAuaApAQCAtMCwwICsxLDU3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9SRUdJU1RFUlNFUlZJQ0VIVFRQX0hfCisjZGVmaW5lIF9SRUdJU1RFUlNFUlZJQ0VIVFRQX0hfCisKKyNpbmNsdWRlIDxjZmIuaD4KKyNpbmNsdWRlIDx0eXBlbGliLmg+CisjaW5jbHVkZSAiUmVnaXN0ZXJTZXJ2aWNlQWRwLmgiCisKK2NsYXNzIEZPUlRFX1JlZ2lzdGVyU2VydmljZUhUVFA6IHB1YmxpYyBDQ29tcG9zaXRlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlSFRUUCkKKworcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFNBZGFwdGVySW5zdGFuY2VEZWYgc2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXNbXTsKKworICBGT1JURV9SZWdpc3RlclNlcnZpY2VBZHAmIHJlZ2lzdGVyU2VydmljZSgpIHsKKyAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxGT1JURV9SZWdpc3RlclNlcnZpY2VBZHAqPihtX2Fwb0FkYXB0ZXJzWzBdKSk7CisgIH07CisgIHN0YXRpYyBjb25zdCBpbnQgc2NtX25yZWdpc3RlclNlcnZpY2VBZHBOdW0gPSAwOworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMCwgMCwgMCwgMSk7CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJJbnN0YW5jZURhdGEgc2NtX2FzdEludGVybmFsRkJzW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJQYXJhbWV0ZXIgc2NtX2FzdFBhcmFtdGVyc1tdOworCisgIHN0YXRpYyBjb25zdCBTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEgc2NtX2FzdEV2ZW50Q29ubmVjdGlvbnNbXTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQkZhbm5lZE91dENvbm5lY3Rpb25EYXRhIHNjbV9hc3RGYW5uZWRPdXRFdmVudENvbm5lY3Rpb25zW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJDb25uZWN0aW9uRGF0YSBzY21fYXN0RGF0YUNvbm5lY3Rpb25zW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJGYW5uZWRPdXRDb25uZWN0aW9uRGF0YSBzY21fYXN0RmFubmVkT3V0RGF0YUNvbm5lY3Rpb25zW107CisgIHN0YXRpYyBjb25zdCBTQ0ZCX0ZCTkRhdGEgc2NtX3N0RkJORGF0YTsKKworcHVibGljOgorICBDT01QT1NJVEVfRlVOQ1RJT05fQkxPQ0tfQ1RPUihGT1JURV9SZWdpc3RlclNlcnZpY2VIVFRQKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9SZWdpc3RlclNlcnZpY2VIVFRQKCl7fTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1F1ZXJ5U2VydmljZS5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1F1ZXJ5U2VydmljZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhhMGQ4MQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvUXVlcnlTZXJ2aWNlLmNwcApAQCAtMCwwICsxLDY2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiUXVlcnlTZXJ2aWNlLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiUXVlcnlTZXJ2aWNlX2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX1F1ZXJ5U2VydmljZSwgZ19uU3RyaW5nSWRRdWVyeVNlcnZpY2UpCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUXVlcnlTZXJ2aWNlOjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkc2VydmljZVF1ZXJ5Rm9ybSwgZ19uU3RyaW5nSWRhZGRyZXNzfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9RdWVyeVNlcnZpY2U6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFNlcnZpY2VRdWVyeUZvcm0sIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUXVlcnlTZXJ2aWNlOjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHNlcnZpY2VFbnRyaWVzfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9RdWVyeVNlcnZpY2U6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRBUlJBWSwgMTAsIGdfblN0cmluZ0lkU2VydmljZVJlZ2lzdHJ5RW50cnl9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9RdWVyeVNlcnZpY2U6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9RdWVyeVNlcnZpY2U6OnNjbV9hbkVJV2l0aFtdID0gezAsIDEsIDI1NX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1F1ZXJ5U2VydmljZTo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRxdWVyeX07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9RdWVyeVNlcnZpY2U6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9RdWVyeVNlcnZpY2U6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1F1ZXJ5U2VydmljZTo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkcXVlcmllZH07CisKK2NvbnN0IFNBZGFwdGVySW5zdGFuY2VEZWYgRk9SVEVfUXVlcnlTZXJ2aWNlOjpzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdID0gewore2dfblN0cmluZ0lkUXVlcnlTZXJ2aWNlc0FkcCwgZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCB0cnVlIH19OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX1F1ZXJ5U2VydmljZTo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAyLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAxLHNjbV9hc3RBZGFwdGVySW5zdGFuY2VzfTsKKworCitjb25zdCBTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEgRk9SVEVfUXVlcnlTZXJ2aWNlOjpzY21fYXN0RXZlbnRDb25uZWN0aW9uc1tdID0geworICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzFfQVJHKGdfblN0cmluZ0lkcXVlcnkpLCAtMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcXVlcnlTZXJ2aWNlcywgZ19uU3RyaW5nSWRxdWVyeSksIENDb21wb3NpdGVGQjo6c2NtX25BZGFwdGVyTWFya2VyIHwwfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8yX0FSRyhnX25TdHJpbmdJZHF1ZXJ5U2VydmljZXMsIGdfblN0cmluZ0lkcXVlcmllZCksIENDb21wb3NpdGVGQjo6c2NtX25BZGFwdGVyTWFya2VyIHwwLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMV9BUkcoZ19uU3RyaW5nSWRxdWVyaWVkKSwgLTF9LAorfTsKKworY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIEZPUlRFX1F1ZXJ5U2VydmljZTo6c2NtX2FzdERhdGFDb25uZWN0aW9uc1tdID0geworICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzFfQVJHKGdfblN0cmluZ0lkc2VydmljZVF1ZXJ5Rm9ybSksIC0xLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCBnX25TdHJpbmdJZHNlcnZpY2VRdWVyeUZvcm0pLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MH0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCBnX25TdHJpbmdJZHNlcnZpY2VFbnRyaWVzKSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDAsIEdFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8xX0FSRyhnX25TdHJpbmdJZHNlcnZpY2VFbnRyaWVzKSwgLTF9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzFfQVJHKGdfblN0cmluZ0lkYWRkcmVzcyksIC0xLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRxdWVyeVNlcnZpY2VzLCBnX25TdHJpbmdJZGVuZHBvaW50KSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDB9LAorfTsKKworY29uc3QgU0NGQl9GQk5EYXRhIEZPUlRFX1F1ZXJ5U2VydmljZTo6c2NtX3N0RkJORGF0YSA9IHsKKyAgMCwgMCwKKyAgMiwgc2NtX2FzdEV2ZW50Q29ubmVjdGlvbnMsCisgIDAsIDAsCisgIDMsIHNjbV9hc3REYXRhQ29ubmVjdGlvbnMsCisgIDAsIDAsCisgIDAsIDAKK307CisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9RdWVyeVNlcnZpY2UuaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvUXVlcnlTZXJ2aWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTRjMWZiYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvUXVlcnlTZXJ2aWNlLmgKQEAgLTAsMCArMSw4MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfUVVFUllTRVJWSUNFX0hfCisjZGVmaW5lIF9RVUVSWVNFUlZJQ0VfSF8KKworI2luY2x1ZGUgPGNmYi5oPgorI2luY2x1ZGUgPHR5cGVsaWIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9zZXJ2aWNlcXVlcnlmb3JtLmg+CisjaW5jbHVkZSA8Zm9ydGVfc2VydmljZXJlZ2lzdHJ5ZW50cnkuaD4KKyNpbmNsdWRlIDxmb3J0ZV93c3RyaW5nLmg+CisjaW5jbHVkZSA8Zm9ydGVfYXJyYXkuaD4KKyNpbmNsdWRlICJRdWVyeVNlcnZpY2VzQWRwLmgiCisKK2NsYXNzIEZPUlRFX1F1ZXJ5U2VydmljZTogcHVibGljIENDb21wb3NpdGVGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9RdWVyeVNlcnZpY2UpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19TZXJ2aWNlUXVlcnlGb3JtICZzZXJ2aWNlUXVlcnlGb3JtKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TZXJ2aWNlUXVlcnlGb3JtKj4oZ2V0REkoMCkpOworICB9OworCisgIENJRUNfV1NUUklORyAmYWRkcmVzcygpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEpKTsKKyAgfTsKKworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgQ0lFQ19TZXJ2aWNlUmVnaXN0cnlFbnRyeSAqc2VydmljZUVudHJpZXMoKSB7CisgICAgcmV0dXJuIChDSUVDX1NlcnZpY2VSZWdpc3RyeUVudHJ5KikoKnN0YXRpY19jYXN0PENJRUNfQVJSQVkgKj4oZ2V0RE8oMCkpKVswXTsgLy90aGUgZmlyc3QgZWxlbWVudCBtYXJrcyB0aGUgc3RhcnQgb2YgdGhlIGFycmF5CisgIH07CisKKyAgQ0lFQ19BUlJBWSAmc2VydmljZUVudHJpZXNfQXJyYXkoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0FSUkFZKj4oZ2V0RE8oMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50cXVlcnlJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50cXVlcmllZElEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIHNjbV9hc3RBZGFwdGVySW5zdGFuY2VzW107CisKKyAgRk9SVEVfUXVlcnlTZXJ2aWNlc0FkcCYgcXVlcnlTZXJ2aWNlcygpIHsKKyAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxGT1JURV9RdWVyeVNlcnZpY2VzQWRwKj4obV9hcG9BZGFwdGVyc1swXSkpOworICB9OworICBzdGF0aWMgY29uc3QgaW50IHNjbV9ucXVlcnlTZXJ2aWNlc0FkcE51bSA9IDA7CisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgRk9SVEVfRkJfREFUQV9BUlJBWSgxLCAyLCAxLCAxKTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIHNjbV9hc3RFdmVudENvbm5lY3Rpb25zW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJDb25uZWN0aW9uRGF0YSBzY21fYXN0RGF0YUNvbm5lY3Rpb25zW107CisgIHN0YXRpYyBjb25zdCBTQ0ZCX0ZCTkRhdGEgc2NtX3N0RkJORGF0YTsKKworcHVibGljOgorICBDT01QT1NJVEVfRlVOQ1RJT05fQkxPQ0tfQ1RPUihGT1JURV9RdWVyeVNlcnZpY2UpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX1F1ZXJ5U2VydmljZSgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9RdWVyeVNlcnZpY2VzQWRwLmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvUXVlcnlTZXJ2aWNlc0FkcC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M2NmVlZAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvUXVlcnlTZXJ2aWNlc0FkcC5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIlF1ZXJ5U2VydmljZXNBZHAuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJRdWVyeVNlcnZpY2VzQWRwX2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0FEQVBURVJfVFlQRShGT1JURV9RdWVyeVNlcnZpY2VzQWRwLCBnX25TdHJpbmdJZFF1ZXJ5U2VydmljZXNBZHApCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUXVlcnlTZXJ2aWNlc0FkcDo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHNlcnZpY2VFbnRyaWVzfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9RdWVyeVNlcnZpY2VzQWRwOjpzY21fYW5EYXRhSW5wdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRBUlJBWSwgMTAsIGdfblN0cmluZ0lkU2VydmljZVJlZ2lzdHJ5RW50cnl9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1F1ZXJ5U2VydmljZXNBZHA6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkc2VydmljZVF1ZXJ5Rm9ybSwgZ19uU3RyaW5nSWRlbmRwb2ludH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUXVlcnlTZXJ2aWNlc0FkcDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFNlcnZpY2VRdWVyeUZvcm0sIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9RdWVyeVNlcnZpY2VzQWRwOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfUXVlcnlTZXJ2aWNlc0FkcDo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUXVlcnlTZXJ2aWNlc0FkcDo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRxdWVyaWVkfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX1F1ZXJ5U2VydmljZXNBZHA6OnNjbV9hbkVPV2l0aFtdID0gezAsIDEsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9RdWVyeVNlcnZpY2VzQWRwOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9RdWVyeVNlcnZpY2VzQWRwOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRxdWVyeX07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfUXVlcnlTZXJ2aWNlc0FkcDo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjU29ja2V0ID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDIsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX1F1ZXJ5U2VydmljZXNBZHA6OnNjbV9zdEZCSW50ZXJmYWNlU3BlY1BsdWcgPSB7CisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCAgc2NtX2FuRU9XaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgc2NtX2FuRUlXaXRoSW5kZXhlcywgIDIsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDAsIDAKK307CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1F1ZXJ5U2VydmljZXNBZHAuaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvUXVlcnlTZXJ2aWNlc0FkcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzZjRkZDYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1F1ZXJ5U2VydmljZXNBZHAuaApAQCAtMCwwICsxLDg2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9RVUVSWVNFUlZJQ0VTQURQX0hfCisjZGVmaW5lIF9RVUVSWVNFUlZJQ0VTQURQX0hfCisKKyNpbmNsdWRlIDxhZGFwdGVyLmg+CisjaW5jbHVkZSA8dHlwZWxpYi5oPgorI2luY2x1ZGUgPGZvcnRlX3NlcnZpY2VxdWVyeWZvcm0uaD4KKyNpbmNsdWRlIDxmb3J0ZV9zZXJ2aWNlcmVnaXN0cnllbnRyeS5oPgorI2luY2x1ZGUgPGZvcnRlX3dzdHJpbmcuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hcnJheS5oPgorCitjbGFzcyBGT1JURV9RdWVyeVNlcnZpY2VzQWRwOiBwdWJsaWMgQ0FkYXB0ZXJ7CisgIERFQ0xBUkVfQURBUFRFUl9UWVBFKEZPUlRFX1F1ZXJ5U2VydmljZXNBZHApCisKK3ByaXZhdGU6CisgcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworIHB1YmxpYzoKKyAgQ0lFQ19TZXJ2aWNlUmVnaXN0cnlFbnRyeSAqc2VydmljZUVudHJpZXMoKSB7CisgICAgcmV0dXJuIChDSUVDX1NlcnZpY2VSZWdpc3RyeUVudHJ5KikoKnN0YXRpY19jYXN0PENJRUNfQVJSQVkgKj4oKGlzU29ja2V0KCkpID8gZ2V0REkoMCkgOiBnZXRETygwKSkpWzBdOyAvL3RoZSBmaXJzdCBlbGVtZW50IG1hcmtzIHRoZSBzdGFydCBvZiB0aGUgYXJyYXkKKyAgfTsKKworICBDSUVDX0FSUkFZICZzZXJ2aWNlRW50cmllc19BcnJheSgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQVJSQVkqPigoaXNTb2NrZXQoKSkgPyBnZXRESSgwKSA6IGdldERPKDApKTsKKyAgfTsKKworIHByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworIHB1YmxpYzoKKyAgQ0lFQ19TZXJ2aWNlUXVlcnlGb3JtICZzZXJ2aWNlUXVlcnlGb3JtKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TZXJ2aWNlUXVlcnlGb3JtKj4oKGlzU29ja2V0KCkpID8gZ2V0RE8oMCkgOiBnZXRESSgwKSk7CisgIH07CisKKyAgQ0lFQ19XU1RSSU5HICZlbmRwb2ludCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KChpc1NvY2tldCgpKSA/IGdldERPKDEpIDogZ2V0REkoMSkpOworICB9OworCisgcHVibGljOgorICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudHF1ZXJpZWRJRCA9IDA7CisgIGludCBxdWVyaWVkKCkgeworICAgIHJldHVybiBtX25QYXJlbnRBZGFwdGVyTGlzdEV2ZW50SUQgKyBzY21fbkV2ZW50cXVlcmllZElEOworICB9CisgcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyBwdWJsaWM6CisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50cXVlcnlJRCA9IDA7CisgIGludCBxdWVyeSgpIHsKKyAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtX25FdmVudHF1ZXJ5SUQ7CisgIH0KKyBwcml2YXRlOgorICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjU29ja2V0OworCisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlY1BsdWc7CisKKyAgIEZPUlRFX0FEQVBURVJfREFUQV9BUlJBWSgxLCAxLCAxLCAyLCAwKTsKKworcHVibGljOgorICBBREFQVEVSX0NUT1IoRk9SVEVfUXVlcnlTZXJ2aWNlc0FkcCl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfUXVlcnlTZXJ2aWNlc0FkcCgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9SZWdpc3RlclNlcnZpY2UuY3BwIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9SZWdpc3RlclNlcnZpY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYWEzNzcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1JlZ2lzdGVyU2VydmljZS5jcHAKQEAgLTAsMCArMSw2MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIlJlZ2lzdGVyU2VydmljZS5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIlJlZ2lzdGVyU2VydmljZV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9SZWdpc3RlclNlcnZpY2UsIGdfblN0cmluZ0lkUmVnaXN0ZXJTZXJ2aWNlKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1JlZ2lzdGVyU2VydmljZTo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHNlcnZpY2VSZWdpc3RyeUVudHJ5LCBnX25TdHJpbmdJZGVuZHBvaW50fTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9SZWdpc3RlclNlcnZpY2U6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFNlcnZpY2VSZWdpc3RyeUVudHJ5LCBnX25TdHJpbmdJZFdTVFJJTkd9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9SZWdpc3RlclNlcnZpY2U6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswLCAzfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9SZWdpc3RlclNlcnZpY2U6OnNjbV9hbkVJV2l0aFtdID0gezAsIDEsIDI1NSwgMCwgMSwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZHJlZ2lzdGVyLCBnX25TdHJpbmdJZHVucmVnaXN0ZXJ9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9SZWdpc3RlclNlcnZpY2U6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHstMSwgLTEsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRkb25lUmVnaXN0ZXIsIGdfblN0cmluZ0lkZG9uZVVucmVnaXN0ZXJ9OworCitjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIEZPUlRFX1JlZ2lzdGVyU2VydmljZTo6c2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXNbXSA9IHsKK3tnX25TdHJpbmdJZFJlZ2lzdGVyU2VydmljZUFkcCwgZ19uU3RyaW5nSWRyZWdpc3RlclNlcnZpY2UsIHRydWUgfX07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlOjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDIsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAyLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIDAsIDAsICAyLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDAsICAwLCAwLAorICAxLHNjbV9hc3RBZGFwdGVySW5zdGFuY2VzfTsKKworCitjb25zdCBTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlOjpzY21fYXN0RXZlbnRDb25uZWN0aW9uc1tdID0geworICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzFfQVJHKGdfblN0cmluZ0lkcmVnaXN0ZXIpLCAtMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVnaXN0ZXJTZXJ2aWNlLCBnX25TdHJpbmdJZHJlZ2lzdGVyU2VydmljZSksIENDb21wb3NpdGVGQjo6c2NtX25BZGFwdGVyTWFya2VyIHwwfSwKKyAge0dFTkVSQVRFX0NPTk5FQ1RJT05fUE9SVF9JRF8xX0FSRyhnX25TdHJpbmdJZHVucmVnaXN0ZXIpLCAtMSwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVnaXN0ZXJTZXJ2aWNlLCBnX25TdHJpbmdJZHVucmVnaXN0ZXJTZXJ2aWNlKSwgQ0NvbXBvc2l0ZUZCOjpzY21fbkFkYXB0ZXJNYXJrZXIgfDB9LAorICB7R0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzJfQVJHKGdfblN0cmluZ0lkcmVnaXN0ZXJTZXJ2aWNlLCBnX25TdHJpbmdJZGRvbmVSZWdpc3RlciksIENDb21wb3NpdGVGQjo6c2NtX25BZGFwdGVyTWFya2VyIHwwLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMV9BUkcoZ19uU3RyaW5nSWRkb25lUmVnaXN0ZXIpLCAtMX0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRyZWdpc3RlclNlcnZpY2UsIGdfblN0cmluZ0lkZG9uZVVucmVnaXN0ZXIpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MCwgR0VORVJBVEVfQ09OTkVDVElPTl9QT1JUX0lEXzFfQVJHKGdfblN0cmluZ0lkZG9uZVVucmVnaXN0ZXIpLCAtMX0sCit9OworCitjb25zdCBTQ0ZCX0ZCQ29ubmVjdGlvbkRhdGEgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlOjpzY21fYXN0RGF0YUNvbm5lY3Rpb25zW10gPSB7CisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMV9BUkcoZ19uU3RyaW5nSWRzZXJ2aWNlUmVnaXN0cnlFbnRyeSksIC0xLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRyZWdpc3RlclNlcnZpY2UsIGdfblN0cmluZ0lkc2VydmljZVJlZ2lzdHJ5RW50cnkpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MH0sCisgIHtHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMV9BUkcoZ19uU3RyaW5nSWRlbmRwb2ludCksIC0xLCBHRU5FUkFURV9DT05ORUNUSU9OX1BPUlRfSURfMl9BUkcoZ19uU3RyaW5nSWRyZWdpc3RlclNlcnZpY2UsIGdfblN0cmluZ0lkZW5kcG9pbnQpLCBDQ29tcG9zaXRlRkI6OnNjbV9uQWRhcHRlck1hcmtlciB8MH0sCit9OworCitjb25zdCBTQ0ZCX0ZCTkRhdGEgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlOjpzY21fc3RGQk5EYXRhID0geworICAwLCAwLAorICA0LCBzY21fYXN0RXZlbnRDb25uZWN0aW9ucywKKyAgMCwgMCwKKyAgMiwgc2NtX2FzdERhdGFDb25uZWN0aW9ucywKKyAgMCwgMCwKKyAgMCwgMAorfTsKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1JlZ2lzdGVyU2VydmljZS5oIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9SZWdpc3RlclNlcnZpY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWZiMmU2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9SZWdpc3RlclNlcnZpY2UuaApAQCAtMCwwICsxLDcxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9SRUdJU1RFUlNFUlZJQ0VfSF8KKyNkZWZpbmUgX1JFR0lTVEVSU0VSVklDRV9IXworCisjaW5jbHVkZSA8Y2ZiLmg+CisjaW5jbHVkZSA8dHlwZWxpYi5oPgorI2luY2x1ZGUgPGZvcnRlX3NlcnZpY2VyZWdpc3RyeWVudHJ5Lmg+CisjaW5jbHVkZSA8Zm9ydGVfd3N0cmluZy5oPgorI2luY2x1ZGUgIlJlZ2lzdGVyU2VydmljZUFkcC5oIgorCitjbGFzcyBGT1JURV9SZWdpc3RlclNlcnZpY2U6IHB1YmxpYyBDQ29tcG9zaXRlRkJ7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlKQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnkgJnNlcnZpY2VSZWdpc3RyeUVudHJ5KCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TZXJ2aWNlUmVnaXN0cnlFbnRyeSo+KGdldERJKDApKTsKKyAgfTsKKworICBDSUVDX1dTVFJJTkcgJmVuZHBvaW50KCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMSkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50cmVnaXN0ZXJJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50dW5yZWdpc3RlcklEID0gMTsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRkb25lUmVnaXN0ZXJJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50ZG9uZVVucmVnaXN0ZXJJRCA9IDE7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiBzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdOworCisgIEZPUlRFX1JlZ2lzdGVyU2VydmljZUFkcCYgcmVnaXN0ZXJTZXJ2aWNlKCkgeworICAgIHJldHVybiAoKnN0YXRpY19jYXN0PEZPUlRFX1JlZ2lzdGVyU2VydmljZUFkcCo+KG1fYXBvQWRhcHRlcnNbMF0pKTsKKyAgfTsKKyAgc3RhdGljIGNvbnN0IGludCBzY21fbnJlZ2lzdGVyU2VydmljZUFkcE51bSA9IDA7CisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgRk9SVEVfRkJfREFUQV9BUlJBWSgyLCAyLCAwLCAxKTsKKworICBzdGF0aWMgY29uc3QgU0NGQl9GQkNvbm5lY3Rpb25EYXRhIHNjbV9hc3RFdmVudENvbm5lY3Rpb25zW107CisKKyAgc3RhdGljIGNvbnN0IFNDRkJfRkJDb25uZWN0aW9uRGF0YSBzY21fYXN0RGF0YUNvbm5lY3Rpb25zW107CisgIHN0YXRpYyBjb25zdCBTQ0ZCX0ZCTkRhdGEgc2NtX3N0RkJORGF0YTsKKworcHVibGljOgorICBDT01QT1NJVEVfRlVOQ1RJT05fQkxPQ0tfQ1RPUihGT1JURV9SZWdpc3RlclNlcnZpY2UpeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX1JlZ2lzdGVyU2VydmljZSgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9SZWdpc3RlclNlcnZpY2VBZHAuY3BwIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9SZWdpc3RlclNlcnZpY2VBZHAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5OTgyMGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1JlZ2lzdGVyU2VydmljZUFkcC5jcHAKQEAgLTAsMCArMSw0NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIlJlZ2lzdGVyU2VydmljZUFkcC5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIlJlZ2lzdGVyU2VydmljZUFkcF9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9BREFQVEVSX1RZUEUoRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlQWRwLCBnX25TdHJpbmdJZFJlZ2lzdGVyU2VydmljZUFkcCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9SZWdpc3RlclNlcnZpY2VBZHA6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkc2VydmljZVJlZ2lzdHJ5RW50cnksIGdfblN0cmluZ0lkZW5kcG9pbnR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1JlZ2lzdGVyU2VydmljZUFkcDo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFNlcnZpY2VSZWdpc3RyeUVudHJ5LCBnX25TdHJpbmdJZFdTVFJJTkd9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9SZWdpc3RlclNlcnZpY2VBZHA6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHstMSwgLTEsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlQWRwOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZGRvbmVSZWdpc3RlciwgZ19uU3RyaW5nSWRkb25lVW5yZWdpc3Rlcn07CisKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9SZWdpc3RlclNlcnZpY2VBZHA6OnNjbV9hbkVPV2l0aFtdID0gezAsIDEsIDI1NSwgMCwgMSwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX1JlZ2lzdGVyU2VydmljZUFkcDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIDMsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlQWRwOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRyZWdpc3RlclNlcnZpY2UsIGdfblN0cmluZ0lkdW5yZWdpc3RlclNlcnZpY2V9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX1JlZ2lzdGVyU2VydmljZUFkcDo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjU29ja2V0ID0geworICAyLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgMCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDIsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMCwgIDAsIDAsIAorICAyLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9SZWdpc3RlclNlcnZpY2VBZHA6OnNjbV9zdEZCSW50ZXJmYWNlU3BlY1BsdWcgPSB7CisgIDIsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCAgc2NtX2FuRU9XaXRoSW5kZXhlcywKKyAgMiwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIDAsIDAsICAyLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgIDAsIDAsCisgIDAsIDAKK307CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1JlZ2lzdGVyU2VydmljZUFkcC5oIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9SZWdpc3RlclNlcnZpY2VBZHAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDRjOTQ1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9SZWdpc3RlclNlcnZpY2VBZHAuaApAQCAtMCwwICsxLDc5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9SRUdJU1RFUlNFUlZJQ0VBRFBfSF8KKyNkZWZpbmUgX1JFR0lTVEVSU0VSVklDRUFEUF9IXworCisjaW5jbHVkZSA8YWRhcHRlci5oPgorI2luY2x1ZGUgPHR5cGVsaWIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9zZXJ2aWNlcmVnaXN0cnllbnRyeS5oPgorI2luY2x1ZGUgPGZvcnRlX3dzdHJpbmcuaD4KKworY2xhc3MgRk9SVEVfUmVnaXN0ZXJTZXJ2aWNlQWRwOiBwdWJsaWMgQ0FkYXB0ZXJ7CisgIERFQ0xBUkVfQURBUFRFUl9UWVBFKEZPUlRFX1JlZ2lzdGVyU2VydmljZUFkcCkKKworcHJpdmF0ZToKKyBwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyBwdWJsaWM6CisgIENJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnkgJnNlcnZpY2VSZWdpc3RyeUVudHJ5KCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TZXJ2aWNlUmVnaXN0cnlFbnRyeSo+KChpc1NvY2tldCgpKSA/IGdldERPKDApIDogZ2V0REkoMCkpOworICB9OworCisgIENJRUNfV1NUUklORyAmZW5kcG9pbnQoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPigoaXNTb2NrZXQoKSkgPyBnZXRETygxKSA6IGdldERJKDEpKTsKKyAgfTsKKworIHB1YmxpYzoKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRkb25lUmVnaXN0ZXJJRCA9IDA7CisgIGludCBkb25lUmVnaXN0ZXIoKSB7CisgICAgcmV0dXJuIG1fblBhcmVudEFkYXB0ZXJMaXN0RXZlbnRJRCArIHNjbV9uRXZlbnRkb25lUmVnaXN0ZXJJRDsKKyAgfQorICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudGRvbmVVbnJlZ2lzdGVySUQgPSAxOworICBpbnQgZG9uZVVucmVnaXN0ZXIoKSB7CisgICAgcmV0dXJuIG1fblBhcmVudEFkYXB0ZXJMaXN0RXZlbnRJRCArIHNjbV9uRXZlbnRkb25lVW5yZWdpc3RlcklEOworICB9CisgcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyBwdWJsaWM6CisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50cmVnaXN0ZXJTZXJ2aWNlSUQgPSAwOworICBpbnQgcmVnaXN0ZXJTZXJ2aWNlKCkgeworICAgIHJldHVybiBtX25QYXJlbnRBZGFwdGVyTGlzdEV2ZW50SUQgKyBzY21fbkV2ZW50cmVnaXN0ZXJTZXJ2aWNlSUQ7CisgIH0KKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnR1bnJlZ2lzdGVyU2VydmljZUlEID0gMTsKKyAgaW50IHVucmVnaXN0ZXJTZXJ2aWNlKCkgeworICAgIHJldHVybiBtX25QYXJlbnRBZGFwdGVyTGlzdEV2ZW50SUQgKyBzY21fbkV2ZW50dW5yZWdpc3RlclNlcnZpY2VJRDsKKyAgfQorIHByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWNTb2NrZXQ7CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjUGx1ZzsKKworICAgRk9SVEVfQURBUFRFUl9EQVRBX0FSUkFZKDIsIDIsIDAsIDIsIDApOworCitwdWJsaWM6CisgIEFEQVBURVJfQ1RPUihGT1JURV9SZWdpc3RlclNlcnZpY2VBZHApeworICB9OworCisgIHZpcnR1YWwgfkZPUlRFX1JlZ2lzdGVyU2VydmljZUFkcCgpe307CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1NlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjg2OTk4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeS5jcHAKQEAgLTAsMCArMSw1MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIlNlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnlfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnksIGdfblN0cmluZ0lkU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkpCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRJTn07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFNlcnZpY2VSZWdpc3RyeUVudHJ5fTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeTo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRPVVR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1NlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkU2VydmljZVJlZ2lzdHJ5RW50cnl9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeTo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX1NlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeTo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRSRVF9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NX07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeTo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZENORn07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgRk9SVEVfU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAxLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMCwgMAorfTsKKworCit2b2lkIEZPUlRFX1NlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5OjpleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKXsKKyAgaWYoc2NtX25FdmVudFJFUUlEID09IHBhX25FSUlEKSB7CisgICAgT1VUKCkgPSBJTigpOworICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50Q05GSUQpOworICB9Cit9CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1NlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L1NlcnZpY2VSZWdpc3RyeUVudHJ5MlNlcnZpY2VSZWdpc3RyeUVudHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE1ZTcyOQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkuaApAQCAtMCwwICsxLDYwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9TRVJWSUNFUkVHSVNUUllFTlRSWTJTRVJWSUNFUkVHSVNUUllFTlRSWV9IXworI2RlZmluZSBfU0VSVklDRVJFR0lTVFJZRU5UUlkyU0VSVklDRVJFR0lTVFJZRU5UUllfSF8KKworI2luY2x1ZGUgPGZ1bmNibG9jLmg+CisjaW5jbHVkZSA8Zm9ydGVfc2VydmljZXJlZ2lzdHJ5ZW50cnkuaD4KKworY2xhc3MgRk9SVEVfU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnk6IHB1YmxpYyBDRnVuY3Rpb25CbG9ja3sKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSkKKworcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICBDSUVDX1NlcnZpY2VSZWdpc3RyeUVudHJ5ICZJTigpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnkqPihnZXRESSgwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgIENJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnkgJk9VVCgpIHsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnkqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDEsIDEsIDApOworCisgIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CisKK3B1YmxpYzoKKyAgRlVOQ1RJT05fQkxPQ0tfQ1RPUihGT1JURV9TZXJ2aWNlUmVnaXN0cnlFbnRyeTJTZXJ2aWNlUmVnaXN0cnlFbnRyeSl7CisgIH07CisKKyAgdmlydHVhbCB+Rk9SVEVfU2VydmljZVJlZ2lzdHJ5RW50cnkyU2VydmljZVJlZ2lzdHJ5RW50cnkoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvZm9ydGVfc2VydmljZXF1ZXJ5Zm9ybS5jcHAgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L2ZvcnRlX3NlcnZpY2VxdWVyeWZvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiNDQzZTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L2ZvcnRlX3NlcnZpY2VxdWVyeWZvcm0uY3BwCkBAIC0wLDAgKzEsMjcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJmb3J0ZV9zZXJ2aWNlcXVlcnlmb3JtLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiZm9ydGVfc2VydmljZXF1ZXJ5Zm9ybV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9EQVRBVFlQRShTZXJ2aWNlUXVlcnlGb3JtLCBnX25TdHJpbmdJZFNlcnZpY2VRdWVyeUZvcm0pOworCitDSUVDX1NlcnZpY2VRdWVyeUZvcm06OkNJRUNfU2VydmljZVF1ZXJ5Rm9ybSgpIDoKKyAgICBDSUVDX1NUUlVDVChnX25TdHJpbmdJZFNlcnZpY2VRdWVyeUZvcm0sIDQsIHNjbUVsZW1lbnRUeXBlcywgc2NtRWxlbWVudE5hbWVzLCBlX0FQUExJQ0FUSU9OICsgZV9DT05TVFJVQ1RFRCArIDEpIHsKK30KKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBDSUVDX1NlcnZpY2VRdWVyeUZvcm06OnNjbUVsZW1lbnRUeXBlc1tdID0geyBnX25TdHJpbmdJZEFycm93aGVhZFNlcnZpY2UsIGdfblN0cmluZ0lkQk9PTCwgZ19uU3RyaW5nSWRCT09MLAorICBnX25TdHJpbmdJZERJTlQgfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgQ0lFQ19TZXJ2aWNlUXVlcnlGb3JtOjpzY21FbGVtZW50TmFtZXNbXSA9IHsgZ19uU3RyaW5nSWRzZXJ2aWNlLCBnX25TdHJpbmdJZG1ldGFkYXRhU2VhcmNoLCBnX25TdHJpbmdJZHBpbmdQcm92aWRlcnMsCisgIGdfblN0cmluZ0lkdmVyc2lvbiB9OwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9mb3J0ZV9zZXJ2aWNlcXVlcnlmb3JtLmggYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L2ZvcnRlX3NlcnZpY2VxdWVyeWZvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZGQwNzNmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9mb3J0ZV9zZXJ2aWNlcXVlcnlmb3JtLmgKQEAgLTAsMCArMSw1MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfRk9SVEVfU0VSVklDRVFVRVJZRk9STV9IXworI2RlZmluZSBfRk9SVEVfU0VSVklDRVFVRVJZRk9STV9IXworCisjaW5jbHVkZSAiZm9ydGVfc3RydWN0LmgiCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkc2VydmljZS5oIgorI2luY2x1ZGUgPGZvcnRlX2Jvb2wuaD4KKyNpbmNsdWRlICJmb3J0ZV9kaW50LmgiCisKK2NsYXNzIENJRUNfU2VydmljZVF1ZXJ5Rm9ybSA6IHB1YmxpYyBDSUVDX1NUUlVDVCB7CisgIERFQ0xBUkVfRklSTVdBUkVfREFUQVRZUEUoU2VydmljZVF1ZXJ5Rm9ybSkKKworICBwdWJsaWM6CisgICAgQ0lFQ19TZXJ2aWNlUXVlcnlGb3JtKCk7CisKKyAgICB2aXJ0dWFsIH5DSUVDX1NlcnZpY2VRdWVyeUZvcm0oKSB7CisgICAgfQorCisgICAgQ0lFQ19BcnJvd2hlYWRTZXJ2aWNlICZzZXJ2aWNlKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0Fycm93aGVhZFNlcnZpY2UqPigmZ2V0TWVtYmVycygpWzBdKTsKKyAgICB9CisKKyAgICBDSUVDX0JPT0wgJm1ldGFkYXRhU2VhcmNoKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPigmZ2V0TWVtYmVycygpWzFdKTsKKyAgICB9CisKKworICAgIENJRUNfQk9PTCAmcGluZ1Byb3ZpZGVycygpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oJmdldE1lbWJlcnMoKVsyXSk7CisgICAgfQorCisgICAgQ0lFQ19ESU5UICZ2ZXJzaW9uKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0RJTlQqPigmZ2V0TWVtYmVycygpWzNdKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50VHlwZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50TmFtZXNbXTsKK307CisKKyNlbmRpZiAvL19GT1JURV9TRVJWSUNFUVVFUllGT1JNX0hfCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L2ZvcnRlX3NlcnZpY2VyZWdpc3RyeWVudHJ5LmNwcCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvZm9ydGVfc2VydmljZXJlZ2lzdHJ5ZW50cnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5OTBlNzIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9hcnJvd2hlYWQvc2VydmljZVJlZ2lzdHJ5L2ZvcnRlX3NlcnZpY2VyZWdpc3RyeWVudHJ5LmNwcApAQCAtMCwwICsxLDI3IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiZm9ydGVfc2VydmljZXJlZ2lzdHJ5ZW50cnkuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJmb3J0ZV9zZXJ2aWNlcmVnaXN0cnllbnRyeV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9EQVRBVFlQRShTZXJ2aWNlUmVnaXN0cnlFbnRyeSwgZ19uU3RyaW5nSWRTZXJ2aWNlUmVnaXN0cnlFbnRyeSk7CisKK0NJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnk6OkNJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnkoKSA6CisgICAgQ0lFQ19TVFJVQ1QoZ19uU3RyaW5nSWRTZXJ2aWNlUmVnaXN0cnlFbnRyeSwgNywgc2NtRWxlbWVudFR5cGVzLCBzY21FbGVtZW50TmFtZXMsIGVfQVBQTElDQVRJT04gKyBlX0NPTlNUUlVDVEVEICsgMSkgeworfQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIENJRUNfU2VydmljZVJlZ2lzdHJ5RW50cnk6OnNjbUVsZW1lbnRUeXBlc1tdID0geyBnX25TdHJpbmdJZEFycm93aGVhZFNlcnZpY2UsIGdfblN0cmluZ0lkQXJyb3doZWFkU3lzdGVtLCBnX25TdHJpbmdJZFdTVFJJTkcsCisgIGdfblN0cmluZ0lkRElOVCwgZ19uU3RyaW5nSWRCT09MLCBnX25TdHJpbmdJZERJTlQsIGdfblN0cmluZ0lkV1NUUklORyB9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBDSUVDX1NlcnZpY2VSZWdpc3RyeUVudHJ5OjpzY21FbGVtZW50TmFtZXNbXSA9IHsgZ19uU3RyaW5nSWRwcm92aWRlZFNlcnZpY2UsIGdfblN0cmluZ0lkcHJvdmlkZXIsIGdfblN0cmluZ0lkc2VydmljZVVSSSwKKyAgZ19uU3RyaW5nSWR2ZXJzaW9uLCBnX25TdHJpbmdJZHVkcCwgZ19uU3RyaW5nSWR0dGwsIGdfblN0cmluZ0lkbWV0YWRhdGEgfTsKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvZm9ydGVfc2VydmljZXJlZ2lzdHJ5ZW50cnkuaCBiL3NyYy9tb2R1bGVzL2Fycm93aGVhZC9zZXJ2aWNlUmVnaXN0cnkvZm9ydGVfc2VydmljZXJlZ2lzdHJ5ZW50cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTRkYTBhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvYXJyb3doZWFkL3NlcnZpY2VSZWdpc3RyeS9mb3J0ZV9zZXJ2aWNlcmVnaXN0cnllbnRyeS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0ZPUlRFX1NFUlZJQ0VSRUdJU1RSWUVOVFJZX0hfCisjZGVmaW5lIF9GT1JURV9TRVJWSUNFUkVHSVNUUllFTlRSWV9IXworCisjaW5jbHVkZSAiZm9ydGVfc3RydWN0LmgiCisjaW5jbHVkZSAiZm9ydGVfYXJyb3doZWFkc2VydmljZS5oIgorI2luY2x1ZGUgImZvcnRlX2Fycm93aGVhZHN5c3RlbS5oIgorI2luY2x1ZGUgImZvcnRlX2RpbnQuaCIKKyNpbmNsdWRlICJmb3J0ZV93c3RyaW5nLmgiCisjaW5jbHVkZSAiZm9ydGVfYm9vbC5oIgorCitjbGFzcyBDSUVDX1NlcnZpY2VSZWdpc3RyeUVudHJ5IDogcHVibGljIENJRUNfU1RSVUNUIHsKKyAgREVDTEFSRV9GSVJNV0FSRV9EQVRBVFlQRShTZXJ2aWNlUmVnaXN0cnlFbnRyeSkKKworICBwdWJsaWM6CisgICAgQ0lFQ19TZXJ2aWNlUmVnaXN0cnlFbnRyeSgpOworCisgICAgdmlydHVhbCB+Q0lFQ19TZXJ2aWNlUmVnaXN0cnlFbnRyeSgpIHsKKyAgICB9CisKKyAgICBDSUVDX0Fycm93aGVhZFNlcnZpY2UgJnByb3ZpZGVkU2VydmljZSgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BcnJvd2hlYWRTZXJ2aWNlKj4oJmdldE1lbWJlcnMoKVswXSk7CisgICAgfQorCisgICAgQ0lFQ19BcnJvd2hlYWRTeXN0ZW0gJnByb3ZpZGVyKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0Fycm93aGVhZFN5c3RlbSo+KCZnZXRNZW1iZXJzKClbMV0pOworICAgIH0KKworICAgIENJRUNfV1NUUklORyAmc2VydmljZVVSSSgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oJmdldE1lbWJlcnMoKVsyXSk7CisgICAgfQorCisgICAgQ0lFQ19ESU5UICZ2ZXJzaW9uKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0RJTlQqPigmZ2V0TWVtYmVycygpWzNdKTsKKyAgICB9CisKKyAgICBDSUVDX0JPT0wgJnVkcCgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oJmdldE1lbWJlcnMoKVs0XSk7CisgICAgfQorICAgIENJRUNfRElOVCAmdHRsKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0RJTlQqPigmZ2V0TWVtYmVycygpWzVdKTsKKyAgICB9CisKKyAgICBDSUVDX1dTVFJJTkcgJm1ldGFkYXRhKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPigmZ2V0TWVtYmVycygpWzZdKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50VHlwZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21FbGVtZW50TmFtZXNbXTsKK307CisKKyNlbmRpZiAvL19GT1JURV9TRVJWSUNFUkVHSVNUUllFTlRSWV9IXwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL0NNYWtlTGlzdHMudHh0CmluZGV4IGQyMTljNjEuLjBlZmViZjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSCBhbmQgSGVyd2lnIEVpY2hsZXIsIHd3dy5jb25tZWxlb24ub3JnCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgICBBbG9pcyBab2l0bCBhbmQgSGVyd2lnIEVpY2hsZXIKKyMgQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSCBhbmQgSGVyd2lnIEVpY2hsZXIsIHd3dy5jb25tZWxlb24ub3JnCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIEFsb2lzIFpvaXRsIGFuZCBIZXJ3aWcgRWljaGxlcgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLyAKICAKIGZvcnRlX2FkZF9tb2R1bGUoQ09OTUVMRU9OX0MxICJJbnRlcmFjdGluZyB3aXRoIHRoZSBDT05NRUxFT04gQzEgSU8gYm9hcmQiKQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL2dwaW8vZ3Bpb3Bpbi5jcHAgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvZ3Bpby9ncGlvcGluLmNwcAppbmRleCA2YWI5Mzc3Li5iNWU5YjYzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvZ3Bpby9ncGlvcGluLmNwcAorKysgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvZ3Bpby9ncGlvcGluLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IEhlcndpZyBFaWNobGVyLCB3d3cuY29ubWVsZW9uLm9yZwotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBIZXJ3aWcgRWljaGxlciAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL2dwaW8vZ3Bpb3Bpbi5oIGIvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL2dwaW8vZ3Bpb3Bpbi5oCmluZGV4IDYyM2UyODAuLjk2MGQyYjYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9ncGlvL2dwaW9waW4uaAorKysgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvZ3Bpby9ncGlvcGluLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBIZXJ3aWcgRWljaGxlciwgd3d3LmNvbm1lbGVvbi5vcmcKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSGVyd2lnIEVpY2hsZXIgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZCBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9wcm9jZXNzaW50ZXJmYWNlLmNwcCBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9wcm9jZXNzaW50ZXJmYWNlLmNwcAppbmRleCA3N2M1NmRmLi5hODI2ZTViIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvcHJvY2Vzc2ludGVyZmFjZS5jcHAKKysrIGIvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3Byb2Nlc3NpbnRlcmZhY2UuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJIIGFuZCBIZXJ3aWcgRWljaGxlciwgd3d3LmNvbm1lbGVvbi5vcmcKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEFsb2lzIFpvaXRsIGFuZCBIZXJ3aWcgRWljaGxlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3Byb2Nlc3NpbnRlcmZhY2UuaCBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9wcm9jZXNzaW50ZXJmYWNlLmgKaW5kZXggNDU3OTliOC4uN2JmMzU0OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3Byb2Nlc3NpbnRlcmZhY2UuaAorKysgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvcHJvY2Vzc2ludGVyZmFjZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJIIGFuZCBIZXJ3aWcgRWljaGxlciwgd3d3LmNvbm1lbGVvbi5vcmcKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEFsb2lzIFpvaXRsIGFuZCBIZXJ3aWcgRWljaGxlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3NwaS9hZHMxMDE4LmNwcCBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9zcGkvYWRzMTAxOC5jcHAKaW5kZXggNTM2NWQ5ZS4uZDQ3N2JlMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3NwaS9hZHMxMDE4LmNwcAorKysgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvc3BpL2FkczEwMTguY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgSGVyd2lnIEVpY2hsZXIsIHd3dy5jb25tZWxlb24ub3JnCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEhlcndpZyBFaWNobGVyICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvc3BpL2FkczEwMTguaCBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9zcGkvYWRzMTAxOC5oCmluZGV4IGU5MGNjZWQuLjA1OWE4MjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9zcGkvYWRzMTAxOC5oCisrKyBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9zcGkvYWRzMTAxOC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgSGVyd2lnIEVpY2hsZXIsIHd3dy5jb25tZWxlb24ub3JnCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEhlcndpZyBFaWNobGVyICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvc3BpL3NwaWRldmljZS5jcHAgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvc3BpL3NwaWRldmljZS5jcHAKaW5kZXggOGM4Y2Q4NC4uNWQxNDQ2MCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3NwaS9zcGlkZXZpY2UuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9zcGkvc3BpZGV2aWNlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IEhlcndpZyBFaWNobGVyLCB3d3cuY29ubWVsZW9uLm9yZwotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBIZXJ3aWcgRWljaGxlciAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3NwaS9zcGlkZXZpY2UuaCBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS9zcGkvc3BpZGV2aWNlLmgKaW5kZXggNTAxODY5YS4uMDhjZmY2NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3NwaS9zcGlkZXZpY2UuaAorKysgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvc3BpL3NwaWRldmljZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgSGVyd2lnIEVpY2hsZXIsIHd3dy5jb25tZWxlb24ub3JnCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEhlcndpZyBFaWNobGVyICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvdXRpbC9maWxlcmVzLmNwcCBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS91dGlsL2ZpbGVyZXMuY3BwCmluZGV4IDE3Y2IwNjUuLmM4YjE0ZmQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS91dGlsL2ZpbGVyZXMuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS91dGlsL2ZpbGVyZXMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgSGVyd2lnIEVpY2hsZXIsIHd3dy5jb25tZWxlb24ub3JnCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEhlcndpZyBFaWNobGVyICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvdXRpbC9maWxlcmVzLmggYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvdXRpbC9maWxlcmVzLmgKaW5kZXggOGY2NzdmYi4uYjYwN2M4NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3V0aWwvZmlsZXJlcy5oCisrKyBiL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS91dGlsL2ZpbGVyZXMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IEhlcndpZyBFaWNobGVyLCB3d3cuY29ubWVsZW9uLm9yZwotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBIZXJ3aWcgRWljaGxlciAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3V0aWwvdW5jb3B5YWJsZS5oIGIvc3JjL21vZHVsZXMvY29ubWVsZW9uX2MxL3V0aWwvdW5jb3B5YWJsZS5oCmluZGV4IDAyZDBiMWQuLmEyY2FhMzkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2Nvbm1lbGVvbl9jMS91dGlsL3VuY29weWFibGUuaAorKysgYi9zcmMvbW9kdWxlcy9jb25tZWxlb25fYzEvdXRpbC91bmNvcHlhYmxlLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBIZXJ3aWcgRWljaGxlciwgd3d3LmNvbm1lbGVvbi5vcmcKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSGVyd2lnIEVpY2hsZXIgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZCBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvQk9PTDJCT09MLmNwcCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvQk9PTDJCT09MLmNwcAppbmRleCAxYjk3ZGMwLi43YTFlZGU4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L0JPT0wyQk9PTC5jcHAKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9CT09MMkJPT0wuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9CT09MMkJPT0wuaCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvQk9PTDJCT09MLmgKaW5kZXggZWJkOTcxMi4uZWY0YmQ3YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9CT09MMkJPT0wuaAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0JPT0wyQk9PTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBQcm9mYWN0b3IgR21iSCwgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvQllURTJCWVRFLmNwcCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvQllURTJCWVRFLmNwcAppbmRleCA0Mjg2YWNhLi5kM2MxYWYzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L0JZVEUyQllURS5jcHAKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9CWVRFMkJZVEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9CWVRFMkJZVEUuaCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvQllURTJCWVRFLmgKaW5kZXggYjdlMDdjYi4uOWM4M2JkNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9CWVRFMkJZVEUuaAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0JZVEUyQllURS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBQcm9mYWN0b3IgR21iSCwgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0NNYWtlTGlzdHMudHh0CmluZGV4IDNmODQ3YzMuLjk2OThiNTIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEwLCAyMDExIFByb2ZhY3RvciBHbWJILCBBQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBNaWNoZWFsIEhvZm1hbm4sIEFsb2lzIFpvaXRsICANCisjIENvcHlyaWdodCAoYykgMjAxMCwgMjAxMSBQcm9mYWN0b3IgR21iSCwgQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgTWljaGVhbCBIb2ZtYW5uLCBBbG9pcyBab2l0bCAgDQogIyAqICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiBmb3J0ZV9hZGRfbW9kdWxlKENPTlZFUlQgIkNvbnZlcnQgRnVuY3Rpb24gQmxvY2tzIikNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L0RJTlQyRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0RJTlQyRElOVC5jcHAKaW5kZXggYjFhMzU1Ni4uODAzYTVjMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9ESU5UMkRJTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvRElOVDJESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvRElOVDJESU5ULmggYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0RJTlQyRElOVC5oCmluZGV4IGEzM2U3NzguLjMwNmQ4M2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvRElOVDJESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9ESU5UMkRJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L0RXT1JEMkRXT1JELmNwcCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvRFdPUkQyRFdPUkQuY3BwCmluZGV4IDU3MDZlMzIuLmUzNzRhYTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvRFdPUkQyRFdPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvRFdPUkQyRFdPUkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9EV09SRDJEV09SRC5oIGIvc3JjL21vZHVsZXMvY29udmVydC9EV09SRDJEV09SRC5oCmluZGV4IGRjNThhNjQuLmUwM2ZmMzMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvRFdPUkQyRFdPUkQuaAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0RXT1JEMkRXT1JELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9JTlQySU5ULmNwcCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvSU5UMklOVC5jcHAKaW5kZXggY2YxY2IyNS4uYzc3N2Q5MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9JTlQySU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0lOVDJJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9JTlQySU5ULmggYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0lOVDJJTlQuaAppbmRleCA3NzU5ZjQ3Li43YmViZTZmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L0lOVDJJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0lOVDJJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L0xSRUFMMkxSRUFMLmNwcCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvTFJFQUwyTFJFQUwuY3BwCmluZGV4IGRiOTlkYzUuLjlhYzZmN2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvTFJFQUwyTFJFQUwuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvTFJFQUwyTFJFQUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9MUkVBTDJMUkVBTC5oIGIvc3JjL21vZHVsZXMvY29udmVydC9MUkVBTDJMUkVBTC5oCmluZGV4IGJjMjgzOTYuLjc2ZGQ4YjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvTFJFQUwyTFJFQUwuaAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L0xSRUFMMkxSRUFMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9SRUFMMlJFQUwuY3BwIGIvc3JjL21vZHVsZXMvY29udmVydC9SRUFMMlJFQUwuY3BwCmluZGV4IGYxMjRkNzkuLmNkZDVhZmQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvUkVBTDJSRUFMLmNwcAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1JFQUwyUkVBTC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1JFQUwyUkVBTC5oIGIvc3JjL21vZHVsZXMvY29udmVydC9SRUFMMlJFQUwuaAppbmRleCA4MGQ2NWQyLi5lYjg2NTk1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1JFQUwyUkVBTC5oCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvUkVBTDJSRUFMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9TSU5UMlNJTlQuY3BwIGIvc3JjL21vZHVsZXMvY29udmVydC9TSU5UMlNJTlQuY3BwCmluZGV4IGY5YTBjZGMuLjY4OGEwODEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvU0lOVDJTSU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1NJTlQyU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1NJTlQyU0lOVC5oIGIvc3JjL21vZHVsZXMvY29udmVydC9TSU5UMlNJTlQuaAppbmRleCA0Mzg3MTkyLi5iN2Q0M2RhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1NJTlQyU0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvU0lOVDJTSU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9TVFJJTkcyU1RSSU5HLmNwcCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvU1RSSU5HMlNUUklORy5jcHAKaW5kZXggMjdiYzdmYS4uYTIxNmRhNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9TVFJJTkcyU1RSSU5HLmNwcAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1NUUklORzJTVFJJTkcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9TVFJJTkcyU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1NUUklORzJTVFJJTkcuaAppbmRleCAwZjVkN2I5Li4xYjdmYWIzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1NUUklORzJTVFJJTkcuaAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1NUUklORzJTVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1RJTUUyVElNRS5oIGIvc3JjL21vZHVsZXMvY29udmVydC9USU1FMlRJTUUuaAppbmRleCBiZDE1NGY1Li4xZWZhMTM4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1RJTUUyVElNRS5oCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvVElNRTJUSU1FLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIFByb2ZhY3RvciBHbWJILCBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9VRElOVDJVRElOVC5jcHAgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1VESU5UMlVESU5ULmNwcAppbmRleCAyOGNmMGI3Li5kZjZiNmE1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1VESU5UMlVESU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1VESU5UMlVESU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvVURJTlQyVURJTlQuaCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvVURJTlQyVURJTlQuaAppbmRleCBhZjIwNTNkLi45YTU5NWNiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1VESU5UMlVESU5ULmgKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9VRElOVDJVRElOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBQcm9mYWN0b3IgR21iSCwgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvVUlOVDJVSU5ULmNwcCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvVUlOVDJVSU5ULmNwcAppbmRleCA3NDM4ZGI0Li5kOTg3MTA3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1VJTlQyVUlOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9VSU5UMlVJTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvY29udmVydC9VSU5UMlVJTlQuaCBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvVUlOVDJVSU5ULmgKaW5kZXggODhlMjM5YS4uMzI5YjBhNyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9VSU5UMlVJTlQuaAorKysgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1VJTlQyVUlOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBQcm9mYWN0b3IgR21iSCwgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIFRob21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvVVNJTlQyVVNJTlQuY3BwIGIvc3JjL21vZHVsZXMvY29udmVydC9VU0lOVDJVU0lOVC5jcHAKaW5kZXggN2U2ODg3OC4uMzNlYmU3ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9VU0lOVDJVU0lOVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9VU0lOVDJVU0lOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1VTSU5UMlVTSU5ULmggYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1VTSU5UMlVTSU5ULmgKaW5kZXggMDEzNGIxOS4uYzA3MjgzYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9VU0lOVDJVU0lOVC5oCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvVVNJTlQyVVNJTlQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1dPUkQyV09SRC5jcHAgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1dPUkQyV09SRC5jcHAKaW5kZXggZWY5MTUyZi4uZWEzZDE5YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9XT1JEMldPUkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvV09SRDJXT1JELmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvV09SRDJXT1JELmggYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1dPUkQyV09SRC5oCmluZGV4IDJmZTQ0OTkuLjBkNTk4M2UgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvV09SRDJXT1JELmgKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9XT1JEMldPUkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9jb252ZXJ0L1dTVFJJTkcyV1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1dTVFJJTkcyV1NUUklORy5jcHAKaW5kZXggYzgzYWVhMC4uZDJmZjk2OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvY29udmVydC9XU1RSSU5HMldTVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2NvbnZlcnQvV1NUUklORzJXU1RSSU5HLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBQcm9mYWN0b3IgR21iSCwgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvV1NUUklORzJXU1RSSU5HLmggYi9zcmMvbW9kdWxlcy9jb252ZXJ0L1dTVFJJTkcyV1NUUklORy5oCmluZGV4IDFkOTE4N2IuLmZmZjFjN2UgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2NvbnZlcnQvV1NUUklORzJXU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvY29udmVydC9XU1RSSU5HMldTVFJJTkcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgUHJvZmFjdG9yIEdtYkgsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lY2xpcHNlU0NBREFfU0ZQL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvZWNsaXBzZVNDQURBX1NGUC9DTWFrZUxpc3RzLnR4dAppbmRleCA3OWY5OTdlLi45YjRiOTc3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lY2xpcHNlU0NBREFfU0ZQL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL2VjbGlwc2VTQ0FEQV9TRlAvQ01ha2VMaXN0cy50eHQKQEAgLTEsMjMgKzEsMjcgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCisjIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAjIEludGVyZmFjZSB0byB0aGUgRWNsaXBzZVNDQURBIFNGUCANCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIA0KLWZvcnRlX2FkZF9uZXR3b3JrX2xheWVyKEVjbGlwc2VTQ0FEQV9TRlAgT0ZGICJzZnAiIENFU19TRlBfTGF5ZXIgZXNzZnBsYXllciAiTGF5ZXIgZm9yIHByb3ZpZGluZyBhbmQgcmVjZWl2aW5nIGRhdGEgdG8gRWNsaXBzZVNDQURBIikNCitmb3J0ZV9hZGRfbmV0d29ya19sYXllcihFY2xpcHNlU0NBREFfU0ZQIE9GRiAic2ZwIiBDRVNfU0ZQX0xheWVyIGVzc2ZwbGF5ZXIgIkxheWVyIGZvciBwcm92aWRpbmcgYW5kIHJlY2VpdmluZyBkYXRhIHRvIEVjbGlwc2VTQ0FEQSwgREVQUkVDQVRFRDogTGF5ZXIgd2lsbCBiZSByZW1vdmVkIGluIDRkaWFjIEZPUlRFIDEuMTIuMCIpDQogDQogU0VUKEZPUlRFX0VDTElQU0VfU0NBREFfU0ZQX1NFUlZFUl9MSUJfRElSICIiIENBQ0hFIFBBVEggIlBhdGggdG8gRWNsaXBzZVNDQURBIFNGUCBTZXJ2ZXIgbGlicmFyeSBkaXJlY3RvcnkgKGxlYXZlIGVtcHR5IGZvciBpbnN0YWxsZWQgc291cmNlIGNvZGUpIikNCiANCiBpZihGT1JURV9DT01fRWNsaXBzZVNDQURBX1NGUCkNCisNCisgIG1lc3NhZ2UoV0FSTklORywgIkVjbGlwc2VTQ0FEQV9TRlAgY29tbXVuaWNhdGlvbiBsYXllciBpcyBkZXByZWNhdGVkISBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIDRkaWFjIEZPUlRFIDEuMTIuMCByZWxlYXNlISIpDQorDQogICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGVzc2ZwaGFuZGxlcikgDQogDQogICBmb3J0ZV9hZGRfaGFuZGxlcihDRWNsaXBzZVNDQURBU0ZQSGFuZGxlciBlc3NmcGhhbmRsZXIpDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZWNsaXBzZVNDQURBX1NGUC9lc3NmcGhhbmRsZXIuY3BwIGIvc3JjL21vZHVsZXMvZWNsaXBzZVNDQURBX1NGUC9lc3NmcGhhbmRsZXIuY3BwCmluZGV4IDMzOTE1OGEuLmQ3ZDU1YmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VjbGlwc2VTQ0FEQV9TRlAvZXNzZnBoYW5kbGVyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9lY2xpcHNlU0NBREFfU0ZQL2Vzc2ZwaGFuZGxlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNCwgMjAxNSBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZWNsaXBzZVNDQURBX1NGUC9lc3NmcGhhbmRsZXIuaCBiL3NyYy9tb2R1bGVzL2VjbGlwc2VTQ0FEQV9TRlAvZXNzZnBoYW5kbGVyLmgKaW5kZXggZDBiY2Y5Yy4uOWNhMmQ3MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZWNsaXBzZVNDQURBX1NGUC9lc3NmcGhhbmRsZXIuaAorKysgYi9zcmMvbW9kdWxlcy9lY2xpcHNlU0NBREFfU0ZQL2Vzc2ZwaGFuZGxlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VjbGlwc2VTQ0FEQV9TRlAvZXNzZnBsYXllci5jcHAgYi9zcmMvbW9kdWxlcy9lY2xpcHNlU0NBREFfU0ZQL2Vzc2ZwbGF5ZXIuY3BwCmluZGV4IGE2ODA3NDAuLmYyMGNlMTUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VjbGlwc2VTQ0FEQV9TRlAvZXNzZnBsYXllci5jcHAKKysrIGIvc3JjL21vZHVsZXMvZWNsaXBzZVNDQURBX1NGUC9lc3NmcGxheWVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lY2xpcHNlU0NBREFfU0ZQL2Vzc2ZwbGF5ZXIuaCBiL3NyYy9tb2R1bGVzL2VjbGlwc2VTQ0FEQV9TRlAvZXNzZnBsYXllci5oCmluZGV4IDkyMWRmNzguLjk2MmQ0MWQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VjbGlwc2VTQ0FEQV9TRlAvZXNzZnBsYXllci5oCisrKyBiL3NyYy9tb2R1bGVzL2VjbGlwc2VTQ0FEQV9TRlAvZXNzZnBsYXllci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL0NNYWtlTGlzdHMudHh0CmluZGV4IDk4MmEyNjcuLjU4ZmRmODYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIEpvaGFubmVzIE1lc3NtZXIKKyMgQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEpvaGFubmVzIE1lc3NtZXIKICMgKiAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL2J1cy5jcHAgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL2hhbmRsZXIvYnVzLmNwcAppbmRleCA3ODAyMGM3Li5mNGQ5OTQxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL2hhbmRsZXIvYnVzLmNwcAorKysgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL2hhbmRsZXIvYnVzLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KQEAgLTI1LDI0ICsyNiwyNCBAQAogY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tCdXNIYW5kbGVyOjpzY21TbGF2ZVVwZGF0ZUZhaWxlZCA9ICJVcGRhdGUgb2Ygc2xhdmUgZmFpbGVkLiI7DQogY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tCdXNIYW5kbGVyOjpzY21Ob1NsYXZlc0ZvdW5kID0gIk5vIHNsYXZlIG1vZHVsZXMgZm91bmQuIjsNCiANCi1FbWJyaWNrQnVzSGFuZGxlcjo6RW1icmlja0J1c0hhbmRsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pIDogZm9ydGU6OmNvcmU6OklPOjpJT0RldmljZU11bHRpQ29udHJvbGxlcihwYURldmljZUV4ZWN1dGlvbiksDQotICAgIHNwaSgwKSwgc2xhdmVTZWxlY3QoMCksIHNsYXZlcygwKSwgc2xhdmVDb3VudCgwKSwgbUxvb3BBY3RpdmUoZmFsc2UpLCBzTGlzdCgwKSB7DQorRW1icmlja0J1c0hhbmRsZXI6OkVtYnJpY2tCdXNIYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA6IGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VNdWx0aUNvbnRyb2xsZXIocGFEZXZpY2VFeGVjdXRpb24pLA0KKyAgICBtU3BpKDApLCBtU2xhdmVTZWxlY3QoMCksIG1TbGF2ZXMoMCksIG1TbGF2ZUNvdW50KDApLCBtTG9vcEFjdGl2ZShmYWxzZSksIG1TTGlzdCgwKSB7DQogICAvLyBTZXQgaW5pdCB0aW1lDQogICBzdHJ1Y3QgdGltZXNwZWMgdHM7DQogICAvLyBUT0RPIENoZWNrIGNvbXBpbGUgZXJyb3IuIEhhZCB0byB0byBhZGQgcnQgbGliYXJ5IHRvIGMrKyBtYWtlIGZsYWdzDQogICBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRzKTsNCiANCi0gIGluaXRUaW1lID0gdHMudHZfc2VjOw0KLSAgbGFzdFRyYW5zZmVyID0gbWljcm9zKCk7DQorICBtSW5pdFRpbWUgPSB0cy50dl9zZWM7DQorICBtTGFzdFRyYW5zZmVyID0gbWljcm9zKCk7DQogDQogICAvLyBEZWZhdWx0IGNvbmZpZw0KLSAgY29uZmlnLkJ1c0ludGVyZmFjZSA9IDE7DQotICBjb25maWcuQnVzU2VsZWN0UGluID0gNDk7DQotICBjb25maWcuQnVzSW5pdFNwZWVkID0gRW1icmlja1NQSUhhbmRsZXI6OkRlZmF1bHRTcGlTcGVlZDsNCi0gIGNvbmZpZy5CdXNMb29wU3BlZWQgPSBFbWJyaWNrU1BJSGFuZGxlcjo6TWF4U3BpU3BlZWQ7DQorICBtQ29uZmlnLm1CdXNJbnRlcmZhY2UgPSAxOw0KKyAgbUNvbmZpZy5tQnVzU2VsZWN0UGluID0gNDk7DQorICBtQ29uZmlnLm1CdXNJbml0U3BlZWQgPSBFbWJyaWNrU1BJSGFuZGxlcjo6c2NtRGVmYXVsdFNwaVNwZWVkOw0KKyAgbUNvbmZpZy5tQnVzTG9vcFNwZWVkID0gRW1icmlja1NQSUhhbmRsZXI6OnNjbU1heFNwaVNwZWVkOw0KIH0NCiANCi12b2lkIEVtYnJpY2tCdXNIYW5kbGVyOjpzZXRDb25maWcoc3RydWN0IGZvcnRlOjpjb3JlOjpJTzo6SU9EZXZpY2VDb250cm9sbGVyOjpDb25maWcqIGNvbmZpZykgew0KK3ZvaWQgRW1icmlja0J1c0hhbmRsZXI6OnNldENvbmZpZyhzdHJ1Y3QgZm9ydGU6OmNvcmU6OmlvOjpJT0RldmljZUNvbnRyb2xsZXI6OkNvbmZpZyogcGFDb25maWcpIHsNCiAgIC8vIENoZWNrIGlmIEJ1c0hhbmRsZXIgaXMgYWN0aXZlIC0+IGNvbmZpZ3VyYXRpb24gY2hhbmdlcyBhcmUgbm90IGFsbG93ZWQNCiAgIGlmIChpc0FsaXZlKCkpIHsNCiAgICAgREVWTE9HX0VSUk9SKA0KQEAgLTUwLDMxICs1MSwzMSBAQAogICAgIHJldHVybjsNCiAgIH0NCiANCi0gIHRoaXMtPmNvbmZpZyA9ICpzdGF0aWNfY2FzdDxDb25maWcqPihjb25maWcpOw0KKyAgdGhpcy0+bUNvbmZpZyA9ICpzdGF0aWNfY2FzdDxDb25maWcqPihwYUNvbmZpZyk7DQogfQ0KIA0KIGNvbnN0IGNoYXIqIEVtYnJpY2tCdXNIYW5kbGVyOjppbml0KCkgew0KICAgLy8gU3RhcnQgaGFuZGxlcnMNCi0gIHNwaSA9IG5ldyBFbWJyaWNrU1BJSGFuZGxlcihjb25maWcuQnVzSW50ZXJmYWNlKTsNCi0gIHNsYXZlU2VsZWN0ID0gbmV3IEVtYnJpY2tQaW5IYW5kbGVyKGNvbmZpZy5CdXNTZWxlY3RQaW4pOw0KLSAgc2xhdmVzID0gbmV3IFRTbGF2ZUxpc3QoKTsNCisgIG1TcGkgPSBuZXcgRW1icmlja1NQSUhhbmRsZXIobUNvbmZpZy5tQnVzSW50ZXJmYWNlKTsNCisgIG1TbGF2ZVNlbGVjdCA9IG5ldyBFbWJyaWNrUGluSGFuZGxlcihtQ29uZmlnLm1CdXNTZWxlY3RQaW4pOw0KKyAgbVNsYXZlcyA9IG5ldyBUU2xhdmVMaXN0KCk7DQogDQogICAvLyBDaGVjayBoYW5kbGVycw0KICAgaWYgKGNoZWNrSGFuZGxlckVycm9yKCkpIHsNCi0gICAgcmV0dXJuIGVycm9yOw0KKyAgICByZXR1cm4gbUVycm9yOw0KICAgfQ0KIA0KICAgLy8gU2V0IFNQSSBzcGVkIGZvciBpbml0aWFsaXphdGlvbg0KLSAgc3BpLT5zZXRTcGVlZChjb25maWcuQnVzSW5pdFNwZWVkKTsNCisgIG1TcGktPnNldFNwZWVkKG1Db25maWcubUJ1c0luaXRTcGVlZCk7DQogDQogICAvLyBEaXNhYmxlIHNsYXZlIHNlbGVjdCAtPiByZXNldCBhbGwgc2xhdmVzDQotICBzbGF2ZVNlbGVjdC0+ZGlzYWJsZSgpOw0KKyAgbVNsYXZlU2VsZWN0LT5kaXNhYmxlKCk7DQogDQogICAvLyBXYWl0IGZvciByZXNldA0KICAgc2xlZXAoMSk7DQogDQogICAvLyBFbmFibGUgc2xhdmUgc2VsZWN0IC0+IHRoZSBmaXJzdCBzbGF2ZSB3YWl0cyBmb3IgaW5pdGlhbGl6YXRpb24NCi0gIHNsYXZlU2VsZWN0LT5lbmFibGUoKTsNCisgIG1TbGF2ZVNlbGVjdC0+ZW5hYmxlKCk7DQogDQogICAvLyBXYWl0IGZvciBpbml0DQogICBtaWNyb3NsZWVwKFN5bmNHYXBEdXJhdGlvbiAqIDIpOw0KQEAgLTg3LDExICs4OCwxMSBAQAogICAgIEVtYnJpY2tTbGF2ZUhhbmRsZXIgKnNsYXZlID0gRW1icmlja1NsYXZlSGFuZGxlcjo6c2VuZEluaXQodGhpcywgc2xhdmVDb3VudGVyKTsNCiANCiAgICAgaWYgKHNsYXZlICE9IDApIHsNCi0gICAgICBzbGF2ZXMtPnB1c2hCYWNrKHNsYXZlKTsNCisgICAgICBtU2xhdmVzLT5wdXNoQmFjayhzbGF2ZSk7DQogDQogICAgICAgLy8gQWN0aXZhdGUgbmV4dCBzbGF2ZSBieSBzZW5kaW5nIHRoZSAnU2VsZWN0TmV4dFNsYXZlJyBjb21tYW5kIHRvIHRoZSBjdXJyZW50IHNsYXZlDQogICAgICAgLy8gSXQgZW5hYmxlcyB0aGUgc2xhdmUgc2VsZWN0IHBpbiBmb3IgdGhlIG5leHQgc2xhdmUgb24gdGhlIGJ1cw0KLSAgICAgIHRyYW5zZmVyKHNsYXZlLT5hZGRyZXNzLCBTZWxlY3ROZXh0U2xhdmUpOw0KKyAgICAgIHRyYW5zZmVyKHNsYXZlLT5tQWRkcmVzcywgU2VsZWN0TmV4dFNsYXZlKTsNCiANCiAgICAgICBzbGF2ZUNvdW50ZXIrKzsNCiAgICAgICBhdHRlbXB0cyA9IDA7DQpAQCAtMTAwLDQ2ICsxMDEsNDggQEAKICAgICBtaWNyb3NsZWVwKFN5bmNHYXBEdXJhdGlvbiAqIDIpOw0KICAgfSB3aGlsZSAoKythdHRlbXB0cyA8IDMpOw0KIA0KLSAgc2xhdmVDb3VudCA9IHNsYXZlQ291bnRlciAtIDE7DQorICBtU2xhdmVDb3VudCA9IHNsYXZlQ291bnRlciAtIDE7DQogDQotICBpZiAoc2xhdmVDb3VudCA9PSAwKSB7DQorICBpZiAobVNsYXZlQ291bnQgPT0gMCkgew0KICAgICByZXR1cm4gc2NtTm9TbGF2ZXNGb3VuZDsNCiAgIH0NCiANCiAgIC8vIEluY3JlYXNlIHRoZSBzcGVlZCBvZiB0aGUgYnVzIGZvciBkYXRhIHRyYW5zZmVycw0KLSAgc3BpLT5zZXRTcGVlZChjb25maWcuQnVzTG9vcFNwZWVkKTsNCisgIG1TcGktPnNldFNwZWVkKG1Db25maWcubUJ1c0xvb3BTcGVlZCk7DQogDQogICByZXR1cm4gMDsNCiB9DQogDQogdm9pZCBFbWJyaWNrQnVzSGFuZGxlcjo6ZGVJbml0KCkgew0KICAgLy8gRnJlZSBtZW1vcnkgLT4gZGVsZXRlIGFsbCBzbGF2ZSBpbnN0YW5jZXMgYW5kIGhhcmR3YXJlIGhhbmRsZXJzDQotICBUU2xhdmVMaXN0OjpJdGVyYXRvciBpdEVuZChzbGF2ZXMtPmVuZCgpKTsNCi0gIGZvciAoVFNsYXZlTGlzdDo6SXRlcmF0b3IgaXQgPSBzbGF2ZXMtPmJlZ2luKCk7IGl0ICE9IGl0RW5kOyArK2l0KQ0KKyAgVFNsYXZlTGlzdDo6SXRlcmF0b3IgaXRFbmQobVNsYXZlcy0+ZW5kKCkpOw0KKyAgZm9yKFRTbGF2ZUxpc3Q6Okl0ZXJhdG9yIGl0ID0gbVNsYXZlcy0+YmVnaW4oKTsgaXQgIT0gaXRFbmQ7ICsraXQpIHsNCiAgICAgZGVsZXRlICppdDsNCi0gIGRlbGV0ZSBzbGF2ZXM7DQotICBzbGF2ZXMgPSAwOw0KKyAgfQ0KKyAgZGVsZXRlIG1TbGF2ZXM7DQorICBtU2xhdmVzID0gMDsNCiANCi0gIGRlbGV0ZSBzcGk7DQotICBkZWxldGUgc2xhdmVTZWxlY3Q7DQorICBkZWxldGUgbVNwaTsNCisgIGRlbGV0ZSBtU2xhdmVTZWxlY3Q7DQogfQ0KIA0KLWZvcnRlOjpjb3JlOjpJTzo6SU9IYW5kbGUqIEVtYnJpY2tCdXNIYW5kbGVyOjppbml0SGFuZGxlKA0KLSAgICBmb3J0ZTo6Y29yZTo6SU86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpoYW5kbGVEZXNjcmlwdG9yKSB7DQotICBIYW5kbGVEZXNjcmlwdG9yIGRlc2MgPSAqc3RhdGljX2Nhc3Q8SGFuZGxlRGVzY3JpcHRvcio+KGhhbmRsZURlc2NyaXB0b3IpOw0KK2ZvcnRlOjpjb3JlOjppbzo6SU9IYW5kbGUqIEVtYnJpY2tCdXNIYW5kbGVyOjppbml0SGFuZGxlKA0KKyAgICBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqcGFIYW5kbGVEZXNjcmlwdG9yKSB7DQorICBIYW5kbGVEZXNjcmlwdG9yICZkZXNjID0gc3RhdGljX2Nhc3Q8SGFuZGxlRGVzY3JpcHRvciY+KCpwYUhhbmRsZURlc2NyaXB0b3IpOw0KIA0KLSAgRW1icmlja1NsYXZlSGFuZGxlciAqc2xhdmUgPSBnZXRTbGF2ZShkZXNjLnNsYXZlSW5kZXgpOw0KLSAgaWYgKHNsYXZlID09IDApDQorICBFbWJyaWNrU2xhdmVIYW5kbGVyICpzbGF2ZSA9IGdldFNsYXZlKGRlc2MubVNsYXZlSW5kZXgpOw0KKyAgaWYoc2xhdmUgPT0gMCkgew0KICAgICByZXR1cm4gMDsNCisgIH0NCiANCi0gIHN3aXRjaCAoZGVzYy50eXBlKSB7DQorICBzd2l0Y2ggKGRlc2MubVR5cGUpIHsNCiAgIGNhc2UgQml0Og0KLSAgICByZXR1cm4gbmV3IEVtYnJpY2tCaXRTbGF2ZUhhbmRsZSh0aGlzLCBkZXNjLmRpcmVjdGlvbiwgZGVzYy5vZmZzZXQsIGRlc2MucG9zaXRpb24sDQorICAgICAgcmV0dXJuIG5ldyBFbWJyaWNrQml0U2xhdmVIYW5kbGUodGhpcywgZGVzYy5tRGlyZWN0aW9uLCBkZXNjLm1PZmZzZXQsIGRlc2MubVBvc2l0aW9uLA0KICAgICAgICAgc2xhdmUpOw0KICAgY2FzZSBBbmFsb2c6DQotICAgIHJldHVybiBuZXcgRW1icmlja0FuYWxvZ1NsYXZlSGFuZGxlKHRoaXMsIGRlc2MuZGlyZWN0aW9uLCBkZXNjLm9mZnNldCwgc2xhdmUpOw0KKyAgICAgIHJldHVybiBuZXcgRW1icmlja0FuYWxvZ1NsYXZlSGFuZGxlKHRoaXMsIGRlc2MubURpcmVjdGlvbiwgZGVzYy5tT2Zmc2V0LCBzbGF2ZSk7DQogICBjYXNlIEFuYWxvZzEwOg0KLSAgICByZXR1cm4gbmV3IEVtYnJpY2tBbmFsb2cxMFNsYXZlSGFuZGxlKHRoaXMsIGRlc2MuZGlyZWN0aW9uLCBkZXNjLm9mZnNldCwgc2xhdmUpOw0KKyAgICAgIHJldHVybiBuZXcgRW1icmlja0FuYWxvZzEwU2xhdmVIYW5kbGUodGhpcywgZGVzYy5tRGlyZWN0aW9uLCBkZXNjLm1PZmZzZXQsIHNsYXZlKTsNCiAgIH0NCiANCiAgIHJldHVybiAwOw0KQEAgLTE0NywyNCArMTUwLDI0IEBACiANCiB2b2lkIEVtYnJpY2tCdXNIYW5kbGVyOjpwcmVwYXJlTG9vcCgpIHsNCiAgIC8vIEdldCBjdXJyZW50IHRpbWUNCi0gIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmbmV4dExvb3ApOw0KKyAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZtTmV4dExvb3ApOw0KIA0KICAgLy8gU2NoZWR1bGluZw0KICAgLy8gVE9ETyBDb21iaW5lIHNsYXZlcyBsaXN0IGFuZCBzY2hlZHVsaW5nIGluZm9ybWF0aW9uDQogICAvLyBESVNDVVNTIFNwZWVkIG9mIGFycmF5IGFuZCBmb3J0ZV9saXN0Pw0KLSAgVFNsYXZlTGlzdDo6SXRlcmF0b3IgaXQgPSBzbGF2ZXMtPmJlZ2luKCk7DQotICBzTGlzdCA9IChzdHJ1Y3QgU0VudHJ5KiopIGZvcnRlX21hbGxvYyhzaXplb2Yoc3RydWN0IFNFbnRyeSopICogc2xhdmVDb3VudCk7DQotICBmb3IgKGludCBpID0gMDsgaSA8IHNsYXZlQ291bnQ7IGkrKykgew0KLSAgICBzTGlzdFtpXSA9IChzdHJ1Y3QgU0VudHJ5KikgZm9ydGVfbWFsbG9jKHNpemVvZihzdHJ1Y3QgU0VudHJ5KSk7DQotICAgIHNMaXN0W2ldLT5zbGF2ZSA9ICppdDsNCi0gICAgc0xpc3RbaV0tPm5leHREZWFkbGluZSA9IG5leHRMb29wOw0KLSAgICBzTGlzdFtpXS0+bGFzdER1cmF0aW9uID0gMDsNCi0gICAgc0xpc3RbaV0tPmZvcmNlZCA9IGZhbHNlOw0KLSAgICBzTGlzdFtpXS0+ZGVsYXllZCA9IGZhbHNlOw0KKyAgVFNsYXZlTGlzdDo6SXRlcmF0b3IgaXQgPSBtU2xhdmVzLT5iZWdpbigpOw0KKyAgbVNMaXN0ID0gKHN0cnVjdCBTRW50cnkqKikgZm9ydGVfbWFsbG9jKHNpemVvZihzdHJ1Y3QgU0VudHJ5KikgKiBtU2xhdmVDb3VudCk7DQorICBmb3IgKGludCBpID0gMDsgaSA8IG1TbGF2ZUNvdW50OyBpKyspIHsNCisgICAgbVNMaXN0W2ldID0gKHN0cnVjdCBTRW50cnkqKSBmb3J0ZV9tYWxsb2Moc2l6ZW9mKHN0cnVjdCBTRW50cnkpKTsNCisgICAgbVNMaXN0W2ldLT5tU2xhdmUgPSAqaXQ7DQorICAgIG1TTGlzdFtpXS0+bU5leHREZWFkbGluZSA9IG1OZXh0TG9vcDsNCisgICAgbVNMaXN0W2ldLT5tTGFzdER1cmF0aW9uID0gMDsNCisgICAgbVNMaXN0W2ldLT5tRm9yY2VkID0gZmFsc2U7DQorICAgIG1TTGlzdFtpXS0+bURlbGF5ZWQgPSBmYWxzZTsNCiANCiAgICAgKytpdDsNCiAgIH0NCi0gIHNOZXh0ID0gc0xpc3RbMF07DQorICBtU05leHQgPSBtU0xpc3RbMF07DQogICBtTG9vcEFjdGl2ZSA9IGZhbHNlOw0KIH0NCiANCkBAIC0xODAsMjMgKzE4MywyMyBAQAogICAgIHN0cnVjdCB0aW1lc3BlYyBub3c7DQogICAgIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmbm93KTsNCiANCi0gICAgaWYodGltZXNwZWNMZXNzVGhhbigmbm93LCAmc05leHQtPm5leHREZWFkbGluZSkpeyAvL29ubHkgd2FpdCBpZiB0aGUgZGVhZGxpbmUgaXMgaW4gdGhlIGZ1dHVyZQ0KKyAgICBpZih0aW1lc3BlY0xlc3NUaGFuKCZub3csICZtU05leHQtPm1OZXh0RGVhZGxpbmUpKXsgLy9vbmx5IHdhaXQgaWYgdGhlIGRlYWRsaW5lIGlzIGluIHRoZSBmdXR1cmUNCiAgICAgICBzdHJ1Y3QgdGltZXNwZWMgdGltZVRvU2xlZXA7DQotICAgICAgdGltZXNwZWNTdWIoJnNOZXh0LT5uZXh0RGVhZGxpbmUsICZub3csICZ0aW1lVG9TbGVlcCk7DQorICAgICAgdGltZXNwZWNTdWIoJm1TTmV4dC0+bU5leHREZWFkbGluZSwgJm5vdywgJnRpbWVUb1NsZWVwKTsNCiAgICAgICBtRm9yY2VMb29wLnRpbWVkV2FpdCh0aW1lVG9TbGVlcC50dl9zZWMgKiAxRTkgKyB0aW1lVG9TbGVlcC50dl9uc2VjKTsNCiAgICAgfQ0KIA0KICAgICAvLyBTZXQgY3VycmVudCBzbGF2ZQ0KICAgICBtTG9vcEFjdGl2ZSA9IHRydWU7DQotICAgIHNDdXIgPSBzTmV4dDsNCisgICAgc0N1ciA9IG1TTmV4dDsNCiANCiAgICAgLy8gU2V0IG5leHQgZGVhZGxpbmUgb2YgY3VycmVudCBzbGF2ZQ0KLSAgICBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnNDdXItPm5leHREZWFkbGluZSk7DQotICAgIGFkZFRpbWUoc0N1ci0+bmV4dERlYWRsaW5lLCAxMDAwMDAwIC8gc0N1ci0+c2xhdmUtPmNvbmZpZy5VcGRhdGVJbnRlcnZhbCk7DQorICAgIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmc0N1ci0+bU5leHREZWFkbGluZSk7DQorICAgIGFkZFRpbWUoc0N1ci0+bU5leHREZWFkbGluZSwgMTAwMDAwMCAvIHNDdXItPm1TbGF2ZS0+bUNvbmZpZy5tVXBkYXRlSW50ZXJ2YWwpOw0KIA0KICAgICAvLyBSZW1vdmUgZGVsYXllZCBhbmQgZm9yY2VkIGZsYWcNCi0gICAgc0N1ci0+Zm9yY2VkID0gZmFsc2U7DQotICAgIHNDdXItPmRlbGF5ZWQgPSBmYWxzZTsNCisgICAgc0N1ci0+bUZvcmNlZCA9IGZhbHNlOw0KKyAgICBzQ3VyLT5tRGVsYXllZCA9IGZhbHNlOw0KIA0KICAgICAvLyBSZW1vdmUgbG9jayBkdXJpbmcgYmxvY2tpbmcgb3BlcmF0aW9uIC0+IGFsbG93cyBmb3JjZWQgdXBkYXRlIGludGVycnVwdHMNCiAgICAgbVN5bmNPYmplY3QudW5sb2NrKCk7DQpAQCAtMjA0LDExICsyMDcsMTIgQEAKICAgICB1aW50NjRfdCBtcyA9IG1pY3JvcygpOw0KIA0KICAgICAvLyBQZXJmb3JtIHVwZGF0ZSBvbiBjdXJyZW50IHNsYXZlDQotICAgIGlmICgtMSA9PSBzQ3VyLT5zbGF2ZS0+dXBkYXRlKCkpIHsNCi0gICAgICBlcnJvciA9IHNjbVNsYXZlVXBkYXRlRmFpbGVkOw0KKyAgICBpZiAoLTEgPT0gc0N1ci0+bVNsYXZlLT51cGRhdGUoKSkgew0KKyAgICAgIG1FcnJvciA9IHNjbVNsYXZlVXBkYXRlRmFpbGVkOw0KICAgICAgIC8vIENoZWNrIGZvciBjcml0aWNhbCBidXMgZXJyb3JzDQotICAgICAgaWYgKGNoZWNrSGFuZGxlckVycm9yKCkgfHwgaGFzRXJyb3IoKSkNCisgICAgICBpZihjaGVja0hhbmRsZXJFcnJvcigpIHx8IGhhc0Vycm9yKCkpIHsNCiAgICAgICAgIGJyZWFrOw0KKyAgICAgIH0NCiAgICAgfQ0KIA0KICAgICAvLyBTZWFyY2ggZm9yIG5leHQgZGVhZGxpbmUgLT4gc2V0IGxvY2sgdG8gYXZvaWQgY2hhbmdlcyBvZiBsaXN0DQpAQCAtMjE2LDE1ICsyMjAsMTYgQEAKICAgICBtTG9vcEFjdGl2ZSA9IGZhbHNlOw0KIA0KICAgICAvLyBTdG9yZSB1cGRhdGUgZHVyYXRpb24NCi0gICAgc0N1ci0+bGFzdER1cmF0aW9uID0gKHVpbnQxNl90KSAobWljcm9zKCkgLSBtcyk7DQorICAgIHNDdXItPm1MYXN0RHVyYXRpb24gPSAodWludDE2X3QpIChtaWNyb3MoKSAtIG1zKTsNCiANCiAgICAgLy8gSWYgY3VycmVudCBzbGF2ZSBpcyBmb3JjZWQgYWdhaW4gLT4gYWRkIHVwZGF0ZSBkdXJhdGlvbiB0byBkZWFkbGluZQ0KLSAgICBpZiAoc0N1ci0+Zm9yY2VkKQ0KLSAgICAgIGFkZFRpbWUoc0N1ci0+bmV4dERlYWRsaW5lLCBzQ3VyLT5sYXN0RHVyYXRpb24pOw0KKyAgICBpZihzQ3VyLT5tRm9yY2VkKSB7DQorICAgICAgYWRkVGltZShzQ3VyLT5tTmV4dERlYWRsaW5lLCBzQ3VyLT5tTGFzdER1cmF0aW9uKTsNCisgICAgfQ0KIA0KLSAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHNsYXZlQ291bnQ7IGkrKykgew0KLSAgICAgIGlmICh0aW1lc3BlY0xlc3NUaGFuKCZzTGlzdFtpXS0+bmV4dERlYWRsaW5lLCAmc05leHQtPm5leHREZWFkbGluZSkpIHsNCi0gICAgICAgIHNOZXh0ID0gc0xpc3RbaV07DQorICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbVNsYXZlQ291bnQ7IGkrKykgew0KKyAgICAgIGlmICh0aW1lc3BlY0xlc3NUaGFuKCZtU0xpc3RbaV0tPm1OZXh0RGVhZGxpbmUsICZtU05leHQtPm1OZXh0RGVhZGxpbmUpKSB7DQorICAgICAgICBtU05leHQgPSBtU0xpc3RbaV07DQogICAgICAgfQ0KICAgICB9DQogICB9DQpAQCAtMjM1LDYzICsyNDAsNjUgQEAKIA0KIHZvaWQgRW1icmlja0J1c0hhbmRsZXI6OmNsZWFuTG9vcCgpIHsNCiAgIC8vIEZyZWUgbWVtb3J5IG9mIGxpc3QNCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgc2xhdmVDb3VudDsgaSsrKQ0KLSAgICBmb3J0ZV9mcmVlKHNMaXN0W2ldKTsNCi0gIGZvcnRlX2ZyZWUoc0xpc3QpOw0KLSAgc0xpc3QgPSAwOw0KKyAgZm9yKGludCBpID0gMDsgaSA8IG1TbGF2ZUNvdW50OyBpKyspIHsNCisgICAgZm9ydGVfZnJlZShtU0xpc3RbaV0pOw0KKyAgfQ0KKyAgZm9ydGVfZnJlZShtU0xpc3QpOw0KKyAgbVNMaXN0ID0gMDsNCiB9DQogDQogYm9vbCBFbWJyaWNrQnVzSGFuZGxlcjo6Y2hlY2tIYW5kbGVyRXJyb3IoKSB7DQotICBpZiAoc3BpLT5oYXNFcnJvcigpKSB7DQotICAgIGVycm9yID0gc3BpLT5lcnJvcjsNCisgIGlmIChtU3BpLT5oYXNFcnJvcigpKSB7DQorICAgIG1FcnJvciA9IG1TcGktPm1FcnJvcjsNCiAgICAgcmV0dXJuIHRydWU7DQogICB9DQogDQotICBpZiAoc2xhdmVTZWxlY3QtPmhhc0Vycm9yKCkpIHsNCi0gICAgZXJyb3IgPSBzbGF2ZVNlbGVjdC0+ZXJyb3I7DQorICBpZiAobVNsYXZlU2VsZWN0LT5oYXNFcnJvcigpKSB7DQorICAgIG1FcnJvciA9IG1TbGF2ZVNlbGVjdC0+cGFFcnJvcjsNCiAgICAgcmV0dXJuIHRydWU7DQogICB9DQogDQogICByZXR1cm4gZmFsc2U7DQogfQ0KIA0KLUVtYnJpY2tTbGF2ZUhhbmRsZXIqIEVtYnJpY2tCdXNIYW5kbGVyOjpnZXRTbGF2ZShpbnQgaW5kZXgpIHsNCi0gIGlmIChzbGF2ZXMgPT0gMCkgew0KK0VtYnJpY2tTbGF2ZUhhbmRsZXIqIEVtYnJpY2tCdXNIYW5kbGVyOjpnZXRTbGF2ZShpbnQgcGFJbmRleCkgew0KKyAgaWYgKG1TbGF2ZXMgPT0gMCkgew0KICAgICByZXR1cm4gMDsNCiAgIH0NCiANCi0gIFRTbGF2ZUxpc3Q6Okl0ZXJhdG9yIGl0RW5kID0gc2xhdmVzLT5lbmQoKTsNCisgIFRTbGF2ZUxpc3Q6Okl0ZXJhdG9yIGl0RW5kID0gbVNsYXZlcy0+ZW5kKCk7DQogICBpbnQgaSA9IDA7DQotICBmb3IgKFRTbGF2ZUxpc3Q6Okl0ZXJhdG9yIGl0ID0gc2xhdmVzLT5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCwgaSsrKQ0KLSAgICBpZiAoaW5kZXggPT0gaSkgew0KKyAgZm9yKFRTbGF2ZUxpc3Q6Okl0ZXJhdG9yIGl0ID0gbVNsYXZlcy0+YmVnaW4oKTsgaXQgIT0gaXRFbmQ7ICsraXQsIGkrKykgew0KKyAgICBpZiAocGFJbmRleCA9PSBpKSB7DQogICAgICAgcmV0dXJuICppdDsNCiAgICAgfQ0KKyAgfQ0KIA0KICAgcmV0dXJuIDA7DQogfQ0KIA0KLXZvaWQgRW1icmlja0J1c0hhbmRsZXI6OmZvcmNlVXBkYXRlKGludCBpbmRleCkgew0KK3ZvaWQgRW1icmlja0J1c0hhbmRsZXI6OmZvcmNlVXBkYXRlKGludCBwYUluZGV4KSB7DQogICBtU3luY09iamVjdC5sb2NrKCk7DQogDQotICBpZiAoc0xpc3QgPT0gMCB8fCBzbGF2ZUNvdW50IDw9IGluZGV4IHx8IHNMaXN0W2luZGV4XS0+Zm9yY2VkKSB7DQorICBpZiAobVNMaXN0ID09IDAgfHwgbVNsYXZlQ291bnQgPD0gcGFJbmRleCB8fCBtU0xpc3RbcGFJbmRleF0tPm1Gb3JjZWQpIHsNCiAgICAgbVN5bmNPYmplY3QudW5sb2NrKCk7DQogICAgIHJldHVybjsNCiAgIH0NCiANCi0gIFNFbnRyeSAqZSA9IHNMaXN0W2luZGV4XTsNCisgIFNFbnRyeSAqZSA9IG1TTGlzdFtwYUluZGV4XTsNCiANCi0gIGUtPmZvcmNlZCA9IHRydWU7DQotICBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJmUtPm5leHREZWFkbGluZSk7DQorICBlLT5tRm9yY2VkID0gdHJ1ZTsNCisgIGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmZS0+bU5leHREZWFkbGluZSk7DQogICBpZiAoIW1Mb29wQWN0aXZlKSB7DQotICAgIGlmKCFzTmV4dC0+ZGVsYXllZCAmJiAhc05leHQtPmZvcmNlZCkgew0KLSAgICAgIHN0cnVjdCB0aW1lc3BlYyB0cyA9IGUtPm5leHREZWFkbGluZTsNCi0gICAgICBhZGRUaW1lKHRzLCBlLT5sYXN0RHVyYXRpb24gKiAyKTsNCisgICAgaWYoIW1TTmV4dC0+bURlbGF5ZWQgJiYgIW1TTmV4dC0+bUZvcmNlZCkgew0KKyAgICAgIHN0cnVjdCB0aW1lc3BlYyB0cyA9IGUtPm1OZXh0RGVhZGxpbmU7DQorICAgICAgYWRkVGltZSh0cywgZS0+bUxhc3REdXJhdGlvbiAqIDIpOw0KIA0KLSAgICAgIGlmKCF0aW1lc3BlY0xlc3NUaGFuKCZ0cywgJnNOZXh0LT5uZXh0RGVhZGxpbmUpKSB7DQotICAgICAgICBzTmV4dC0+ZGVsYXllZCA9IHRydWU7DQorICAgICAgaWYoIXRpbWVzcGVjTGVzc1RoYW4oJnRzLCAmbVNOZXh0LT5tTmV4dERlYWRsaW5lKSkgew0KKyAgICAgICAgbVNOZXh0LT5tRGVsYXllZCA9IHRydWU7DQogICAgICAgfQ0KIA0KLSAgICAgIHNOZXh0ID0gZTsNCisgICAgICBtU05leHQgPSBlOw0KICAgICB9DQogDQogICAgIC8vIEZvcmNlIG5leHQgbG9vcA0KQEAgLTMwMCwzOCArMzA3LDQxIEBACiAgIG1TeW5jT2JqZWN0LnVubG9jaygpOw0KIH0NCiANCi12b2lkIEVtYnJpY2tCdXNIYW5kbGVyOjphZGRTbGF2ZUhhbmRsZShpbnQgaW5kZXgsIGZvcnRlOjpjb3JlOjpJTzo6SU9IYW5kbGUqIGhhbmRsZSkgew0KLSAgRW1icmlja1NsYXZlSGFuZGxlciogc2xhdmUgPSBnZXRTbGF2ZShpbmRleCk7DQotICBpZiAoc2xhdmUgPT0gMCkNCit2b2lkIEVtYnJpY2tCdXNIYW5kbGVyOjphZGRTbGF2ZUhhbmRsZShpbnQgcGFJbmRleCwgZm9ydGU6OmNvcmU6OmlvOjpJT0hhbmRsZSogcGFIYW5kbGUpIHsNCisgIEVtYnJpY2tTbGF2ZUhhbmRsZXIqIHNsYXZlID0gZ2V0U2xhdmUocGFJbmRleCk7DQorICBpZihzbGF2ZSA9PSAwKSB7DQogICAgIHJldHVybjsNCisgIH0NCiANCi0gIHNsYXZlLT5hZGRIYW5kbGUoKEVtYnJpY2tTbGF2ZUhhbmRsZSopIGhhbmRsZSk7DQorICBzbGF2ZS0+YWRkSGFuZGxlKChFbWJyaWNrU2xhdmVIYW5kbGUqKSBwYUhhbmRsZSk7DQogfQ0KIA0KLXZvaWQgRW1icmlja0J1c0hhbmRsZXI6OmRyb3BTbGF2ZUhhbmRsZXMoaW50IGluZGV4KSB7DQotICBFbWJyaWNrU2xhdmVIYW5kbGVyKiBzbGF2ZSA9IGdldFNsYXZlKGluZGV4KTsNCi0gIGlmIChzbGF2ZSA9PSAwKQ0KK3ZvaWQgRW1icmlja0J1c0hhbmRsZXI6OmRyb3BTbGF2ZUhhbmRsZXMoaW50IHBhSW5kZXgpIHsNCisgIEVtYnJpY2tTbGF2ZUhhbmRsZXIqIHNsYXZlID0gZ2V0U2xhdmUocGFJbmRleCk7DQorICBpZihzbGF2ZSA9PSAwKSB7DQogICAgIHJldHVybjsNCisgIH0NCiANCiAgIHNsYXZlLT5kcm9wSGFuZGxlcygpOw0KIH0NCiANCi1ib29sIEVtYnJpY2tCdXNIYW5kbGVyOjppc1NsYXZlQXZhaWxhYmxlKGludCBpbmRleCkgew0KLSAgcmV0dXJuIGdldFNsYXZlKGluZGV4KSAhPSAwOw0KK2Jvb2wgRW1icmlja0J1c0hhbmRsZXI6OmlzU2xhdmVBdmFpbGFibGUoaW50IHBhSW5kZXgpIHsNCisgIHJldHVybiBnZXRTbGF2ZShwYUluZGV4KSAhPSAwOw0KIH0NCiANCi1ib29sIEVtYnJpY2tCdXNIYW5kbGVyOjpjaGVja1NsYXZlVHlwZShpbnQgaW5kZXgsIGludCB0eXBlKSB7DQotICBFbWJyaWNrU2xhdmVIYW5kbGVyKiBzbGF2ZSA9IGdldFNsYXZlKGluZGV4KTsNCi0gIGlmIChzbGF2ZSA9PSAwKQ0KK2Jvb2wgRW1icmlja0J1c0hhbmRsZXI6OmNoZWNrU2xhdmVUeXBlKGludCBwYUluZGV4LCBpbnQgcGFUeXBlKSB7DQorICBFbWJyaWNrU2xhdmVIYW5kbGVyKiBzbGF2ZSA9IGdldFNsYXZlKHBhSW5kZXgpOw0KKyAgaWYoc2xhdmUgPT0gMCkgew0KICAgICByZXR1cm4gZmFsc2U7DQorICB9DQogDQotICByZXR1cm4gc2xhdmUtPnR5cGUgPT0gdHlwZTsNCisgIHJldHVybiBzbGF2ZS0+bVR5cGUgPT0gcGFUeXBlOw0KIH0NCiANCi1ib29sIEVtYnJpY2tCdXNIYW5kbGVyOjp0cmFuc2Zlcih1bnNpZ25lZCBpbnQgdGFyZ2V0LCBDb21tYW5kIGNtZCwNCi0gICAgdW5zaWduZWQgY2hhciogZGF0YVNlbmQsIGludCBkYXRhU2VuZExlbmd0aCwgdW5zaWduZWQgY2hhciogZGF0YVJlY2VpdmUsDQotICAgIGludCBkYXRhUmVjZWl2ZUxlbmd0aCwgRW1icmlja1NsYXZlSGFuZGxlcjo6U2xhdmVTdGF0dXMqIHN0YXR1cywgQ1N5bmNPYmplY3QgKnN5bmNNdXRleCkgew0KLSAgdW5zaWduZWQgaW50IGRhdGFMZW5ndGggPSBzdGQ6Om1heChkYXRhU2VuZExlbmd0aCwgZGF0YVJlY2VpdmVMZW5ndGggKyAxKTsgLy8gKyAxIHN0YXR1cyBieXRlDQorYm9vbCBFbWJyaWNrQnVzSGFuZGxlcjo6dHJhbnNmZXIodW5zaWduZWQgaW50IHBhVGFyZ2V0LCBDb21tYW5kIHBhQ21kLA0KKyAgICB1bnNpZ25lZCBjaGFyKiBwYURhdGFTZW5kLCBpbnQgcGFEYXRhU2VuZExlbmd0aCwgdW5zaWduZWQgY2hhciogcGFEYXRhUmVjZWl2ZSwNCisgICAgaW50IHBhRGF0YVJlY2VpdmVMZW5ndGgsIEVtYnJpY2tTbGF2ZUhhbmRsZXI6OlNsYXZlU3RhdHVzKiBwYVN0YXR1cywgQ1N5bmNPYmplY3QgKnBhU3luY011dGV4KSB7DQorICB1bnNpZ25lZCBpbnQgZGF0YUxlbmd0aCA9IHN0ZDo6bWF4KHBhRGF0YVNlbmRMZW5ndGgsIHBhRGF0YVJlY2VpdmVMZW5ndGggKyAxKTsgLy8gKyAxIHN0YXR1cyBieXRlDQogDQogICB1bnNpZ25lZCBpbnQgYnVmZmVyTGVuZ3RoID0gc2l6ZW9mKEVtYnJpY2tIZWFkZXJQYWNrYWdlKSArIGRhdGFMZW5ndGggKyAxOyAvLyArIDEgY2hlY2tzdW0gYnl0ZQ0KICAgaWYgKGJ1ZmZlckxlbmd0aCA+IFRyYW5zZmVyQnVmZmVyTGVuZ3RoKSB7DQpAQCAtMzM5LDI3ICszNDksMzAgQEAKICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogDQotICBtZW1zZXQoc2VuZEJ1ZmZlciwgMCwgYnVmZmVyTGVuZ3RoKTsNCi0gIG1lbXNldChyZWN2QnVmZmVyLCAwLCBidWZmZXJMZW5ndGgpOw0KKyAgbWVtc2V0KG1TZW5kQnVmZmVyLCAwLCBidWZmZXJMZW5ndGgpOw0KKyAgbWVtc2V0KG1SZWN2QnVmZmVyLCAwLCBidWZmZXJMZW5ndGgpOw0KIA0KICAgLy8gUHJlcGFyZSBoZWFkZXINCi0gIEVtYnJpY2tIZWFkZXJQYWNrYWdlKiBoZWFkZXIgPSAoRW1icmlja0hlYWRlclBhY2thZ2UqKSBzZW5kQnVmZmVyOw0KKyAgRW1icmlja0hlYWRlclBhY2thZ2UqIGhlYWRlciA9IChFbWJyaWNrSGVhZGVyUGFja2FnZSopIG1TZW5kQnVmZmVyOw0KIA0KLSAgaGVhZGVyLT5hZGRyZXNzID0gKGNoYXIpIHRhcmdldDsNCi0gIGhlYWRlci0+Y29tbWFuZCA9IGNtZDsNCi0gIGhlYWRlci0+Y2hlY2tzdW0gPSBjYWxjQ2hlY2tzdW0oKHVuc2lnbmVkIGNoYXIqKSBoZWFkZXIsIDIpOw0KKyAgaGVhZGVyLT5tQWRkcmVzcyA9IChjaGFyKSBwYVRhcmdldDsNCisgIGhlYWRlci0+bUNvbW1hbmQgPSBwYUNtZDsNCisgIGhlYWRlci0+bUNoZWNrc3VtID0gY2FsY0NoZWNrc3VtKCh1bnNpZ25lZCBjaGFyKikgaGVhZGVyLCAyKTsNCiANCi0gIGlmIChzeW5jTXV0ZXgpDQotICAgIHN5bmNNdXRleC0+bG9jaygpOw0KLSAgbWVtY3B5KHNlbmRCdWZmZXIgKyBzaXplb2YoRW1icmlja0hlYWRlclBhY2thZ2UpLCBkYXRhU2VuZCwgZGF0YVNlbmRMZW5ndGgpOw0KLSAgaWYgKHN5bmNNdXRleCkNCi0gICBzeW5jTXV0ZXgtPnVubG9jaygpOw0KLSAgc2VuZEJ1ZmZlcltzaXplb2YoRW1icmlja0hlYWRlclBhY2thZ2UpICsgZGF0YVNlbmRMZW5ndGhdID0gY2FsY0NoZWNrc3VtKA0KLSAgICAgIHNlbmRCdWZmZXIgKyBzaXplb2YoRW1icmlja0hlYWRlclBhY2thZ2UpLCBkYXRhU2VuZExlbmd0aCk7DQorICBpZihwYVN5bmNNdXRleCkgew0KKyAgICBwYVN5bmNNdXRleC0+bG9jaygpOw0KKyAgfQ0KKyAgbWVtY3B5KG1TZW5kQnVmZmVyICsgc2l6ZW9mKEVtYnJpY2tIZWFkZXJQYWNrYWdlKSwgcGFEYXRhU2VuZCwgcGFEYXRhU2VuZExlbmd0aCk7DQorICBpZihwYVN5bmNNdXRleCkgew0KKyAgIHBhU3luY011dGV4LT51bmxvY2soKTsNCisgIH0NCisgIG1TZW5kQnVmZmVyW3NpemVvZihFbWJyaWNrSGVhZGVyUGFja2FnZSkgKyBwYURhdGFTZW5kTGVuZ3RoXSA9IGNhbGNDaGVja3N1bSgNCisgICAgICBtU2VuZEJ1ZmZlciArIHNpemVvZihFbWJyaWNrSGVhZGVyUGFja2FnZSksIHBhRGF0YVNlbmRMZW5ndGgpOw0KIA0KICAgLy8gSW52ZXJ0IGRhdGEgb2YgbWFzdGVyDQotICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGJ1ZmZlckxlbmd0aDsgaSsrKQ0KLSAgICBzZW5kQnVmZmVyW2ldID0gKHVuc2lnbmVkIGNoYXIpIH5zZW5kQnVmZmVyW2ldOw0KKyAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGJ1ZmZlckxlbmd0aDsgaSsrKSB7DQorICAgIG1TZW5kQnVmZmVyW2ldID0gKHVuc2lnbmVkIGNoYXIpIH5tU2VuZEJ1ZmZlcltpXTsNCisgIH0NCiANCiAgIC8vIFNlbmQgYW5kIHJlY2VpdmUgYnVmZmVyIHZpYSBTUEkNCiAgIGludCBhdHRlbXB0cyA9IDM7DQpAQCAtMzY4LDgzICszODEsNjggQEAKICAgZG8gew0KICAgICAvLyBXYWl0IHJlcXVpcmVkIG1pY3Jvc2Vjb25kcyBiZXR3ZWVuIG1lc3NhZ2VzDQogICAgIHVpbnQ2NF90IG1pY3JvVGltZSA9IG1pY3JvcygpOw0KLSAgICBpZiAobGFzdFRyYW5zZmVyICsgU3luY0dhcER1cmF0aW9uID4gbWljcm9UaW1lKQ0KLSAgICAgIG1pY3Jvc2xlZXAobGFzdFRyYW5zZmVyICsgKHVpbnQ2NF90KSBTeW5jR2FwRHVyYXRpb24gLSBtaWNyb1RpbWUpOw0KKyAgICBpZihtTGFzdFRyYW5zZmVyICsgU3luY0dhcER1cmF0aW9uID4gbWljcm9UaW1lKSB7DQorICAgICAgbWljcm9zbGVlcChtTGFzdFRyYW5zZmVyICsgKHVpbnQ2NF90KSBTeW5jR2FwRHVyYXRpb24gLSBtaWNyb1RpbWUpOw0KKyAgICB9DQogDQotLy8gICAgLy8gU2VuZCBoZWFkZXINCi0vLyAgICBvayA9IHNwaS0+dHJhbnNmZXIoc2VuZEJ1ZmZlciwgcmVjdkJ1ZmZlciwgc2l6ZW9mKEVtYnJpY2tIZWFkZXJQYWNrYWdlKSk7DQotLy8gICAgbGFzdFRyYW5zZmVyID0gbWljcm9zKCk7DQotLy8gICAgaWYgKCFvaykgew0KLS8vICAgICAgREVWTE9HX0VSUk9SKCJlbUJyaWNrW0J1c0hhbmRsZXJdOiBGYWlsZWQgdG8gdHJhbnNmZXIgaGVhZGVyIGJ1ZmZlci5cbiIpOw0KLS8vICAgICAgYnJlYWs7DQotLy8gICAgfQ0KLS8vDQotLy8gICAgLy8gV2FpdCByZXF1aXJlZCBtaWNyb3NlY29uZHMgYmV0d2VlbiBtZXNzYWdlcw0KLS8vICAgIG1pY3JvVGltZSA9IG1pY3JvcygpOw0KLS8vICAgIGlmIChsYXN0VHJhbnNmZXIgKyA0ID4gbWljcm9UaW1lKQ0KLS8vICAgICAgbWljcm9zbGVlcChsYXN0VHJhbnNmZXIgKyA0IC0gbWljcm9UaW1lKTsNCi0vLw0KLS8vICAgIC8vIFNlbmQgZGF0YQ0KLS8vICAgIG9rID0gc3BpLT50cmFuc2ZlcihzZW5kQnVmZmVyICsgc2l6ZW9mKEVtYnJpY2tIZWFkZXJQYWNrYWdlKSwNCi0vLyAgICAgICAgcmVjdkJ1ZmZlciArIHNpemVvZihFbWJyaWNrSGVhZGVyUGFja2FnZSksDQotLy8gICAgICAgIGJ1ZmZlckxlbmd0aCAtIHNpemVvZihFbWJyaWNrSGVhZGVyUGFja2FnZSkpOw0KLS8vICAgIGxhc3RUcmFuc2ZlciA9IG1pY3JvcygpOw0KLS8vICAgIGlmICghb2spIHsNCi0vLyAgICAgIERFVkxPR19FUlJPUigiZW1Ccmlja1tCdXNIYW5kbGVyXTogRmFpbGVkIHRvIHRyYW5zZmVyIGRhdGEgYnVmZmVyLlxuIik7DQotLy8gICAgICBicmVhazsNCi0vLyAgICB9DQotICAgIG9rID0gc3BpLT50cmFuc2ZlcihzZW5kQnVmZmVyLCByZWN2QnVmZmVyLCBidWZmZXJMZW5ndGgpOw0KLSAgICBsYXN0VHJhbnNmZXIgPSBtaWNyb3MoKTsNCisgICAgb2sgPSBtU3BpLT50cmFuc2ZlcihtU2VuZEJ1ZmZlciwgbVJlY3ZCdWZmZXIsIGJ1ZmZlckxlbmd0aCk7DQorICAgIG1MYXN0VHJhbnNmZXIgPSBtaWNyb3MoKTsNCiANCiAgICAgLy8gQ3JpdGljYWwgZXJyb3Igb2YgYnVzIC0+IGJyZWFrIGltbWVkaWF0ZWx5DQotICAgIGlmICghb2spDQorICAgIGlmKCFvaykgew0KICAgICAgIGJyZWFrOw0KKyAgICB9DQogDQogICAgIC8vIFZhbGlkYXRlIGNoZWNrc3VtDQotICAgIG9rID0gY2FsY0NoZWNrc3VtKHJlY3ZCdWZmZXIgKyBzaXplb2YoRW1icmlja0hlYWRlclBhY2thZ2UpLA0KKyAgICBvayA9IGNhbGNDaGVja3N1bShtUmVjdkJ1ZmZlciArIHNpemVvZihFbWJyaWNrSGVhZGVyUGFja2FnZSksDQogICAgICAgICBidWZmZXJMZW5ndGggLSBzaXplb2YoRW1icmlja0hlYWRlclBhY2thZ2UpKSA9PSAwOw0KICAgICBpZiAoIW9rKSB7DQotLy8gICAgICBERVZMT0dfREVCVUcoImVtQnJpY2tbQnVzSGFuZGxlcl06IFRyYW5zZmVyIC0gSW52YWxpZCBjaGVja3N1bVxuIik7DQorICAgICAgREVWTE9HX0RFQlVHKCJlbUJyaWNrW0J1c0hhbmRsZXJdOiBUcmFuc2ZlciAtIEludmFsaWQgY2hlY2tzdW1cbiIpOw0KICAgICB9DQogICB9IHdoaWxlICghb2sgJiYgKytmYWlscyA8IGF0dGVtcHRzKTsNCiANCiAgIC8vIENoZWNrIGlmIGNvbW1hbmQgd2FzIHRyYW5zbWl0dGVkIHN1Y2Nlc3NmdWxseQ0KICAgaWYgKCFvaykgew0KLSAgICBpZiAodGFyZ2V0ICE9IDAgJiYgY21kICE9IERhdGEpIHsNCisgICAgaWYgKHBhVGFyZ2V0ICE9IDAgJiYgcGFDbWQgIT0gRGF0YSkgew0KICAgICAgIERFVkxPR19ERUJVRygNCi0gICAgICAgICAgImVtQnJpY2tbQnVzSGFuZGxlcl06IEZhaWxlZCB0byBzZW5kIGNvbW1hbmQgJWQgdG8gc2xhdmUgJWQuXG4iLCBjbWQsDQotICAgICAgICAgIHRhcmdldCk7DQorICAgICAgICAgICJlbUJyaWNrW0J1c0hhbmRsZXJdOiBGYWlsZWQgdG8gc2VuZCBjb21tYW5kICVkIHRvIHNsYXZlICVkLlxuIiwgcGFDbWQsDQorICAgICAgICAgIHBhVGFyZ2V0KTsNCiAgICAgfQ0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogDQogICAvLyBDb3B5IHJlc3VsdA0KLSAgaWYgKHN5bmNNdXRleCkNCi0gICAgc3luY011dGV4LT5sb2NrKCk7DQotICBpZiAoc3RhdHVzKQ0KLSAgKnN0YXR1cyA9IChFbWJyaWNrU2xhdmVIYW5kbGVyOjpTbGF2ZVN0YXR1cykgcmVjdkJ1ZmZlcltzaXplb2YoRW1icmlja0hlYWRlclBhY2thZ2UpXTsNCisgIGlmKHBhU3luY011dGV4KSB7DQorICAgIHBhU3luY011dGV4LT5sb2NrKCk7DQorICB9DQogDQotICBtZW1jcHkoZGF0YVJlY2VpdmUsIHJlY3ZCdWZmZXIgKyBzaXplb2YoRW1icmlja0hlYWRlclBhY2thZ2UpICsgMSwNCi0gICAgICAgICBkYXRhUmVjZWl2ZUxlbmd0aCk7DQotICBpZiAoc3luY011dGV4KQ0KLSAgICBzeW5jTXV0ZXgtPnVubG9jaygpOw0KKyAgaWYocGFTdGF0dXMpIHsNCisgICAgKnBhU3RhdHVzID0gKEVtYnJpY2tTbGF2ZUhhbmRsZXI6OlNsYXZlU3RhdHVzKSBtUmVjdkJ1ZmZlcltzaXplb2YoRW1icmlja0hlYWRlclBhY2thZ2UpXTsNCisgIH0NCisNCisgIG1lbWNweShwYURhdGFSZWNlaXZlLCBtUmVjdkJ1ZmZlciArIHNpemVvZihFbWJyaWNrSGVhZGVyUGFja2FnZSkgKyAxLA0KKyAgICAgICAgIHBhRGF0YVJlY2VpdmVMZW5ndGgpOw0KKyAgaWYocGFTeW5jTXV0ZXgpIHsNCisgICAgcGFTeW5jTXV0ZXgtPnVubG9jaygpOw0KKyAgfQ0KIA0KICAgcmV0dXJuIHRydWU7DQogfQ0KIA0KLXVuc2lnbmVkIGNoYXIgRW1icmlja0J1c0hhbmRsZXI6OmNhbGNDaGVja3N1bSh1bnNpZ25lZCBjaGFyICogZGF0YSwgaW50IGRhdGFMZW4pIHsNCit1bnNpZ25lZCBjaGFyIEVtYnJpY2tCdXNIYW5kbGVyOjpjYWxjQ2hlY2tzdW0odW5zaWduZWQgY2hhciAqIHBhRGF0YSwgaW50IHBhRGF0YUxlbikgew0KICAgdW5zaWduZWQgY2hhciBjID0gMDsNCi0gIGZvciAoaW50IGkgPSAwOyBpIDwgZGF0YUxlbjsgaSsrKQ0KLSAgICBjID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oYyArIGRhdGFbaV0pOw0KKyAgZm9yKGludCBpID0gMDsgaSA8IHBhRGF0YUxlbjsgaSsrKSB7DQorICAgIGMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihjICsgcGFEYXRhW2ldKTsNCisgIH0NCiANCi0gIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihDaGVja3N1bUNvbnN0YW50IC0gYyk7DQorICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc2NtQ2hlY2tzdW1Db25zdGFudCAtIGMpOw0KIH0NCiANCiB1aW50NjRfdCBFbWJyaWNrQnVzSGFuZGxlcjo6bWljcm9zKCkgew0KICAgc3RydWN0IHRpbWVzcGVjIHRzOw0KICAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0cyk7DQogDQotICByZXR1cm4gcm91bmQodHMudHZfbnNlYyAvIDEuMGUzKSArICh0cy50dl9zZWMgLSBpbml0VGltZSkgKiAxRTY7DQorICByZXR1cm4gcm91bmQodHMudHZfbnNlYyAvIDEuMGUzKSArICh0cy50dl9zZWMgLSBtSW5pdFRpbWUpICogMUU2Ow0KIH0NCiANCiB1bnNpZ25lZCBsb25nIEVtYnJpY2tCdXNIYW5kbGVyOjptaWxsaXMoKSB7DQpAQCAtNDUyLDIzICs0NTAsMjMgQEAKICAgc3RydWN0IHRpbWVzcGVjIHRzOw0KICAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0cyk7DQogDQotICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4ocm91bmQodHMudHZfbnNlYyAvIDEuMGU2KSkgKyAodHMudHZfc2VjIC0gaW5pdFRpbWUpICogMTAwMDsNCisgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihyb3VuZCh0cy50dl9uc2VjIC8gMS4wZTYpKSArICh0cy50dl9zZWMgLSBtSW5pdFRpbWUpICogMTAwMDsNCiB9DQogDQotdm9pZCBFbWJyaWNrQnVzSGFuZGxlcjo6bWljcm9zbGVlcCh1aW50NjRfdCBtaWNyb3NlY29uZHMpIHsNCit2b2lkIEVtYnJpY2tCdXNIYW5kbGVyOjptaWNyb3NsZWVwKHVpbnQ2NF90IHBhTWljcm9zZWNvbmRzKSB7DQogICBzdHJ1Y3QgdGltZXNwZWMgdHM7DQotICB0cy50dl9zZWMgPSAobG9uZykgKG1pY3Jvc2Vjb25kcyAvICh1aW50NjRfdCkgMUU2KTsNCi0gIHRzLnR2X25zZWMgPSAobG9uZykgbWljcm9zZWNvbmRzICogKGxvbmcpIDFFMyAtIHRzLnR2X3NlYyAqIChsb25nKSAxRTk7DQorICB0cy50dl9zZWMgPSAobG9uZykgKHBhTWljcm9zZWNvbmRzIC8gKHVpbnQ2NF90KSAxRTYpOw0KKyAgdHMudHZfbnNlYyA9IChsb25nKSBwYU1pY3Jvc2Vjb25kcyAqIChsb25nKSAxRTMgLSB0cy50dl9zZWMgKiAobG9uZykgMUU5Ow0KICAgbmFub3NsZWVwKCZ0cywgMCk7DQogfQ0KIA0KLXZvaWQgRW1icmlja0J1c0hhbmRsZXI6OmFkZFRpbWUoc3RydWN0IHRpbWVzcGVjJiB0cywgdW5zaWduZWQgbG9uZyBtaWNyb3NlY29uZHMpIHsNCi0gIHRzLnR2X3NlYyArPSBtaWNyb3NlY29uZHMgLyAodW5zaWduZWQgbG9uZykgMUU2Ow0KLSAgdW5zaWduZWQgbG9uZyB0ID0gdHMudHZfbnNlYyArIG1pY3Jvc2Vjb25kcyAqICh1bnNpZ25lZCBsb25nKSAxRTMNCi0gICAgICAtIChtaWNyb3NlY29uZHMgLyAodW5zaWduZWQgbG9uZykgMUU2KSAqICh1bnNpZ25lZCBsb25nKSAxRTk7DQordm9pZCBFbWJyaWNrQnVzSGFuZGxlcjo6YWRkVGltZShzdHJ1Y3QgdGltZXNwZWMmIHBhVHMsIHVuc2lnbmVkIGxvbmcgcGFNaWNyb3NlY29uZHMpIHsNCisgIHBhVHMudHZfc2VjICs9IHBhTWljcm9zZWNvbmRzIC8gKHVuc2lnbmVkIGxvbmcpIDFFNjsNCisgIHVuc2lnbmVkIGxvbmcgdCA9IHBhVHMudHZfbnNlYyArIHBhTWljcm9zZWNvbmRzICogKHVuc2lnbmVkIGxvbmcpIDFFMw0KKyAgICAgIC0gKHBhTWljcm9zZWNvbmRzIC8gKHVuc2lnbmVkIGxvbmcpIDFFNikgKiAodW5zaWduZWQgbG9uZykgMUU5Ow0KICAgaWYgKHQgPj0gKHVuc2lnbmVkIGxvbmcpIDFFOSkgew0KICAgICB0IC09ICh1bnNpZ25lZCBsb25nKSAxRTk7DQotICAgIHRzLnR2X3NlYysrOw0KKyAgICBwYVRzLnR2X3NlYysrOw0KICAgfQ0KLSAgdHMudHZfbnNlYyA9IHQ7DQorICBwYVRzLnR2X25zZWMgPSB0Ow0KIH0NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL2hhbmRsZXIvYnVzLmggYi9zcmMvbW9kdWxlcy9lbWJyaWNrL2hhbmRsZXIvYnVzLmgKaW5kZXggNjIzMTc0OC4uNjc3NzkyMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL2J1cy5oCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svaGFuZGxlci9idXMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KQEAgLTM1LDE0NiArMzYsMTQzIEBACiBjb25zdCB1bnNpZ25lZCBpbnQgU3luY0dhcE11bHRpcGxpY2F0b3IgPSAxNTsNCiBjb25zdCB1bnNpZ25lZCBpbnQgU3luY0dhcER1cmF0aW9uID0gKFN5bmNHYXBNdWx0aXBsaWNhdG9yIC0gMSkgKiAzMiArIDEwOw0KIA0KLWNsYXNzIEVtYnJpY2tCdXNIYW5kbGVyOiBwdWJsaWMgZm9ydGU6OmNvcmU6OklPOjpJT0RldmljZU11bHRpQ29udHJvbGxlciB7DQotICBmcmllbmQgY2xhc3MgRW1icmlja1NsYXZlSGFuZGxlcjsNCitjbGFzcyBFbWJyaWNrQnVzSGFuZGxlciA6IHB1YmxpYyBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyIHsNCisgICAgZnJpZW5kIGNsYXNzIEVtYnJpY2tTbGF2ZUhhbmRsZXI7DQogDQotcHVibGljOg0KLSAgZXhwbGljaXQgRW1icmlja0J1c0hhbmRsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pOw0KKyAgcHVibGljOg0KKyAgICBleHBsaWNpdCBFbWJyaWNrQnVzSGFuZGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbik7DQogDQotICBlbnVtIENvbW1hbmQgew0KLSAgICAvKioNCi0gICAgICogSW5pdGlhbGl6ZXMgdGhlIHNsYXZlIGFuZCBhc3NpZ25zIGFuIGluZGl2aWR1YWwgYWRkcmVzcyB0byBpdC4NCi0gICAgICogVGhlIHNsYXZlIHByb3ZpZGVzIGhhcmR3YXJlIHNwZWNpZmljYXRpb25zIGFuZCBsZW5ndGggaW5mb3JtYXRpb24gZm9yIHRoZSBkYXRhIGV4Y2hhbmdlLg0KLSAgICAgKiBUaGUgbWFzdGVyIHNlbmRzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyIHRvIHN5bmNocm9uaXplIHRyYW5zZmVyIHRpbWluZ3MuDQotICAgICAqLw0KLSAgICBJbml0ID0gMiwNCisgICAgZW51bSBDb21tYW5kIHsNCisgICAgICAvKioNCisgICAgICAgKiBJbml0aWFsaXplcyB0aGUgc2xhdmUgYW5kIGFzc2lnbnMgYW4gaW5kaXZpZHVhbCBhZGRyZXNzIHRvIGl0Lg0KKyAgICAgICAqIFRoZSBzbGF2ZSBwcm92aWRlcyBoYXJkd2FyZSBzcGVjaWZpY2F0aW9ucyBhbmQgbGVuZ3RoIGluZm9ybWF0aW9uIGZvciB0aGUgZGF0YSBleGNoYW5nZS4NCisgICAgICAgKiBUaGUgbWFzdGVyIHNlbmRzIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyIHRvIHN5bmNocm9uaXplIHRyYW5zZmVyIHRpbWluZ3MuDQorICAgICAgICovDQorICAgICAgSW5pdCA9IDIsDQogDQotICAgIC8qKg0KLSAgICAgKiBJdCBlbmFibGVzIHRoZSBzbGF2ZSBzZWxlY3Qgc2lnbmFsIG9mIHRoZSBhZGRyZXNzZWQgc2xhdmUuDQotICAgICAqIFRoZSBzdWJzZXF1ZW50IHNsYXZlIHdhaXRzIGZvciBpbml0aWFsaXphdGlvbi4NCi0gICAgICovDQotICAgIFNlbGVjdE5leHRTbGF2ZSA9IDMsDQorICAgICAgLyoqDQorICAgICAgICogSXQgZW5hYmxlcyB0aGUgc2xhdmUgc2VsZWN0IHNpZ25hbCBvZiB0aGUgYWRkcmVzc2VkIHNsYXZlLg0KKyAgICAgICAqIFRoZSBzdWJzZXF1ZW50IHNsYXZlIHdhaXRzIGZvciBpbml0aWFsaXphdGlvbi4NCisgICAgICAgKi8NCisgICAgICBTZWxlY3ROZXh0U2xhdmUgPSAzLA0KIA0KLSAgICAvKioNCi0gICAgICogSXQgc2V0cyBhbmQgZ2V0cyB0aGUgY3VycmVudCBzdGF0ZSwgY2FsbGVkIHByb2Nlc3MgaW1hZ2UsIG9mIHRoZSBzbGF2ZS4NCi0gICAgICogVGhlIGFtb3VudCBvZiBleGNoYW5nZWQgZGF0YSBieXRlcyBkZXBlbmRzIG9uIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBzbGF2ZS4NCi0gICAgICogSWYgYSBzbGF2ZSwgZm9yIGV4YW1wbGUsIGhhcyA4IGRpZ2l0YWwgb3V0cHV0cywgdGhlIG1hc3RlciBzZW5kcyAxIEJ5dGUgKDEgQml0IGZvciBlYWNoIGRpZ2l0YWwgb3V0cHV0KSB0byBzZXQgdGhlIHNsYXZlIHN0YXRlLg0KLSAgICAgKiBMaWtld2lzZSBpZiBhIHNsYXZlIHJlYWRzIDggYW5hbG9nIHZhbHVlcywgdGhlIHNsYXZlIHNlbmRzIDE2IEJ5dGVzICgyIEJ5dGVzIGZvciBlYWNoIHZhbHVlKSB0byB0aGUgbWFzdGVyLg0KLSAgICAgKiBUaGUgc3RydWN0dXJlIG9mIHRoZSBwcm9jZXNzIGltYWdlIGlzIHNwZWNpZmllZCBpbiB0aGUgZW1CUklDSyBwcm9kdWN0cyBtYW51YWwuDQotICAgICAqIFRoZSBEYXRhIGNvbW1hbmQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhdCBsZWFzdCAyMCB0aW1lcyBwZXIgc2Vjb25kLg0KLSAgICAgKi8NCi0gICAgRGF0YSA9IDEwLA0KLSAgfTsNCisgICAgICAvKioNCisgICAgICAgKiBJdCBzZXRzIGFuZCBnZXRzIHRoZSBjdXJyZW50IHN0YXRlLCBjYWxsZWQgcHJvY2VzcyBpbWFnZSwgb2YgdGhlIHNsYXZlLg0KKyAgICAgICAqIFRoZSBhbW91bnQgb2YgZXhjaGFuZ2VkIGRhdGEgYnl0ZXMgZGVwZW5kcyBvbiB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgc2xhdmUuDQorICAgICAgICogSWYgYSBzbGF2ZSwgZm9yIGV4YW1wbGUsIGhhcyA4IGRpZ2l0YWwgb3V0cHV0cywgdGhlIG1hc3RlciBzZW5kcyAxIEJ5dGUgKDEgQml0IGZvciBlYWNoIGRpZ2l0YWwgb3V0cHV0KSB0byBzZXQgdGhlIHNsYXZlIHN0YXRlLg0KKyAgICAgICAqIExpa2V3aXNlIGlmIGEgc2xhdmUgcmVhZHMgOCBhbmFsb2cgdmFsdWVzLCB0aGUgc2xhdmUgc2VuZHMgMTYgQnl0ZXMgKDIgQnl0ZXMgZm9yIGVhY2ggdmFsdWUpIHRvIHRoZSBtYXN0ZXIuDQorICAgICAgICogVGhlIHN0cnVjdHVyZSBvZiB0aGUgcHJvY2VzcyBpbWFnZSBpcyBzcGVjaWZpZWQgaW4gdGhlIGVtQlJJQ0sgcHJvZHVjdHMgbWFudWFsLg0KKyAgICAgICAqIFRoZSBEYXRhIGNvbW1hbmQgc2hvdWxkIGJlIHBlcmZvcm1lZCBhdCBsZWFzdCAyMCB0aW1lcyBwZXIgc2Vjb25kLg0KKyAgICAgICAqLw0KKyAgICAgIERhdGEgPSAxMCwNCisgICAgfTsNCiANCi0gIHN0cnVjdCBDb25maWc6IGZvcnRlOjpjb3JlOjpJTzo6SU9EZXZpY2VDb250cm9sbGVyOjpDb25maWcgew0KLSAgICB1bnNpZ25lZCBpbnQgQnVzSW50ZXJmYWNlOyAvLyE8IFNlbGVjdHMgdGhlIFNQSSBpbnRlcmZhY2UgZm9yIHRoZSBicmlja0JVUy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMSAoc2VsZWN0cyBTUEkxKS4NCi0gICAgdW5zaWduZWQgaW50IEJ1c1NlbGVjdFBpbjsgLy8hPCBTZXRzIHRoZSBwaW4sIHdoaWNoIGlzIGNvbm5lY3QgdG8gdGhlIHNsYXZlIHNlbGVjdCBwaW4gb2YgdGhlIGJyaWNrQlVTLg0KLSAgICB1bnNpZ25lZCBsb25nIEJ1c0luaXRTcGVlZDsgLy8hPCBTZXRzIHRoZSBTUEkgc3BlZWQgZm9yIHRoZSBicmlja0JVUyBkdXJpbmcgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBzbGF2ZXMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDMwMDAwMCBIei4NCi0gICAgdW5zaWduZWQgbG9uZyBCdXNMb29wU3BlZWQ7IC8vITwgU2V0cyB0aGUgbWF4aW1hbCBTUEkgc3BlZWQgZm9yIHRoZSBicmlja0JVUyBkdXJpbmcgdGhlIHJ1bnRpbWUgdXBkYXRlcyBvZiB0aGUgc2xhdmVzLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyA3MDAwMDAgSHouDQotICB9Ow0KKyAgICBzdHJ1Y3QgQ29uZmlnIDogZm9ydGU6OmNvcmU6OmlvOjpJT0RldmljZUNvbnRyb2xsZXI6OkNvbmZpZyB7DQorICAgICAgICB1bnNpZ25lZCBpbnQgbUJ1c0ludGVyZmFjZTsgLy8hPCBTZWxlY3RzIHRoZSBTUEkgaW50ZXJmYWNlIGZvciB0aGUgYnJpY2tCVVMuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEgKHNlbGVjdHMgU1BJMSkuDQorICAgICAgICB1bnNpZ25lZCBpbnQgbUJ1c1NlbGVjdFBpbjsgLy8hPCBTZXRzIHRoZSBwaW4sIHdoaWNoIGlzIGNvbm5lY3QgdG8gdGhlIHNsYXZlIHNlbGVjdCBwaW4gb2YgdGhlIGJyaWNrQlVTLg0KKyAgICAgICAgdW5zaWduZWQgbG9uZyBtQnVzSW5pdFNwZWVkOyAvLyE8IFNldHMgdGhlIFNQSSBzcGVlZCBmb3IgdGhlIGJyaWNrQlVTIGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHNsYXZlcy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgMzAwMDAwIEh6Lg0KKyAgICAgICAgdW5zaWduZWQgbG9uZyBtQnVzTG9vcFNwZWVkOyAvLyE8IFNldHMgdGhlIG1heGltYWwgU1BJIHNwZWVkIGZvciB0aGUgYnJpY2tCVVMgZHVyaW5nIHRoZSBydW50aW1lIHVwZGF0ZXMgb2YgdGhlIHNsYXZlcy4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgNzAwMDAwIEh6Lg0KKyAgICB9Ow0KIA0KLSAgZW51bSBIYW5kbGVUeXBlIHsNCi0gICAgQml0LCBBbmFsb2csIEFuYWxvZzEwDQotICB9Ow0KKyAgICBlbnVtIEhhbmRsZVR5cGUgew0KKyAgICAgIEJpdCwNCisgICAgICBBbmFsb2csDQorICAgICAgQW5hbG9nMTANCisgICAgfTsNCiANCi0gIHN0cnVjdCBIYW5kbGVEZXNjcmlwdG9yOiBmb3J0ZTo6Y29yZTo6SU86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yIHsNCi0gICAgSGFuZGxlVHlwZSB0eXBlOw0KLSAgICB1aW50OF90IG9mZnNldDsNCi0gICAgdWludDhfdCBwb3NpdGlvbjsNCisgICAgY2xhc3MgSGFuZGxlRGVzY3JpcHRvciA6IHB1YmxpYyBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yIHsNCisgICAgICBwdWJsaWM6DQorICAgICAgICBIYW5kbGVUeXBlIG1UeXBlOw0KKyAgICAgICAgdWludDhfdCBtT2Zmc2V0Ow0KKyAgICAgICAgdWludDhfdCBtUG9zaXRpb247DQogDQotICAgIEhhbmRsZURlc2NyaXB0b3IoQ0lFQ19XU1RSSU5HIGNvbnN0ICZpZCwgZm9ydGU6OmNvcmU6OklPOjpJT01hcHBlcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwNCi0gICAgICAgIGludCBzbGF2ZUluZGV4LCBIYW5kbGVUeXBlIHR5cGUsIHVpbnQ4X3Qgb2Zmc2V0LA0KLSAgICAgICAgdWludDhfdCBwb3NpdGlvbikgOg0KLSAgICAgICAgICBmb3J0ZTo6Y29yZTo6SU86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yKGlkLCBkaXJlY3Rpb24sDQotICAgICAgICAgICAgc2xhdmVJbmRleCksIHR5cGUodHlwZSksIG9mZnNldChvZmZzZXQpLCBwb3NpdGlvbihwb3NpdGlvbikgew0KKyAgICAgICAgSGFuZGxlRGVzY3JpcHRvcihDSUVDX1dTVFJJTkcgY29uc3QgJnBhSWQsIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbiwgaW50IHBhU2xhdmVJbmRleCwgSGFuZGxlVHlwZSBwYVR5cGUsIHVpbnQ4X3QgcGFPZmZzZXQsDQorICAgICAgICAgICAgdWludDhfdCBwYVBvc2l0aW9uKSA6DQorICAgICAgICAgICAgZm9ydGU6OmNvcmU6OmlvOjpJT0RldmljZU11bHRpQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvcihwYUlkLCBwYURpcmVjdGlvbiwgcGFTbGF2ZUluZGV4KSwgbVR5cGUocGFUeXBlKSwgbU9mZnNldChwYU9mZnNldCksIG1Qb3NpdGlvbihwYVBvc2l0aW9uKSB7DQogDQorICAgICAgICB9DQorICAgIH07DQorDQorICAgIHZvaWQgc2V0Q29uZmlnKHN0cnVjdCBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlQ29udHJvbGxlcjo6Q29uZmlnKiBwYUNvbmZpZyk7DQorDQorICAgIEVtYnJpY2tTbGF2ZUhhbmRsZXIqIGdldFNsYXZlKGludCBwYUluZGV4KTsNCisgICAgdm9pZCBmb3JjZVVwZGF0ZShpbnQgcGFJbmRleCk7DQorDQorICAgIHZvaWQgYWRkU2xhdmVIYW5kbGUoaW50IHBhSW5kZXgsIGZvcnRlOjpjb3JlOjppbzo6SU9IYW5kbGUqIHBhSGFuZGxlKTsNCisgICAgdm9pZCBkcm9wU2xhdmVIYW5kbGVzKGludCBwYUluZGV4KTsNCisgIHByb3RlY3RlZDoNCisgICAgY29uc3QgY2hhciogaW5pdCgpOw0KKyAgICB2b2lkIGRlSW5pdCgpOw0KKw0KKyAgICBmb3J0ZTo6Y29yZTo6aW86OklPSGFuZGxlKiBpbml0SGFuZGxlKGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpwYUhhbmRsZURlc2NyaXB0b3IpOw0KKw0KKyAgICB2b2lkIHByZXBhcmVMb29wKCk7DQorICAgIHZpcnR1YWwgdm9pZCBydW5Mb29wKCk7DQorICAgIHZvaWQgY2xlYW5Mb29wKCk7DQorDQorICAgIGJvb2wgdHJhbnNmZXIodW5zaWduZWQgaW50IHBhVGFyZ2V0LCBDb21tYW5kIHBhQ21kLCB1bnNpZ25lZCBjaGFyKiBwYURhdGFTZW5kID0NCisgICAgTlVMTCwgaW50IHBhRGF0YVNlbmRMZW5ndGggPSAwLCB1bnNpZ25lZCBjaGFyKiBwYURhdGFSZWNlaXZlID0gTlVMTCwgaW50IHBhRGF0YVJlY2VpdmVMZW5ndGggPSAwLCBFbWJyaWNrU2xhdmVIYW5kbGVyOjpTbGF2ZVN0YXR1cyogcGFTdGF0dXMgPSBOVUxMLA0KKyAgICAgICAgQ1N5bmNPYmplY3QgKnBhU3luY011dGV4ID0gTlVMTCk7DQorICAgIGJvb2wgYnJvYWRjYXN0KENvbW1hbmQgcGFDbWQsIHVuc2lnbmVkIGNoYXIqIHBhRGF0YVNlbmQgPQ0KKyAgICBOVUxMLCBpbnQgcGFEYXRhU2VuZExlbmd0aCA9IDAsIHVuc2lnbmVkIGNoYXIqIHBhRGF0YVJlY2VpdmUgPSBOVUxMLCBpbnQgcGFEYXRhUmVjZWl2ZUxlbmd0aCA9IDApIHsNCisgICAgICByZXR1cm4gdHJhbnNmZXIoMCwgcGFDbWQsIHBhRGF0YVNlbmQsIHBhRGF0YVNlbmRMZW5ndGgsIHBhRGF0YVJlY2VpdmUsIHBhRGF0YVJlY2VpdmVMZW5ndGgpOw0KICAgICB9DQotICB9Ow0KIA0KLSAgdm9pZCBzZXRDb25maWcoc3RydWN0IGZvcnRlOjpjb3JlOjpJTzo6SU9EZXZpY2VDb250cm9sbGVyOjpDb25maWcqIGNvbmZpZyk7DQorICAgIC8vIENvbmZpZw0KKyAgICBzdHJ1Y3QgQ29uZmlnIG1Db25maWc7DQogDQotICBFbWJyaWNrU2xhdmVIYW5kbGVyKiBnZXRTbGF2ZShpbnQgaW5kZXgpOw0KLSAgdm9pZCBmb3JjZVVwZGF0ZShpbnQgaW5kZXgpOw0KKyAgICAvLyBUaW1pbmcgdmFyaWFibGVzDQorICAgIHN0cnVjdCB0aW1lc3BlYyBtTGFzdExvb3A7DQorICAgIHN0cnVjdCB0aW1lc3BlYyBtTmV4dExvb3A7DQorICAgIHVpbnQ2NF90IG1MYXN0VHJhbnNmZXI7DQogDQotICB2b2lkIGFkZFNsYXZlSGFuZGxlKGludCBpbmRleCwgZm9ydGU6OmNvcmU6OklPOjpJT0hhbmRsZSogaGFuZGxlKTsNCi0gIHZvaWQgZHJvcFNsYXZlSGFuZGxlcyhpbnQgaW5kZXgpOw0KLXByb3RlY3RlZDoNCi0gIGNvbnN0IGNoYXIqIGluaXQoKTsNCi0gIHZvaWQgZGVJbml0KCk7DQorICAgIC8vIEhhbmRsZXJzDQorICAgIEVtYnJpY2tTUElIYW5kbGVyICptU3BpOw0KKyAgICBFbWJyaWNrUGluSGFuZGxlciAqbVNsYXZlU2VsZWN0Ow0KIA0KLSAgZm9ydGU6OmNvcmU6OklPOjpJT0hhbmRsZSogaW5pdEhhbmRsZSgNCi0gICAgICBmb3J0ZTo6Y29yZTo6SU86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpoYW5kbGVEZXNjcmlwdG9yKTsNCisgICAgLy8gU2xhdmVzDQorICAgIHR5cGVkZWYgQ1NpbmdseUxpbmtlZExpc3Q8RW1icmlja1NsYXZlSGFuZGxlciAqPiBUU2xhdmVMaXN0Ow0KKyAgICBUU2xhdmVMaXN0ICptU2xhdmVzOw0KKyAgICBpbnQgbVNsYXZlQ291bnQ7DQogDQotICB2b2lkIHByZXBhcmVMb29wKCk7DQotICB2aXJ0dWFsIHZvaWQgcnVuTG9vcCgpOw0KLSAgdm9pZCBjbGVhbkxvb3AoKTsNCisgICAgLy8gU3luYw0KKyAgICBib29sIG1Mb29wQWN0aXZlOw0KKyAgICBDU2VtYXBob3JlIG1Gb3JjZUxvb3A7DQorICAgIENTeW5jT2JqZWN0IG1TeW5jT2JqZWN0Ow0KIA0KLSAgYm9vbCB0cmFuc2Zlcih1bnNpZ25lZCBpbnQgdGFyZ2V0LCBDb21tYW5kIGNtZCwgdW5zaWduZWQgY2hhciogZGF0YVNlbmQgPQ0KLSAgICAgICAgICAgICAgICAgIE5VTEwsIGludCBkYXRhU2VuZExlbmd0aCA9IDAsIHVuc2lnbmVkIGNoYXIqIGRhdGFSZWNlaXZlID0gTlVMTCwNCi0gICAgICAgICAgICAgICAgaW50IGRhdGFSZWNlaXZlTGVuZ3RoID0gMCwgRW1icmlja1NsYXZlSGFuZGxlcjo6U2xhdmVTdGF0dXMqIHN0YXR1cyA9IE5VTEwsDQotICAgICAgICAgICAgICAgIENTeW5jT2JqZWN0ICpzeW5jTXV0ZXggPSBOVUxMKTsNCi0gIGJvb2wgYnJvYWRjYXN0KENvbW1hbmQgY21kLCB1bnNpZ25lZCBjaGFyKiBkYXRhU2VuZCA9DQotICAgICAgICAgICAgICAgICAgIE5VTEwsIGludCBkYXRhU2VuZExlbmd0aCA9IDAsIHVuc2lnbmVkIGNoYXIqIGRhdGFSZWNlaXZlID0gTlVMTCwNCi0gICAgICAgICAgICAgICAgIGludCBkYXRhUmVjZWl2ZUxlbmd0aCA9IDApIHsNCi0gICAgcmV0dXJuIHRyYW5zZmVyKDAsIGNtZCwgZGF0YVNlbmQsIGRhdGFTZW5kTGVuZ3RoLCBkYXRhUmVjZWl2ZSwNCi0gICAgICAgICAgICAgICAgICAgIGRhdGFSZWNlaXZlTGVuZ3RoKTsNCi0gIH0NCisgICAgLy8gRXJyb3INCisgICAgYm9vbCBjaGVja0hhbmRsZXJFcnJvcigpOw0KIA0KLSAgLy8gQ29uZmlnDQotICBzdHJ1Y3QgQ29uZmlnIGNvbmZpZzsNCisgICAgLy8gU2NoZWR1bGluZw0KKyAgICBzdHJ1Y3QgU0VudHJ5IHsNCisgICAgICAgIEVtYnJpY2tTbGF2ZUhhbmRsZXIqIG1TbGF2ZTsNCisgICAgICAgIHN0cnVjdCB0aW1lc3BlYyBtTmV4dERlYWRsaW5lOw0KKyAgICAgICAgdWludDE2X3QgbUxhc3REdXJhdGlvbjsNCisgICAgICAgIGJvb2wgbUZvcmNlZDsNCisgICAgICAgIGJvb2wgbURlbGF5ZWQ7DQorICAgIH07DQorICAgIHN0cnVjdCBTRW50cnkgKiptU0xpc3Q7DQorICAgIFNFbnRyeSAqbVNOZXh0Ow0KIA0KLSAgLy8gVGltaW5nIHZhcmlhYmxlcw0KLSAgc3RydWN0IHRpbWVzcGVjIGxhc3RMb29wOw0KLSAgc3RydWN0IHRpbWVzcGVjIG5leHRMb29wOw0KLSAgdWludDY0X3QgbGFzdFRyYW5zZmVyOw0KKyAgcHJpdmF0ZToNCisgICAgYm9vbCBpc1NsYXZlQXZhaWxhYmxlKGludCBwYUluZGV4KTsNCisgICAgYm9vbCBjaGVja1NsYXZlVHlwZShpbnQgcGFJbmRleCwgaW50IHBhVHlwZSk7DQogDQotICAvLyBIYW5kbGVycw0KLSAgRW1icmlja1NQSUhhbmRsZXIgKnNwaTsNCi0gIEVtYnJpY2tQaW5IYW5kbGVyICpzbGF2ZVNlbGVjdDsNCisgICAgdWludDY0X3QgbWljcm9zKCk7DQorICAgIHVuc2lnbmVkIGxvbmcgbWlsbGlzKCk7DQorICAgIHRpbWVfdCBtSW5pdFRpbWU7DQorICAgIHZvaWQgbWljcm9zbGVlcCh1aW50NjRfdCBwYU1pY3Jvc2Vjb25kcyk7DQorICAgIHZvaWQgYWRkVGltZShzdHJ1Y3QgdGltZXNwZWMmIHBhVHMsIHVuc2lnbmVkIGxvbmcgcGFNaWNyb3NlY29uZHMpOw0KIA0KLSAgLy8gU2xhdmVzDQotICB0eXBlZGVmIENTaW5nbHlMaW5rZWRMaXN0PEVtYnJpY2tTbGF2ZUhhbmRsZXIgKj4gVFNsYXZlTGlzdDsNCi0gIFRTbGF2ZUxpc3QgKnNsYXZlczsNCi0gIGludCBzbGF2ZUNvdW50Ow0KKyAgICB1bnNpZ25lZCBjaGFyIGNhbGNDaGVja3N1bSh1bnNpZ25lZCBjaGFyICogcGFEYXRhLCBpbnQgcGFEYXRhTGVuKTsNCiANCi0gIC8vIFN5bmMNCi0gIGJvb2wgbUxvb3BBY3RpdmU7DQotICBDU2VtYXBob3JlIG1Gb3JjZUxvb3A7DQotICBDU3luY09iamVjdCBtU3luY09iamVjdDsNCisgICAgdW5zaWduZWQgY2hhciBtU2VuZEJ1ZmZlcltUcmFuc2ZlckJ1ZmZlckxlbmd0aF07DQorICAgIHVuc2lnbmVkIGNoYXIgbVJlY3ZCdWZmZXJbVHJhbnNmZXJCdWZmZXJMZW5ndGhdOw0KIA0KLSAgLy8gRXJyb3INCi0gIGJvb2wgY2hlY2tIYW5kbGVyRXJyb3IoKTsNCisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc2NtQ2hlY2tzdW1Db25zdGFudCA9IDB4NTU7DQogDQotICAvLyBTY2hlZHVsaW5nDQotICBzdHJ1Y3QgU0VudHJ5IHsNCi0gICAgRW1icmlja1NsYXZlSGFuZGxlciogc2xhdmU7DQotICAgIHN0cnVjdCB0aW1lc3BlYyBuZXh0RGVhZGxpbmU7DQotICAgIHVpbnQxNl90IGxhc3REdXJhdGlvbjsNCi0gICAgYm9vbCBmb3JjZWQ7DQotICAgIGJvb2wgZGVsYXllZDsNCi0gIH07DQotICBzdHJ1Y3QgU0VudHJ5ICoqc0xpc3Q7DQotICBTRW50cnkgKnNOZXh0Ow0KLQ0KLXByaXZhdGU6DQotICBib29sIGlzU2xhdmVBdmFpbGFibGUoaW50IGluZGV4KTsNCi0gIGJvb2wgY2hlY2tTbGF2ZVR5cGUoaW50IGluZGV4LCBpbnQgdHlwZSk7DQotDQotICB1aW50NjRfdCBtaWNyb3MoKTsNCi0gIHVuc2lnbmVkIGxvbmcgbWlsbGlzKCk7DQotICB0aW1lX3QgaW5pdFRpbWU7DQotICB2b2lkIG1pY3Jvc2xlZXAodWludDY0X3QgbWljcm9zZWNvbmRzKTsNCi0gIHZvaWQgYWRkVGltZShzdHJ1Y3QgdGltZXNwZWMmIHQsIHVuc2lnbmVkIGxvbmcgbWljcm9zZWNvbmRzKTsNCi0NCi0gIHVuc2lnbmVkIGNoYXIgY2FsY0NoZWNrc3VtKHVuc2lnbmVkIGNoYXIgKiBkYXRhLCBpbnQgZGF0YUxlbik7DQotDQotICB1bnNpZ25lZCBjaGFyIHNlbmRCdWZmZXJbVHJhbnNmZXJCdWZmZXJMZW5ndGhdOw0KLSAgdW5zaWduZWQgY2hhciByZWN2QnVmZmVyW1RyYW5zZmVyQnVmZmVyTGVuZ3RoXTsNCi0NCi0gIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIENoZWNrc3VtQ29uc3RhbnQgPSAweDU1Ow0KLQ0KLSAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21TbGF2ZVVwZGF0ZUZhaWxlZDsNCi0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtTm9TbGF2ZXNGb3VuZDsNCisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21TbGF2ZVVwZGF0ZUZhaWxlZDsNCisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21Ob1NsYXZlc0ZvdW5kOw0KIH07DQogDQogI2VuZGlmIC8qIFNSQ19NT0RVTEVTX0VNQlJJQ0tfQlVTQ09OVFJPTExFUl9IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svaGFuZGxlci9waW4uY3BwIGIvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3Bpbi5jcHAKaW5kZXggMDVkNTk4Mi4uZjZmYjg3YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3Bpbi5jcHAKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3Bpbi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xMywxOCArMTQsMTUgQEAKICNpbmNsdWRlICJwaW4uaCINCiAjaW5jbHVkZSA8ZGV2bG9nLmg+DQogDQotY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tQaW5IYW5kbGVyOjpzY21GYWlsZWRUb09wZW5GaWxlID0NCi0gICAgIkZhaWxlZCB0byBvcGVuIHN5c2ZzIGZpbGUuIjsNCi1jb25zdCBjaGFyICogY29uc3QgRW1icmlja1BpbkhhbmRsZXI6OnNjbUZhaWxlZFRvV3JpdGVGaWxlID0NCi0gICAgIkZhaWxlZCB0byB3cml0ZSBzeXNmcyBmaWxlLiI7DQotY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tQaW5IYW5kbGVyOjpzY21Ob3RJbml0aWFsaXNlZCA9DQotICAgICJGYWlsZWQgdG8gd3JpdGUgdG8gbm90IGluaXRpYWxpc2VkIHN5c2ZzIHN0cmVhbS4iOw0KK2NvbnN0IGNoYXIgKiBjb25zdCBFbWJyaWNrUGluSGFuZGxlcjo6c2NtRmFpbGVkVG9PcGVuRmlsZSA9ICJGYWlsZWQgdG8gb3BlbiBzeXNmcyBmaWxlLiI7DQorY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tQaW5IYW5kbGVyOjpzY21GYWlsZWRUb1dyaXRlRmlsZSA9ICJGYWlsZWQgdG8gd3JpdGUgc3lzZnMgZmlsZS4iOw0KK2NvbnN0IGNoYXIgKiBjb25zdCBFbWJyaWNrUGluSGFuZGxlcjo6c2NtTm90SW5pdGlhbGlzZWQgPSAiRmFpbGVkIHRvIHdyaXRlIHRvIG5vdCBpbml0aWFsaXNlZCBzeXNmcyBzdHJlYW0uIjsNCiANCi1FbWJyaWNrUGluSGFuZGxlcjo6RW1icmlja1BpbkhhbmRsZXIodW5zaWduZWQgaW50IHBpbikgOiBwaW5TdHIoc3RhdGljX2Nhc3Q8c3RkOjpvc3RyaW5nc3RyZWFtICY+KChzdGQ6Om9zdHJpbmdzdHJlYW0oKSA8PCBzdGQ6OmRlYyAgLy8gQ29udmVydCBwaW4gaW50IHRvIHN0cmluZw0KLSAgICA8PCBwaW4pKS5zdHIoKSksDQotICAgIGVycm9yKDApIHsNCitFbWJyaWNrUGluSGFuZGxlcjo6RW1icmlja1BpbkhhbmRsZXIodW5zaWduZWQgaW50IHBhUGluKSA6DQorICAgIHBhRXJyb3IoMCksIG1QaW5TdHIoc3RhdGljX2Nhc3Q8c3RkOjpvc3RyaW5nc3RyZWFtICY+KChzdGQ6Om9zdHJpbmdzdHJlYW0oKSA8PCBzdGQ6OmRlYyAvLyBDb252ZXJ0IHBpbiBpbnQgdG8gc3RyaW5nDQorICAgICAgPDwgcGFQaW4pKS5zdHIoKSkgew0KICAgLy8gRGlzYWJsZSBidWZmZXIgdG8gYXZvaWQgbGF0ZW5jeQ0KLSAgc3RyZWFtLnJkYnVmKCktPnB1YnNldGJ1ZigwLCAwKTsNCisgIHBhU3RyZWFtLnJkYnVmKCktPnB1YnNldGJ1ZigwLCAwKTsNCiANCiAgIC8vIEluaXQgcGluDQogICBpbml0KCk7DQpAQCAtMzYsNzUgKzM0LDc5IEBACiANCiB2b2lkIEVtYnJpY2tQaW5IYW5kbGVyOjppbml0KCkgew0KICAgc3RkOjpzdHJpbmcgZmlsZU5hbWU7DQotICBzdHJlYW0uY2xlYXIoKTsNCisgIHBhU3RyZWFtLmNsZWFyKCk7DQogDQogICAvLyBFbmFibGUgcGluDQogICBmaWxlTmFtZSA9ICIvc3lzL2NsYXNzL2dwaW8vZXhwb3J0IjsNCi0gIHN0cmVhbS5vcGVuKGZpbGVOYW1lLmNfc3RyKCksIHN0ZDo6ZnN0cmVhbTo6b3V0KTsNCi0gIGlmICghc3RyZWFtLmlzX29wZW4oKSkNCisgIHBhU3RyZWFtLm9wZW4oZmlsZU5hbWUuY19zdHIoKSwgc3RkOjpmc3RyZWFtOjpvdXQpOw0KKyAgaWYoIXBhU3RyZWFtLmlzX29wZW4oKSkgew0KICAgICByZXR1cm4gZmFpbChzY21GYWlsZWRUb09wZW5GaWxlKTsNCi0NCi0gIHN0cmVhbSA8PCBwaW5TdHI7DQotICBpZiAoc3RyZWFtLmZhaWwoKSkNCisgIH0NCisgIHBhU3RyZWFtIDw8IG1QaW5TdHI7DQorICBpZihwYVN0cmVhbS5mYWlsKCkpIHsNCiAgICAgcmV0dXJuIGZhaWwoc2NtRmFpbGVkVG9Xcml0ZUZpbGUpOw0KLSAgc3RyZWFtLmNsb3NlKCk7DQorICB9DQorICBwYVN0cmVhbS5jbG9zZSgpOw0KIA0KICAgLy8gVXNlIHBpbiBhcyBvdXRwdXQNCi0gIGZpbGVOYW1lID0gIi9zeXMvY2xhc3MvZ3Bpby9ncGlvIiArIHBpblN0ciArICIvZGlyZWN0aW9uIjsNCi0gIHN0cmVhbS5vcGVuKGZpbGVOYW1lLmNfc3RyKCksIHN0ZDo6ZnN0cmVhbTo6b3V0KTsNCi0gIGlmICghc3RyZWFtLmlzX29wZW4oKSkNCisgIGZpbGVOYW1lID0gIi9zeXMvY2xhc3MvZ3Bpby9ncGlvIiArIG1QaW5TdHIgKyAiL2RpcmVjdGlvbiI7DQorICBwYVN0cmVhbS5vcGVuKGZpbGVOYW1lLmNfc3RyKCksIHN0ZDo6ZnN0cmVhbTo6b3V0KTsNCisgIGlmKCFwYVN0cmVhbS5pc19vcGVuKCkpIHsNCiAgICAgcmV0dXJuIGZhaWwoc2NtRmFpbGVkVG9PcGVuRmlsZSk7DQotICBzdHJlYW0uY2xlYXIoKTsNCisgIH0NCisgIHBhU3RyZWFtLmNsZWFyKCk7DQogDQotICBzdHJlYW0gPDwgIm91dCI7DQotICBpZiAoc3RyZWFtLmZhaWwoKSkNCisgIHBhU3RyZWFtIDw8ICJvdXQiOw0KKyAgaWYocGFTdHJlYW0uZmFpbCgpKSB7DQogICAgIHJldHVybiBmYWlsKHNjbUZhaWxlZFRvV3JpdGVGaWxlKTsNCi0gIHN0cmVhbS5jbG9zZSgpOw0KKyAgfQ0KKyAgcGFTdHJlYW0uY2xvc2UoKTsNCiANCiAgIC8vIFByZXBhcmUgcGluIHN0cmVhbSBmb3IgdXNhZ2UNCi0gIGZpbGVOYW1lID0gIi9zeXMvY2xhc3MvZ3Bpby9ncGlvIiArIHBpblN0ciArICIvdmFsdWUiOw0KLSAgc3RyZWFtLm9wZW4oZmlsZU5hbWUuY19zdHIoKSwgc3RkOjpmc3RyZWFtOjpvdXQpOw0KLSAgaWYgKCFzdHJlYW0uaXNfb3BlbigpKQ0KKyAgZmlsZU5hbWUgPSAiL3N5cy9jbGFzcy9ncGlvL2dwaW8iICsgbVBpblN0ciArICIvdmFsdWUiOw0KKyAgcGFTdHJlYW0ub3BlbihmaWxlTmFtZS5jX3N0cigpLCBzdGQ6OmZzdHJlYW06Om91dCk7DQorICBpZighcGFTdHJlYW0uaXNfb3BlbigpKSB7DQogICAgIHJldHVybiBmYWlsKHNjbUZhaWxlZFRvT3BlbkZpbGUpOw0KLQ0KLSAgREVWTE9HX0lORk8oImVtQnJpY2tbUGluSGFuZGxlcl06IEdQSU8gJXMgcmVhZHkuXG4iLCBwaW5TdHIuZGF0YSgpKTsNCisgIH0NCisgIERFVkxPR19JTkZPKCJlbUJyaWNrW1BpbkhhbmRsZXJdOiBHUElPICVzIHJlYWR5LlxuIiwgbVBpblN0ci5kYXRhKCkpOw0KIH0NCiANCiB2b2lkIEVtYnJpY2tQaW5IYW5kbGVyOjpkZUluaXQoKSB7DQogICBzdGQ6OnN0cmluZyBmaWxlTmFtZTsNCiANCiAgIC8vIENsb3NlIHBpbiBzdHJlYW0NCi0gIGlmIChzdHJlYW0uaXNfb3BlbigpKSB7DQotICAgIHN0cmVhbS5jbGVhcigpOw0KLSAgICBzdHJlYW0uY2xvc2UoKTsNCisgIGlmKHBhU3RyZWFtLmlzX29wZW4oKSkgew0KKyAgICBwYVN0cmVhbS5jbGVhcigpOw0KKyAgICBwYVN0cmVhbS5jbG9zZSgpOw0KICAgfQ0KIA0KICAgLy8gRGlzYWJsZSBwaW4NCiAgIGZpbGVOYW1lID0gIi9zeXMvY2xhc3MvZ3Bpby91bmV4cG9ydCI7DQotICBzdHJlYW0ub3BlbihmaWxlTmFtZS5jX3N0cigpLCBzdGQ6OmZzdHJlYW06Om91dCk7DQotICBpZiAoIXN0cmVhbS5pc19vcGVuKCkpDQorICBwYVN0cmVhbS5vcGVuKGZpbGVOYW1lLmNfc3RyKCksIHN0ZDo6ZnN0cmVhbTo6b3V0KTsNCisgIGlmKCFwYVN0cmVhbS5pc19vcGVuKCkpIHsNCiAgICAgcmV0dXJuIGZhaWwoc2NtRmFpbGVkVG9PcGVuRmlsZSk7DQotDQotICBzdHJlYW0gPDwgcGluU3RyOw0KLSAgaWYgKHN0cmVhbS5mYWlsKCkpDQorICB9DQorICBwYVN0cmVhbSA8PCBtUGluU3RyOw0KKyAgaWYocGFTdHJlYW0uZmFpbCgpKSB7DQogICAgIHJldHVybiBmYWlsKHNjbUZhaWxlZFRvV3JpdGVGaWxlKTsNCi0gIHN0cmVhbS5jbG9zZSgpOw0KKyAgfQ0KKyAgcGFTdHJlYW0uY2xvc2UoKTsNCiANCi0gIERFVkxPR19JTkZPKCJlbUJyaWNrW1BpbkhhbmRsZXJdOiBHUElPICVzIHN0b3BwZWQuXG4iLCBwaW5TdHIuZGF0YSgpKTsNCisgIERFVkxPR19JTkZPKCJlbUJyaWNrW1BpbkhhbmRsZXJdOiBHUElPICVzIHN0b3BwZWQuXG4iLCBtUGluU3RyLmRhdGEoKSk7DQogfQ0KIA0KLWJvb2wgRW1icmlja1BpbkhhbmRsZXI6OnNldChib29sIHN0YXRlKSB7DQotICBpZiAoIXN0cmVhbS5pc19vcGVuKCkpIHsNCitib29sIEVtYnJpY2tQaW5IYW5kbGVyOjpzZXQoYm9vbCBwYVN0YXRlKSB7DQorICBpZighcGFTdHJlYW0uaXNfb3BlbigpKSB7DQogICAgIGZhaWwoc2NtTm90SW5pdGlhbGlzZWQpOw0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogDQotICBzdHJlYW0uY2xlYXIoKTsNCi0gIHN0cmVhbS5zZWVrcCgwLCBzdGQ6Omlvczo6YmVnKTsNCisgIHBhU3RyZWFtLmNsZWFyKCk7DQorICBwYVN0cmVhbS5zZWVrcCgwLCBzdGQ6Omlvczo6YmVnKTsNCiANCi0gIHVuc2lnbmVkIGludCB2YWwgPSBzdGF0ZSA/IDEgOiAwOw0KLSAgc3RyZWFtIDw8IHZhbDsNCi0gIGlmIChzdHJlYW0uZmFpbCgpKSB7DQorICB1bnNpZ25lZCBpbnQgdmFsID0gcGFTdGF0ZSA/IDEgOiAwOw0KKyAgcGFTdHJlYW0gPDwgdmFsOw0KKyAgaWYocGFTdHJlYW0uZmFpbCgpKSB7DQogICAgIGZhaWwoc2NtRmFpbGVkVG9Xcml0ZUZpbGUpOw0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQpAQCAtMTEyLDkgKzExNCw4IEBACiAgIHJldHVybiB0cnVlOw0KIH0NCiANCi12b2lkIEVtYnJpY2tQaW5IYW5kbGVyOjpmYWlsKGNvbnN0IGNoYXIqIHJlYXNvbikgew0KLSAgZXJyb3IgPSByZWFzb247DQotICBERVZMT0dfRVJST1IoImVtQnJpY2tbUGluSGFuZGxlcl06ICVzXG4iLCByZWFzb24pOw0KK3ZvaWQgRW1icmlja1BpbkhhbmRsZXI6OmZhaWwoY29uc3QgY2hhciogcGFSZWFzb24pIHsNCisgIHBhRXJyb3IgPSBwYVJlYXNvbjsNCisgIERFVkxPR19FUlJPUigiZW1Ccmlja1tQaW5IYW5kbGVyXTogJXNcbiIsIHBhUmVhc29uKTsNCiB9DQogDQotDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3Bpbi5oIGIvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3Bpbi5oCmluZGV4IDYxOTI5OTYuLmEwODAyMjkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svaGFuZGxlci9waW4uaAorKysgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL2hhbmRsZXIvcGluLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xOSwzNyArMjAsMzcgQEAKICNpbmNsdWRlIDxmb3J0ZV93c3RyaW5nLmg+DQogDQogY2xhc3MgRW1icmlja1BpbkhhbmRsZXIgew0KLSAgZnJpZW5kIGNsYXNzIEVtYnJpY2tCdXNIYW5kbGVyOw0KKyAgICBmcmllbmQgY2xhc3MgRW1icmlja0J1c0hhbmRsZXI7DQogDQotcHJvdGVjdGVkOg0KLSAgZXhwbGljaXQgRW1icmlja1BpbkhhbmRsZXIodW5zaWduZWQgaW50IHBpbik7DQotICB2aXJ0dWFsIH5FbWJyaWNrUGluSGFuZGxlcigpOw0KKyAgcHJvdGVjdGVkOg0KKyAgICBleHBsaWNpdCBFbWJyaWNrUGluSGFuZGxlcih1bnNpZ25lZCBpbnQgcGFQaW4pOw0KKyAgICB2aXJ0dWFsIH5FbWJyaWNrUGluSGFuZGxlcigpOw0KIA0KLSAgYm9vbCBzZXQoYm9vbCBzdGF0ZSk7DQotICBib29sIGVuYWJsZSgpIHsNCi0gICAgcmV0dXJuIHNldCh0cnVlKTsNCi0gIH0NCi0gIGJvb2wgZGlzYWJsZSgpIHsNCi0gICAgcmV0dXJuIHNldChmYWxzZSk7DQotICB9DQorICAgIGJvb2wgc2V0KGJvb2wgcGFTdGF0ZSk7DQorICAgIGJvb2wgZW5hYmxlKCkgew0KKyAgICAgIHJldHVybiBzZXQodHJ1ZSk7DQorICAgIH0NCisgICAgYm9vbCBkaXNhYmxlKCkgew0KKyAgICAgIHJldHVybiBzZXQoZmFsc2UpOw0KKyAgICB9DQogDQotICB2b2lkIGluaXQoKTsNCi0gIHZvaWQgZGVJbml0KCk7DQorICAgIHZvaWQgaW5pdCgpOw0KKyAgICB2b2lkIGRlSW5pdCgpOw0KIA0KLSAgc3RkOjpzdHJpbmcgcGluU3RyOw0KLSAgc3RkOjpmc3RyZWFtIHN0cmVhbTsNCisgICAgYm9vbCBoYXNFcnJvcigpIHsNCisgICAgICByZXR1cm4gcGFFcnJvciAhPSAwOw0KKyAgICB9DQorICAgIGNvbnN0IGNoYXIqIHBhRXJyb3I7DQogDQotICBib29sIGhhc0Vycm9yKCkgew0KLSAgICByZXR1cm4gZXJyb3IgIT0gMDsNCi0gIH0NCi0gIGNvbnN0IGNoYXIqIGVycm9yOw0KKyAgcHJpdmF0ZToNCisgICAgc3RkOjpzdHJpbmcgbVBpblN0cjsNCisgICAgc3RkOjpmc3RyZWFtIHBhU3RyZWFtOw0KIA0KLXByaXZhdGU6DQotICB2b2lkIGZhaWwoY29uc3QgY2hhciogcmVhc29uKTsNCisgICAgdm9pZCBmYWlsKGNvbnN0IGNoYXIqIHBhUmVhc29uKTsNCiANCi0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtRmFpbGVkVG9PcGVuRmlsZTsNCi0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtRmFpbGVkVG9Xcml0ZUZpbGU7DQotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbU5vdEluaXRpYWxpc2VkOw0KKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvT3BlbkZpbGU7DQorICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtRmFpbGVkVG9Xcml0ZUZpbGU7DQorICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtTm90SW5pdGlhbGlzZWQ7DQogfTsNCiANCiAjZW5kaWYgLyogU1JDX01PRFVMRVNfRU1CUklDS19IQU5ETEVSX1BJTl9IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svaGFuZGxlci9zcGkuY3BwIGIvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3NwaS5jcHAKaW5kZXggYTE3YTcwMC4uZTAyMzEyZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3NwaS5jcHAKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3NwaS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xNCwyOSArMTUsMjMgQEAKICNpbmNsdWRlIDxzc3RyZWFtPg0KICNpbmNsdWRlIDxzdHJpbmc+DQogDQotdW5zaWduZWQgbG9uZyBjb25zdCBFbWJyaWNrU1BJSGFuZGxlcjo6RGVmYXVsdFNwaVNwZWVkID0gMzAwMDAwOw0KLXVuc2lnbmVkIGxvbmcgY29uc3QgRW1icmlja1NQSUhhbmRsZXI6Ok1heFNwaVNwZWVkID0gNzAwMDAwOw0KLWNoYXIgY29uc3QgRW1icmlja1NQSUhhbmRsZXI6OnNwaU1vZGUgPSBTUElfQ1BIQTsNCi1jaGFyIGNvbnN0IEVtYnJpY2tTUElIYW5kbGVyOjpzcGlCaXRPcmRlciA9IDA7IC8vIE1TQiBmaXJzdA0KK3Vuc2lnbmVkIGxvbmcgY29uc3QgRW1icmlja1NQSUhhbmRsZXI6OnNjbURlZmF1bHRTcGlTcGVlZCA9IDMwMDAwMDsNCit1bnNpZ25lZCBsb25nIGNvbnN0IEVtYnJpY2tTUElIYW5kbGVyOjpzY21NYXhTcGlTcGVlZCA9IDcwMDAwMDsNCitjaGFyIGNvbnN0IEVtYnJpY2tTUElIYW5kbGVyOjptU3BpTW9kZSA9IFNQSV9DUEhBOw0KK2NoYXIgY29uc3QgRW1icmlja1NQSUhhbmRsZXI6Om1TcGlCaXRPcmRlciA9IDA7IC8vIE1TQiBmaXJzdA0KIA0KLWNvbnN0IGNoYXIgKiBjb25zdCBFbWJyaWNrU1BJSGFuZGxlcjo6c2NtRmFpbGVkVG9Jbml0SGFuZGxlciA9DQotICAgICJGYWlsZWQgdG8gaW5pdCBzcGlkZXYgaGFuZGxlci4gQ2hlY2sgaWYgc3BpIGlzIGVuYWJsZWQuIjsNCi1jb25zdCBjaGFyICogY29uc3QgRW1icmlja1NQSUhhbmRsZXI6OnNjbUZhaWxlZFRvQ29uZmlnTW9kZSA9DQotICAgICJGYWlsZWQgdG8gY29uZmlnIHNwaSB3cml0ZSBtb2RlLiI7DQotY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tTUElIYW5kbGVyOjpzY21GYWlsZWRUb0NvbmZpZ0JpdE9yZGVyID0NCi0gICAgIkZhaWxlZCB0byBjb25maWcgc3BpIGJpdCBvcmRlci4iOw0KLWNvbnN0IGNoYXIgKiBjb25zdCBFbWJyaWNrU1BJSGFuZGxlcjo6c2NtRmFpbGVkVG9Db25maWdTcGVlZCA9DQotICAgICJGYWlsZWQgdG8gY29uZmlnIHNwaSBzcGVlZC4iOw0KLWNvbnN0IGNoYXIgKiBjb25zdCBFbWJyaWNrU1BJSGFuZGxlcjo6c2NtRmFpbGVkVG9UZXN0QnVzID0NCi0gICAgIkZhaWxlZCB0byBzZW5kIHRlc3QgYnl0ZSB0byBzcGkuIjsNCi1jb25zdCBjaGFyICogY29uc3QgRW1icmlja1NQSUhhbmRsZXI6OnNjbUZhaWxlZFRvVHJhbnNmZXJCdWZmZXIgPQ0KLSAgICAiRmFpbGVkIHRvIHRyYW5zZmVyIGJ1ZmZlciB2aWEgc3BpLiI7DQorY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tTUElIYW5kbGVyOjpzY21GYWlsZWRUb0luaXRIYW5kbGVyID0gIkZhaWxlZCB0byBpbml0IHNwaWRldiBoYW5kbGVyLiBDaGVjayBpZiBzcGkgaXMgZW5hYmxlZC4iOw0KK2NvbnN0IGNoYXIgKiBjb25zdCBFbWJyaWNrU1BJSGFuZGxlcjo6c2NtRmFpbGVkVG9Db25maWdNb2RlID0gIkZhaWxlZCB0byBjb25maWcgc3BpIHdyaXRlIG1vZGUuIjsNCitjb25zdCBjaGFyICogY29uc3QgRW1icmlja1NQSUhhbmRsZXI6OnNjbUZhaWxlZFRvQ29uZmlnQml0T3JkZXIgPSAiRmFpbGVkIHRvIGNvbmZpZyBzcGkgYml0IG9yZGVyLiI7DQorY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tTUElIYW5kbGVyOjpzY21GYWlsZWRUb0NvbmZpZ1NwZWVkID0gIkZhaWxlZCB0byBjb25maWcgc3BpIHNwZWVkLiI7DQorY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tTUElIYW5kbGVyOjpzY21GYWlsZWRUb1Rlc3RCdXMgPSAiRmFpbGVkIHRvIHNlbmQgdGVzdCBieXRlIHRvIHNwaS4iOw0KK2NvbnN0IGNoYXIgKiBjb25zdCBFbWJyaWNrU1BJSGFuZGxlcjo6c2NtRmFpbGVkVG9UcmFuc2ZlckJ1ZmZlciA9ICJGYWlsZWQgdG8gdHJhbnNmZXIgYnVmZmVyIHZpYSBzcGkuIjsNCiANCi1FbWJyaWNrU1BJSGFuZGxlcjo6RW1icmlja1NQSUhhbmRsZXIodW5zaWduZWQgaW50IGludGVyZmFjZSkgOg0KLSAgICBlcnJvcigwKSB7DQorRW1icmlja1NQSUhhbmRsZXI6OkVtYnJpY2tTUElIYW5kbGVyKHVuc2lnbmVkIGludCBwYUludGVyZmFjZSkgOg0KKyAgICBtRXJyb3IoMCkgew0KICAgLy8gQ29udmVydCBpbnQgdG8gc3RyaW5nDQogICBzdGQ6Om9zdHJpbmdzdHJlYW0gaW50ZXJmYWNlU3RyZWFtOw0KLSAgaW50ZXJmYWNlU3RyZWFtIDw8IGludGVyZmFjZTsNCisgIGludGVyZmFjZVN0cmVhbSA8PCBwYUludGVyZmFjZTsNCiAgIHN0ZDo6c3RyaW5nIGludGVyZmFjZVN0ciA9IGludGVyZmFjZVN0cmVhbS5zdHIoKTsNCiANCiAgIHN0ZDo6c3RyaW5nIHNwaWRldiA9ICIvZGV2L3NwaWRldiIgKyBpbnRlcmZhY2VTdHIgKyAiLjAiOw0KQEAgLTQ3LDgxICs0Miw4MSBAQAogICBkZUluaXQoKTsNCiB9DQogDQotdm9pZCBFbWJyaWNrU1BJSGFuZGxlcjo6aW5pdChjb25zdCBjaGFyKiBzcGlkZXYpIHsNCit2b2lkIEVtYnJpY2tTUElIYW5kbGVyOjppbml0KGNvbnN0IGNoYXIqIHBhU3BpZGV2KSB7DQogICAvLyBJbml0IHNwaWRldg0KLSAgREVWTE9HX0RFQlVHKCJlbUJyaWNrW1NQSUhhbmRsZXJdOiBPcGVuIHNwaWRldiAnJXMnXG4iLCBzcGlkZXYpOw0KLSAgZmQgPSBvcGVuKHNwaWRldiwgT19SRFdSKTsNCisgIERFVkxPR19ERUJVRygiZW1Ccmlja1tTUElIYW5kbGVyXTogT3BlbiBzcGlkZXYgJyVzJ1xuIiwgcGFTcGlkZXYpOw0KKyAgbUZkID0gb3BlbihwYVNwaWRldiwgT19SRFdSKTsNCiANCi0gIGlmIChmZCA8IDApDQorICBpZihtRmQgPCAwKSB7DQogICAgIHJldHVybiBmYWlsKHNjbUZhaWxlZFRvSW5pdEhhbmRsZXIpOw0KLQ0KKyAgfQ0KICAgLy8gU2V0IG1vZGUgdG8gU1BJX0NQT0wgYW5kIFNQSV9DUEhBDQotICBpZiAoIWNvbmZpZyhTUElfSU9DX1dSX01PREUsIFNQSV9JT0NfUkRfTU9ERSwgc3BpTW9kZSkpDQorICBpZighY29uZmlnKFNQSV9JT0NfV1JfTU9ERSwgU1BJX0lPQ19SRF9NT0RFLCBtU3BpTW9kZSkpIHsNCiAgICAgcmV0dXJuIGZhaWwoc2NtRmFpbGVkVG9Db25maWdNb2RlKTsNCi0NCisgIH0NCiAgIC8vIFNldCBNU0IgKE1vc3QgU2lnbmlmaWNhbnQgQml0IEZpcnN0KQ0KLSAgaWYgKCFjb25maWcoU1BJX0lPQ19XUl9MU0JfRklSU1QsIFNQSV9JT0NfUkRfTFNCX0ZJUlNULCBzcGlCaXRPcmRlcikpDQorICBpZighY29uZmlnKFNQSV9JT0NfV1JfTFNCX0ZJUlNULCBTUElfSU9DX1JEX0xTQl9GSVJTVCwgbVNwaUJpdE9yZGVyKSkgew0KICAgICByZXR1cm4gZmFpbChzY21GYWlsZWRUb0NvbmZpZ0JpdE9yZGVyKTsNCi0NCisgIH0NCiAgIC8vIFNldCBzcGVlZA0KLSAgaWYgKCFjb25maWcoU1BJX0lPQ19XUl9NQVhfU1BFRURfSFosIFNQSV9JT0NfUkRfTUFYX1NQRUVEX0haLCBNYXhTcGlTcGVlZCkpDQorICBpZighY29uZmlnKFNQSV9JT0NfV1JfTUFYX1NQRUVEX0haLCBTUElfSU9DX1JEX01BWF9TUEVFRF9IWiwgc2NtTWF4U3BpU3BlZWQpKSB7DQogICAgIHJldHVybiBmYWlsKHNjbUZhaWxlZFRvQ29uZmlnU3BlZWQpOw0KLSAgc3BpU3BlZWQgPSBEZWZhdWx0U3BpU3BlZWQ7DQorICB9DQorICBtU3BpU3BlZWQgPSBzY21EZWZhdWx0U3BpU3BlZWQ7DQogDQogICAvLyBUZXN0DQogICB1bnNpZ25lZCBjaGFyIHRlc3RCeXRlWzFdID0geyAwIH07DQotICBpZiAoIXRyYW5zZmVyKHRlc3RCeXRlLCB0ZXN0Qnl0ZSwgMSkpDQorICBpZighdHJhbnNmZXIodGVzdEJ5dGUsIHRlc3RCeXRlLCAxKSkgew0KICAgICByZXR1cm4gZmFpbChzY21GYWlsZWRUb1Rlc3RCdXMpOw0KLQ0KKyAgfQ0KICAgREVWTE9HX0lORk8oImVtQnJpY2tbU1BJSGFuZGxlcl06IFJlYWR5LlxuIik7DQogfQ0KIA0KIHZvaWQgRW1icmlja1NQSUhhbmRsZXI6OmRlSW5pdCgpIHsNCiAgIC8vIENsb3NlIGhhbmRsZXIgaWYgb3Blbg0KLSAgaWYgKGZkID49IDApDQotICAgIGNsb3NlKGZkKTsNCisgIGlmKG1GZCA+PSAwKSB7DQorICAgIGNsb3NlKG1GZCk7DQorICB9DQogfQ0KIA0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgRW1icmlja1NQSUhhbmRsZXI6OmNvbmZpZyh1bnNpZ25lZCBpbnQgY29uZmlnLA0KLSAgICB1bnNpZ25lZCBpbnQgY29uZmlnVmVyaWZ5LCBUIHZhbHVlKSB7DQordGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBFbWJyaWNrU1BJSGFuZGxlcjo6Y29uZmlnKHVuc2lnbmVkIGludCBwYUNvbmZpZywgdW5zaWduZWQgaW50IHBhQ29uZmlnVmVyaWZ5LCBUIHBhVmFsdWUpIHsNCiAgIGludCBzdGF0dXM7DQogDQogICAvLyBTZXQgY29uZmlnIHZpYSBpb2N0bA0KLSAgc3RhdHVzID0gaW9jdGwoZmQsIGNvbmZpZywgJnZhbHVlKTsNCi0gIGlmIChzdGF0dXMgPCAwKQ0KKyAgc3RhdHVzID0gaW9jdGwobUZkLCBwYUNvbmZpZywgJnBhVmFsdWUpOw0KKyAgaWYoc3RhdHVzIDwgMCkgew0KICAgICByZXR1cm4gZmFsc2U7DQotDQorICB9DQogICAvLyBWZXJpZnkgY29uZmlnDQogICBUIHZhbHVlQ2hlY2s7DQotICBzdGF0dXMgPSBpb2N0bChmZCwgY29uZmlnVmVyaWZ5LCAmdmFsdWVDaGVjayk7DQotICBpZiAoc3RhdHVzIDwgMCkNCisgIHN0YXR1cyA9IGlvY3RsKG1GZCwgcGFDb25maWdWZXJpZnksICZ2YWx1ZUNoZWNrKTsNCisgIGlmKHN0YXR1cyA8IDApIHsNCiAgICAgcmV0dXJuIGZhbHNlOw0KLQ0KLSAgcmV0dXJuIHZhbHVlQ2hlY2sgPT0gdmFsdWU7DQorICB9DQorICByZXR1cm4gdmFsdWVDaGVjayA9PSBwYVZhbHVlOw0KIH0NCiANCi12b2lkIEVtYnJpY2tTUElIYW5kbGVyOjpmYWlsKGNvbnN0IGNoYXIqIHJlYXNvbikgew0KLSAgZXJyb3IgPSByZWFzb247DQotICBERVZMT0dfRVJST1IoImVtQnJpY2tbU1BJSGFuZGxlcl06ICVzXG4iLCBlcnJvcik7DQordm9pZCBFbWJyaWNrU1BJSGFuZGxlcjo6ZmFpbChjb25zdCBjaGFyKiBwYVJlYXNvbikgew0KKyAgbUVycm9yID0gcGFSZWFzb247DQorICBERVZMT0dfRVJST1IoImVtQnJpY2tbU1BJSGFuZGxlcl06ICVzXG4iLCBtRXJyb3IpOw0KIH0NCiANCi1ib29sIEVtYnJpY2tTUElIYW5kbGVyOjp0cmFuc2Zlcih1bnNpZ25lZCBjaGFyKiBzZW5kQnVmZmVyLA0KLSAgICB1bnNpZ25lZCBjaGFyKiByZWNlaXZlQnVmZmVyLCBpbnQgbGVuZ3RoKSB7DQorYm9vbCBFbWJyaWNrU1BJSGFuZGxlcjo6dHJhbnNmZXIodW5zaWduZWQgY2hhciogcGFTZW5kQnVmZmVyLCB1bnNpZ25lZCBjaGFyKiBwYVJlY2VpdmVCdWZmZXIsIGludCBwYUxlbmd0aCkgew0KIA0KICAgc3RydWN0IHNwaV9pb2NfdHJhbnNmZXIgbXNnOw0KIA0KLSAgbXNnLnR4X2J1ZiA9ICh1bnNpZ25lZCBsb25nKSBzZW5kQnVmZmVyOw0KLSAgbXNnLnJ4X2J1ZiA9ICh1bnNpZ25lZCBsb25nKSByZWNlaXZlQnVmZmVyOw0KLSAgbXNnLmxlbiA9IGxlbmd0aDsNCisgIG1zZy50eF9idWYgPSAodW5zaWduZWQgbG9uZykgcGFTZW5kQnVmZmVyOw0KKyAgbXNnLnJ4X2J1ZiA9ICh1bnNpZ25lZCBsb25nKSBwYVJlY2VpdmVCdWZmZXI7DQorICBtc2cubGVuID0gcGFMZW5ndGg7DQogICBtc2cuZGVsYXlfdXNlY3MgPSAwOw0KLSAgbXNnLnNwZWVkX2h6ID0gc3BpU3BlZWQ7DQorICBtc2cuc3BlZWRfaHogPSBtU3BpU3BlZWQ7DQogICBtc2cuYml0c19wZXJfd29yZCA9IDg7DQogICBtc2cuY3NfY2hhbmdlID0gMDsNCiAgIG1zZy5wYWQgPSAwOw0KIA0KICAgLy8gU2VuZCBkYXRhIHRvIHNwaSBidXMNCi0gIGludCBzdGF0dXMgPSBpb2N0bChmZCwgU1BJX0lPQ19NRVNTQUdFKDEpLCAmbXNnKTsNCi0gIGlmIChzdGF0dXMgPCAwKSB7DQorICBpbnQgc3RhdHVzID0gaW9jdGwobUZkLCBTUElfSU9DX01FU1NBR0UoMSksICZtc2cpOw0KKyAgaWYoc3RhdHVzIDwgMCkgew0KICAgICBmYWlsKHNjbUZhaWxlZFRvVHJhbnNmZXJCdWZmZXIpOw0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQpAQCAtMTI5LDkgKzEyNCw3IEBACiAgIHJldHVybiB0cnVlOw0KIH0NCiANCi12b2lkIEVtYnJpY2tTUElIYW5kbGVyOjpzZXRTcGVlZChjb25zdCB1bnNpZ25lZCBsb25nIHNwZWVkKSB7DQotICBzcGlTcGVlZCA9IHNwZWVkOw0KK3ZvaWQgRW1icmlja1NQSUhhbmRsZXI6OnNldFNwZWVkKGNvbnN0IHVuc2lnbmVkIGxvbmcgcGFTcGVlZCkgew0KKyAgbVNwaVNwZWVkID0gcGFTcGVlZDsNCiB9DQogDQotDQotDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3NwaS5oIGIvc3JjL21vZHVsZXMvZW1icmljay9oYW5kbGVyL3NwaS5oCmluZGV4IGNiODdhNGYuLmJiYzhmMGUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svaGFuZGxlci9zcGkuaAorKysgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL2hhbmRsZXIvc3BpLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTIyLDQ0ICsyMyw0MiBAQAogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGlkZXYuaD4KIAogY2xhc3MgRW1icmlja1NQSUhhbmRsZXIgewotICBmcmllbmQgY2xhc3MgRW1icmlja0J1c0hhbmRsZXI7CisgICAgZnJpZW5kIGNsYXNzIEVtYnJpY2tCdXNIYW5kbGVyOwogCi1wcm90ZWN0ZWQ6Ci0gIGV4cGxpY2l0IEVtYnJpY2tTUElIYW5kbGVyKHVuc2lnbmVkIGludCBpbnRlcmZhY2UpOwotICB2aXJ0dWFsIH5FbWJyaWNrU1BJSGFuZGxlcigpOworICBwcm90ZWN0ZWQ6CisgICAgZXhwbGljaXQgRW1icmlja1NQSUhhbmRsZXIodW5zaWduZWQgaW50IHBhSW50ZXJmYWNlKTsKKyAgICB2aXJ0dWFsIH5FbWJyaWNrU1BJSGFuZGxlcigpOwogCi0gIGJvb2wgdHJhbnNmZXIodW5zaWduZWQgY2hhciogc2VuZEJ1ZmZlciwgdW5zaWduZWQgY2hhciogcmVjZWl2ZUJ1ZmZlciwKLSAgICAgIGludCBsZW5ndGgpOworICAgIGJvb2wgdHJhbnNmZXIodW5zaWduZWQgY2hhciogcGFTZW5kQnVmZmVyLCB1bnNpZ25lZCBjaGFyKiBwYVJyZWNlaXZlQnVmZmVyLCBpbnQgcGFMZW5ndGgpOwogCi0gIHZvaWQgaW5pdChjb25zdCBjaGFyKiBzcGlkZXYpOwotICB2b2lkIGRlSW5pdCgpOwotICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIGNvbmZpZyh1bnNpZ25lZCBpbnQgY29uZmlnLAotICAgICAgdW5zaWduZWQgaW50IGNvbmZpZ1ZlcmlmeSwgVCB2YWx1ZSk7CisgICAgdm9pZCBpbml0KGNvbnN0IGNoYXIqIHBhU3BpZGV2KTsKKyAgICB2b2lkIGRlSW5pdCgpOworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGJvb2wgY29uZmlnKHVuc2lnbmVkIGludCBwYUNvbmZpZywgdW5zaWduZWQgaW50IHBhQ29uZmlnVmVyaWZ5LCBUIHBhVmFsdWUpOwogCi0gIGJvb2wgaGFzRXJyb3IoKSB7Ci0gICAgcmV0dXJuIGVycm9yICE9IDA7Ci0gIH0KLSAgY29uc3QgY2hhciogZXJyb3I7CisgICAgYm9vbCBoYXNFcnJvcigpIHsKKyAgICAgIHJldHVybiBtRXJyb3IgIT0gMDsKKyAgICB9CisgICAgY29uc3QgY2hhciogbUVycm9yOwogCi0gIHN0YXRpYyB1bnNpZ25lZCBsb25nIGNvbnN0IERlZmF1bHRTcGlTcGVlZDsKLSAgc3RhdGljIHVuc2lnbmVkIGxvbmcgY29uc3QgTWF4U3BpU3BlZWQ7Ci0gIHZvaWQgc2V0U3BlZWQoY29uc3QgdW5zaWduZWQgbG9uZyBzcGVlZCk7CisgICAgc3RhdGljIHVuc2lnbmVkIGxvbmcgY29uc3Qgc2NtRGVmYXVsdFNwaVNwZWVkOworICAgIHN0YXRpYyB1bnNpZ25lZCBsb25nIGNvbnN0IHNjbU1heFNwaVNwZWVkOworICAgIHZvaWQgc2V0U3BlZWQoY29uc3QgdW5zaWduZWQgbG9uZyBwYVNwZWVkKTsKIAotcHJpdmF0ZToKLSAgaW50IGZkOwotICB1bnNpZ25lZCBsb25nIHNwaVNwZWVkOworICBwcml2YXRlOgorICAgIGludCBtRmQ7CisgICAgdW5zaWduZWQgbG9uZyBtU3BpU3BlZWQ7CiAKLSAgc3RhdGljIGNoYXIgY29uc3Qgc3BpTW9kZTsKLSAgc3RhdGljIGNoYXIgY29uc3Qgc3BpQml0T3JkZXI7CisgICAgc3RhdGljIGNoYXIgY29uc3QgbVNwaU1vZGU7CisgICAgc3RhdGljIGNoYXIgY29uc3QgbVNwaUJpdE9yZGVyOwogCi0gIHZvaWQgZmFpbChjb25zdCBjaGFyKiByZWFzb24pOworICAgIHZvaWQgZmFpbChjb25zdCBjaGFyKiBwYVJlYXNvbik7CiAKLSAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb0luaXRIYW5kbGVyOwotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvQ29uZmlnTW9kZTsKLSAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb0NvbmZpZ0JpdE9yZGVyOwotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvQ29uZmlnU3BlZWQ7Ci0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtRmFpbGVkVG9UZXN0QnVzOwotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvVHJhbnNmZXJCdWZmZXI7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb0luaXRIYW5kbGVyOworICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtRmFpbGVkVG9Db25maWdNb2RlOworICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtRmFpbGVkVG9Db25maWdCaXRPcmRlcjsKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvQ29uZmlnU3BlZWQ7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb1Rlc3RCdXM7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb1RyYW5zZmVyQnVmZmVyOwogfTsKIAogI2VuZGlmIC8qIFNSQ19NT0RVTEVTX0VNQlJJQ0tfSEFORExFUl9TUElfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlLmNwcCBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlLmNwcAppbmRleCBkOTVlYTllLi44YjQxN2ZiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZS5jcHAKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9oYW5kbGUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xNiwzNCArMTcsMzIgQEAKICNpbmNsdWRlIDxpby9tYXBwZXIvaW9fbWFwcGVyLmg+CiAjaW5jbHVkZSA8ZGV2bG9nLmg+CiAKLUVtYnJpY2tTbGF2ZUhhbmRsZTo6RW1icmlja1NsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjpJTzo6SU9EZXZpY2VDb250cm9sbGVyICpjb250cm9sbGVyLAotICAgIGZvcnRlOjpjb3JlOjpJTzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCB0eXBlLCB1aW50OF90IHBhT2Zmc2V0LAotICAgIEVtYnJpY2tTbGF2ZUhhbmRsZXIgKnBhU2xhdmUpIDoKLSAgICBmb3J0ZTo6Y29yZTo6SU86OklPSGFuZGxlKGNvbnRyb2xsZXIsIGRpcmVjdGlvbiwgdHlwZSksIG9mZnNldChwYU9mZnNldCksIHNsYXZlKHBhU2xhdmUpLCB1cGRhdGVNdXRleCgKLSAgICAgICAgJnNsYXZlLT51cGRhdGVNdXRleCkgewotICBpZiAoZGlyZWN0aW9uID09IGZvcnRlOjpjb3JlOjpJTzo6SU9NYXBwZXI6OkluKQotICAgIGJ1ZmZlciA9IHNsYXZlLT51cGRhdGVSZWNlaXZlSW1hZ2U7Ci0gIGVsc2UgaWYgKGRpcmVjdGlvbiA9PSBmb3J0ZTo6Y29yZTo6SU86OklPTWFwcGVyOjpPdXQpCi0gICAgYnVmZmVyID0gc2xhdmUtPnVwZGF0ZVNlbmRJbWFnZTsKK0VtYnJpY2tTbGF2ZUhhbmRsZTo6RW1icmlja1NsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbiwKKyAgICBDSUVDX0FOWTo6RURhdGFUeXBlSUQgcGFUeXBlLCB1aW50OF90IHBhT2Zmc2V0LCBFbWJyaWNrU2xhdmVIYW5kbGVyICpwYVNsYXZlKSA6CisgICAgZm9ydGU6OmNvcmU6OmlvOjpJT0hhbmRsZShwYUNvbnRyb2xsZXIsIHBhRGlyZWN0aW9uLCBwYVR5cGUpLCBtT2Zmc2V0KHBhT2Zmc2V0KSwgbVNsYXZlKHBhU2xhdmUpLCBtVXBkYXRlTXV0ZXgoJm1TbGF2ZS0+bVVwZGF0ZU11dGV4KSB7CisgIGlmKHBhRGlyZWN0aW9uID09IGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkluKSB7CisgICAgbUJ1ZmZlciA9IG1TbGF2ZS0+bVVwZGF0ZVJlY2VpdmVJbWFnZTsKKyAgfSBlbHNlIGlmKHBhRGlyZWN0aW9uID09IGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6Ok91dCkgeworICAgIG1CdWZmZXIgPSBtU2xhdmUtPm1VcGRhdGVTZW5kSW1hZ2U7CisgIH0KIH0KIAogRW1icmlja1NsYXZlSGFuZGxlOjp+RW1icmlja1NsYXZlSGFuZGxlKCkgewogfQogCiB2b2lkIEVtYnJpY2tTbGF2ZUhhbmRsZTo6c2V0KGNvbnN0IENJRUNfQU5ZICYpIHsKLSAgc2xhdmUtPmZvcmNlVXBkYXRlKCk7CisgIG1TbGF2ZS0+Zm9yY2VVcGRhdGUoKTsKIH0KIAotdm9pZCBFbWJyaWNrU2xhdmVIYW5kbGU6Om9uT2JzZXJ2ZXIoZm9ydGU6OmNvcmU6OklPOjpJT09ic2VydmVyICpvYnNlcnZlcikgewordm9pZCBFbWJyaWNrU2xhdmVIYW5kbGU6Om9uT2JzZXJ2ZXIoZm9ydGU6OmNvcmU6OmlvOjpJT09ic2VydmVyICpwYU9ic2VydmVyKSB7CiAgIHJlc2V0KCk7CiAKLSAgZm9ydGU6OmNvcmU6OklPOjpJT0hhbmRsZTo6b25PYnNlcnZlcihvYnNlcnZlcik7CisgIGZvcnRlOjpjb3JlOjppbzo6SU9IYW5kbGU6Om9uT2JzZXJ2ZXIocGFPYnNlcnZlcik7CiB9CiAKIHZvaWQgRW1icmlja1NsYXZlSGFuZGxlOjpkcm9wT2JzZXJ2ZXIoKSB7Ci0gIGZvcnRlOjpjb3JlOjpJTzo6SU9IYW5kbGU6OmRyb3BPYnNlcnZlcigpOworICBmb3J0ZTo6Y29yZTo6aW86OklPSGFuZGxlOjpkcm9wT2JzZXJ2ZXIoKTsKIAogICByZXNldCgpOwogfQogCi0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlLmggYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZS5oCmluZGV4IDVkYzZmZTUuLmNjNjc4ZmQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlLmgKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9oYW5kbGUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBKb2hhbm5lcyBNZXNzbWVyIChhZG1pbkBqb21lc3MuY29tKSwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMjMsMjcgKzI0LDI3IEBACiAKIGNsYXNzIEVtYnJpY2tTbGF2ZUhhbmRsZXI7CiAKLWNsYXNzIEVtYnJpY2tTbGF2ZUhhbmRsZTogcHVibGljIGZvcnRlOjpjb3JlOjpJTzo6SU9IYW5kbGUgewotcHVibGljOgotICBFbWJyaWNrU2xhdmVIYW5kbGUoZm9ydGU6OmNvcmU6OklPOjpJT0RldmljZUNvbnRyb2xsZXIgKmNvbnRyb2xsZXIsIGZvcnRlOjpjb3JlOjpJTzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBkaXJlY3Rpb24sCi0gICAgICBDSUVDX0FOWTo6RURhdGFUeXBlSUQgdHlwZSwgdWludDhfdCBwYU9mZnNldCwgRW1icmlja1NsYXZlSGFuZGxlciAqcGFTbGF2ZSk7Ci0gIHZpcnR1YWwgfkVtYnJpY2tTbGF2ZUhhbmRsZSgpOworY2xhc3MgRW1icmlja1NsYXZlSGFuZGxlIDogcHVibGljIGZvcnRlOjpjb3JlOjppbzo6SU9IYW5kbGUgeworICBwdWJsaWM6CisgICAgRW1icmlja1NsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbiwgQ0lFQ19BTlk6OkVEYXRhVHlwZUlEIHR5cGUsCisgICAgICAgIHVpbnQ4X3QgcGFPZmZzZXQsIEVtYnJpY2tTbGF2ZUhhbmRsZXIgKnBhU2xhdmUpOworICAgIHZpcnR1YWwgfkVtYnJpY2tTbGF2ZUhhbmRsZSgpOwogCi0gIHZpcnR1YWwgdm9pZCBzZXQoY29uc3QgQ0lFQ19BTlkgJik7Ci0gIHZpcnR1YWwgYm9vbCBlcXVhbCh1bnNpZ25lZCBjaGFyKikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXQoY29uc3QgQ0lFQ19BTlkgJik7CisgICAgdmlydHVhbCBib29sIGVxdWFsKHVuc2lnbmVkIGNoYXIqKSA9IDA7CiAKLXByb3RlY3RlZDoKLSAgdmlydHVhbCB2b2lkIHJlc2V0KCkgeworICBwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB2b2lkIHJlc2V0KCkgewogCi0gIH0KKyAgICB9CiAKLSAgdmlydHVhbCB2b2lkIG9uT2JzZXJ2ZXIoZm9ydGU6OmNvcmU6OklPOjpJT09ic2VydmVyICpvYnNlcnZlcik7Ci0gIHZpcnR1YWwgdm9pZCBkcm9wT2JzZXJ2ZXIoKTsKKyAgICB2aXJ0dWFsIHZvaWQgb25PYnNlcnZlcihmb3J0ZTo6Y29yZTo6aW86OklPT2JzZXJ2ZXIgKnBhT2JzZXJ2ZXIpOworICAgIHZpcnR1YWwgdm9pZCBkcm9wT2JzZXJ2ZXIoKTsKIAotICB1bnNpZ25lZCBjaGFyKiBidWZmZXI7Ci0gIGNvbnN0IHVpbnQ4X3Qgb2Zmc2V0OwotICBFbWJyaWNrU2xhdmVIYW5kbGVyKiBzbGF2ZTsKLSAgQ1N5bmNPYmplY3QgKnVwZGF0ZU11dGV4OworICAgIHVuc2lnbmVkIGNoYXIqIG1CdWZmZXI7CisgICAgY29uc3QgdWludDhfdCBtT2Zmc2V0OworICAgIEVtYnJpY2tTbGF2ZUhhbmRsZXIqIG1TbGF2ZTsKKyAgICBDU3luY09iamVjdCAqbVVwZGF0ZU11dGV4OwogfTsKIAogI2VuZGlmIC8qIFNSQ19NT0RVTEVTX0VNQlJJQ0tfU0xBVkVfSEFORExFX0hfICovCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYW5hbG9nLmNwcCBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9hbmFsb2cuY3BwCmluZGV4IDIwYTYwZWQuLmU1OTExNmUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9hbmFsb2cuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9hbmFsb2cuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBKb2hhbm5lcyBNZXNzbWVyIChhZG1pbkBqb21lc3MuY29tKSwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtMTMsMzMgKzE0LDMxIEBACiAjaW5jbHVkZSAiYW5hbG9nLmgiDQogI2luY2x1ZGUgImNyaXRpY2FscmVnaW9uLmgiDQogDQotRW1icmlja0FuYWxvZ1NsYXZlSGFuZGxlOjpFbWJyaWNrQW5hbG9nU2xhdmVIYW5kbGUoZm9ydGU6OmNvcmU6OklPOjpJT0RldmljZUNvbnRyb2xsZXIgKmNvbnRyb2xsZXIsDQotICAgIGZvcnRlOjpjb3JlOjpJTzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIHVpbnQ4X3Qgb2Zmc2V0LCBFbWJyaWNrU2xhdmVIYW5kbGVyICpzbGF2ZSkgOg0KLSAgICBFbWJyaWNrU2xhdmVIYW5kbGUoY29udHJvbGxlciwgZGlyZWN0aW9uLCBDSUVDX0FOWTo6ZV9EV09SRCwgb2Zmc2V0LCBzbGF2ZSkgew0KK0VtYnJpY2tBbmFsb2dTbGF2ZUhhbmRsZTo6RW1icmlja0FuYWxvZ1NsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbiwNCisgICAgdWludDhfdCBwYU9mZnNldCwgRW1icmlja1NsYXZlSGFuZGxlciAqcGFTbGF2ZSkgOg0KKyAgICBFbWJyaWNrU2xhdmVIYW5kbGUocGFDb250cm9sbGVyLCBwYURpcmVjdGlvbiwgQ0lFQ19BTlk6OmVfRFdPUkQsIHBhT2Zmc2V0LCBwYVNsYXZlKSB7DQogDQogfQ0KIA0KLXZvaWQgRW1icmlja0FuYWxvZ1NsYXZlSGFuZGxlOjpzZXQoY29uc3QgQ0lFQ19BTlkgJnZhbHVlKSB7DQotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oKnVwZGF0ZU11dGV4KTsNCit2b2lkIEVtYnJpY2tBbmFsb2dTbGF2ZUhhbmRsZTo6c2V0KGNvbnN0IENJRUNfQU5ZICZwYVZhbHVlKSB7DQorICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oKm1VcGRhdGVNdXRleCk7DQogDQotICAqKGJ1ZmZlciArIG9mZnNldCArIDEpID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19EV09SRCY+KHZhbHVlKSAlIDI1NjsNCi0gICooYnVmZmVyICsgb2Zmc2V0KSA9ICh1bnNpZ25lZCBjaGFyKSAoc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19EV09SRCY+KHZhbHVlKQ0KLSAgICAgIC8gMjU2KTsNCisgICoobUJ1ZmZlciArIG1PZmZzZXQgKyAxKSA9IHN0YXRpY19jYXN0PGNvbnN0IENJRUNfRFdPUkQmPihwYVZhbHVlKSAlIDI1NjsNCisgICoobUJ1ZmZlciArIG1PZmZzZXQpID0gKHVuc2lnbmVkIGNoYXIpIChzdGF0aWNfY2FzdDxjb25zdCBDSUVDX0RXT1JEJj4ocGFWYWx1ZSkgLyAyNTYpOw0KIA0KLSAgRW1icmlja1NsYXZlSGFuZGxlOjpzZXQodmFsdWUpOw0KKyAgRW1icmlja1NsYXZlSGFuZGxlOjpzZXQocGFWYWx1ZSk7DQogfQ0KIA0KLXZvaWQgRW1icmlja0FuYWxvZ1NsYXZlSGFuZGxlOjpnZXQoQ0lFQ19BTlkgJnZhbHVlKSB7DQotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oKnVwZGF0ZU11dGV4KTsNCi0gIHN0YXRpY19jYXN0PENJRUNfRFdPUkQmPih2YWx1ZSkgPSBnZXRWYWx1ZShidWZmZXIpOw0KK3ZvaWQgRW1icmlja0FuYWxvZ1NsYXZlSGFuZGxlOjpnZXQoQ0lFQ19BTlkgJnBhVmFsdWUpIHsNCisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbigqbVVwZGF0ZU11dGV4KTsNCisgIHN0YXRpY19jYXN0PENJRUNfRFdPUkQmPihwYVZhbHVlKSA9IGdldFZhbHVlKG1CdWZmZXIpOw0KIH0NCiANCi1ib29sIEVtYnJpY2tBbmFsb2dTbGF2ZUhhbmRsZTo6ZXF1YWwodW5zaWduZWQgY2hhciogb2xkQnVmZmVyKSB7DQotICByZXR1cm4gZ2V0VmFsdWUoYnVmZmVyKSA9PSBnZXRWYWx1ZShvbGRCdWZmZXIpOw0KK2Jvb2wgRW1icmlja0FuYWxvZ1NsYXZlSGFuZGxlOjplcXVhbCh1bnNpZ25lZCBjaGFyKiBwYU9sZEJ1ZmZlcikgew0KKyAgcmV0dXJuIGdldFZhbHVlKG1CdWZmZXIpID09IGdldFZhbHVlKHBhT2xkQnVmZmVyKTsNCiB9DQogDQotY29uc3QgQ0lFQ19EV09SRCBFbWJyaWNrQW5hbG9nU2xhdmVIYW5kbGU6OmdldFZhbHVlKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJ1ZmZlcikgew0KLSAgcmV0dXJuICooYnVmZmVyICsgb2Zmc2V0KSAqIDI1NiArICooYnVmZmVyICsgb2Zmc2V0ICsgMSk7DQorY29uc3QgQ0lFQ19EV09SRCBFbWJyaWNrQW5hbG9nU2xhdmVIYW5kbGU6OmdldFZhbHVlKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHBhQnVmZmVyKSB7DQorICByZXR1cm4gKihwYUJ1ZmZlciArIG1PZmZzZXQpICogMjU2ICsgKihwYUJ1ZmZlciArIG1PZmZzZXQgKyAxKTsNCiB9DQogDQotDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9oYW5kbGVzL2FuYWxvZy5oIGIvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9oYW5kbGVzL2FuYWxvZy5oCmluZGV4IDcyYTExZDMuLjI3MzViMjcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9hbmFsb2cuaAorKysgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYW5hbG9nLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xNiwxOCArMTcsMTggQEAKICNpbmNsdWRlIDxzbGF2ZS9zbGF2ZS5oPg0KICNpbmNsdWRlIDxzbGF2ZS9oYW5kbGUuaD4NCiANCi1jbGFzcyBFbWJyaWNrQW5hbG9nU2xhdmVIYW5kbGU6IHB1YmxpYyBFbWJyaWNrU2xhdmVIYW5kbGUgew0KLXB1YmxpYzoNCi0gIEVtYnJpY2tBbmFsb2dTbGF2ZUhhbmRsZShmb3J0ZTo6Y29yZTo6SU86OklPRGV2aWNlQ29udHJvbGxlciAqY29udHJvbGxlciwgZm9ydGU6OmNvcmU6OklPOjpJT01hcHBlcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwNCi0gICAgICB1aW50OF90IG9mZnNldCwgRW1icmlja1NsYXZlSGFuZGxlciAqc2xhdmUpOw0KK2NsYXNzIEVtYnJpY2tBbmFsb2dTbGF2ZUhhbmRsZSA6IHB1YmxpYyBFbWJyaWNrU2xhdmVIYW5kbGUgew0KKyAgcHVibGljOg0KKyAgICBFbWJyaWNrQW5hbG9nU2xhdmVIYW5kbGUoZm9ydGU6OmNvcmU6OmlvOjpJT0RldmljZUNvbnRyb2xsZXIgKnBhQ29udHJvbGxlciwgZm9ydGU6OmNvcmU6OmlvOjpJT01hcHBlcjo6RGlyZWN0aW9uIHBhRGlyZWN0aW9uLCB1aW50OF90IHBhT2Zmc2V0LA0KKyAgICAgICAgRW1icmlja1NsYXZlSGFuZGxlciAqcGFTbGF2ZSk7DQogDQotICB2aXJ0dWFsIHZvaWQgc2V0KGNvbnN0IENJRUNfQU5ZICYpOw0KLSAgdm9pZCBnZXQoQ0lFQ19BTlkgJik7DQorICAgIHZpcnR1YWwgdm9pZCBzZXQoY29uc3QgQ0lFQ19BTlkgJik7DQorICAgIHZvaWQgZ2V0KENJRUNfQU5ZICYpOw0KIA0KLSAgYm9vbCBlcXVhbCh1bnNpZ25lZCBjaGFyKiBvbGRCdWZmZXIpOw0KKyAgICBib29sIGVxdWFsKHVuc2lnbmVkIGNoYXIqIHBhT2xkQnVmZmVyKTsNCiANCi1wcm90ZWN0ZWQ6DQotICBjb25zdCBDSUVDX0RXT1JEIGdldFZhbHVlKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJ1ZmZlcik7DQorICBwcm90ZWN0ZWQ6DQorICAgIGNvbnN0IENJRUNfRFdPUkQgZ2V0VmFsdWUoY29uc3QgdW5zaWduZWQgY2hhciogcGFCdWZmZXIpOw0KIH07DQogDQogI2VuZGlmIC8qIFNSQ19NT0RVTEVTX0VNQlJJQ0tfU0xBVkVfSEFORExFU19BTkFMT0dfSF8gKi8NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYW5hbG9nMTAuY3BwIGIvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9oYW5kbGVzL2FuYWxvZzEwLmNwcAppbmRleCBkOTUzZjkwLi5iYzFmMzRiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYW5hbG9nMTAuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9hbmFsb2cxMC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xMywzNCArMTQsMzEgQEAKICNpbmNsdWRlICJhbmFsb2cxMC5oIg0KICNpbmNsdWRlICJjcml0aWNhbHJlZ2lvbi5oIg0KIA0KLUVtYnJpY2tBbmFsb2cxMFNsYXZlSGFuZGxlOjpFbWJyaWNrQW5hbG9nMTBTbGF2ZUhhbmRsZShmb3J0ZTo6Y29yZTo6SU86OklPRGV2aWNlQ29udHJvbGxlciAqY29udHJvbGxlciwNCi0gICAgZm9ydGU6OmNvcmU6OklPOjpJT01hcHBlcjo6RGlyZWN0aW9uIGRpcmVjdGlvbiwgdWludDhfdCBvZmZzZXQsIEVtYnJpY2tTbGF2ZUhhbmRsZXIgKnNsYXZlKSA6DQotICAgIEVtYnJpY2tTbGF2ZUhhbmRsZShjb250cm9sbGVyLCBkaXJlY3Rpb24sIENJRUNfQU5ZOjplX0RXT1JELCBvZmZzZXQsIHNsYXZlKSB7DQorRW1icmlja0FuYWxvZzEwU2xhdmVIYW5kbGU6OkVtYnJpY2tBbmFsb2cxMFNsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbiwNCisgICAgdWludDhfdCBwYU9mZnNldCwgRW1icmlja1NsYXZlSGFuZGxlciAqcGFTbGF2ZSkgOg0KKyAgICBFbWJyaWNrU2xhdmVIYW5kbGUocGFDb250cm9sbGVyLCBwYURpcmVjdGlvbiwgQ0lFQ19BTlk6OmVfRFdPUkQsIHBhT2Zmc2V0LCBwYVNsYXZlKSB7DQogDQogfQ0KIA0KLXZvaWQgRW1icmlja0FuYWxvZzEwU2xhdmVIYW5kbGU6OnNldChjb25zdCBDSUVDX0FOWSAmdmFsdWUpIHsNCi0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbigqdXBkYXRlTXV0ZXgpOw0KK3ZvaWQgRW1icmlja0FuYWxvZzEwU2xhdmVIYW5kbGU6OnNldChjb25zdCBDSUVDX0FOWSAmcGFWYWx1ZSkgew0KKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKCptVXBkYXRlTXV0ZXgpOw0KIA0KLSAgKihidWZmZXIgKyBvZmZzZXQgKyAxKSA9IHN0YXRpY19jYXN0PGNvbnN0IENJRUNfRFdPUkQmPih2YWx1ZSkgJSAyNTY7DQotICAqKGJ1ZmZlciArIG9mZnNldCkgPSAoc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19EV09SRCY+KHZhbHVlKSAvIDI1NikgJiAweDAzOw0KKyAgKihtQnVmZmVyICsgbU9mZnNldCArIDEpID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19EV09SRCY+KHBhVmFsdWUpICUgMjU2Ow0KKyAgKihtQnVmZmVyICsgbU9mZnNldCkgPSAoc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19EV09SRCY+KHBhVmFsdWUpIC8gMjU2KSAmIDB4MDM7DQogDQotDQotICBFbWJyaWNrU2xhdmVIYW5kbGU6OnNldCh2YWx1ZSk7DQorICBFbWJyaWNrU2xhdmVIYW5kbGU6OnNldChwYVZhbHVlKTsNCiB9DQogDQotdm9pZCBFbWJyaWNrQW5hbG9nMTBTbGF2ZUhhbmRsZTo6Z2V0KENJRUNfQU5ZICZ2YWx1ZSkgew0KLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKCp1cGRhdGVNdXRleCk7DQotICBzdGF0aWNfY2FzdDxDSUVDX0RXT1JEJj4odmFsdWUpID0gZ2V0VmFsdWUoYnVmZmVyKTsNCit2b2lkIEVtYnJpY2tBbmFsb2cxMFNsYXZlSGFuZGxlOjpnZXQoQ0lFQ19BTlkgJnBhVmFsdWUpIHsNCisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbigqbVVwZGF0ZU11dGV4KTsNCisgIHN0YXRpY19jYXN0PENJRUNfRFdPUkQmPihwYVZhbHVlKSA9IGdldFZhbHVlKG1CdWZmZXIpOw0KIH0NCiANCi1ib29sIEVtYnJpY2tBbmFsb2cxMFNsYXZlSGFuZGxlOjplcXVhbCh1bnNpZ25lZCBjaGFyKiBvbGRCdWZmZXIpIHsNCi0gIHJldHVybiBnZXRWYWx1ZShidWZmZXIpID09IGdldFZhbHVlKG9sZEJ1ZmZlcik7DQorYm9vbCBFbWJyaWNrQW5hbG9nMTBTbGF2ZUhhbmRsZTo6ZXF1YWwodW5zaWduZWQgY2hhciogcGFPbGRCdWZmZXIpIHsNCisgIHJldHVybiBnZXRWYWx1ZShtQnVmZmVyKSA9PSBnZXRWYWx1ZShwYU9sZEJ1ZmZlcik7DQogfQ0KIA0KLWNvbnN0IENJRUNfRFdPUkQgRW1icmlja0FuYWxvZzEwU2xhdmVIYW5kbGU6OmdldFZhbHVlKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJ1ZmZlcikgew0KLSAgcmV0dXJuICgqKGJ1ZmZlciArIG9mZnNldCkgJiAweDAzKSAqIDI1NiArICooYnVmZmVyICsgb2Zmc2V0ICsgMSk7DQorY29uc3QgQ0lFQ19EV09SRCBFbWJyaWNrQW5hbG9nMTBTbGF2ZUhhbmRsZTo6Z2V0VmFsdWUoY29uc3QgdW5zaWduZWQgY2hhciogcGFCdWZmZXIpIHsNCisgIHJldHVybiAoKihwYUJ1ZmZlciArIG1PZmZzZXQpICYgMHgwMykgKiAyNTYgKyAqKHBhQnVmZmVyICsgbU9mZnNldCArIDEpOw0KIH0NCiANCi0NCi0NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYW5hbG9nMTAuaCBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9hbmFsb2cxMC5oCmluZGV4IDVlN2RkOTAuLmFmYmM5NmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9hbmFsb2cxMC5oCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9hbmFsb2cxMC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBKb2hhbm5lcyBNZXNzbWVyIChhZG1pbkBqb21lc3MuY29tKSwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtMTYsMTkgKzE3LDE4IEBACiAjaW5jbHVkZSA8c2xhdmUvc2xhdmUuaD4NCiAjaW5jbHVkZSA8c2xhdmUvaGFuZGxlLmg+DQogDQotY2xhc3MgRW1icmlja0FuYWxvZzEwU2xhdmVIYW5kbGU6IHB1YmxpYyBFbWJyaWNrU2xhdmVIYW5kbGUgew0KLXB1YmxpYzoNCi0gIEVtYnJpY2tBbmFsb2cxMFNsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjpJTzo6SU9EZXZpY2VDb250cm9sbGVyICpjb250cm9sbGVyLA0KLSAgICAgIGZvcnRlOjpjb3JlOjpJTzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBkaXJlY3Rpb24sIHVpbnQ4X3Qgb2Zmc2V0LA0KLSAgICAgIEVtYnJpY2tTbGF2ZUhhbmRsZXIgKnNsYXZlKTsNCitjbGFzcyBFbWJyaWNrQW5hbG9nMTBTbGF2ZUhhbmRsZSA6IHB1YmxpYyBFbWJyaWNrU2xhdmVIYW5kbGUgew0KKyAgcHVibGljOg0KKyAgICBFbWJyaWNrQW5hbG9nMTBTbGF2ZUhhbmRsZShmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlQ29udHJvbGxlciAqcGFDb250cm9sbGVyLCBmb3J0ZTo6Y29yZTo6aW86OklPTWFwcGVyOjpEaXJlY3Rpb24gcGFEaXJlY3Rpb24sIHVpbnQ4X3QgcGFPZmZzZXQsDQorICAgICAgICBFbWJyaWNrU2xhdmVIYW5kbGVyICpwYVNsYXZlKTsNCiANCi0gIHZpcnR1YWwgdm9pZCBzZXQoY29uc3QgQ0lFQ19BTlkgJik7DQotICB2b2lkIGdldChDSUVDX0FOWSAmKTsNCisgICAgdmlydHVhbCB2b2lkIHNldChjb25zdCBDSUVDX0FOWSAmKTsNCisgICAgdm9pZCBnZXQoQ0lFQ19BTlkgJik7DQogDQotICBib29sIGVxdWFsKHVuc2lnbmVkIGNoYXIqIG9sZEJ1ZmZlcik7DQorICAgIGJvb2wgZXF1YWwodW5zaWduZWQgY2hhciogcGFPbGRCdWZmZXIpOw0KIA0KLXByb3RlY3RlZDoNCi0gIGNvbnN0IENJRUNfRFdPUkQgZ2V0VmFsdWUoY29uc3QgdW5zaWduZWQgY2hhciogYnVmZmVyKTsNCisgIHByb3RlY3RlZDoNCisgICAgY29uc3QgQ0lFQ19EV09SRCBnZXRWYWx1ZShjb25zdCB1bnNpZ25lZCBjaGFyKiBwYUJ1ZmZlcik7DQogfTsNCiANCiAjZW5kaWYgLyogU1JDX01PRFVMRVNfRU1CUklDS19TTEFWRV9IQU5ETEVTX0FOQUxPRzEwX0hfICovDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9oYW5kbGVzL2JpdC5jcHAgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYml0LmNwcAppbmRleCA3MTZmZGM5Li5lZTlhMzM4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYml0LmNwcAorKysgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYml0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KQEAgLTEzLDMxICsxNCwzMCBAQAogI2luY2x1ZGUgImJpdC5oIg0KICNpbmNsdWRlICJjcml0aWNhbHJlZ2lvbi5oIg0KIA0KLUVtYnJpY2tCaXRTbGF2ZUhhbmRsZTo6RW1icmlja0JpdFNsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjpJTzo6SU9EZXZpY2VDb250cm9sbGVyICpjb250cm9sbGVyLA0KLSAgICBmb3J0ZTo6Y29yZTo6SU86OklPTWFwcGVyOjpEaXJlY3Rpb24gZGlyZWN0aW9uLCB1aW50OF90IG9mZnNldCwNCi0gICAgdWludDhfdCBwb3NpdGlvbiwgRW1icmlja1NsYXZlSGFuZGxlciAqc2xhdmUpIDoNCi0gICAgRW1icmlja1NsYXZlSGFuZGxlKGNvbnRyb2xsZXIsIGRpcmVjdGlvbiwgdHlwZSA9IENJRUNfQU5ZOjplX0JPT0wsIG9mZnNldCwgc2xhdmUpLCBtYXNrKA0KLSAgICAgICAgKHVpbnQ4X3QpICgxIDw8IHBvc2l0aW9uKSkgew0KK0VtYnJpY2tCaXRTbGF2ZUhhbmRsZTo6RW1icmlja0JpdFNsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbiwNCisgICAgdWludDhfdCBwYU9mZnNldCwgdWludDhfdCBwYVBvc2l0aW9uLCBFbWJyaWNrU2xhdmVIYW5kbGVyICpwYVNsYXZlKSA6DQorICAgIEVtYnJpY2tTbGF2ZUhhbmRsZShwYUNvbnRyb2xsZXIsIHBhRGlyZWN0aW9uLCBtVHlwZSA9IENJRUNfQU5ZOjplX0JPT0wsIHBhT2Zmc2V0LCBwYVNsYXZlKSwgbU1hc2soKHVpbnQ4X3QpICgxIDw8IHBhUG9zaXRpb24pKSB7DQogDQogfQ0KIA0KLXZvaWQgRW1icmlja0JpdFNsYXZlSGFuZGxlOjpzZXQoY29uc3QgQ0lFQ19BTlkgJnN0YXRlKSB7DQotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oKnVwZGF0ZU11dGV4KTsNCit2b2lkIEVtYnJpY2tCaXRTbGF2ZUhhbmRsZTo6c2V0KGNvbnN0IENJRUNfQU5ZICZwYVN0YXRlKSB7DQorICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oKm1VcGRhdGVNdXRleCk7DQogDQotICBpZiAoc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19CT09MJj4oc3RhdGUpKQ0KLSAgICAqKGJ1ZmZlciArIG9mZnNldCkgPSAodWludDhfdCkgKCooYnVmZmVyICsgb2Zmc2V0KSB8IG1hc2spOw0KLSAgZWxzZQ0KLSAgICAqKGJ1ZmZlciArIG9mZnNldCkgPSAodWludDhfdCkgKCooYnVmZmVyICsgb2Zmc2V0KSAmIH5tYXNrKTsNCisgIGlmKHN0YXRpY19jYXN0PGNvbnN0IENJRUNfQk9PTCY+KHBhU3RhdGUpKSB7DQorICAgICoobUJ1ZmZlciArIG1PZmZzZXQpID0gKHVpbnQ4X3QpICgqKG1CdWZmZXIgKyBtT2Zmc2V0KSB8IG1NYXNrKTsNCisgIH0gZWxzZSB7DQorICAgICoobUJ1ZmZlciArIG1PZmZzZXQpID0gKHVpbnQ4X3QpICgqKG1CdWZmZXIgKyBtT2Zmc2V0KSAmIH5tTWFzayk7DQorICB9DQogDQotICBFbWJyaWNrU2xhdmVIYW5kbGU6OnNldChzdGF0ZSk7DQorICBFbWJyaWNrU2xhdmVIYW5kbGU6OnNldChwYVN0YXRlKTsNCiB9DQogDQotdm9pZCBFbWJyaWNrQml0U2xhdmVIYW5kbGU6OmdldChDSUVDX0FOWSAmc3RhdGUpIHsNCi0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbigqdXBkYXRlTXV0ZXgpOw0KLSAgc3RhdGljX2Nhc3Q8Q0lFQ19CT09MJj4oc3RhdGUpID0gKCooYnVmZmVyICsgb2Zmc2V0KSAmIG1hc2spICE9IDA7DQordm9pZCBFbWJyaWNrQml0U2xhdmVIYW5kbGU6OmdldChDSUVDX0FOWSAmcGFTdGF0ZSkgew0KKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKCptVXBkYXRlTXV0ZXgpOw0KKyAgc3RhdGljX2Nhc3Q8Q0lFQ19CT09MJj4ocGFTdGF0ZSkgPSAoKihtQnVmZmVyICsgbU9mZnNldCkgJiBtTWFzaykgIT0gMDsNCiB9DQogDQotYm9vbCBFbWJyaWNrQml0U2xhdmVIYW5kbGU6OmVxdWFsKHVuc2lnbmVkIGNoYXIqIG9sZEJ1ZmZlcikgew0KLSAgcmV0dXJuICgqKGJ1ZmZlciArIG9mZnNldCkgJiBtYXNrKSA9PSAoKihvbGRCdWZmZXIgKyBvZmZzZXQpICYgbWFzayk7DQorYm9vbCBFbWJyaWNrQml0U2xhdmVIYW5kbGU6OmVxdWFsKHVuc2lnbmVkIGNoYXIqIHBhT2xkQnVmZmVyKSB7DQorICByZXR1cm4gKCoobUJ1ZmZlciArIG1PZmZzZXQpICYgbU1hc2spID09ICgqKHBhT2xkQnVmZmVyICsgbU9mZnNldCkgJiBtTWFzayk7DQogfQ0KIA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9iaXQuaCBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvaGFuZGxlcy9iaXQuaAppbmRleCAyNWQ2ODI5Li42OTZiNDM3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL2hhbmRsZXMvYml0LmgKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9oYW5kbGVzL2JpdC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBKb2hhbm5lcyBNZXNzbWVyIChhZG1pbkBqb21lc3MuY29tKSwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtMTYsMjQgKzE3LDIzIEBACiAjaW5jbHVkZSA8c2xhdmUvc2xhdmUuaD4NCiAjaW5jbHVkZSA8c2xhdmUvaGFuZGxlLmg+DQogDQotY2xhc3MgRW1icmlja0JpdFNsYXZlSGFuZGxlOiBwdWJsaWMgRW1icmlja1NsYXZlSGFuZGxlIHsNCi1wdWJsaWM6DQotICBFbWJyaWNrQml0U2xhdmVIYW5kbGUoZm9ydGU6OmNvcmU6OklPOjpJT0RldmljZUNvbnRyb2xsZXIgKmNvbnRyb2xsZXIsIGZvcnRlOjpjb3JlOjpJTzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBkaXJlY3Rpb24sDQotICAgICAgdWludDhfdCBvZmZzZXQsIHVpbnQ4X3QgcG9zaXRpb24sIEVtYnJpY2tTbGF2ZUhhbmRsZXIgKnNsYXZlKTsNCitjbGFzcyBFbWJyaWNrQml0U2xhdmVIYW5kbGUgOiBwdWJsaWMgRW1icmlja1NsYXZlSGFuZGxlIHsNCisgIHB1YmxpYzoNCisgICAgRW1icmlja0JpdFNsYXZlSGFuZGxlKGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbiwgdWludDhfdCBwYU9mZnNldCwNCisgICAgICAgIHVpbnQ4X3QgcGFQb3NpdGlvbiwgRW1icmlja1NsYXZlSGFuZGxlciAqcGFTbGF2ZSk7DQogDQotICB2aXJ0dWFsIHZvaWQgc2V0KGNvbnN0IENJRUNfQU5ZICYpOw0KLSAgdm9pZCBnZXQoQ0lFQ19BTlkgJik7DQorICAgIHZpcnR1YWwgdm9pZCBzZXQoY29uc3QgQ0lFQ19BTlkgJik7DQorICAgIHZvaWQgZ2V0KENJRUNfQU5ZICYpOw0KIA0KLSAgYm9vbCBlcXVhbCh1bnNpZ25lZCBjaGFyKiBvbGRCdWZmZXIpOw0KKyAgICBib29sIGVxdWFsKHVuc2lnbmVkIGNoYXIqIG1PbGRCdWZmZXIpOw0KIA0KLXByb3RlY3RlZDoNCi0gIHZpcnR1YWwgdm9pZCByZXNldCgpIHsNCi0gICAgQ0lFQ19CT09MIHMgPSBmYWxzZTsNCi0gICAgc2V0KHMpOw0KLSAgfQ0KKyAgcHJvdGVjdGVkOg0KKyAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKSB7DQorICAgICAgQ0lFQ19CT09MIHMgPSBmYWxzZTsNCisgICAgICBzZXQocyk7DQorICAgIH0NCiANCi1wcm90ZWN0ZWQ6DQotICBjb25zdCB1aW50OF90IG1hc2s7DQorICAgIGNvbnN0IHVpbnQ4X3QgbU1hc2s7DQogfTsNCiANCiAjZW5kaWYgLyogU1JDX01PRFVMRVNfRU1CUklDS19TTEFWRV9IQU5ETEVTX0JJVF9IXyAqLw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvcGFja2FnZXMuaCBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvcGFja2FnZXMuaAppbmRleCBmZGVlOThhLi45NzJjMDBmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL3BhY2thZ2VzLmgKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9wYWNrYWdlcy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xOCw0NCArMTksNDMgQEAKICNwcmFnbWEgcGFjayhwdXNoLCAxKSAvLyBEaXNhYmxlIHBhZGRpbmcgZm9yIHByb3RvY29sIHN0cnVjdHMKIAogc3RydWN0IEVtYnJpY2tIZWFkZXJQYWNrYWdlIHsKLSAgY2hhciBhZGRyZXNzOwotICBjaGFyIGNvbW1hbmQ7Ci0gIGNoYXIgY2hlY2tzdW07CisgICAgY2hhciBtQWRkcmVzczsKKyAgICBjaGFyIG1Db21tYW5kOworICAgIGNoYXIgbUNoZWNrc3VtOwogfTsKIAogc3RydWN0IEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlIHsKLSAgdWludDhfdCBwcm90b2NvbFZlcnNpb247Ci0gIHVpbnQ4X3QgbW9kdWxlVmVyc2lvbjsKLSAgdWludDE2X3QgZGV2aWNlSWQ7Ci0gIHVpbnQxNl90IHByb2R1Y2VySWQ7Ci0gIHVpbnQ4X3QgZGF0YVNlbmRMZW5ndGg7IC8vIEFtb3VudCBvZiBieXRlcyB0aGF0IHRoZSBzbGF2ZSBleHBlY3RzIGZyb20gdGhlIG1hc3RlcgotICB1aW50OF90IGRhdGFSZWNlaXZlTGVuZ3RoOyAvLyBBbW91bnQgb2YgYnl0ZXMgdGhhdCB0aGUgbWFzdGVyIGV4cGVjdHMgZnJvbSB0aGUgc2xhdmUKKyAgICB1aW50OF90IG1Qcm90b2NvbFZlcnNpb247CisgICAgdWludDhfdCBtTW9kdWxlVmVyc2lvbjsKKyAgICB1aW50MTZfdCBtRGV2aWNlSWQ7CisgICAgdWludDE2X3QgbVByb2R1Y2VySWQ7CisgICAgdWludDhfdCBtRGF0YVNlbmRMZW5ndGg7IC8vIEFtb3VudCBvZiBieXRlcyB0aGF0IHRoZSBzbGF2ZSBleHBlY3RzIGZyb20gdGhlIG1hc3RlcgorICAgIHVpbnQ4X3QgbURhdGFSZWNlaXZlTGVuZ3RoOyAvLyBBbW91bnQgb2YgYnl0ZXMgdGhhdCB0aGUgbWFzdGVyIGV4cGVjdHMgZnJvbSB0aGUgc2xhdmUKIAotICBzdGF0aWMgRW1icmlja1NsYXZlSW5pdFBhY2thZ2UgZnJvbUJ1ZmZlcih1bnNpZ25lZCBjaGFyKiBidWZmZXIpIHsKLSAgICBFbWJyaWNrU2xhdmVJbml0UGFja2FnZSBwa2c7Ci0gICAgbWVtY3B5KCZwa2csIGJ1ZmZlciwgc2l6ZW9mKEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlKSk7CisgICAgc3RhdGljIEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlIGZyb21CdWZmZXIodW5zaWduZWQgY2hhciogcGFCdWZmZXIpIHsKKyAgICAgIEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlIHBrZzsKKyAgICAgIG1lbWNweSgmcGtnLCBwYUJ1ZmZlciwgc2l6ZW9mKEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlKSk7CiAKLSAgICBwa2cuZGV2aWNlSWQgPSBudG9ocyhwa2cuZGV2aWNlSWQpOwotICAgIC8vIFN3aXRjaCBieXRlcyBvZiBkZXZpY2VJZCBhcyBpdCBpcyB0cmFuc21pdHRlZCB3aXRoIGEgZGlmZmVyZW50IGVuZGlhbmVzcwotICAgIHBrZy5kZXZpY2VJZCA9ICh1aW50MTZfdCkgKCgocGtnLmRldmljZUlkICYgMHhGRjAwKSA+PiA4KQotICAgICAgICB8ICgocGtnLmRldmljZUlkICYgMHhGRikgPDwgOCkpOworICAgICAgcGtnLm1EZXZpY2VJZCA9IG50b2hzKHBrZy5tRGV2aWNlSWQpOworICAgICAgLy8gU3dpdGNoIGJ5dGVzIG9mIGRldmljZUlkIGFzIGl0IGlzIHRyYW5zbWl0dGVkIHdpdGggYSBkaWZmZXJlbnQgZW5kaWFuZXNzCisgICAgICBwa2cubURldmljZUlkID0gKHVpbnQxNl90KSAoKChwa2cubURldmljZUlkICYgMHhGRjAwKSA+PiA4KSB8ICgocGtnLm1EZXZpY2VJZCAmIDB4RkYpIDw8IDgpKTsKIAotICAgIHBrZy5wcm9kdWNlcklkID0gbnRvaHMocGtnLnByb2R1Y2VySWQpOworICAgICAgcGtnLm1Qcm9kdWNlcklkID0gbnRvaHMocGtnLm1Qcm9kdWNlcklkKTsKIAotICAgIHJldHVybiBwa2c7Ci0gIH0KKyAgICAgIHJldHVybiBwa2c7CisgICAgfQogfTsKIAogc3RydWN0IEVtYnJpY2tNYXN0ZXJJbml0UGFja2FnZSB7Ci0gIHVpbnQ4X3Qgc2xhdmVBZGRyZXNzOwotICB1aW50MTZfdCBzeW5jR2FwTXVsdGlwbGljYXRvcjsKKyAgICB1aW50OF90IG1TbGF2ZUFkZHJlc3M7CisgICAgdWludDE2X3QgbVN5bmNHYXBNdWx0aXBsaWNhdG9yOwogCi0gIHZvaWQgdG9CdWZmZXIodW5zaWduZWQgY2hhciogYnVmZmVyKSB7Ci0gICAgYnVmZmVyWzBdID0gc2xhdmVBZGRyZXNzOworICAgIHZvaWQgdG9CdWZmZXIodW5zaWduZWQgY2hhciogcGFCdWZmZXIpIHsKKyAgICAgIHBhQnVmZmVyWzBdID0gbVNsYXZlQWRkcmVzczsKIAotICAgIHVpbnQxNl90IHN5bmNHYXBGYWN0b3IgPSBodG9ucyh0aGlzLT5zeW5jR2FwTXVsdGlwbGljYXRvcik7Ci0gICAgbWVtY3B5KGJ1ZmZlciArIDEsICZzeW5jR2FwRmFjdG9yLCAyKTsKLSAgfQorICAgICAgdWludDE2X3Qgc3luY0dhcEZhY3RvciA9IGh0b25zKHRoaXMtPm1TeW5jR2FwTXVsdGlwbGljYXRvcik7CisgICAgICBtZW1jcHkocGFCdWZmZXIgKyAxLCAmc3luY0dhcEZhY3RvciwgMik7CisgICAgfQogfTsKIAogI3ByYWdtYSBwYWNrKHBvcCkKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvc2xhdmUuY3BwIGIvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9zbGF2ZS5jcHAKaW5kZXggNDcxMmQ1YS4uYjc3NGNmYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9zbGF2ZS5jcHAKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9zbGF2ZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xNiw1MSArMTcsNTAgQEAKICNpbmNsdWRlIDxwcm9jZXNzaW50ZXJmYWNlLmg+DQogI2luY2x1ZGUgImNyaXRpY2FscmVnaW9uLmgiDQogDQotY29uc3QgaW50IEVtYnJpY2tTbGF2ZUhhbmRsZXI6Ok1heFVwZGF0ZUVycm9ycyA9IDUwOw0KK2NvbnN0IGludCBFbWJyaWNrU2xhdmVIYW5kbGVyOjpzY21NYXhVcGRhdGVFcnJvcnMgPSA1MDsNCiANCi1FbWJyaWNrU2xhdmVIYW5kbGVyOjpFbWJyaWNrU2xhdmVIYW5kbGVyKEVtYnJpY2tCdXNIYW5kbGVyKiBidXMsIGludCBhZGRyZXNzLCBFbWJyaWNrU2xhdmVJbml0UGFja2FnZSBpbml0KSA6DQotICAgIGRlbGVnYXRlKDApLCBhZGRyZXNzKGFkZHJlc3MpLCB0eXBlKChTbGF2ZVR5cGUpIGluaXQuZGV2aWNlSWQpLCBidXMoYnVzKSwgZGF0YVNlbmRMZW5ndGgoDQotICAgICAgICBpbml0LmRhdGFTZW5kTGVuZ3RoKSwgZGF0YVJlY2VpdmVMZW5ndGgoaW5pdC5kYXRhUmVjZWl2ZUxlbmd0aCksIHN0YXR1cygNCi0gICAgICAgIE5vdEluaXRpYWxpemVkKSwgb2xkU3RhdHVzKE5vdEluaXRpYWxpemVkKSB7DQotICB1cGRhdGVTZW5kSW1hZ2UgPSBuZXcgdW5zaWduZWQgY2hhcltkYXRhU2VuZExlbmd0aF07DQotICB1cGRhdGVSZWNlaXZlSW1hZ2UgPSBuZXcgdW5zaWduZWQgY2hhcltkYXRhUmVjZWl2ZUxlbmd0aF07DQotICB1cGRhdGVSZWNlaXZlSW1hZ2VPbGQgPSBuZXcgdW5zaWduZWQgY2hhcltkYXRhUmVjZWl2ZUxlbmd0aF07DQorRW1icmlja1NsYXZlSGFuZGxlcjo6RW1icmlja1NsYXZlSGFuZGxlcihFbWJyaWNrQnVzSGFuZGxlciogcGFCdXMsIGludCBwYUFkZHJlc3MsIEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlIHBhSW5pdCkgOg0KKyAgICBtRGVsZWdhdGUoMCksIG1BZGRyZXNzKHBhQWRkcmVzcyksIG1UeXBlKChTbGF2ZVR5cGUpIHBhSW5pdC5tRGV2aWNlSWQpLCBtQnVzKHBhQnVzKSwgbURhdGFTZW5kTGVuZ3RoKHBhSW5pdC5tRGF0YVNlbmRMZW5ndGgpLA0KKyAgICAgICAgbURhdGFSZWNlaXZlTGVuZ3RoKHBhSW5pdC5tRGF0YVJlY2VpdmVMZW5ndGgpLCBtU3RhdHVzKE5vdEluaXRpYWxpemVkKSwgbU9sZFN0YXR1cyhOb3RJbml0aWFsaXplZCkgew0KKyAgbVVwZGF0ZVNlbmRJbWFnZSA9IG5ldyB1bnNpZ25lZCBjaGFyW21EYXRhU2VuZExlbmd0aF07DQorICBtVXBkYXRlUmVjZWl2ZUltYWdlID0gbmV3IHVuc2lnbmVkIGNoYXJbbURhdGFSZWNlaXZlTGVuZ3RoXTsNCisgIG1VcGRhdGVSZWNlaXZlSW1hZ2VPbGQgPSBuZXcgdW5zaWduZWQgY2hhclttRGF0YVJlY2VpdmVMZW5ndGhdOw0KIA0KLSAgbWVtc2V0KHVwZGF0ZVNlbmRJbWFnZSwgMCwgZGF0YVNlbmRMZW5ndGgpOw0KLSAgbWVtc2V0KHVwZGF0ZVJlY2VpdmVJbWFnZSwgMCwgZGF0YVJlY2VpdmVMZW5ndGgpOw0KLSAgbWVtc2V0KHVwZGF0ZVJlY2VpdmVJbWFnZU9sZCwgMCwgZGF0YVJlY2VpdmVMZW5ndGgpOw0KKyAgbWVtc2V0KG1VcGRhdGVTZW5kSW1hZ2UsIDAsIG1EYXRhU2VuZExlbmd0aCk7DQorICBtZW1zZXQobVVwZGF0ZVJlY2VpdmVJbWFnZSwgMCwgbURhdGFSZWNlaXZlTGVuZ3RoKTsNCisgIG1lbXNldChtVXBkYXRlUmVjZWl2ZUltYWdlT2xkLCAwLCBtRGF0YVJlY2VpdmVMZW5ndGgpOw0KIA0KLSAgdXBkYXRlRXJyb3JDb3VudGVyID0gMDsNCisgIG1VcGRhdGVFcnJvckNvdW50ZXIgPSAwOw0KIA0KICAgLy8gRGVmYXVsdCBjb25maWcNCi0gIGNvbmZpZy5VcGRhdGVJbnRlcnZhbCA9IDI1Ow0KKyAgbUNvbmZpZy5tVXBkYXRlSW50ZXJ2YWwgPSAyNTsNCiB9DQogDQogRW1icmlja1NsYXZlSGFuZGxlcjo6fkVtYnJpY2tTbGF2ZUhhbmRsZXIoKSB7DQogICBkcm9wSGFuZGxlcygpOw0KIA0KLSAgZGVsZXRlIHVwZGF0ZVNlbmRJbWFnZTsNCi0gIGRlbGV0ZSB1cGRhdGVSZWNlaXZlSW1hZ2U7DQotICBkZWxldGUgdXBkYXRlUmVjZWl2ZUltYWdlT2xkOw0KKyAgZGVsZXRlIG1VcGRhdGVTZW5kSW1hZ2U7DQorICBkZWxldGUgbVVwZGF0ZVJlY2VpdmVJbWFnZTsNCisgIGRlbGV0ZSBtVXBkYXRlUmVjZWl2ZUltYWdlT2xkOw0KIA0KLSAgaWYgKGRlbGVnYXRlICE9IDApDQotICAgIGRlbGVnYXRlLT5vblNsYXZlRGVzdHJveSgpOw0KKyAgaWYobURlbGVnYXRlICE9IDApIHsNCisgICAgbURlbGVnYXRlLT5vblNsYXZlRGVzdHJveSgpOw0KKyAgfQ0KIH0NCiANCi12b2lkIEVtYnJpY2tTbGF2ZUhhbmRsZXI6OnNldENvbmZpZyhDb25maWcgY29uZmlnKSB7DQotICBpZiAoY29uZmlnLlVwZGF0ZUludGVydmFsIDwgMjApIHsNCi0gICAgREVWTE9HX1dBUk5JTkcoDQotICAgICAgICAiZW1icmlja1tFbWJyaWNrU2xhdmVIYW5kbGVyXTogQ29uZmlndXJlZCBVcGRhdGVJbnRlcnZhbCBub3QgaW4gcmFuZ2UgKD49IDIwKS4gU2V0IHRvIDI1LlxuIik7DQotICAgIGNvbmZpZy5VcGRhdGVJbnRlcnZhbCA9IDI1Ow0KK3ZvaWQgRW1icmlja1NsYXZlSGFuZGxlcjo6c2V0Q29uZmlnKENvbmZpZyBwYUNvbmZpZykgew0KKyAgaWYocGFDb25maWcubVVwZGF0ZUludGVydmFsIDwgMjApIHsNCisgICAgREVWTE9HX1dBUk5JTkcoImVtYnJpY2tbRW1icmlja1NsYXZlSGFuZGxlcl06IENvbmZpZ3VyZWQgVXBkYXRlSW50ZXJ2YWwgbm90IGluIHJhbmdlICg+PSAyMCkuIFNldCB0byAyNS5cbiIpOw0KKyAgICBwYUNvbmZpZy5tVXBkYXRlSW50ZXJ2YWwgPSAyNTsNCiAgIH0NCiANCi0gIHRoaXMtPmNvbmZpZyA9IGNvbmZpZzsNCisgIHRoaXMtPm1Db25maWcgPSBwYUNvbmZpZzsNCiB9DQogDQotRW1icmlja1NsYXZlSGFuZGxlciogRW1icmlja1NsYXZlSGFuZGxlcjo6c2VuZEluaXQoRW1icmlja0J1c0hhbmRsZXIqIGJ1cywgaW50IGFkZHJlc3MpIHsNCitFbWJyaWNrU2xhdmVIYW5kbGVyKiBFbWJyaWNrU2xhdmVIYW5kbGVyOjpzZW5kSW5pdChFbWJyaWNrQnVzSGFuZGxlciogcGFCdXMsIGludCBwYUFkZHJlc3MpIHsNCiAgIEVtYnJpY2tNYXN0ZXJJbml0UGFja2FnZSBtYXN0ZXJJbml0Ow0KLSAgbWFzdGVySW5pdC5zbGF2ZUFkZHJlc3MgPSAodW5zaWduZWQgY2hhcikgYWRkcmVzczsNCi0gIG1hc3RlckluaXQuc3luY0dhcE11bHRpcGxpY2F0b3IgPSBTeW5jR2FwTXVsdGlwbGljYXRvcjsNCisgIG1hc3RlckluaXQubVNsYXZlQWRkcmVzcyA9ICh1bnNpZ25lZCBjaGFyKSBwYUFkZHJlc3M7DQorICBtYXN0ZXJJbml0Lm1TeW5jR2FwTXVsdGlwbGljYXRvciA9IFN5bmNHYXBNdWx0aXBsaWNhdG9yOw0KIA0KICAgdW5zaWduZWQgY2hhciBzZW5kQnVmZmVyW3NpemVvZihFbWJyaWNrTWFzdGVySW5pdFBhY2thZ2UpXTsNCiAgIHVuc2lnbmVkIGNoYXIgcmVjZWl2ZUJ1ZmZlcltzaXplb2YoRW1icmlja1NsYXZlSW5pdFBhY2thZ2UpXTsNCkBAIC02OCwxMDIgKzY4LDEwMiBAQAogICBtYXN0ZXJJbml0LnRvQnVmZmVyKHNlbmRCdWZmZXIpOw0KIA0KICAgLy8gU2VuZCBpbml0IHZpYSBicm9hZGNhc3QuIER1ZSB0byB0aGUgc2VxdWVudGlhbCBzbGF2ZSBzZWxlY3QgYWN0aXZhdGlvbiwgb25seSBvbmUgc2xhdmUgd2lsbCByZXNwb25kLg0KLSAgaWYgKCFidXMtPmJyb2FkY2FzdChFbWJyaWNrQnVzSGFuZGxlcjo6SW5pdCwgc2VuZEJ1ZmZlciwgc2l6ZW9mKEVtYnJpY2tNYXN0ZXJJbml0UGFja2FnZSksDQotICAgICAgcmVjZWl2ZUJ1ZmZlciwgc2l6ZW9mKEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlKSkpDQorICBpZighcGFCdXMtPmJyb2FkY2FzdChFbWJyaWNrQnVzSGFuZGxlcjo6SW5pdCwgc2VuZEJ1ZmZlciwgc2l6ZW9mKEVtYnJpY2tNYXN0ZXJJbml0UGFja2FnZSksIHJlY2VpdmVCdWZmZXIsIHNpemVvZihFbWJyaWNrU2xhdmVJbml0UGFja2FnZSkpKSB7DQogICAgIHJldHVybiAwOw0KKyAgfQ0KIA0KLSAgRW1icmlja1NsYXZlSW5pdFBhY2thZ2UgaW5pdFBhY2thZ2UgPSBFbWJyaWNrU2xhdmVJbml0UGFja2FnZTo6ZnJvbUJ1ZmZlcigNCi0gICAgICByZWNlaXZlQnVmZmVyKTsNCisgIEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlIGluaXRQYWNrYWdlID0gRW1icmlja1NsYXZlSW5pdFBhY2thZ2U6OmZyb21CdWZmZXIocmVjZWl2ZUJ1ZmZlcik7DQogDQogICAvLyBBbHRlciB0aGUgdmFsdWUgb2YgZGF0YSByZWNlaXZlIGxlbmd0aCAtPiB0aGUgc3RhdHVzIGJ5dGUgaXMgaGFuZGxlZCBpbiB0aGUgQnVzSGFuZGxlcg0KLSAgaW5pdFBhY2thZ2UuZGF0YVJlY2VpdmVMZW5ndGgtLTsNCisgIGluaXRQYWNrYWdlLm1EYXRhUmVjZWl2ZUxlbmd0aC0tOw0KIA0KLSAgREVWTE9HX0lORk8oDQotICAgICAgImVtQnJpY2tbRW1icmlja1NsYXZlSGFuZGxlcl06IElEIC0gJWQsIFJlY2VpdmVMZW5ndGggLSAlZCwgU2VuZExlbmd0aCAtICVkLCBQcm9kdWNlciAtICVkIFxuIiwNCi0gICAgICBpbml0UGFja2FnZS5kZXZpY2VJZCwgaW5pdFBhY2thZ2UuZGF0YVJlY2VpdmVMZW5ndGgsDQotICAgICAgaW5pdFBhY2thZ2UuZGF0YVNlbmRMZW5ndGgsIGluaXRQYWNrYWdlLnByb2R1Y2VySWQpOw0KKyAgREVWTE9HX0lORk8oImVtQnJpY2tbRW1icmlja1NsYXZlSGFuZGxlcl06IElEIC0gJWQsIFJlY2VpdmVMZW5ndGggLSAlZCwgU2VuZExlbmd0aCAtICVkLCBQcm9kdWNlciAtICVkIFxuIiwgaW5pdFBhY2thZ2UubURldmljZUlkLA0KKyAgICBpbml0UGFja2FnZS5tRGF0YVJlY2VpdmVMZW5ndGgsIGluaXRQYWNrYWdlLm1EYXRhU2VuZExlbmd0aCwgaW5pdFBhY2thZ2UubVByb2R1Y2VySWQpOw0KIA0KICAgLy8gUmV0dXJuIHNsYXZlIGluc3RhbmNlDQotICByZXR1cm4gbmV3IEVtYnJpY2tTbGF2ZUhhbmRsZXIoYnVzLCBhZGRyZXNzLCBpbml0UGFja2FnZSk7DQorICByZXR1cm4gbmV3IEVtYnJpY2tTbGF2ZUhhbmRsZXIocGFCdXMsIHBhQWRkcmVzcywgaW5pdFBhY2thZ2UpOw0KIH0NCiANCiBpbnQgRW1icmlja1NsYXZlSGFuZGxlcjo6dXBkYXRlKCkgew0KICAgLy8gU2VuZCB1cGRhdGUgcmVxdWVzdCB0byBidXMNCi0gIGlmICghYnVzLT50cmFuc2ZlcihhZGRyZXNzLCBFbWJyaWNrQnVzSGFuZGxlcjo6RGF0YSwgdXBkYXRlU2VuZEltYWdlLCBkYXRhU2VuZExlbmd0aCwNCi0gICAgICB1cGRhdGVSZWNlaXZlSW1hZ2UsIGRhdGFSZWNlaXZlTGVuZ3RoLCAmc3RhdHVzLCAmdXBkYXRlTXV0ZXgpKSB7DQotICAgIHVwZGF0ZUVycm9yQ291bnRlcisrOw0KLSAgICBpZiAodXBkYXRlRXJyb3JDb3VudGVyICUgMTAgPT0gMCkNCi0gICAgICBERVZMT0dfV0FSTklORygNCi0gICAgICAgICAgImVtQnJpY2tbRW1icmlja1NsYXZlSGFuZGxlcl06IFNsYXZlICVkIHJlYWNoZWQgdHJhbnNmZXIgZXJyb3IgdGhyZXNob2xkIC0gJWQgb3V0IG9mICVkXG4iLA0KLSAgICAgICAgICBhZGRyZXNzLCB1cGRhdGVFcnJvckNvdW50ZXIsIE1heFVwZGF0ZUVycm9ycyk7DQotICAgIHJldHVybiB1cGRhdGVFcnJvckNvdW50ZXIgPD0gTWF4VXBkYXRlRXJyb3JzID8gMCA6IC0xOw0KKyAgaWYoIW1CdXMtPnRyYW5zZmVyKG1BZGRyZXNzLCBFbWJyaWNrQnVzSGFuZGxlcjo6RGF0YSwgbVVwZGF0ZVNlbmRJbWFnZSwgbURhdGFTZW5kTGVuZ3RoLCBtVXBkYXRlUmVjZWl2ZUltYWdlLCBtRGF0YVJlY2VpdmVMZW5ndGgsICZtU3RhdHVzLCAmbVVwZGF0ZU11dGV4KSkgew0KKyAgICBtVXBkYXRlRXJyb3JDb3VudGVyKys7DQorICAgIGlmKG1VcGRhdGVFcnJvckNvdW50ZXIgJSAxMCA9PSAwKSB7DQorICAgICAgREVWTE9HX1dBUk5JTkcoImVtQnJpY2tbRW1icmlja1NsYXZlSGFuZGxlcl06IFNsYXZlICVkIHJlYWNoZWQgdHJhbnNmZXIgZXJyb3IgdGhyZXNob2xkIC0gJWQgb3V0IG9mICVkXG4iLCBtQWRkcmVzcywgbVVwZGF0ZUVycm9yQ291bnRlciwNCisgICAgICAgIHNjbU1heFVwZGF0ZUVycm9ycyk7DQorICAgIH0NCisgICAgcmV0dXJuIG1VcGRhdGVFcnJvckNvdW50ZXIgPD0gc2NtTWF4VXBkYXRlRXJyb3JzID8gMCA6IC0xOw0KICAgfQ0KIA0KICAgLy8gZm9ydGU6OmNvcmU6OklPOjpJT0hhbmRsZSB0aGUgcmVjZWl2ZWQgaW1hZ2UNCiAgIHsNCi0gICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKGhhbmRsZU11dGV4KTsNCi0gICAgVFNsYXZlSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBpbnB1dHMuZW5kKCk7DQotICAgIGZvciAoVFNsYXZlSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXQgPSBpbnB1dHMuYmVnaW4oKTsgaXQgIT0gaXRFbmQ7ICsraXQpDQotICAgICAgaWYgKCgqaXQpLT5oYXNPYnNlcnZlcigpICYmICEoKml0KS0+ZXF1YWwodXBkYXRlUmVjZWl2ZUltYWdlT2xkKSkgew0KKyAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUhhbmRsZU11dGV4KTsNCisgICAgVFNsYXZlSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBtSW5wdXRzLmVuZCgpOw0KKyAgICBmb3IoVFNsYXZlSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXQgPSBtSW5wdXRzLmJlZ2luKCk7IGl0ICE9IGl0RW5kOyArK2l0KSB7DQorICAgICAgaWYoKCppdCktPmhhc09ic2VydmVyKCkgJiYgISgqaXQpLT5lcXVhbChtVXBkYXRlUmVjZWl2ZUltYWdlT2xkKSkgew0KICAgICAgICAgLy8gSW5mb3JtIFByb2Nlc3MgSW50ZXJmYWNlIGFib3V0IGNoYW5nZQ0KICAgICAgICAgKCppdCktPm9uQ2hhbmdlKCk7DQogICAgICAgfQ0KKyAgICB9DQogICB9DQogDQogICAvLyBDbG9uZSBjdXJyZW50IGltYWdlIHRvIG9sZCBpbWFnZQ0KLSAgbWVtY3B5KHVwZGF0ZVJlY2VpdmVJbWFnZU9sZCwgdXBkYXRlUmVjZWl2ZUltYWdlLCBkYXRhUmVjZWl2ZUxlbmd0aCk7DQorICBtZW1jcHkobVVwZGF0ZVJlY2VpdmVJbWFnZU9sZCwgbVVwZGF0ZVJlY2VpdmVJbWFnZSwgbURhdGFSZWNlaXZlTGVuZ3RoKTsNCiANCiAgIC8vIFJlc2V0IGVycm9yIGNvdW50ZXINCi0gIGlmICh1cGRhdGVFcnJvckNvdW50ZXIgPiAwKQ0KLSAgICB1cGRhdGVFcnJvckNvdW50ZXIgPSAwOw0KKyAgaWYobVVwZGF0ZUVycm9yQ291bnRlciA+IDApIHsNCisgICAgbVVwZGF0ZUVycm9yQ291bnRlciA9IDA7DQorICB9DQogDQogICAvLyBDaGVjayBzdGF0dXMNCi0gIGlmIChkZWxlZ2F0ZSAhPSAwICYmIG9sZFN0YXR1cyAhPSBzdGF0dXMpIHsNCi0gICAgZGVsZWdhdGUtPm9uU2xhdmVTdGF0dXMoc3RhdHVzLCBvbGRTdGF0dXMpOw0KLSAgICBvbGRTdGF0dXMgPSBzdGF0dXM7DQorICBpZihtRGVsZWdhdGUgIT0gMCAmJiBtT2xkU3RhdHVzICE9IG1TdGF0dXMpIHsNCisgICAgbURlbGVnYXRlLT5vblNsYXZlU3RhdHVzKG1TdGF0dXMsIG1PbGRTdGF0dXMpOw0KKyAgICBtT2xkU3RhdHVzID0gbVN0YXR1czsNCiAgIH0NCiANCiAgIHJldHVybiAxOw0KIH0NCiANCiB2b2lkIEVtYnJpY2tTbGF2ZUhhbmRsZXI6OmZvcmNlVXBkYXRlKCkgew0KLSAgcmV0dXJuIGJ1cy0+Zm9yY2VVcGRhdGUoaW5kZXgoKSk7DQorICByZXR1cm4gbUJ1cy0+Zm9yY2VVcGRhdGUoaW5kZXgoKSk7DQogfQ0KIA0KIHZvaWQgRW1icmlja1NsYXZlSGFuZGxlcjo6ZHJvcEhhbmRsZXMoKSB7DQotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oaGFuZGxlTXV0ZXgpOw0KKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1IYW5kbGVNdXRleCk7DQogDQotICBmb3J0ZTo6Y29yZTo6SU86OklPTWFwcGVyJiBtYXBwZXIgPSBmb3J0ZTo6Y29yZTo6SU86OklPTWFwcGVyOjpnZXRJbnN0YW5jZSgpOw0KKyAgZm9ydGU6OmNvcmU6OmlvOjpJT01hcHBlciYgbWFwcGVyID0gZm9ydGU6OmNvcmU6OmlvOjpJT01hcHBlcjo6Z2V0SW5zdGFuY2UoKTsNCiANCi0gIFRTbGF2ZUhhbmRsZUxpc3Q6Okl0ZXJhdG9yIGl0RW5kID0gaW5wdXRzLmVuZCgpOw0KLSAgZm9yIChUU2xhdmVIYW5kbGVMaXN0OjpJdGVyYXRvciBpdCA9IGlucHV0cy5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCkgew0KKyAgVFNsYXZlSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBtSW5wdXRzLmVuZCgpOw0KKyAgZm9yKFRTbGF2ZUhhbmRsZUxpc3Q6Okl0ZXJhdG9yIGl0ID0gbUlucHV0cy5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCkgew0KICAgICBtYXBwZXIuZGVyZWdpc3RlckhhbmRsZSgqaXQpOw0KICAgICBkZWxldGUgKml0Ow0KICAgfQ0KLSAgaXRFbmQgPSBvdXRwdXRzLmVuZCgpOw0KLSAgZm9yIChUU2xhdmVIYW5kbGVMaXN0OjpJdGVyYXRvciBpdCA9IG91dHB1dHMuYmVnaW4oKTsgaXQgIT0gaXRFbmQ7ICsraXQpIHsNCisgIGl0RW5kID0gbU91dHB1dHMuZW5kKCk7DQorICBmb3IoVFNsYXZlSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXQgPSBtT3V0cHV0cy5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCkgew0KICAgICBtYXBwZXIuZGVyZWdpc3RlckhhbmRsZSgqaXQpOw0KICAgICBkZWxldGUgKml0Ow0KICAgfQ0KIA0KLSAgaW5wdXRzLmNsZWFyQWxsKCk7DQotICBvdXRwdXRzLmNsZWFyQWxsKCk7DQorICBtSW5wdXRzLmNsZWFyQWxsKCk7DQorICBtT3V0cHV0cy5jbGVhckFsbCgpOw0KIA0KIH0NCiANCi12b2lkIEVtYnJpY2tTbGF2ZUhhbmRsZXI6OmFkZEhhbmRsZShUU2xhdmVIYW5kbGVMaXN0KiBsaXN0LCBFbWJyaWNrU2xhdmVIYW5kbGUqIGhhbmRsZSkgew0KLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKGhhbmRsZU11dGV4KTsNCi0gIGxpc3QtPnB1c2hCYWNrKGhhbmRsZSk7DQordm9pZCBFbWJyaWNrU2xhdmVIYW5kbGVyOjphZGRIYW5kbGUoVFNsYXZlSGFuZGxlTGlzdCogcGFMaXN0LCBFbWJyaWNrU2xhdmVIYW5kbGUqIHBhSGFuZGxlKSB7DQorICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUhhbmRsZU11dGV4KTsNCisgIHBhTGlzdC0+cHVzaEJhY2socGFIYW5kbGUpOw0KIA0KICAgLy8gVE9ETyBNYXliZSBzZW5kIGluZGljYXRpb24gZXZlbnQgYWZ0ZXIgY29ubmVjdGluZw0KIH0NCiANCi1FbWJyaWNrU2xhdmVIYW5kbGUqIEVtYnJpY2tTbGF2ZUhhbmRsZXI6OmdldEhhbmRsZShUU2xhdmVIYW5kbGVMaXN0KiBsaXN0LCBpbnQgaW5kZXgpIHsNCi0gIFRTbGF2ZUhhbmRsZUxpc3Q6Okl0ZXJhdG9yIGl0RW5kID0gbGlzdC0+ZW5kKCk7DQorRW1icmlja1NsYXZlSGFuZGxlKiBFbWJyaWNrU2xhdmVIYW5kbGVyOjpnZXRIYW5kbGUoVFNsYXZlSGFuZGxlTGlzdCogcGFMaXN0LCBpbnQgcGFJbmRleCkgew0KKyAgVFNsYXZlSGFuZGxlTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBwYUxpc3QtPmVuZCgpOw0KICAgaW50IGkgPSAwOw0KLSAgZm9yIChUU2xhdmVIYW5kbGVMaXN0OjpJdGVyYXRvciBpdCA9IGxpc3QtPmJlZ2luKCk7IGl0ICE9IGl0RW5kOyArK2l0LCBpKyspDQotICAgIGlmIChpbmRleCA9PSBpKQ0KKyAgZm9yKFRTbGF2ZUhhbmRsZUxpc3Q6Okl0ZXJhdG9yIGl0ID0gcGFMaXN0LT5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCwgaSsrKSB7DQorICAgIGlmKHBhSW5kZXggPT0gaSkgew0KICAgICAgIHJldHVybiAqaXQ7DQorICAgIH0NCisgIH0NCiAgIHJldHVybiBOVUxMOw0KIH0NCiANCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL3NsYXZlLmggYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3NsYXZlL3NsYXZlLmgKaW5kZXggOGVjNjNjMi4uMWFjNjAyYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZW1icmljay9zbGF2ZS9zbGF2ZS5oCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svc2xhdmUvc2xhdmUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KQEAgLTI1LDEwMCArMjYsMTAwIEBACiANCiAjaW5jbHVkZSA8aW8vbWFwcGVyL2lvX21hcHBlci5oPg0KIA0KLQ0KIGNsYXNzIEVtYnJpY2tCdXNIYW5kbGVyOw0KIA0KIGNsYXNzIEVtYnJpY2tTbGF2ZUhhbmRsZXIgew0KIA0KLXB1YmxpYzoNCi0gIGZyaWVuZCBjbGFzcyBFbWJyaWNrQnVzSGFuZGxlcjsNCi0NCi0gIGVudW0gU2xhdmVTdGF0dXMgew0KLSAgICBOb3RJbml0aWFsaXplZCA9IDAsIC8vITwgU2xhdmUgcmVxdWlyZXMgaW5pdGlhbGl6YXRpb24NCi0gICAgT0sgPSAxLCAvLyE8IEV2ZXJ5dGhpbmcgd29ya3MgYXMgZXhwZWN0ZWQNCi0gICAgU2xvdyA9IDIwMCwgLy8hPCBVcGRhdGUgZnJlcXVlbmN5IGlzIHRvbyBsb3csIHNvbWUgZXJyb3JzIG1heSBvY2N1cnJlZA0KLSAgICBJbnRlcnJ1cHRlZCA9IDIwMSwgLy8hPCBTbGF2ZSByZWNlaXZlZCBubyBtYXN0ZXIgdXBkYXRlcw0KLSAgICBFcnJvciA9IDIwMiwgLy8hPCBDb25uZWN0aW9uIGhhcyBlcnJvcnMuIENoZWNrIGhhcmR3YXJlDQotICB9Ow0KLQ0KLSAgZW51bSBTbGF2ZVR5cGUgew0KLSAgICBVbmtub3duU2xhdmUgPSAwLA0KLSAgICBHXzhEaThEbyA9IDIxODEsIC8vITwgOHggRGlnaXRhbC1JbnB1dCwgMjRWLCBwLXN3aXRjaCwgMS13aXJlICYgOHggRGlnaXRhbC1PdXRwdXQsIDI0ViwgcC1zd2l0Y2gsIDEtd2lyZQ0KLSAgICBHXzJSZWxObzRSZWxDbyA9IDIzMDEgLy8hPCAyeCBSZWxheS1PdXRwdXQsIE5PLCBwb3RlbnRpYWwgZnJlZSAmIDR4IFJlbGF5LU91dHB1dCwgQ08sIHBvdGVudGlhbCBmcmVlDQotICB9Ow0KLQ0KLSAgc3RydWN0IENvbmZpZyB7DQotICAgIHVuc2lnbmVkIGludCBVcGRhdGVJbnRlcnZhbDsgLy8hPCBTZXRzIHRoZSBkZWZhdWx0IGZyZXF1ZW5jeSBmb3IgdGhlIGRhdGEgdXBkYXRlIGN5Y2xlIG9mIHNsYXZlcy4gVGhlIGVtQlJJQ0sgc2xhdmVzIHJlcXVpcmUgYXQgbGVhc3QgMjAgdXBkYXRlcyBwZXIgbWludXRlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAyNSBIei4NCi0gIH07DQotDQotICBjbGFzcyBEZWxlZ2F0ZSB7DQogICBwdWJsaWM6DQotICAgIHZpcnR1YWwgdm9pZCBvblNsYXZlU3RhdHVzKFNsYXZlU3RhdHVzIHN0YXR1cywgU2xhdmVTdGF0dXMgb2xkU3RhdHVzKSA9IDA7DQotICAgIHZpcnR1YWwgdm9pZCBvblNsYXZlRGVzdHJveSgpID0gMDsNCi0gIH07DQorICAgIGZyaWVuZCBjbGFzcyBFbWJyaWNrQnVzSGFuZGxlcjsNCiANCi0gIHZvaWQgc2V0Q29uZmlnKENvbmZpZyBjb25maWcpOw0KLSAgRGVsZWdhdGUqIGRlbGVnYXRlOw0KKyAgICBlbnVtIFNsYXZlU3RhdHVzIHsNCisgICAgICBOb3RJbml0aWFsaXplZCA9IDAsIC8vITwgU2xhdmUgcmVxdWlyZXMgaW5pdGlhbGl6YXRpb24NCisgICAgICBPSyA9IDEsIC8vITwgRXZlcnl0aGluZyB3b3JrcyBhcyBleHBlY3RlZA0KKyAgICAgIFNsb3cgPSAyMDAsIC8vITwgVXBkYXRlIGZyZXF1ZW5jeSBpcyB0b28gbG93LCBzb21lIGVycm9ycyBtYXkgb2NjdXJyZWQNCisgICAgICBJbnRlcnJ1cHRlZCA9IDIwMSwgLy8hPCBTbGF2ZSByZWNlaXZlZCBubyBtYXN0ZXIgdXBkYXRlcw0KKyAgICAgIEVycm9yID0gMjAyLCAvLyE8IENvbm5lY3Rpb24gaGFzIGVycm9ycy4gQ2hlY2sgaGFyZHdhcmUNCisgICAgfTsNCiANCi0gIGNvbnN0IHVuc2lnbmVkIGludCBhZGRyZXNzOw0KLSAgdW5zaWduZWQgaW50IGluZGV4KCkgY29uc3Qgew0KLSAgICByZXR1cm4gYWRkcmVzcyAtIDE7DQotICB9DQorICAgIGVudW0gU2xhdmVUeXBlIHsNCisgICAgICBVbmtub3duU2xhdmUgPSAwLA0KKyAgICAgIEdfOERpOERvID0gMjE4MSwgLy8hPCA4eCBEaWdpdGFsLUlucHV0LCAyNFYsIHAtc3dpdGNoLCAxLXdpcmUgJiA4eCBEaWdpdGFsLU91dHB1dCwgMjRWLCBwLXN3aXRjaCwgMS13aXJlDQorICAgICAgR18yUmVsTm80UmVsQ28gPSAyMzAxIC8vITwgMnggUmVsYXktT3V0cHV0LCBOTywgcG90ZW50aWFsIGZyZWUgJiA0eCBSZWxheS1PdXRwdXQsIENPLCBwb3RlbnRpYWwgZnJlZQ0KKyAgICB9Ow0KIA0KLSAgY29uc3QgU2xhdmVUeXBlIHR5cGU7DQorICAgIHN0cnVjdCBDb25maWcgew0KKyAgICAgICAgdW5zaWduZWQgaW50IG1VcGRhdGVJbnRlcnZhbDsgLy8hPCBTZXRzIHRoZSBkZWZhdWx0IGZyZXF1ZW5jeSBmb3IgdGhlIGRhdGEgdXBkYXRlIGN5Y2xlIG9mIHNsYXZlcy4gVGhlIGVtQlJJQ0sgc2xhdmVzIHJlcXVpcmUgYXQgbGVhc3QgMjAgdXBkYXRlcyBwZXIgbWludXRlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAyNSBIei4NCisgICAgfTsNCiANCi0gIGludCB1cGRhdGUoKTsNCi0gIHZvaWQgZm9yY2VVcGRhdGUoKTsNCisgICAgY2xhc3MgRGVsZWdhdGUgew0KKyAgICAgIHB1YmxpYzoNCisgICAgICAgIHZpcnR1YWwgdm9pZCBvblNsYXZlU3RhdHVzKFNsYXZlU3RhdHVzIHBhU3RhdHVzLCBTbGF2ZVN0YXR1cyBwYU9sZFN0YXR1cykgPSAwOw0KKyAgICAgICAgdmlydHVhbCB2b2lkIG9uU2xhdmVEZXN0cm95KCkgPSAwOw0KKyAgICB9Ow0KIA0KLSAgRW1icmlja1NsYXZlSGFuZGxlKiBnZXRJbnB1dEhhbmRsZShpbnQgaW5kZXgpIHsNCi0gICAgcmV0dXJuIGdldEhhbmRsZSgmaW5wdXRzLCBpbmRleCk7DQotICB9DQotICBFbWJyaWNrU2xhdmVIYW5kbGUqIGdldE91dHB1dEhhbmRsZShpbnQgaW5kZXgpIHsNCi0gICAgcmV0dXJuIGdldEhhbmRsZSgmb3V0cHV0cywgaW5kZXgpOw0KLSAgfQ0KKyAgICB2b2lkIHNldENvbmZpZyhDb25maWcgcGFDb25maWcpOw0KKyAgICBEZWxlZ2F0ZSogbURlbGVnYXRlOw0KIA0KLSAgdm9pZCBhZGRIYW5kbGUoRW1icmlja1NsYXZlSGFuZGxlKiBoYW5kbGUpIHsNCi0gICAgaWYgKGhhbmRsZS0+aXMoZm9ydGU6OmNvcmU6OklPOjpJT01hcHBlcjo6SW4pKQ0KLSAgICAgIGFkZEhhbmRsZSgmaW5wdXRzLCBoYW5kbGUpOw0KLSAgICBlbHNlIGlmIChoYW5kbGUtPmlzKGZvcnRlOjpjb3JlOjpJTzo6SU9NYXBwZXI6Ok91dCkpDQotICAgICAgYWRkSGFuZGxlKCZvdXRwdXRzLCBoYW5kbGUpOw0KLSAgfQ0KKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgbUFkZHJlc3M7DQorICAgIHVuc2lnbmVkIGludCBpbmRleCgpIGNvbnN0IHsNCisgICAgICByZXR1cm4gbUFkZHJlc3MgLSAxOw0KKyAgICB9DQogDQotICB2b2lkIGRyb3BIYW5kbGVzKCk7DQorICAgIGNvbnN0IFNsYXZlVHlwZSBtVHlwZTsNCiANCi0gIHVuc2lnbmVkIGNoYXIgKnVwZGF0ZVNlbmRJbWFnZTsNCi0gIHVuc2lnbmVkIGNoYXIgKnVwZGF0ZVJlY2VpdmVJbWFnZTsNCi0gIENTeW5jT2JqZWN0IHVwZGF0ZU11dGV4Ow0KKyAgICBpbnQgdXBkYXRlKCk7DQorICAgIHZvaWQgZm9yY2VVcGRhdGUoKTsNCiANCi1wcm90ZWN0ZWQ6DQotICBzdGF0aWMgRW1icmlja1NsYXZlSGFuZGxlciogc2VuZEluaXQoRW1icmlja0J1c0hhbmRsZXIqIGJ1cywgaW50IGFkZHJlc3MpOw0KKyAgICBFbWJyaWNrU2xhdmVIYW5kbGUqIGdldElucHV0SGFuZGxlKGludCBwYUluZGV4KSB7DQorICAgICAgcmV0dXJuIGdldEhhbmRsZSgmbUlucHV0cywgcGFJbmRleCk7DQorICAgIH0NCisgICAgRW1icmlja1NsYXZlSGFuZGxlKiBnZXRPdXRwdXRIYW5kbGUoaW50IHBhSW5kZXgpIHsNCisgICAgICByZXR1cm4gZ2V0SGFuZGxlKCZtT3V0cHV0cywgcGFJbmRleCk7DQorICAgIH0NCiANCi0gIEVtYnJpY2tTbGF2ZUhhbmRsZXIoRW1icmlja0J1c0hhbmRsZXIqIGJ1cywgaW50IGFkZHJlc3MsIEVtYnJpY2tTbGF2ZUluaXRQYWNrYWdlIGluaXQpOw0KLSAgdmlydHVhbCB+RW1icmlja1NsYXZlSGFuZGxlcigpOw0KKyAgICB2b2lkIGFkZEhhbmRsZShFbWJyaWNrU2xhdmVIYW5kbGUqIHBhSGFuZGxlKSB7DQorICAgICAgaWYocGFIYW5kbGUtPmlzKGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkluKSkgew0KKyAgICAgICAgYWRkSGFuZGxlKCZtSW5wdXRzLCBwYUhhbmRsZSk7DQorICAgICAgfSBlbHNlIGlmKHBhSGFuZGxlLT5pcyhmb3J0ZTo6Y29yZTo6aW86OklPTWFwcGVyOjpPdXQpKSB7DQorICAgICAgICBhZGRIYW5kbGUoJm1PdXRwdXRzLCBwYUhhbmRsZSk7DQorICAgICAgfQ0KKyAgICB9DQogDQotICBFbWJyaWNrQnVzSGFuZGxlciogYnVzOw0KKyAgICB2b2lkIGRyb3BIYW5kbGVzKCk7DQogDQotICBDb25maWcgY29uZmlnOw0KKyAgICB1bnNpZ25lZCBjaGFyICptVXBkYXRlU2VuZEltYWdlOw0KKyAgICB1bnNpZ25lZCBjaGFyICptVXBkYXRlUmVjZWl2ZUltYWdlOw0KKyAgICBDU3luY09iamVjdCBtVXBkYXRlTXV0ZXg7DQogDQotICBjb25zdCB1aW50OF90IGRhdGFTZW5kTGVuZ3RoOw0KLSAgY29uc3QgdWludDhfdCBkYXRhUmVjZWl2ZUxlbmd0aDsNCi0gIFNsYXZlU3RhdHVzIHN0YXR1czsNCi0gIFNsYXZlU3RhdHVzIG9sZFN0YXR1czsNCi0gIHVuc2lnbmVkIGNoYXIgKnVwZGF0ZVJlY2VpdmVJbWFnZU9sZDsNCisgIHByb3RlY3RlZDoNCisgICAgc3RhdGljIEVtYnJpY2tTbGF2ZUhhbmRsZXIqIHNlbmRJbml0KEVtYnJpY2tCdXNIYW5kbGVyKiBwYUJ1cywgaW50IHBhQWRkcmVzcyk7DQogDQotICBpbnQgdXBkYXRlRXJyb3JDb3VudGVyOw0KLSAgc3RhdGljIGNvbnN0IGludCBNYXhVcGRhdGVFcnJvcnM7DQorICAgIEVtYnJpY2tTbGF2ZUhhbmRsZXIoRW1icmlja0J1c0hhbmRsZXIqIHBhQnVzLCBpbnQgcGFBZGRyZXNzLCBFbWJyaWNrU2xhdmVJbml0UGFja2FnZSBwYUluaXQpOw0KKyAgICB2aXJ0dWFsIH5FbWJyaWNrU2xhdmVIYW5kbGVyKCk7DQogDQotICBDU3luY09iamVjdCBoYW5kbGVNdXRleDsNCi0gIHR5cGVkZWYgQ1NpbmdseUxpbmtlZExpc3Q8RW1icmlja1NsYXZlSGFuZGxlICo+IFRTbGF2ZUhhbmRsZUxpc3Q7DQotICBUU2xhdmVIYW5kbGVMaXN0IGlucHV0czsNCi0gIFRTbGF2ZUhhbmRsZUxpc3Qgb3V0cHV0czsNCi0gIHZvaWQgYWRkSGFuZGxlKFRTbGF2ZUhhbmRsZUxpc3QqIGxpc3QsIEVtYnJpY2tTbGF2ZUhhbmRsZSogaGFuZGxlKTsNCi0gIEVtYnJpY2tTbGF2ZUhhbmRsZSogZ2V0SGFuZGxlKFRTbGF2ZUhhbmRsZUxpc3QqIGxpc3QsIGludCBpbmRleCk7DQorICAgIEVtYnJpY2tCdXNIYW5kbGVyKiBtQnVzOw0KIA0KLXByaXZhdGU6DQotICAvLyFkZWNsYXJlZCBidXQgdW5kZWZpbmVkIGNvcHkgY29uc3RydWN0b3IgYXMgd2UgZG9uJ3Qgd2FudCBTbGF2ZXMgdG8gYmUgZGlyZWN0bHkgY29waWVkLg0KLSAgRW1icmlja1NsYXZlSGFuZGxlcihjb25zdCBFbWJyaWNrU2xhdmVIYW5kbGVyJik7DQorICAgIENvbmZpZyBtQ29uZmlnOw0KKw0KKyAgICBjb25zdCB1aW50OF90IG1EYXRhU2VuZExlbmd0aDsNCisgICAgY29uc3QgdWludDhfdCBtRGF0YVJlY2VpdmVMZW5ndGg7DQorICAgIFNsYXZlU3RhdHVzIG1TdGF0dXM7DQorICAgIFNsYXZlU3RhdHVzIG1PbGRTdGF0dXM7DQorICAgIHVuc2lnbmVkIGNoYXIgKm1VcGRhdGVSZWNlaXZlSW1hZ2VPbGQ7DQorDQorICAgIGludCBtVXBkYXRlRXJyb3JDb3VudGVyOw0KKyAgICBzdGF0aWMgY29uc3QgaW50IHNjbU1heFVwZGF0ZUVycm9yczsNCisNCisgICAgQ1N5bmNPYmplY3QgbUhhbmRsZU11dGV4Ow0KKyAgICB0eXBlZGVmIENTaW5nbHlMaW5rZWRMaXN0PEVtYnJpY2tTbGF2ZUhhbmRsZSAqPiBUU2xhdmVIYW5kbGVMaXN0Ow0KKyAgICBUU2xhdmVIYW5kbGVMaXN0IG1JbnB1dHM7DQorICAgIFRTbGF2ZUhhbmRsZUxpc3QgbU91dHB1dHM7DQorICAgIHZvaWQgYWRkSGFuZGxlKFRTbGF2ZUhhbmRsZUxpc3QqIHBhTGlzdCwgRW1icmlja1NsYXZlSGFuZGxlKiBwYUhhbmRsZSk7DQorICAgIEVtYnJpY2tTbGF2ZUhhbmRsZSogZ2V0SGFuZGxlKFRTbGF2ZUhhbmRsZUxpc3QqIGxpc3QsIGludCBwYUluZGV4KTsNCisNCisgIHByaXZhdGU6DQorICAgIC8vIWRlY2xhcmVkIGJ1dCB1bmRlZmluZWQgY29weSBjb25zdHJ1Y3RvciBhcyB3ZSBkb24ndCB3YW50IFNsYXZlcyB0byBiZSBkaXJlY3RseSBjb3BpZWQuDQorICAgIEVtYnJpY2tTbGF2ZUhhbmRsZXIoY29uc3QgRW1icmlja1NsYXZlSGFuZGxlciYpOw0KIH07DQogDQogI2VuZGlmIC8qIFNSQ19NT0RVTEVTX0VNQlJJQ0tfU0xBVkVfU0xBVkVfSF8gKi8NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL0J1c0FkYXB0ZXIuY3BwIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9CdXNBZGFwdGVyLmNwcAppbmRleCA5ZGVhZmFjLi4wODRjOWNkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL0J1c0FkYXB0ZXIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvQnVzQWRhcHRlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTUyLDYgKzUzLDYgQEAKICAgICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLCAxLCBzY21fYW5EYXRhSW5wdXROYW1lcywKICAgICBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLCAwLCAwIH07CiAKLWNvbnN0IFRGb3J0ZVVJbnQ4IEVtYnJpY2tCdXNBZGFwdGVyOjpzY21fc2xhdmVDb25maWd1cmF0aW9uSU9bXSA9IHsgMyB9OwotY29uc3QgVEZvcnRlVUludDggRW1icmlja0J1c0FkYXB0ZXI6OnNjbV9zbGF2ZUNvbmZpZ3VyYXRpb25JT19udW0gPSAxOworY29uc3QgVEZvcnRlVUludDggRW1icmlja0J1c0FkYXB0ZXI6OnNjbVNsYXZlQ29uZmlndXJhdGlvbklPW10gPSB7IDMgfTsKK2NvbnN0IFRGb3J0ZVVJbnQ4IEVtYnJpY2tCdXNBZGFwdGVyOjpzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT051bSA9IDE7CiAKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvQnVzQWRhcHRlci5oIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9CdXNBZGFwdGVyLmgKaW5kZXggYzg2NjEwNy4uYTExZWExYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9CdXNBZGFwdGVyLmgKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9CdXNBZGFwdGVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE4LDcgKzE5LDcgQEAKICNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+CiAjaW5jbHVkZSA8Zm9ydGVfdWludC5oPgogCi1jbGFzcyBFbWJyaWNrQnVzQWRhcHRlcjogcHVibGljIGZvcnRlOjpjb3JlOjpJTzo6SU9Db25maWdGQk11bHRpQWRhcHRlciB7CitjbGFzcyBFbWJyaWNrQnVzQWRhcHRlcjogcHVibGljIGZvcnRlOjpjb3JlOjppbzo6SU9Db25maWdGQk11bHRpQWRhcHRlciB7CiBERUNMQVJFX0FEQVBURVJfVFlQRShFbWJyaWNrQnVzQWRhcHRlcikKIAogcHJpdmF0ZToKQEAgLTU0LDggKzU1LDggQEAKIH07CiAKIHByaXZhdGU6Ci0gIHN0YXRpYyBjb25zdCBURm9ydGVVSW50OCBzY21fc2xhdmVDb25maWd1cmF0aW9uSU9bXTsKLSAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQ4IHNjbV9zbGF2ZUNvbmZpZ3VyYXRpb25JT19udW07CisgIHN0YXRpYyBjb25zdCBURm9ydGVVSW50OCBzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT1tdOworICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDggc2NtU2xhdmVDb25maWd1cmF0aW9uSU9OdW07CiAKICAgdmlydHVhbCB+RW1icmlja0J1c0FkYXB0ZXIoKSB7fTsKIApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9NYXN0ZXIuY3BwIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9NYXN0ZXIuY3BwCmluZGV4IDlhMDRjZmQuLmMxYTlmYTggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvTWFzdGVyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL01hc3Rlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTYwLDIzICs2MSwyMyBAQAogfQogCiAKLWZvcnRlOjpjb3JlOjpJTzo6SU9EZXZpY2VDb250cm9sbGVyKiBFbWJyaWNrTWFzdGVyOjpjcmVhdGVEZXZpY2VDb250cm9sbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSB7Citmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlQ29udHJvbGxlciogRW1icmlja01hc3Rlcjo6Y3JlYXRlRGV2aWNlQ29udHJvbGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbikgewogICByZXR1cm4gbmV3IEVtYnJpY2tCdXNIYW5kbGVyKHBhRGV2aWNlRXhlY3V0aW9uKTsKIH0KIAogdm9pZCBFbWJyaWNrTWFzdGVyOjpzZXRDb25maWcoKSB7CiAgIEVtYnJpY2tCdXNIYW5kbGVyOjpDb25maWcgY29uZmlnOwotICBjb25maWcuQnVzSW50ZXJmYWNlID0gQnVzSW50ZXJmYWNlKCk7Ci0gIGNvbmZpZy5CdXNTZWxlY3RQaW4gPSBCdXNTZWxlY3RQaW4oKTsKLSAgY29uZmlnLkJ1c0luaXRTcGVlZCA9IEJ1c0luaXRTcGVlZCgpOwotICBjb25maWcuQnVzTG9vcFNwZWVkID0gQnVzTG9vcFNwZWVkKCk7Ci0gIGNvbnRyb2xsZXItPnNldENvbmZpZygmY29uZmlnKTsKKyAgY29uZmlnLm1CdXNJbnRlcmZhY2UgPSBCdXNJbnRlcmZhY2UoKTsKKyAgY29uZmlnLm1CdXNTZWxlY3RQaW4gPSBCdXNTZWxlY3RQaW4oKTsKKyAgY29uZmlnLm1CdXNJbml0U3BlZWQgPSBCdXNJbml0U3BlZWQoKTsKKyAgY29uZmlnLm1CdXNMb29wU3BlZWQgPSBCdXNMb29wU3BlZWQoKTsKKyAgZ2V0RGV2aWNlQ29udHJvbGxlcigpLT5zZXRDb25maWcoJmNvbmZpZyk7CiB9CiAKIHZvaWQgRW1icmlja01hc3Rlcjo6b25TdGFydHVwKCkgewogICBCdXNBZGFwdGVyT3V0KCkuVXBkYXRlSW50ZXJ2YWwoKSA9IFNsYXZlVXBkYXRlSW50ZXJ2YWwoKTsKIAotICBmb3J0ZTo6Y29yZTo6SU86OklPQ29uZmlnRkJNdWx0aU1hc3Rlcjo6b25TdGFydHVwKCk7CisgIGZvcnRlOjpjb3JlOjppbzo6SU9Db25maWdGQk11bHRpTWFzdGVyOjpvblN0YXJ0dXAoKTsKIH0KIAogCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL01hc3Rlci5oIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9NYXN0ZXIuaAppbmRleCAzYmM5ZDU1Li45N2E4NGMwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL01hc3Rlci5oCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvTWFzdGVyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTIxLDcgKzIyLDcgQEAKICNpbmNsdWRlIDxoYW5kbGVyL2J1cy5oPgogI2luY2x1ZGUgIi4uLy4uLy4uL2NvcmUvaW8vY29uZmlnRkIvaW9fbWFzdGVyX211bHRpLmgiCiAKLWNsYXNzIEVtYnJpY2tNYXN0ZXI6IHB1YmxpYyBmb3J0ZTo6Y29yZTo6SU86OklPQ29uZmlnRkJNdWx0aU1hc3RlciB7CitjbGFzcyBFbWJyaWNrTWFzdGVyOiBwdWJsaWMgZm9ydGU6OmNvcmU6OmlvOjpJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXIgewogREVDTEFSRV9GSVJNV0FSRV9GQihFbWJyaWNrTWFzdGVyKQogCiBwcml2YXRlOgpAQCAtNzMsMTQgKzc0LDE0IEBACiAgIHZpcnR1YWwgdm9pZCBzZXRJbml0aWFsVmFsdWVzKCk7CiAKIHByb3RlY3RlZDoKLSAgZm9ydGU6OmNvcmU6OklPOjpJT0RldmljZUNvbnRyb2xsZXIqIGNyZWF0ZURldmljZUNvbnRyb2xsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pOworICBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlQ29udHJvbGxlciogY3JlYXRlRGV2aWNlQ29udHJvbGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbik7CiAKICAgdm9pZCBzZXRDb25maWcoKTsKIAogICB2aXJ0dWFsIHZvaWQgb25TdGFydHVwKCk7CiAKIHB1YmxpYzoKLSAgRlVOQ1RJT05fQkxPQ0tfQ1RPUl9XSVRIX0JBU0VfQ0xBU1MoRW1icmlja01hc3RlciwgZm9ydGU6OmNvcmU6OklPOjpJT0NvbmZpZ0ZCTXVsdGlNYXN0ZXIpeworICBGVU5DVElPTl9CTE9DS19DVE9SX1dJVEhfQkFTRV9DTEFTUyhFbWJyaWNrTWFzdGVyLCBmb3J0ZTo6Y29yZTo6aW86OklPQ29uZmlnRkJNdWx0aU1hc3Rlcil7CiAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvU2xhdmUuY3BwIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZS5jcHAKaW5kZXggOTAyOTZhZC4uODk2MzcxMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZS5jcHAKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTE4LDE2ICsxOSwxMCBAQAogY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tTbGF2ZTo6c2NtRXJyb3IgPSAiRXJyb3IiOwogY29uc3QgY2hhciAqIGNvbnN0IEVtYnJpY2tTbGF2ZTo6c2NtVW5rbm93biA9ICJJbnZhbGlkIHN0YXR1cyBjb2RlIjsKIAotRW1icmlja1NsYXZlOjpFbWJyaWNrU2xhdmUoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sCi0gICAgY29uc3QgVEZvcnRlVUludDggcGFTbGF2ZUNvbmZpZ3VyYXRpb25JT19udW0sIGludCB0eXBlLAotICAgIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsCi0gICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKLSAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSkgOgotICAgIGZvcnRlOjpjb3JlOjpJTzo6SU9Db25maWdGQk11bHRpU2xhdmUoCi0gICAgICAgIHBhU2xhdmVDb25maWd1cmF0aW9uSU8sCi0gICAgICAgIHBhU2xhdmVDb25maWd1cmF0aW9uSU9fbnVtLCB0eXBlLCBwYV9wb1NyY1JlcywgcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICAgICAgcGFfbkluc3RhbmNlTmFtZUlkLCBwYV9hY0ZCQ29ubkRhdGEsIHBhX2FjRkJWYXJzRGF0YSksIHNsYXZlKDApIHsKK0VtYnJpY2tTbGF2ZTo6RW1icmlja1NsYXZlKGNvbnN0IFRGb3J0ZVVJbnQ4KiBjb25zdCBwYVNsYXZlQ29uZmlndXJhdGlvbklPLCBjb25zdCBURm9ydGVVSW50OCBwYVNsYXZlQ29uZmlndXJhdGlvbklPX251bSwgaW50IHBhVHlwZSwgQ1Jlc291cmNlICpwYVNyY1JlcywKKyAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYUludGVyZmFjZVNwZWMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKKyAgICAgICAgZm9ydGU6OmNvcmU6OmlvOjpJT0NvbmZpZ0ZCTXVsdGlTbGF2ZShwYVNsYXZlQ29uZmlndXJhdGlvbklPLCBwYVNsYXZlQ29uZmlndXJhdGlvbklPX251bSwgcGFUeXBlLCBwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLAorICAgICAgICAgIHBhRkJDb25uRGF0YSwgcGFGQlZhcnNEYXRhKSwgbVNsYXZlKDApIHsKIH0KIAogRW1icmlja1NsYXZlOjp+RW1icmlja1NsYXZlKCkgewpAQCAtMzUsNDggKzMwLDQ3IEBACiB9CiAKIGNvbnN0IGNoYXIqIEVtYnJpY2tTbGF2ZTo6aW5pdCgpIHsKLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKHNsYXZlTXV0ZXgpOworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obVNsYXZlTXV0ZXgpOwogCiAgIEVtYnJpY2tCdXNIYW5kbGVyICZidXMgPSAqc3RhdGljX2Nhc3Q8RW1icmlja0J1c0hhbmRsZXIqPigmZ2V0Q29udHJvbGxlcigpKTsKIAotICBzbGF2ZSA9IGJ1cy5nZXRTbGF2ZShpbmRleCk7Ci0gIHNsYXZlLT5kZWxlZ2F0ZSA9IHRoaXM7CisgIG1TbGF2ZSA9IGJ1cy5nZXRTbGF2ZShtSW5kZXgpOworICBtU2xhdmUtPm1EZWxlZ2F0ZSA9IHRoaXM7CiAKICAgRW1icmlja1NsYXZlSGFuZGxlcjo6Q29uZmlnIGNvbmZpZzsKLSAgY29uZmlnLlVwZGF0ZUludGVydmFsID0gVXBkYXRlSW50ZXJ2YWwoKTsKLSAgc2xhdmUtPnNldENvbmZpZyhjb25maWcpOwotCisgIGNvbmZpZy5tVXBkYXRlSW50ZXJ2YWwgPSBVcGRhdGVJbnRlcnZhbCgpOworICBtU2xhdmUtPnNldENvbmZpZyhjb25maWcpOwogCiAgIHJldHVybiAwOwogfQogCiB2b2lkIEVtYnJpY2tTbGF2ZTo6ZGVJbml0KCkgewotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oc2xhdmVNdXRleCk7CisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtU2xhdmVNdXRleCk7CiAKLSAgaWYgKHNsYXZlICE9IDApIHsKLSAgICBzbGF2ZS0+ZGVsZWdhdGUgPSAwOwotICAgIHNsYXZlID0gMDsKKyAgaWYobVNsYXZlICE9IDApIHsKKyAgICBtU2xhdmUtPm1EZWxlZ2F0ZSA9IDA7CisgICAgbVNsYXZlID0gMDsKICAgfQogCiB9CiAKLXZvaWQgRW1icmlja1NsYXZlOjpvblNsYXZlU3RhdHVzKEVtYnJpY2tTbGF2ZUhhbmRsZXI6OlNsYXZlU3RhdHVzIHN0YXR1cywgRW1icmlja1NsYXZlSGFuZGxlcjo6U2xhdmVTdGF0dXMpIHsKLSAgc3dpdGNoIChzdGF0dXMpIHsKLSAgY2FzZSBFbWJyaWNrU2xhdmVIYW5kbGVyOjpPSzoKLSAgICBTVEFUVVMoKSA9IHNjbU9LOwotICAgIGJyZWFrOwotICBjYXNlIEVtYnJpY2tTbGF2ZUhhbmRsZXI6OlNsb3c6Ci0gICAgU1RBVFVTKCkgPSBzY21TbG93OwotICAgIGJyZWFrOwotICBjYXNlIEVtYnJpY2tTbGF2ZUhhbmRsZXI6OkludGVycnVwdGVkOgotICAgIFNUQVRVUygpID0gc2NtSW50ZXJydXB0ZWQ7Ci0gICAgYnJlYWs7Ci0gIGNhc2UgRW1icmlja1NsYXZlSGFuZGxlcjo6RXJyb3I6Ci0gICAgU1RBVFVTKCkgPSBzY21FcnJvcjsKLSAgICBicmVhazsKLSAgZGVmYXVsdDoKLSAgICBTVEFUVVMoKSA9IHNjbVVua25vd247Ci0gICAgYnJlYWs7Cit2b2lkIEVtYnJpY2tTbGF2ZTo6b25TbGF2ZVN0YXR1cyhFbWJyaWNrU2xhdmVIYW5kbGVyOjpTbGF2ZVN0YXR1cyBwYVN0YXR1cywgRW1icmlja1NsYXZlSGFuZGxlcjo6U2xhdmVTdGF0dXMpIHsKKyAgc3dpdGNoKHBhU3RhdHVzKXsKKyAgICBjYXNlIEVtYnJpY2tTbGF2ZUhhbmRsZXI6Ok9LOgorICAgICAgU1RBVFVTKCkgPSBzY21PSzsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgRW1icmlja1NsYXZlSGFuZGxlcjo6U2xvdzoKKyAgICAgIFNUQVRVUygpID0gc2NtU2xvdzsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgRW1icmlja1NsYXZlSGFuZGxlcjo6SW50ZXJydXB0ZWQ6CisgICAgICBTVEFUVVMoKSA9IHNjbUludGVycnVwdGVkOworICAgICAgYnJlYWs7CisgICAgY2FzZSBFbWJyaWNrU2xhdmVIYW5kbGVyOjpFcnJvcjoKKyAgICAgIFNUQVRVUygpID0gc2NtRXJyb3I7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgU1RBVFVTKCkgPSBzY21Vbmtub3duOworICAgICAgYnJlYWs7CiAgIH0KIAogICBzZW5kT3V0cHV0RXZlbnQoc2NtX25FdmVudElORElEKTsKQEAgLTg4LDggKzgyLDUgQEAKICAgUU8oKSA9IGZhbHNlOwogICBTVEFUVVMoKSA9IHNjbUVycm9yOwogCi0vLyAgc2VuZE91dHB1dEV2ZW50KHNjbV9uRXZlbnRJTkRJRCk7CiB9CiAKLQotCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL1NsYXZlLmggYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL1NsYXZlLmgKaW5kZXggNjM3MGQwZi4uMjAwYmU3OSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZS5oCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvU2xhdmUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBKb2hhbm5lcyBNZXNzbWVyIChhZG1pbkBqb21lc3MuY29tKSwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMjEsNDggKzIyLDQxIEBACiAjaW5jbHVkZSA8c2xhdmUvaGFuZGxlLmg+CiAjaW5jbHVkZSAiLi4vLi4vLi4vY29yZS9pby9jb25maWdGQi9pb19zbGF2ZV9tdWx0aS5oIgogCi1jbGFzcyBFbWJyaWNrU2xhdmU6IHB1YmxpYyBmb3J0ZTo6Y29yZTo6SU86OklPQ29uZmlnRkJNdWx0aVNsYXZlLAotICAgIHB1YmxpYyBFbWJyaWNrU2xhdmVIYW5kbGVyOjpEZWxlZ2F0ZSB7Ci1wdWJsaWM6Ci0gIEVtYnJpY2tTbGF2ZShjb25zdCBURm9ydGVVSW50OCogY29uc3QgcGFTbGF2ZUNvbmZpZ3VyYXRpb25JTywKLSAgICAgIGNvbnN0IFRGb3J0ZVVJbnQ4IHBhU2xhdmVDb25maWd1cmF0aW9uSU9fbnVtLCBpbnQgdHlwZSwKLSAgICAgIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMsCi0gICAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYV9wc3RJbnRlcmZhY2VTcGVjLAotICAgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsCi0gICAgICBURm9ydGVCeXRlICpwYV9hY0ZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJWYXJzRGF0YSk7Ci0gIHZpcnR1YWwgfkVtYnJpY2tTbGF2ZSgpOworY2xhc3MgRW1icmlja1NsYXZlIDogcHVibGljIGZvcnRlOjpjb3JlOjppbzo6SU9Db25maWdGQk11bHRpU2xhdmUsIHB1YmxpYyBFbWJyaWNrU2xhdmVIYW5kbGVyOjpEZWxlZ2F0ZSB7CisgIHB1YmxpYzoKKyAgICBFbWJyaWNrU2xhdmUoY29uc3QgVEZvcnRlVUludDgqIGNvbnN0IHBhU2xhdmVDb25maWd1cmF0aW9uSU8sIGNvbnN0IFRGb3J0ZVVJbnQ4IHBhU2xhdmVDb25maWd1cmF0aW9uSU9fbnVtLCBpbnQgcGFUeXBlLCBDUmVzb3VyY2UgKnBhU3JjUmVzLAorICAgICAgICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYUludGVyZmFjZVNwZWMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpOworICAgIHZpcnR1YWwgfkVtYnJpY2tTbGF2ZSgpOwogCi1wcm90ZWN0ZWQ6Ci0gIHZpcnR1YWwgQ0lFQ19VSU5UICZVcGRhdGVJbnRlcnZhbCgpIHsKLSAgICAvLyBUT0RPIFJlbW92ZQotICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4oZ2V0REkoMCkpOwotICB9CisgIHByb3RlY3RlZDoKKyAgICB2aXJ0dWFsIENJRUNfVUlOVCAmVXBkYXRlSW50ZXJ2YWwoKSB7CisgICAgICAvLyBUT0RPIFJlbW92ZQorICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1VJTlQqPihnZXRESSgwKSk7CisgICAgfQogCi0gIEVtYnJpY2tCdXNBZGFwdGVyJiBCdXNBZGFwdGVyT3V0KCkgewotICAgIHJldHVybiAoKnN0YXRpY19jYXN0PEVtYnJpY2tCdXNBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1swXSkpOwotICB9CisgICAgRW1icmlja0J1c0FkYXB0ZXImIEJ1c0FkYXB0ZXJPdXQoKSB7CisgICAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxFbWJyaWNrQnVzQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMF0pKTsKKyAgICB9CiAKLSAgRW1icmlja0J1c0FkYXB0ZXImIEJ1c0FkYXB0ZXJJbigpIHsKLSAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxFbWJyaWNrQnVzQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMV0pKTsKLSAgfQorICAgIEVtYnJpY2tCdXNBZGFwdGVyJiBCdXNBZGFwdGVySW4oKSB7CisgICAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxFbWJyaWNrQnVzQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMV0pKTsKKyAgICB9CiAKLSAgQ1N5bmNPYmplY3Qgc2xhdmVNdXRleDsKLSAgRW1icmlja1NsYXZlSGFuZGxlciAqc2xhdmU7CisgICAgQ1N5bmNPYmplY3QgbVNsYXZlTXV0ZXg7CisgICAgRW1icmlja1NsYXZlSGFuZGxlciAqbVNsYXZlOwogCi1wdWJsaWM6Ci0gIHZvaWQgb25TbGF2ZVN0YXR1cyhFbWJyaWNrU2xhdmVIYW5kbGVyOjpTbGF2ZVN0YXR1cyBzdGF0dXMsCi0gICAgICBFbWJyaWNrU2xhdmVIYW5kbGVyOjpTbGF2ZVN0YXR1cyBvbGRTdGF0dXMpOwotICB2b2lkIG9uU2xhdmVEZXN0cm95KCk7CisgIHB1YmxpYzoKKyAgICB2b2lkIG9uU2xhdmVTdGF0dXMoRW1icmlja1NsYXZlSGFuZGxlcjo6U2xhdmVTdGF0dXMgcGFTdGF0dXMsIEVtYnJpY2tTbGF2ZUhhbmRsZXI6OlNsYXZlU3RhdHVzIHBhT2xkU3RhdHVzKTsKKyAgICB2b2lkIG9uU2xhdmVEZXN0cm95KCk7CiAKLXByaXZhdGU6Ci0gIGNvbnN0IGNoYXIqIGluaXQoKTsKLSAgdm9pZCBkZUluaXQoKTsKKyAgcHJpdmF0ZToKKyAgICBjb25zdCBjaGFyKiBpbml0KCk7CisgICAgdm9pZCBkZUluaXQoKTsKIAotICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbVNsb3c7Ci0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtSW50ZXJydXB0ZWQ7Ci0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtRXJyb3I7Ci0gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtVW5rbm93bjsKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbVNsb3c7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21JbnRlcnJ1cHRlZDsKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUVycm9yOworICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtVW5rbm93bjsKIH07CiAKLQogI2VuZGlmIC8qIFNSQ19NT0RVTEVTX0VNQlJJQ0tfVFlQRVNfU0xBVkVfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvU2xhdmUyMTgxLmNwcCBiL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvU2xhdmUyMTgxLmNwcAppbmRleCAwYjc4N2VlLi44MGY3NTYwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL1NsYXZlMjE4MS5jcHAKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZTIxODEuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE4IEpvaGFubmVzIE1lc3NtZXIgKGFkbWluQGpvbWVzcy5jb20pLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9oYW5uZXMgTWVzc21lciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC02NSw4ICs2Niw4IEBACiAgICAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsIDIsIHNjbV9hbkRhdGFPdXRwdXROYW1lcywKICAgICBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywgMiwgc2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXMgfTsKIAotY29uc3QgVEZvcnRlVUludDggRW1icmlja1NsYXZlMjE4MTo6c2NtX3NsYXZlQ29uZmlndXJhdGlvbklPW10gPSB7IDE3IH07Ci1jb25zdCBURm9ydGVVSW50OCBFbWJyaWNrU2xhdmUyMTgxOjpzY21fc2xhdmVDb25maWd1cmF0aW9uSU9fbnVtID0gMTsKK2NvbnN0IFRGb3J0ZVVJbnQ4IEVtYnJpY2tTbGF2ZTIxODE6OnNjbVNsYXZlQ29uZmlndXJhdGlvbklPW10gPSB7IDE3IH07Citjb25zdCBURm9ydGVVSW50OCBFbWJyaWNrU2xhdmUyMTgxOjpzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT051bSA9IDE7CiAKIHZvaWQgRW1icmlja1NsYXZlMjE4MTo6aW5pdEhhbmRsZXMoKSB7CiAgIC8vIEluaXRpYWxpemUgaGFuZGxlcwpAQCAtNzcsMTQgKzc4LDE0IEBACiAKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpQ291bnQ7IGkrKykgewogICAgIEVtYnJpY2tCdXNIYW5kbGVyOjpIYW5kbGVEZXNjcmlwdG9yIGRlc2MgPSBFbWJyaWNrQnVzSGFuZGxlcjo6SGFuZGxlRGVzY3JpcHRvcigKLSAgICAgICAgKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKGlPZmZzZXQgKyBpKSksIGZvcnRlOjpjb3JlOjpJTzo6SU9NYXBwZXI6OkluLCBpbmRleCwKKyAgICAgICAgKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKGlPZmZzZXQgKyBpKSksIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkluLCBtSW5kZXgsCiAgICAgICAgIEVtYnJpY2tCdXNIYW5kbGVyOjpCaXQsICh1aW50OF90KSAoaSAvIDgpLCAodWludDhfdCkgKGkgJSA4KSk7CiAgICAgaW5pdEhhbmRsZSgmZGVzYyk7CiAgIH0KIAogICBmb3IgKGludCBpID0gMDsgaSA8IG9Db3VudDsgaSsrKSB7CiAgICAgRW1icmlja0J1c0hhbmRsZXI6OkhhbmRsZURlc2NyaXB0b3IgZGVzYyA9IEVtYnJpY2tCdXNIYW5kbGVyOjpIYW5kbGVEZXNjcmlwdG9yKAotICAgICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkob09mZnNldCArIGkpKSwgZm9ydGU6OmNvcmU6OklPOjpJT01hcHBlcjo6T3V0LCBpbmRleCwKKyAgICAgICAgKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKG9PZmZzZXQgKyBpKSksIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6Ok91dCwgbUluZGV4LAogICAgICAgICBFbWJyaWNrQnVzSGFuZGxlcjo6Qml0LCAodWludDhfdCkgKGkgLyA4KSwgKHVpbnQ4X3QpIChpICUgOCkpOwogICAgIGluaXRIYW5kbGUoJmRlc2MpOwogICB9CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL1NsYXZlMjE4MS5oIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZTIxODEuaAppbmRleCBkZWExM2ExLi4zYzJjMThkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL1NsYXZlMjE4MS5oCisrKyBiL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvU2xhdmUyMTgxLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTExMSw4ICsxMTIsOCBAQAogCiAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMiwgMTgsIDIsIDIpCiAKLSAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQ4IHNjbV9zbGF2ZUNvbmZpZ3VyYXRpb25JT1tdOwotICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDggc2NtX3NsYXZlQ29uZmlndXJhdGlvbklPX251bTsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQ4IHNjbVNsYXZlQ29uZmlndXJhdGlvbklPW107CisgIHN0YXRpYyBjb25zdCBURm9ydGVVSW50OCBzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT051bTsKIAogICB2aXJ0dWFsIHZvaWQgaW5pdEhhbmRsZXMoKTsKIApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZTIzMDEuY3BwIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZTIzMDEuY3BwCmluZGV4IDBlNjAzYzEuLmQ4ODNhY2EgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvU2xhdmUyMzAxLmNwcAorKysgYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL1NsYXZlMjMwMS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTggSm9oYW5uZXMgTWVzc21lciAoYWRtaW5Aam9tZXNzLmNvbSksIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb2hhbm5lcyBNZXNzbWVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTU1LDggKzU2LDggQEAKICAgICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywgMiwgc2NtX2FuRGF0YU91dHB1dE5hbWVzLAogICAgIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLCAyLCBzY21fYXN0QWRhcHRlckluc3RhbmNlcyB9OwogCi1jb25zdCBURm9ydGVVSW50OCBFbWJyaWNrU2xhdmUyMzAxOjpzY21fc2xhdmVDb25maWd1cmF0aW9uSU9bXSA9IHsgNyB9OwotY29uc3QgVEZvcnRlVUludDggRW1icmlja1NsYXZlMjMwMTo6c2NtX3NsYXZlQ29uZmlndXJhdGlvbklPX251bSA9IDE7Citjb25zdCBURm9ydGVVSW50OCBFbWJyaWNrU2xhdmUyMzAxOjpzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT1tdID0geyA3IH07Citjb25zdCBURm9ydGVVSW50OCBFbWJyaWNrU2xhdmUyMzAxOjpzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT051bSA9IDE7CiAKIHZvaWQgRW1icmlja1NsYXZlMjMwMTo6aW5pdEhhbmRsZXMoKSB7CiAgIC8vIEluaXRpYWxpemUgaGFuZGxlcwpAQCAtNjcsNyArNjgsNyBAQAogCiAgIGZvciAoaW50IGkgPSAwOyBpIDwgb0NvdW50OyBpKyspIHsKICAgICBFbWJyaWNrQnVzSGFuZGxlcjo6SGFuZGxlRGVzY3JpcHRvciBkZXNjID0gRW1icmlja0J1c0hhbmRsZXI6OkhhbmRsZURlc2NyaXB0b3IoCi0gICAgICAgICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESShvT2Zmc2V0ICsgaSkpLCBmb3J0ZTo6Y29yZTo6SU86OklPTWFwcGVyOjpPdXQsIGluZGV4LAorICAgICAgICAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkob09mZnNldCArIGkpKSwgZm9ydGU6OmNvcmU6OmlvOjpJT01hcHBlcjo6T3V0LCBtSW5kZXgsCiAgICAgICAgIEVtYnJpY2tCdXNIYW5kbGVyOjpCaXQsICh1aW50OF90KSAoaSAvIDgpLCAodWludDhfdCkgKGkgJSA4KSk7CiAgICAgaW5pdEhhbmRsZSgmZGVzYyk7CiAgIH0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvU2xhdmUyMzAxLmggYi9zcmMvbW9kdWxlcy9lbWJyaWNrL3R5cGVzL1NsYXZlMjMwMS5oCmluZGV4IGVjYzQ3ZjQuLmYwZmY0MGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2VtYnJpY2svdHlwZXMvU2xhdmUyMzAxLmgKKysrIGIvc3JjL21vZHVsZXMvZW1icmljay90eXBlcy9TbGF2ZTIzMDEuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOCBKb2hhbm5lcyBNZXNzbWVyIChhZG1pbkBqb21lc3MuY29tKSwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtNzEsOCArNzIsOCBAQAogCiAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMiwgOCwgMiwgMikKIAotICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDggc2NtX3NsYXZlQ29uZmlndXJhdGlvbklPW107Ci0gIHN0YXRpYyBjb25zdCBURm9ydGVVSW50OCBzY21fc2xhdmVDb25maWd1cmF0aW9uSU9fbnVtOworICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDggc2NtU2xhdmVDb25maWd1cmF0aW9uSU9bXTsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQ4IHNjbVNsYXZlQ29uZmlndXJhdGlvbklPTnVtOwogCiAgIHZpcnR1YWwgdm9pZCBpbml0SGFuZGxlcygpOwogCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9pMmNfZGV2L0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvaTJjX2Rldi9DTWFrZUxpc3RzLnR4dAppbmRleCAwZTdmOWM4Li5kZjIyNjJmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9pMmNfZGV2L0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL2kyY19kZXYvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgR2VyZCBLYWlueiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIEdlcmQgS2FpbnosIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCiAgCiBmb3J0ZV9hZGRfbW9kdWxlKEkyQy1EZXYgIkludGVyYWN0aW5nIHdpdGggR1BJT3Mgb2YgTGludXgtYmFzZWQgZGV2aWNlcyB2aWEgSTJDIHVzaW5nIGkyYy1kZXYiKQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvaTJjX2Rldi9pMmNwcm9jZXNzaW50ZXJmYWNlLmNwcCBiL3NyYy9tb2R1bGVzL2kyY19kZXYvaTJjcHJvY2Vzc2ludGVyZmFjZS5jcHAKaW5kZXggMDUwM2FhMi4uMWRiMjIxZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvaTJjX2Rldi9pMmNwcm9jZXNzaW50ZXJmYWNlLmNwcAorKysgYi9zcmMvbW9kdWxlcy9pMmNfZGV2L2kyY3Byb2Nlc3NpbnRlcmZhY2UuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBHZXJkIEthaW56LCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9pMmNfZGV2L2kyY3Byb2Nlc3NpbnRlcmZhY2UuaCBiL3NyYy9tb2R1bGVzL2kyY19kZXYvaTJjcHJvY2Vzc2ludGVyZmFjZS5oCmluZGV4IDcyZTdhODIuLjk3MzJlZjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2kyY19kZXYvaTJjcHJvY2Vzc2ludGVyZmFjZS5oCisrKyBiL3NyYy9tb2R1bGVzL2kyY19kZXYvaTJjcHJvY2Vzc2ludGVyZmFjZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBHZXJkIEthaW56LCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9pMmNfZGV2L3Byb2Nlc3NpbnRlcmZhY2UuaCBiL3NyYy9tb2R1bGVzL2kyY19kZXYvcHJvY2Vzc2ludGVyZmFjZS5oCmluZGV4IDc3MGQwN2MuLmVhZTliZDAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2kyY19kZXYvcHJvY2Vzc2ludGVyZmFjZS5oCisrKyBiL3NyYy9tb2R1bGVzL2kyY19kZXYvcHJvY2Vzc2ludGVyZmFjZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9sbXNfZXYzL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvbG1zX2V2My9DTWFrZUxpc3RzLnR4dAppbmRleCBhOTk1Yjg1Li5mMjE1NmY1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9sbXNfZXYzL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL2xtc19ldjMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE1LCAyMDE2IGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTUsIDIwMTYgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKiAgICBKb3NlIENhYnJhbCAtIGFkZGVkIGZpbGVXcml0ZXIKICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCiAgCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9sbXNfZXYzL2ZpbGVSZWFkZXIuY3BwIGIvc3JjL21vZHVsZXMvbG1zX2V2My9maWxlUmVhZGVyLmNwcAppbmRleCAwNWQwNjY4Li4zMWRkNmMyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9sbXNfZXYzL2ZpbGVSZWFkZXIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL2xtc19ldjMvZmlsZVJlYWRlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9sbXNfZXYzL2ZpbGVSZWFkZXIuaCBiL3NyYy9tb2R1bGVzL2xtc19ldjMvZmlsZVJlYWRlci5oCmluZGV4IDI0YzU0MDIuLmJmZjIzOWUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2xtc19ldjMvZmlsZVJlYWRlci5oCisrKyBiL3NyYy9tb2R1bGVzL2xtc19ldjMvZmlsZVJlYWRlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbG1zX2V2My9maWxlV3JpdGVyLmNwcCBiL3NyYy9tb2R1bGVzL2xtc19ldjMvZmlsZVdyaXRlci5jcHAKaW5kZXggNTQzNDczYi4uZDkwYzNhYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbG1zX2V2My9maWxlV3JpdGVyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9sbXNfZXYzL2ZpbGVXcml0ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbG1zX2V2My9maWxlV3JpdGVyLmggYi9zcmMvbW9kdWxlcy9sbXNfZXYzL2ZpbGVXcml0ZXIuaAppbmRleCAyZDNhNmQ2Li5iMjMyNTMxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9sbXNfZXYzL2ZpbGVXcml0ZXIuaAorKysgYi9zcmMvbW9kdWxlcy9sbXNfZXYzL2ZpbGVXcml0ZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL2xtc19ldjMvcHJvY2Vzc2ludGVyZmFjZS5jcHAgYi9zcmMvbW9kdWxlcy9sbXNfZXYzL3Byb2Nlc3NpbnRlcmZhY2UuY3BwCmluZGV4IDNhNTc2ZDYuLjViNjg4OWUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL2xtc19ldjMvcHJvY2Vzc2ludGVyZmFjZS5jcHAKKysrIGIvc3JjL21vZHVsZXMvbG1zX2V2My9wcm9jZXNzaW50ZXJmYWNlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE1LCAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbG1zX2V2My9wcm9jZXNzaW50ZXJmYWNlLmggYi9zcmMvbW9kdWxlcy9sbXNfZXYzL3Byb2Nlc3NpbnRlcmZhY2UuaAppbmRleCBjODFlMjUxLi5mZjU2NDQ3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9sbXNfZXYzL3Byb2Nlc3NpbnRlcmZhY2UuaAorKysgYi9zcmMvbW9kdWxlcy9sbXNfZXYzL3Byb2Nlc3NpbnRlcmZhY2UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE1LCAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbWxwaS9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL21scGkvQ01ha2VMaXN0cy50eHQKaW5kZXggYWJmZDIyMi4uZGJmMjhhMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbWxwaS9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9tbHBpL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJIIA0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyMgQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSCANCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbWxwaS9wcm9jZXNzaW50ZXJmYWNlLmNwcCBiL3NyYy9tb2R1bGVzL21scGkvcHJvY2Vzc2ludGVyZmFjZS5jcHAKaW5kZXggZjdjOGI5Ni4uMDdkMThmOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbWxwaS9wcm9jZXNzaW50ZXJmYWNlLmNwcAorKysgYi9zcmMvbW9kdWxlcy9tbHBpL3Byb2Nlc3NpbnRlcmZhY2UuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxNyBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbWxwaS9wcm9jZXNzaW50ZXJmYWNlLmggYi9zcmMvbW9kdWxlcy9tbHBpL3Byb2Nlc3NpbnRlcmZhY2UuaAppbmRleCA0MzAxZmZmLi44MzcyMzY2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9tbHBpL3Byb2Nlc3NpbnRlcmZhY2UuaAorKysgYi9zcmMvbW9kdWxlcy9tbHBpL3Byb2Nlc3NpbnRlcmZhY2UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL21vZGJ1cy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL21vZGJ1cy9DTWFrZUxpc3RzLnR4dAppbmRleCA5OTczNzE1Li44NmFhMGUzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9tb2RidXMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvbW9kYnVzL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLTIwMTQgQUlULCBmb3J0aXNzIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyMgQ29weXJpZ2h0IChjKSAyMDEyIC0yMDE0IEFJVCwgZm9ydGlzcyBHbWJIDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBGaWxpcCBBbmRyZW4sIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAjIE1vZGJ1cyBDb20gTGF5ZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzY2xpZW50Y29ubmVjdGlvbi5jcHAgYi9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzY2xpZW50Y29ubmVjdGlvbi5jcHAKaW5kZXggNmQ5ZDQ5YS4uOGU2Y2ZmZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c2NsaWVudGNvbm5lY3Rpb24uY3BwCisrKyBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNjbGllbnRjb25uZWN0aW9uLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAtMjAxNCBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KQEAgLTE2Niw4ICsxNjcsOSBAQAogICAgIH0NCiAgIH0NCiANCi0gIGlmKGRhdGFSZXR1cm5lZCkNCisgIGlmKGRhdGFSZXR1cm5lZCkgew0KICAgICBtX3BNb2RidXNIYW5kbGVyLT5leGVjdXRlQ29tQ2FsbGJhY2sobV9uQ29tQ2FsbGJhY2tJZCk7DQorICB9DQogDQogICBpZigobnJFcnJvcnMgPT0gbV9uTnJPZlBvbGxzKSAmJiAoMCAhPSBtX25Ock9mUG9sbHMpKXsNCiAgICAgbW9kYnVzX2Nsb3NlKG1fcE1vZGJ1c0Nvbm4pOyAvLyBpbiBhbnkgY2FzZSBpdCBpcyB3b3J0aCB0cnlpbmcgdG8gY2xvc2UgdGhlIHNvY2tldA0KQEAgLTE4MCw5ICsxODIsOSBAQAogdm9pZCBDTW9kYnVzQ2xpZW50Q29ubmVjdGlvbjo6dHJ5Q29ubmVjdCgpew0KICAgaWYobV9wTW9kYnVzQ29ubkV2ZW50ICE9IE5VTEwpew0KICAgICBpZihtX3BNb2RidXNDb25uRXZlbnQtPnJlYWR5VG9FeGVjdXRlKCkpew0KLSAgICAgIGlmKG1fcE1vZGJ1c0Nvbm5FdmVudC0+ZXhlY3V0ZUV2ZW50KG1fcE1vZGJ1c0Nvbm4sIE5VTEwpIDwgMCkNCisgICAgICBpZihtX3BNb2RidXNDb25uRXZlbnQtPmV4ZWN1dGVFdmVudChtX3BNb2RidXNDb25uLCBOVUxMKSA8IDApIHsNCiAgICAgICAgIERFVkxPR19FUlJPUigiQ29ubmVjdGlvbiB0byBNb2RidXMgc2VydmVyIGZhaWxlZDogJXNcbiIsIG1vZGJ1c19zdHJlcnJvcihlcnJubykpOw0KLSAgICAgIGVsc2V7DQorICAgICAgfSBlbHNlIHsNCiAgICAgICAgIERFVkxPR19JTkZPKCJDb25uZWN0aW9uIHRvIE1vZGJ1cyBzZXJ2ZXIgc3VjY2VkZWRcbiIpOw0KIA0KICAgICAgICAgZGVsZXRlIG1fcE1vZGJ1c0Nvbm5FdmVudDsNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzY2xpZW50Y29ubmVjdGlvbi5oIGIvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c2NsaWVudGNvbm5lY3Rpb24uaAppbmRleCBhMTRhNzg1Li5jYjJiZWE4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzY2xpZW50Y29ubmVjdGlvbi5oCisrKyBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNjbGllbnRjb25uZWN0aW9uLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLTIwMTQgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzY29ubmVjdGlvbi5jcHAgYi9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzY29ubmVjdGlvbi5jcHAKaW5kZXggMGFlNzYzNy4uOTMzN2Q1OCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c2Nvbm5lY3Rpb24uY3BwCisrKyBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNjb25uZWN0aW9uLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAtMjAxNCBBSVQsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNjb25uZWN0aW9uLmggYi9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzY29ubmVjdGlvbi5oCmluZGV4IDkzYTM4NDUuLjU4M2ZlZmQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNjb25uZWN0aW9uLmgKKysrIGIvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c2Nvbm5lY3Rpb24uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAtMjAxNCBBSVQsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNoYW5kbGVyLmNwcCBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNoYW5kbGVyLmNwcAppbmRleCA2OWI5NWU1Li5mYWYwZWNlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzaGFuZGxlci5jcHAKKysrIGIvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c2hhbmRsZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIC0yMDE0IEFJVCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c2hhbmRsZXIuaCBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNoYW5kbGVyLmgKaW5kZXggYmUzNGM3MS4uODczNTQzNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c2hhbmRsZXIuaAorKysgYi9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzaGFuZGxlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLTIwMTUgQUlULCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzbGF5ZXIuY3BwIGIvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c2xheWVyLmNwcAppbmRleCAyOTU0NGVmLi5jMzFlNmUxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzbGF5ZXIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNsYXllci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLTIwMTQgQUlULCBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4sIFBhdHJpY2sgU21lamthbCwgQWxvaXMgWm9pdGwsIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0zMTQsOCArMzE1LDkgQEAKICAgICAgIFRGb3J0ZVVJbnQxNiAqZGVzdEFyID0gbmV3IFRGb3J0ZVVJbnQxNltuclVpbnQxNnNdOw0KICAgICAgIFRGb3J0ZVVJbnQxNiAqc291cmNlQXIgPSAoVEZvcnRlVUludDE2KikgcGFfYWNEYXRhQXJyYXk7DQogDQotICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG5yVWludDE2czsgaSsrKQ0KKyAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBuclVpbnQxNnM7IGkrKykgew0KICAgICAgICAgZGVzdEFyW2ldID0gc291cmNlQXJbbnJVaW50MTZzIC0gMSAtIGldOw0KKyAgICAgIH0NCiANCiAgICAgICByZXRWYWwgPSAqKChUKikgZGVzdEFyKTsNCiANCkBAIC0zMjMsMTUgKzMyNSwxNyBAQAogICAgIH0NCiAgICAgZWxzZXsNCiAgICAgICBURm9ydGVCeXRlICp0ZW1wQXIgPSBuZXcgVEZvcnRlQnl0ZVtjdXJyZW50RGF0YVNpemVdOw0KLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBjdXJyZW50RGF0YVNpemU7IGorKykNCisgICAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgY3VycmVudERhdGFTaXplOyBqKyspIHsNCiAgICAgICAgIHRlbXBBcltqXSA9IHBhX2FjRGF0YUFycmF5W2pdOw0KKyAgICAgIH0NCiANCiAgICAgICByZXRWYWwgPSAqKChUKikgdGVtcEFyKTsNCiAgICAgICBkZWxldGVbXSB0ZW1wQXI7DQogICAgIH0NCiAgIH0NCi0gIGVsc2UNCisgIGVsc2Ugew0KICAgICByZXRWYWwgPSAwOw0KKyAgfQ0KIA0KICAgcmV0dXJuIHJldFZhbDsNCiB9DQpAQCAtNjQ0LDggKzY0OCw5IEBACiAgIGNvbnN0IGNoYXIgKnBjaCA9IHN0cmNocigmcGFfYWNQYXJhbVtwYV9uU3RhcnRJbmRleF0sICcsJyk7DQogDQogICBpZihwY2ggIT0gTlVMTCl7DQotICAgIGlmKHBjaCAtICZwYV9hY1BhcmFtW3BhX25TdGFydEluZGV4XSA8IHN0ckxlbmd0aCAtIDEpDQorICAgIGlmKHBjaCAtICZwYV9hY1BhcmFtW3BhX25TdGFydEluZGV4XSA8IHN0ckxlbmd0aCAtIDEpIHsNCiAgICAgICByZXR1cm4gcGNoIC0gJnBhX2FjUGFyYW1bMF0gKyAxOw0KKyAgICB9DQogDQogICB9DQogDQpAQCAtNjU3LDE0ICs2NjIsMTUgQEAKICAgY29uc3QgY2hhciAqcGNoQ29tbWEgPSBzdHJjaHIoJnBhX2FjUGFyYW1bcGFfblN0YXJ0SW5kZXhdLCAnLCcpOw0KICAgY29uc3QgY2hhciAqcGNoRG90ID0gc3RyY2hyKCZwYV9hY1BhcmFtW3BhX25TdGFydEluZGV4XSwgJy4nKTsNCiANCi0gIGlmKHBjaENvbW1hICE9IE5VTEwgJiYgcGNoRG90ICE9IE5VTEwpew0KLSAgICBpZihwY2hEb3QgPCBwY2hDb21tYSkNCi0gICAgICBpZihwY2hEb3QgLSAmcGFfYWNQYXJhbVtwYV9uU3RhcnRJbmRleF0gPCBzdHJMZW5ndGggLSAyKQ0KLSAgICAgICAgcmV0dXJuIHBjaERvdCAtICZwYV9hY1BhcmFtWzBdICsgMjsNCi0gIH0NCi0gIGVsc2UgaWYocGNoRG90ICE9IE5VTEwpDQotICAgIGlmKHBjaERvdCAtICZwYV9hY1BhcmFtW3BhX25TdGFydEluZGV4XSA8IHN0ckxlbmd0aCAtIDIpDQorICBpZihwY2hDb21tYSAhPSBOVUxMICYmIHBjaERvdCAhPSBOVUxMKSB7DQorICAgIGlmKHBjaERvdCA8IHBjaENvbW1hICYmIChwY2hEb3QgLSAmcGFfYWNQYXJhbVtwYV9uU3RhcnRJbmRleF0gPCBzdHJMZW5ndGggLSAyKSkgew0KICAgICAgIHJldHVybiBwY2hEb3QgLSAmcGFfYWNQYXJhbVswXSArIDI7DQorICAgIH0NCisgIH0gZWxzZSBpZihwY2hEb3QgIT0gTlVMTCkgew0KKyAgICBpZihwY2hEb3QgLSAmcGFfYWNQYXJhbVtwYV9uU3RhcnRJbmRleF0gPCBzdHJMZW5ndGggLSAyKSB7DQorICAgICAgcmV0dXJuIHBjaERvdCAtICZwYV9hY1BhcmFtWzBdICsgMjsNCisgICAgfQ0KKyAgfQ0KIA0KICAgcmV0dXJuIHBhX25TdGFydEluZGV4Ow0KIH0NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzbGF5ZXIuaCBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNsYXllci5oCmluZGV4IDVmM2QyNWYuLmI2MzQ1NDUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNsYXllci5oCisrKyBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNsYXllci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIC0yMDE1IEFJVCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c3BvbGwuY3BwIGIvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c3BvbGwuY3BwCmluZGV4IDY4NDFmNTkuLmQ0YTQwNDQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNwb2xsLmNwcAorKysgYi9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzcG9sbC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNwb2xsLmggYi9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzcG9sbC5oCmluZGV4IGU3NGY0N2EuLjdkZjc4MzEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXNwb2xsLmgKKysrIGIvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c3BvbGwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyIC0yMDE0IEFJVAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c3RpbWVkZXZlbnQuY3BwIGIvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c3RpbWVkZXZlbnQuY3BwCmluZGV4IDJjOWFjNzguLjk2YWZkYzUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXN0aW1lZGV2ZW50LmNwcAorKysgYi9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzdGltZWRldmVudC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzdGltZWRldmVudC5oIGIvc3JjL21vZHVsZXMvbW9kYnVzL21vZGJ1c3RpbWVkZXZlbnQuaAppbmRleCA0NDQzNmUzLi5mZTNiZmVkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9tb2RidXMvbW9kYnVzdGltZWRldmVudC5oCisrKyBiL3NyYy9tb2R1bGVzL21vZGJ1cy9tb2RidXN0aW1lZGV2ZW50LmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tcXR0X3BhaG8vQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9tcXR0X3BhaG8vQ01ha2VMaXN0cy50eHQKaW5kZXggNDAyYjVkOC4uYWJkM2NhNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbXF0dF9wYWhvL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL21xdHRfcGFoby9DTWFrZUxpc3RzLnR4dApAQCAtMSw5ICsxLDEwIEBACiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICMgQ29weXJpZ2h0IChjKSAyMDEzLCAyMDE0IEFDSU4NCi0jIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogIw0KICMgQ29udHJpYnV0b3JzOg0KICMgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL21xdHRfcGFoby9NUVRUQ29tTGF5ZXIuY3BwIGIvc3JjL21vZHVsZXMvbXF0dF9wYWhvL01RVFRDb21MYXllci5jcHAKaW5kZXggNWE2ZWQ5YS4uOWVmNzNiOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbXF0dF9wYWhvL01RVFRDb21MYXllci5jcHAKKysrIGIvc3JjL21vZHVsZXMvbXF0dF9wYWhvL01RVFRDb21MYXllci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMywgMjAxNCBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC02MywxNCArNjQsMTUgQEAKIAogRUNvbVJlc3BvbnNlIE1RVFRDb21MYXllcjo6b3BlbkNvbm5lY3Rpb24oY2hhciogcGFMYXllclBhcmFtZXRlcikgewogICBFQ29tUmVzcG9uc2UgZVJldFZhbCA9IGVfSW5pdEludmFsaWRJZDsKLSAgQ1BhcmFtZXRlclBhcnNlciBwYXJzZXIocGFMYXllclBhcmFtZXRlciwgbU5vT2ZQYXJhbWV0ZXJzKTsKKyAgQ1BhcmFtZXRlclBhcnNlciBwYXJzZXIocGFMYXllclBhcmFtZXRlciwgJywnLCBtTm9PZlBhcmFtZXRlcnMpOwogICBpZihtTm9PZlBhcmFtZXRlcnMgPT0gcGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKXsKICAgICBtVG9waWNOYW1lID0gcGFyc2VyW1RvcGljXTsKICAgICBpZiggTVFUVEhhbmRsZXI6OmVSZWdpc3RlckxheWVyU3VjY2VlZGVkID09CiAgICAgICAgIGdldEV4dEV2SGFuZGxlcjxNUVRUSGFuZGxlcj4oKS5yZWdpc3RlckxheWVyKHBhcnNlcltBZGRyZXNzXSwgcGFyc2VyW0NsaWVudElEXSwgdGhpcykpIHsKICAgICAgIGVSZXRWYWwgPSBlX0luaXRPazsKKyAgICB9IGVsc2UgeworICAgICAgZVJldFZhbCA9IGVfSW5pdEludmFsaWRJZDsKICAgICB9Ci0gICAgZWxzZSBlUmV0VmFsID0gZV9Jbml0SW52YWxpZElkOwogCiAgICAgc3dpdGNoIChtX3BvRmItPmdldENvbVNlcnZpY2VUeXBlKCkpewogICAgIGNhc2UgZV9TZXJ2ZXI6CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tcXR0X3BhaG8vTVFUVENvbUxheWVyLmggYi9zcmMvbW9kdWxlcy9tcXR0X3BhaG8vTVFUVENvbUxheWVyLmgKaW5kZXggNzA5NDg4ZC4uODJhOGQzYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbXF0dF9wYWhvL01RVFRDb21MYXllci5oCisrKyBiL3NyYy9tb2R1bGVzL21xdHRfcGFoby9NUVRUQ29tTGF5ZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMywgMjAxNCBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xNiw3ICsxNyw3IEBACiAjaW5jbHVkZSAiY29tbGF5ZXIuaCINCiAjaW5jbHVkZSAiLi4vLi4vY29yZS9kYXRhdHlwZXMvZm9ydGVfc3RyaW5nLmgiDQogZXh0ZXJuICJDIiB7DQotICAjaW5jbHVkZSA8TVFUVEFzeW5jLmg+DQorI2luY2x1ZGUgPE1RVFRBc3luYy5oPg0KIH0NCiANCiAjZGVmaW5lIFFPUyAwDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvbXF0dF9wYWhvL01RVFRIYW5kbGVyLmNwcCBiL3NyYy9tb2R1bGVzL21xdHRfcGFoby9NUVRUSGFuZGxlci5jcHAKaW5kZXggYmE2NWM1NC4uZWE5Yjc3ZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvbXF0dF9wYWhvL01RVFRIYW5kbGVyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9tcXR0X3BhaG8vTVFUVEhhbmRsZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMsIDIwMTQgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtNTMsNiArNTQsMTQgQEAKIC8qCiAgKiBTVEFSVCBPRiBDQUxMQkFDS1MKICAqLworCisvKiogQ2FsbGJhY2sgZm9yIGhhbmRsaW5nIG1lc3NhZ2UgcmVjZXB0aW9uLgorICoKKyAqIEZvciBjb252ZW5pZW5jZSBhbmQgcGVyZm9ybWFuY2UgaXQgd291bGQgYmUgZ3JlYXQgdG8gaGF2ZSB0aGUgcGFDb250ZXh0IHBhcmFtIHNldCBzdWJzY3JpYmluZyB0b3BpYy4KKyAqIEhvd2V2ZXIgUGFobyBvbmx5IGFsbG93cyBvbmUgY2FsbGJhY2sgcGVyIGNsaWVudC4gVGhlcmVmb3JlIHdlIGhhdmUgdG8gc2VhcmNoIGZvciB0aGUgbGF5ZXJzIGF0dGFjaGVkIHRvIHRoaXMgdG9waWMuCisgKiBGb3IgZGV0YWlscyBzZWUgZGlzY3Vzc2lvbiBpbiBCdWcgNTQ1MTExLgorICoKKyAqLwogaW50IE1RVFRIYW5kbGVyOjpvbk1xdHRNZXNzYWdlQXJyaXZlZCh2b2lkKiBwYUNvbnRleHQsIGNoYXIqIHBhVG9waWNOYW1lLCBpbnQsIE1RVFRBc3luY19tZXNzYWdlKiBwYU1lc3NhZ2UpewogICAvL1RPRE86IENoZWNrIGlmIGhhbmRsZXIgYWxsb3dlZAogICBpZigwICE9IHBhQ29udGV4dCl7CkBAIC0xMjIsNyArMTMxLDcgQEAKICAgICBNUVRUSGFuZGxlciYgaGFuZGxlciA9IDo6Z2V0RXh0RXZIYW5kbGVyPE1RVFRIYW5kbGVyPigqbGF5ZXItPmdldENvbW1GQigpKTsKICAgICBERVZMT0dfSU5GTygiTVFUVDogU3Vic2NyaXB0aW9uIHN1Y2NlZWQuIFRvcGljOiAtJXMtXG4iLCBsYXllci0+Z2V0VG9waWNOYW1lKCkpOwogCi0gICAgaGFuZGxlci5wb3BMYXllckZyb21MaXN0KGxheWVyLCAmaGFuZGxlci5tVG9SZXN1YnNjcmliZSk7CisgICAgaGFuZGxlci5tVG9SZXN1YnNjcmliZS5lcmFzZShsYXllcik7CiAgICAgaWYoaGFuZGxlci5tVG9SZXN1YnNjcmliZS5pc0VtcHR5KCkpewogICAgICAgc21NUVRUU19TVEFURSA9IEFMTF9TVUJTQ1JJQkVEOwogICAgIH0KQEAgLTE3MywyNiArMTgyLDYgQEAKICAgcmV0dXJuIHJjOwogfQogCi12b2lkIE1RVFRIYW5kbGVyOjpwb3BMYXllckZyb21MaXN0KE1RVFRDb21MYXllciogcGFMYXllciwgQ1NpbmdseUxpbmtlZExpc3Q8TVFUVENvbUxheWVyKj4gKnBhTGlzdCl7Ci0gIENTaW5nbHlMaW5rZWRMaXN0PE1RVFRDb21MYXllcio+OjpJdGVyYXRvciBpdFJ1bm5lcihwYUxpc3QtPmJlZ2luKCkpOwotICBDU2luZ2x5TGlua2VkTGlzdDxNUVRUQ29tTGF5ZXIqPjo6SXRlcmF0b3IgaXRSZWZOb2RlKHBhTGlzdC0+ZW5kKCkpOwotICBDU2luZ2x5TGlua2VkTGlzdDxNUVRUQ29tTGF5ZXIqPjo6SXRlcmF0b3IgaXRFbmQocGFMaXN0LT5lbmQoKSk7Ci0KLSAgd2hpbGUoaXRSdW5uZXIgIT0gaXRFbmQpewotICAgIGlmKCppdFJ1bm5lciA9PSBwYUxheWVyKXsKLSAgICAgIGlmKGl0UmVmTm9kZSA9PSBpdEVuZCl7Ci0gICAgICAgIHBhTGlzdC0+cG9wRnJvbnQoKTsKLSAgICAgIH0KLSAgICAgIGVsc2V7Ci0gICAgICAgIHBhTGlzdC0+ZXJhc2VBZnRlcihpdFJlZk5vZGUpOwotICAgICAgfQotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGl0UmVmTm9kZSA9IGl0UnVubmVyOwotICAgICsraXRSdW5uZXI7Ci0gIH0KLX0KLQogaW50IE1RVFRIYW5kbGVyOjpyZWdpc3RlckxheWVyKGNvbnN0IGNoYXIqIHBhQWRkcmVzcywgY29uc3QgY2hhciogcGFDbGllbnRJZCwgTVFUVENvbUxheWVyKiBwYUxheWVyKXsKICAgaWYoc21DbGllbnQgPT0gMCl7CiAgICAgc21DbGllbnRJZCA9IHBhQ2xpZW50SWQ7CkBAIC0yMzQsNyArMjIzLDcgQEAKIAogdm9pZCBNUVRUSGFuZGxlcjo6dW5yZWdpc3RlckxheWVyKE1RVFRDb21MYXllciogcGFMYXllcil7CiAgIENDcml0aWNhbFJlZ2lvbiBzZWN0aW9uKHNtTVFUVE11dGV4KTsKLSAgcG9wTGF5ZXJGcm9tTGlzdChwYUxheWVyLCAmbWxheWVycyk7CisgIG1sYXllcnMuZXJhc2UocGFMYXllcik7CiB9CiAKIHZvaWQgTVFUVEhhbmRsZXI6OmVuYWJsZUhhbmRsZXIodm9pZCl7CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9tcXR0X3BhaG8vTVFUVEhhbmRsZXIuaCBiL3NyYy9tb2R1bGVzL21xdHRfcGFoby9NUVRUSGFuZGxlci5oCmluZGV4IGYxZjRkNDAuLmY1ZWJmMTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL21xdHRfcGFoby9NUVRUSGFuZGxlci5oCisrKyBiL3NyYy9tb2R1bGVzL21xdHRfcGFoby9NUVRUSGFuZGxlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMsIDIwMTQgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtNzMsOCArNzQsNiBAQAogICAgIGludCBtcXR0U3Vic2NyaWJlKGNvbnN0IE1RVFRDb21MYXllciogcGFMYXllcik7CiAgICAgaW50IG1xdHRDb25uZWN0KCk7CiAKLSAgICB2b2lkIHBvcExheWVyRnJvbUxpc3QoTVFUVENvbUxheWVyKiBwYUxheWVyLCBDU2luZ2x5TGlua2VkTGlzdDxNUVRUQ29tTGF5ZXIqPiAqcGFMaXN0KTsKLQogICAgIHZvaWQgcmVzdW1lU2VsZlN1c3BlbmQoKTsKICAgICB2b2lkIHNlbGZTdXNwZW5kKCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29kcm9pZC9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL29kcm9pZC9DTWFrZUxpc3RzLnR4dAppbmRleCAxNWQwZmQzLi5iMGEzMTBkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9vZHJvaWQvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvb2Ryb2lkL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIAogIAogZm9ydGVfYWRkX21vZHVsZShPZHJvaWQgIkludGVyYWN0aW5nIHdpdGggR1BJT3MgYW5kIGFuYWxvZ3VlIGlucHV0cyBvZiB0aGUgT2Ryb2lkIGRldmljZSIpCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vZHJvaWQvcHJvY2Vzc2ludGVyZmFjZS5jcHAgYi9zcmMvbW9kdWxlcy9vZHJvaWQvcHJvY2Vzc2ludGVyZmFjZS5jcHAKaW5kZXggMDA3ZDk2MC4uN2JkMjYwYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb2Ryb2lkL3Byb2Nlc3NpbnRlcmZhY2UuY3BwCisrKyBiL3NyYy9tb2R1bGVzL29kcm9pZC9wcm9jZXNzaW50ZXJmYWNlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb2Ryb2lkL3Byb2Nlc3NpbnRlcmZhY2UuaCBiL3NyYy9tb2R1bGVzL29kcm9pZC9wcm9jZXNzaW50ZXJmYWNlLmgKaW5kZXggNDUzY2FiYy4uOWJjMmM3YSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb2Ryb2lkL3Byb2Nlc3NpbnRlcmZhY2UuaAorKysgYi9zcmMvbW9kdWxlcy9vZHJvaWQvcHJvY2Vzc2ludGVyZmFjZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGMvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9vcGMvQ01ha2VMaXN0cy50eHQKaW5kZXggYzBiYTM2MS4uYTlkZjAzOCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL29wYy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEyLCAyMDE1IEFJVCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBGaWxpcCBBbmRyZW4sIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCisjIENvcHlyaWdodCAoYykgMjAxMiwgMjAxNSBBSVQsIEFDSU4sIGZvcnRpc3MgR21iSA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogIyBPUEMgQ29tIExheWVyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjL0NtZF9BZGRDb25uZWN0aW9uLmNwcCBiL3NyYy9tb2R1bGVzL29wYy9DbWRfQWRkQ29ubmVjdGlvbi5jcHAKaW5kZXggZGMzYzc3Yy4uNjVkMDk1MyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjL0NtZF9BZGRDb25uZWN0aW9uLmNwcAorKysgYi9zcmMvbW9kdWxlcy9vcGMvQ21kX0FkZENvbm5lY3Rpb24uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjL0NtZF9BZGRDb25uZWN0aW9uLmggYi9zcmMvbW9kdWxlcy9vcGMvQ21kX0FkZENvbm5lY3Rpb24uaAppbmRleCBiMGNjZTQyLi4wMjhlYTc1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9vcGMvQ21kX0FkZENvbm5lY3Rpb24uaAorKysgYi9zcmMvbW9kdWxlcy9vcGMvQ21kX0FkZENvbm5lY3Rpb24uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9DbWRfQWRkT1BDUHJvY2Vzc1Zhci5jcHAgYi9zcmMvbW9kdWxlcy9vcGMvQ21kX0FkZE9QQ1Byb2Nlc3NWYXIuY3BwCmluZGV4IDQ0ZjdmYzYuLjk5NTFmOGYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wYy9DbWRfQWRkT1BDUHJvY2Vzc1Zhci5jcHAKKysrIGIvc3JjL21vZHVsZXMvb3BjL0NtZF9BZGRPUENQcm9jZXNzVmFyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9DbWRfQWRkT1BDUHJvY2Vzc1Zhci5oIGIvc3JjL21vZHVsZXMvb3BjL0NtZF9BZGRPUENQcm9jZXNzVmFyLmgKaW5kZXggZGY2YjNiNS4uZmRhNmU0YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjL0NtZF9BZGRPUENQcm9jZXNzVmFyLmgKKysrIGIvc3JjL21vZHVsZXMvb3BjL0NtZF9BZGRPUENQcm9jZXNzVmFyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGMvQ21kX1NldFByb2Nlc3NWYXJWYWx1ZS5jcHAgYi9zcmMvbW9kdWxlcy9vcGMvQ21kX1NldFByb2Nlc3NWYXJWYWx1ZS5jcHAKaW5kZXggYmE2MWVkZC4uODQxMTFmNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjL0NtZF9TZXRQcm9jZXNzVmFyVmFsdWUuY3BwCisrKyBiL3NyYy9tb2R1bGVzL29wYy9DbWRfU2V0UHJvY2Vzc1ZhclZhbHVlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9DbWRfU2V0UHJvY2Vzc1ZhclZhbHVlLmggYi9zcmMvbW9kdWxlcy9vcGMvQ21kX1NldFByb2Nlc3NWYXJWYWx1ZS5oCmluZGV4IDhjYWM1ZWEuLjNkODllMmMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wYy9DbWRfU2V0UHJvY2Vzc1ZhclZhbHVlLmgKKysrIGIvc3JjL21vZHVsZXMvb3BjL0NtZF9TZXRQcm9jZXNzVmFyVmFsdWUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9JQ21kLmggYi9zcmMvbW9kdWxlcy9vcGMvSUNtZC5oCmluZGV4IDc4ZjJiNTUuLjMzODgxYTQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wYy9JQ21kLmgKKysrIGIvc3JjL21vZHVsZXMvb3BjL0lDbWQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9WYXJpYW50LmggYi9zcmMvbW9kdWxlcy9vcGMvVmFyaWFudC5oCmluZGV4IDU0MmUyODcuLjM4MmRmOWMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wYy9WYXJpYW50LmgKKysrIGIvc3JjL21vZHVsZXMvb3BjL1ZhcmlhbnQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBXZXJuZXIgVHJlbW1lbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtMTM0LDcgKzEzNSw3IEBACiAgICAgICAgIGNhc2UgVlRfSTE6DQogICAgICAgICAgIHJldHVybiBjVmFsICE9IDAgPyB0cnVlIDogZmFsc2U7DQogICAgICAgICBjYXNlIFZUX1VJODoNCi0gICAgICAgICAgcmV0dXJuIHVsbFZhbCAhPSAwID8gdHJ1ZSA6IGZhbHNlOyANCisgICAgICAgICAgcmV0dXJuIHVsbFZhbCAhPSAwID8gdHJ1ZSA6IGZhbHNlOw0KICAgICAgICAgY2FzZSBWVF9VSTQ6DQogICAgICAgICAgcmV0dXJuIHVsVmFsICE9IDAgPyB0cnVlIDogZmFsc2U7DQogICAgICAgICBjYXNlIFZUX1VJMjoNCkBAIC0xNDIsNyArMTQzLDcgQEAKICAgICAgICAgY2FzZSBWVF9VSTE6DQogICAgICAgICByZXR1cm4gYlZhbCAhPSAwID8gdHJ1ZSA6IGZhbHNlOw0KICAgICAgICAgY2FzZSBWVF9SODoNCi0gICAgICAgIHJldHVybiBkYmxWYWwgIT0gMCA/IHRydWUgOiBmYWxzZTsgDQorICAgICAgICByZXR1cm4gZGJsVmFsICE9IDAgPyB0cnVlIDogZmFsc2U7DQogICAgICAgICBjYXNlIFZUX1I0Og0KICAgICAgICAgIHJldHVybiBmbHRWYWwgIT0gMCA/IHRydWUgOiBmYWxzZTsNCiAgICAgICAgIGNhc2UgVlRfSU5UOg0KQEAgLTMwMiw4ICszMDMsOSBAQAogICAgIH0NCiANCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFZhcmlhbnQgJm90aGVyKSBjb25zdHsNCi0gICAgICBpZih2dCAhPSBvdGhlci52dCkNCisgICAgICBpZih2dCAhPSBvdGhlci52dCkgew0KICAgICAgICAgcmV0dXJuIGZhbHNlOw0KKyAgICAgIH0NCiAgICAgICBVTE9OR0xPTkcgbWFzayA9IH4wdWw7DQogICAgICAgc3dpdGNoICh2dCl7DQogICAgICAgICBjYXNlIFZUX0k0Og0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9vcGNjb21sYXllci5jcHAgYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29tbGF5ZXIuY3BwCmluZGV4IGQzMTE3NDIuLjRiZjQzZDkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wYy9vcGNjb21sYXllci5jcHAKKysrIGIvc3JjL21vZHVsZXMvb3BjL29wY2NvbWxheWVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAtMjAxNCBBSVQsIEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgUGF0cmljayBTbWVqa2FsLCBBbG9pcyBab2l0bCwgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KQEAgLTQxLDggKzQyLDkgQEAKIA0KICAgICAgICAgVE9wY1Byb2Nlc3NWYXJMaXN0OjpJdGVyYXRvciBpdEVuZCA9IG1fbEZCSW5wdXRWYXJzLmVuZCgpOw0KICAgICAgICAgZm9yKFRPcGNQcm9jZXNzVmFyTGlzdDo6SXRlcmF0b3IgaXQgPSBtX2xGQklucHV0VmFycy5iZWdpbigpOyBpdCAhPSBpdEVuZDsgKytpdCl7DQotICAgICAgICAgIGlmIChpdC0+Z2V0SXNBY3RpdmUoKSkNCi0gICAgICAgICAgICBtX3BPcGNDb25uZWN0aW9uLT5zZW5kX3NlbmRJdGVtRGF0YSgoKml0KSk7DQorICAgICAgICAgICAgaWYoaXQtPmdldElzQWN0aXZlKCkpIHsNCisgICAgICAgICAgICAgIG1fcE9wY0Nvbm5lY3Rpb24tPnNlbmRfc2VuZEl0ZW1EYXRhKCgqaXQpKTsNCisgICAgICAgICAgICB9DQogICAgICAgICB9DQogICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgICB9DQpAQCAtMTE2LDkgKzExOCw5IEBACiAgICAgICAgICAgLy8gU3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCAtLT4gYWRkaW5nIE9QQyBpdGVtcw0KICAgICAgICAgICBpZihhZGRPcGNJdGVtcygpIDwgMCl7DQogICAgICAgICAgICAgLy9UT0RPDQotICAgICAgICAgIH0NCi0gICAgICAgICAgZWxzZQ0KKyAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgIG1fZUNvbm5lY3Rpb25TdGF0ZSA9IGVfQ29ubmVjdGVkOw0KKyAgICAgICAgICB9DQogICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgY2FzZSBDT3BjQ29ubmVjdGlvbjo6ZV9Db25uZWN0aW9uRmFpbGVkOg0KICAgICAgICAgICB7DQpAQCAtMTgxLDcgKzE4Myw3IEBACiAgICAgICBpZihtX2JMYXllclBhcmFtc09LKXsNCiAgICAgICAgIGVSZXRWYWwgPSBlX0luaXRPazsNCiAgICAgICAgIG1fcE9wY0Nvbm5lY3Rpb24gPSBDT3BjQ29ubmVjdGlvbkhhbmRsZXI6OmdldEluc3RhbmNlKCkuZ2V0T3BjQ29ubmVjdGlvbihtX2FjSG9zdCwgbV9hY1NlcnZlck5hbWUsIG1fYWNPcGNHcm91cE5hbWUsIG1fblVwZGF0ZVJhdGUsIG1fbkRlYWRCYW5kLCB0aGlzKTsNCi0gICAgICAgIA0KKw0KICAgICAgICAgbV9wT3BjQ29ubmVjdGlvbi0+c2VuZF9jb25uZWN0KCk7DQogDQogICAgICAgICBDT3BjQ29ubmVjdGlvbjo6RU9wY0Nvbm5lY3Rpb25FdmVudHMgY29ublN0YXRlID0gbV9wT3BjQ29ubmVjdGlvbi0+Z2V0Q29ubmVjdGlvblN0YXRlKCk7DQpAQCAtMTg5LDggKzE5MSw5IEBACiAgICAgICAgICAgbV9lQ29ubmVjdGlvblN0YXRlID0gZV9Db25uZWN0ZWQ7DQogICAgICAgICAgIGFkZE9wY0l0ZW1zKCk7DQogICAgICAgICB9DQotICAgICAgICBlbHNlIGlmIChjb25uU3RhdGUgPT0gQ09wY0Nvbm5lY3Rpb246OmVfQ29ubmVjdGlvbkZhaWxlZCkNCisgICAgICAgIGVsc2UgaWYoY29ublN0YXRlID09IENPcGNDb25uZWN0aW9uOjplX0Nvbm5lY3Rpb25GYWlsZWQpIHsNCiAgICAgICAgICAgZVJldFZhbCA9IGVfSW5pdFRlcm1pbmF0ZWQ7DQorICAgICAgICB9DQogICAgICAgfQ0KICAgICAgIGJyZWFrOw0KICAgICBjYXNlIGVfUHVibGlzaGVyOg0KQEAgLTI5MSwxNiArMjk0LDE4IEBACiANCiAgICAgLy8gR2V0IEhvc3QNCiAgICAgY2hyU3RvcmFnZSA9IHN0cmNocihwYV9hY0xheWVyUGFyYW1zLCAnOicpOw0KLSAgICBpZihjaHJTdG9yYWdlID09IDApDQorICBpZihjaHJTdG9yYWdlID09IDApIHsNCiAgICAgICByZXR1cm47DQorICB9DQogICAgICpjaHJTdG9yYWdlID0gJ1wwJzsNCiAgICAgKytjaHJTdG9yYWdlOw0KICAgICBjaHJIb3N0ID0gKGNoYXIqKSBtYWxsb2Moc3RybGVuKHBhX2FjTGF5ZXJQYXJhbXMpICsgMSk7DQogICAgIHN0cmNweShjaHJIb3N0LCBwYV9hY0xheWVyUGFyYW1zKTsNCi0gICAgaWYoc3RyY21wKGNockhvc3QsICIxMjcuMC4wLjEiKSA9PSAwIHx8IHN0cmNtcChjaHJIb3N0LCAibG9jYWxob3N0IikgPT0gMCkNCisgIGlmKHN0cmNtcChjaHJIb3N0LCAiMTI3LjAuMC4xIikgPT0gMCB8fCBzdHJjbXAoY2hySG9zdCwgImxvY2FsaG9zdCIpID09IDApIHsNCiAgICAgICBtX2FjSG9zdCA9ICIiOw0KLSAgICBlbHNlDQotICAgICAgbV9hY0hvc3QgPSBjaHJIb3N0Ow0KKyAgfSBlbHNlIHsNCisgICAgbV9hY0hvc3QgPSBjaHJIb3N0Ow0KKyAgfQ0KIA0KICAgICAvLyBHZXQgc2VydmVyIG5hbWUNCiAgICAgdGVtcCA9IGNoclN0b3JhZ2U7DQpAQCAtMzc1LDggKzM4MCw5IEBACiAgICAgICBwY2ggPSBzdHJ0b2soTlVMTCwgIiwiKTsNCiAgICAgfQ0KIA0KLSAgICBpZihuckl0ZW1zID4gMCkNCi0gICAgICBtX2JMYXllclBhcmFtc09LID0gdHJ1ZTsNCisgIGlmKG5ySXRlbXMgPiAwKSB7DQorICAgIG1fYkxheWVyUGFyYW1zT0sgPSB0cnVlOw0KKyAgfQ0KIA0KICAgfQ0KIA0KQEAgLTM5Miw3ICszOTgsNyBAQAogIC8vICAgICBDSUVDX0FOWSAqZGF0YUluID0gJmFwb1NEc1tzZEluZGV4XTsNCiAgICAgICBWYXJpYW50IG5ld1ZhcmlhbnQ7DQogICAgICAgLy91bnNpZ25lZCBpbnQgdmFsdWVTaXplID0gMDsNCi0gICAgDQorDQogICAgIC8vdmFsdWVTaXplID0gZ2V0SW5wdXRWYWx1ZVNpemUoZGF0YUluLCAmbmV3VmFyaWFudCk7Ow0KIA0KICAgICAgIGl0X3Zhci0+c2V0TmV3VmFsdWUobmV3VmFyaWFudCk7DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjL29wY2NvbWxheWVyLmggYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29tbGF5ZXIuaAppbmRleCBhMDIyN2FkLi5mZTY2ODg5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9vcGMvb3BjY29tbGF5ZXIuaAorKysgYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29tbGF5ZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAtMjAxNSBBSVQsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9vcGNjb25uZWN0aW9uLmNwcCBiL3NyYy9tb2R1bGVzL29wYy9vcGNjb25uZWN0aW9uLmNwcAppbmRleCA2Yjc5N2RmLi4zMmQ2MzZhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbi5jcHAKKysrIGIvc3JjL21vZHVsZXMvb3BjL29wY2Nvbm5lY3Rpb24uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIC0yMDE0IEFJVCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtMTM5LDE4ICsxNDAsMTkgQEAKIH0NCiANCiBpbnQgQ09wY0Nvbm5lY3Rpb246OnNlbmRfc2VuZEl0ZW1EYXRhKENPcGNQcm9jZXNzVmFyKiBwYV9wSXRlbSl7DQotICBpZiAocGFfcEl0ZW0tPmdldElzQWN0aXZlKCkpDQorICBpZihwYV9wSXRlbS0+Z2V0SXNBY3RpdmUoKSkgew0KICAgICBtX2V2ZW50SGFuZGxlci0+c2VuZENvbW1hbmQobmV3IENDbWRfU2V0UHJvY2Vzc1ZhclZhbHVlKHBhX3BJdGVtKSk7DQotDQorICB9DQogICByZXR1cm4gMDsNCiB9DQogDQogdm9pZCBDT3BjQ29ubmVjdGlvbjo6cmVzcG9uc2VfY29ubmVjdChib29sIHBhX2JDb25uZWN0aW9uU3RhdGUpew0KICAgbV9iSXNDb25uZWN0ZWQgPSBwYV9iQ29ubmVjdGlvblN0YXRlOw0KLSAgaWYocGFfYkNvbm5lY3Rpb25TdGF0ZSkNCisgIGlmKHBhX2JDb25uZWN0aW9uU3RhdGUpIHsNCiAgICAgbV9lQ29ubmVjdGlvbkV2ZW50ID0gZV9Db25uZWN0ZWQ7DQotICBlbHNlDQorICB9IGVsc2Ugew0KICAgICBtX2VDb25uZWN0aW9uRXZlbnQgPSBlX0Nvbm5lY3Rpb25GYWlsZWQ7DQorICB9DQogICAgIC8vbV9lQ29ubmVjdGlvbkV2ZW50ID0gZV9EaXNjb25uZWN0ZWQ7DQogDQogICBpZighbV9iQmxvY2tpbmdDb25uZWN0KXsNCkBAIC0xODUsMTkgKzE4NywyMiBAQAogICAgICAgICAgIGlmKHN0cmNtcChpdF9uZXdJdGVtLT5tX2FjSXRlbU5hbWUsIGl0X2l0ZW0tPm1fYWNJdGVtTmFtZSkgPT0gMCl7DQogICAgICAgICAgICAgaXRfaXRlbS0+bV9vSXRlbURhdGEgPSBpdF9uZXdJdGVtLT5tX29JdGVtRGF0YTsNCiANCi0gICAgICAgICAgICBpZihpdF9uZXdJdGVtID09IHBhX2xJdGVtRGF0YUxpc3QuYmVnaW4oKSkNCisgICAgICAgICAgICBpZihpdF9uZXdJdGVtID09IHBhX2xJdGVtRGF0YUxpc3QuYmVnaW4oKSkgew0KICAgICAgICAgICAgICAgcGFfbEl0ZW1EYXRhTGlzdC5wb3BGcm9udCgpOw0KLSAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgcGFfbEl0ZW1EYXRhTGlzdC5lcmFzZUFmdGVyKGl0RXJhc2UpOw0KKyAgICAgICAgICAgIH0NCiANCiAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgfQ0KIA0KLSAgICAgICAgICBpZihpdF9uZXdJdGVtICE9IHBhX2xJdGVtRGF0YUxpc3QuYmVnaW4oKSkNCisgICAgICAgICAgaWYoaXRfbmV3SXRlbSAhPSBwYV9sSXRlbURhdGFMaXN0LmJlZ2luKCkpIHsNCiAgICAgICAgICAgICArK2l0RXJhc2U7DQorICAgICAgICAgIH0NCiAgICAgICAgIH0NCi0gICAgICAgIGlmKHBhX2xJdGVtRGF0YUxpc3QuaXNFbXB0eSgpKQ0KLSAgICAgICAgICBicmVhazsNCisgICAgICAgICAgaWYocGFfbEl0ZW1EYXRhTGlzdC5pc0VtcHR5KCkpIHsNCisgICAgICAgICAgICBicmVhazsNCisgICAgICAgICAgfQ0KICAgICAgIH0NCiANCiAgICAgICAvLyBDaGFuZ2Ugc3RhdGUNCkBAIC0yMTgsMTEgKzIyMywxMSBAQAogICBmb3IoVE9wY0dyb3VwTWFwTGlzdDo6SXRlcmF0b3IgaXRfZ3JvdXAgPSBtX2xPcGNHcm91cE1hcExpc3QuYmVnaW4oKTsgaXRfZ3JvdXAgIT0gaXRFbmRfZ3JvdXA7ICsraXRfZ3JvdXApew0KICAgICBpZihzdHJjbXAoaXRfZ3JvdXAtPm1fYWNHcm91cE5hbWUsIHBhX3BPcGNJdGVtLT5nZXRJdGVtR3JvdXBOYW1lKCkpID09IDApew0KICAgICAgIC8vIENoYW5nZSBzdGF0ZQ0KLSAgICAgIGlmIChwYV9wT3BjSXRlbS0+Z2V0SXNBY3RpdmUoKSkNCisgICAgICBpZiAocGFfcE9wY0l0ZW0tPmdldElzQWN0aXZlKCkpIHsNCiAgICAgICAgIG1fZUNvbm5lY3Rpb25FdmVudCA9IGVfSXRlbUFkZGVkT2s7DQotICAgICAgZWxzZQ0KKyAgICAgIH0gZWxzZSB7DQogICAgICAgICBtX2VDb25uZWN0aW9uRXZlbnQgPSBlX0l0ZW1BZGRlZEZhaWxlZDsNCi0NCisgICAgICB9DQogICAgICAgLy8gTm90aWZ5IENvbSBMYXllcg0KICAgICAgIG1fZXZlbnRIYW5kbGVyLT5leGVjdXRlQ29tQ2FsbGJhY2soaXRfZ3JvdXAtPm1fbkNhbGxiYWNrRGVzYyk7DQogICAgICAgYnJlYWs7DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjL29wY2Nvbm5lY3Rpb24uaCBiL3NyYy9tb2R1bGVzL29wYy9vcGNjb25uZWN0aW9uLmgKaW5kZXggZjlkMzZmZi4uYWY4MTBjYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjL29wY2Nvbm5lY3Rpb24uaAorKysgYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIC0yMDE0IEFJVCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjL29wY2Nvbm5lY3Rpb25oYW5kbGVyLmNwcCBiL3NyYy9tb2R1bGVzL29wYy9vcGNjb25uZWN0aW9uaGFuZGxlci5jcHAKaW5kZXggYjhhYWM2NS4uOTEwYjkzMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjL29wY2Nvbm5lY3Rpb25oYW5kbGVyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbmhhbmRsZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIC0yMDE0IEFJVCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtNDYsMTYgKzQ3LDE4IEBACiAgIGlmKGV4aXN0aW5nQ29uICE9IE5VTEwpew0KICAgICBleGlzdGluZ0Nvbi0+cmVtb3ZlR3JvdXAocGFfYWNHcm91cE5hbWUpOw0KIA0KLSAgICBpZihleGlzdGluZ0Nvbi0+Z2V0R3JvdXBDb3VudCgpID09IDApDQorICAgIGlmKGV4aXN0aW5nQ29uLT5nZXRHcm91cENvdW50KCkgPT0gMCkgew0KICAgICAgIGRlbGV0ZU9wY0Nvbm5lY3Rpb24ocGFfYWNIb3N0LCBwYV9hY1NlcnZlck5hbWUpOw0KKyAgICB9DQogICB9DQogfQ0KIA0KIENPcGNDb25uZWN0aW9uKiBDT3BjQ29ubmVjdGlvbkhhbmRsZXI6OmZpbmRPcGNDb25uZWN0aW9uKGNvbnN0IGNoYXIqIHBhX2FjSG9zdCwgY29uc3QgY2hhciogcGFfYWNTZXJ2ZXJOYW1lKXsNCiAgIFRPcGNDb25uZWN0aW9uTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBtX2xPcGNDb25uZWN0aW9uTGlzdC5lbmQoKTsNCiAgIGZvcihUT3BjQ29ubmVjdGlvbkxpc3Q6Okl0ZXJhdG9yIGl0ID0gbV9sT3BjQ29ubmVjdGlvbkxpc3QuYmVnaW4oKTsgaXQgIT0gaXRFbmQ7ICsraXQpew0KLSAgICBpZihzdHJjbXAoaXQtPmdldEhvc3QoKSwgcGFfYWNIb3N0KSA9PSAwICYmIHN0cmNtcChpdC0+Z2V0U2VydmVyTmFtZSgpLCBwYV9hY1NlcnZlck5hbWUpID09IDApDQorICAgIGlmKHN0cmNtcChpdC0+Z2V0SG9zdCgpLCBwYV9hY0hvc3QpID09IDAgJiYgc3RyY21wKGl0LT5nZXRTZXJ2ZXJOYW1lKCksIHBhX2FjU2VydmVyTmFtZSkgPT0gMCkgew0KICAgICAgIHJldHVybiAoKml0KTsNCisgICAgfQ0KICAgfQ0KIA0KICAgcmV0dXJuIE5VTEw7DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjL29wY2Nvbm5lY3Rpb25oYW5kbGVyLmggYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbmhhbmRsZXIuaAppbmRleCAwNjBkNWUyLi40Zjk4MjVmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbmhhbmRsZXIuaAorKysgYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbmhhbmRsZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAtMjAxNCBBSVQsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9vcGNjb25uZWN0aW9uaW1wbC5jcHAgYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbmltcGwuY3BwCmluZGV4IDI3YmU5YWIuLjI1MjAyMDEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wYy9vcGNjb25uZWN0aW9uaW1wbC5jcHAKKysrIGIvc3JjL21vZHVsZXMvb3BjL29wY2Nvbm5lY3Rpb25pbXBsLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQsIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4sIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC03OSw4ICs4MCw5IEBACiANCiAgIGludCBwb3NpdGlvbiA9IDA7DQogICBjb25zdCBjaGFyICogc3ViU3RyUmVhZCA9IHN0cnN0cihjX2dyb3VwTmFtZSwgIl9yZWFkIik7DQotICBpZihzdWJTdHJSZWFkICE9IE5VTEwpDQorICBpZihzdWJTdHJSZWFkICE9IE5VTEwpIHsNCiAgICAgcG9zaXRpb24gPSBzdWJTdHJSZWFkIC0gY19ncm91cE5hbWU7DQorICB9DQogICBlbHNlew0KICAgICAvL1RPRE8gU2hvdWxkIG5vdCBoYXBwZW4gZXJyb3INCiAgIH0NCkBAIC0xMTMsOSArMTE1LDkgQEAKICAgICAgICAgICAgIC8vIFRPRE8NCiAgICAgICAgICAgfQ0KICAgICAgICAgICBmcmVlKGdyb3VwTmFtZSk7DQotICAgICAgICB9DQotICAgICAgICBlbHNlDQorICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICByZXRHcm91cCA9IGl0LT5tX3BPcGNHcm91cFJlYWQ7DQorICAgICAgICB9DQogICAgICAgfQ0KICAgICAgIGVsc2UgaWYocGFfZUZ1bmN0aW9uID09IENPcGNQcm9jZXNzVmFyOjplX0ZCSW5wdXQpew0KICAgICAgICAgaWYoIShpdC0+bV9iV3JpdGVHcm91cEFkZGVkKSl7DQpAQCAtMTI5LDkgKzEzMSw5IEBACiAgICAgICAgICAgICAvLyBUT0RPDQogICAgICAgICAgIH0NCiAgICAgICAgICAgZnJlZShncm91cE5hbWUpOw0KLSAgICAgICAgfQ0KLSAgICAgICAgZWxzZQ0KKyAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgcmV0R3JvdXAgPSBpdC0+bV9wT3BjR3JvdXBXcml0ZTsNCisgICAgICAgIH0NCiAgICAgICB9DQogDQogICAgICAgYnJlYWs7DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjL29wY2Nvbm5lY3Rpb25pbXBsLmggYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbmltcGwuaAppbmRleCA5YTExY2RiLi43YTZkN2RjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbmltcGwuaAorKysgYi9zcmMvbW9kdWxlcy9vcGMvb3BjY29ubmVjdGlvbmltcGwuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxNSBBSVQsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wYy9vcGNldmVudGhhbmRsZXIuY3BwIGIvc3JjL21vZHVsZXMvb3BjL29wY2V2ZW50aGFuZGxlci5jcHAKaW5kZXggMjRjMzIyZS4uZjJlYzRmYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjL29wY2V2ZW50aGFuZGxlci5jcHAKKysrIGIvc3JjL21vZHVsZXMvb3BjL29wY2V2ZW50aGFuZGxlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDE0IEFJVCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtNDAsOCArNDEsOSBAQAogICBpZihyZXN1bHQgPT0gU19PSyl7DQogICAgIHdoaWxlKGlzQWxpdmUoKSl7DQogICAgICAgSUNtZCogbmV4dENvbW1hbmQgPSBnZXROZXh0Q29tbWFuZCgpOw0KLSAgICAgIGlmKG5leHRDb21tYW5kICE9IE5VTEwpDQorICAgICAgaWYobmV4dENvbW1hbmQgIT0gTlVMTCkgew0KICAgICAgICAgbmV4dENvbW1hbmQtPnJ1bkNvbW1hbmQoKTsNCisgICAgICB9DQogDQogICAgICAgTVNHIG1zZzsNCiAgICAgICB3aGlsZShQZWVrTWVzc2FnZSgmbXNnLCBOVUxMLCBOVUxMLCBOVUxMLCBQTV9SRU1PVkUpKXsNCkBAIC0xMTQsOSArMTE2LDkgQEAKICAgaWYoaXRCZWdpbiAhPSBtX2xDb21tYW5kUXVldWUuZW5kKCkpew0KICAgICBjb21tYW5kID0gKCppdEJlZ2luKTsNCiAgICAgbV9sQ29tbWFuZFF1ZXVlLnBvcEZyb250KCk7DQotICB9DQotICBlbHNlDQorICB9IGVsc2Ugew0KICAgICBjb21tYW5kID0gTlVMTDsNCisgIH0NCiAgIG1fb1N5bmMudW5sb2NrKCk7DQogDQogICByZXR1cm4gY29tbWFuZDsNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGMvb3BjZXZlbnRoYW5kbGVyLmggYi9zcmMvbW9kdWxlcy9vcGMvb3BjZXZlbnRoYW5kbGVyLmgKaW5kZXggMTEzY2VkMS4uNTY4OWQzYSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjL29wY2V2ZW50aGFuZGxlci5oCisrKyBiL3NyYy9tb2R1bGVzL29wYy9vcGNldmVudGhhbmRsZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEyLCAyMDE1IEFJVCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjL29wY3Byb2Nlc3N2YXIuY3BwIGIvc3JjL21vZHVsZXMvb3BjL29wY3Byb2Nlc3N2YXIuY3BwCmluZGV4IGM3YWZlNmEuLmFjOGFmNDEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wYy9vcGNwcm9jZXNzdmFyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9vcGMvb3BjcHJvY2Vzc3Zhci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0xOSw4ICsyMCw5IEBACiANCiB2b2lkIENPcGNQcm9jZXNzVmFyOjpzZW5kSXRlbURhdGEoKXsNCiAgIHRyeXsNCi0gICAgaWYgKGdldElzQWN0aXZlKCkpDQorICAgIGlmKGdldElzQWN0aXZlKCkpIHsNCiAgICAgICBtX3BPcGNJdGVtLT53cml0ZVN5bmModXBkYXRlVmFsdWUoKSk7DQorICAgIH0NCiAgIH0gY2F0Y2ggKE9QQ0V4Y2VwdGlvbiAmZSl7DQogICAgIHNldElzQWN0aXZlKGZhbHNlKTsNCiAgIH0NCkBAIC0zOSw5ICs0MSw5IEBACiAgIFRWYXJpYW50TGlzdDo6SXRlcmF0b3IgaXRCZWdpbiA9IG1fbE5ld1ZhbHVlUXVldWUuYmVnaW4oKTsNCiAgIGlmKGl0QmVnaW4gIT0gbV9sTmV3VmFsdWVRdWV1ZS5lbmQoKSl7DQogICAgIHJldFZhbCA9ICgqaXRCZWdpbik7DQotICB9DQotICBlbHNlDQorICB9IGVsc2Ugew0KICAgICByZXRWYWwgPSBtX29DdXJyZW50VmFsdWU7DQorICB9DQogDQogICBtX29TeW5jLnVubG9jaygpOw0KIA0KQEAgLTU3LDkgKzU5LDkgQEAKICAgaWYoaXRCZWdpbiAhPSBtX2xOZXdWYWx1ZVF1ZXVlLmVuZCgpKXsNCiAgICAgbV9vQ3VycmVudFZhbHVlID0gcmV0VmFsID0gKCppdEJlZ2luKTsNCiAgICAgbV9sTmV3VmFsdWVRdWV1ZS5wb3BGcm9udCgpOw0KLSAgfQ0KLSAgZWxzZQ0KKyAgfSBlbHNlIHsNCiAgICAgcmV0VmFsID0gbV9vQ3VycmVudFZhbHVlOw0KKyAgfQ0KIA0KICAgbV9vU3luYy51bmxvY2soKTsNCiANCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGMvb3BjcHJvY2Vzc3Zhci5oIGIvc3JjL21vZHVsZXMvb3BjL29wY3Byb2Nlc3N2YXIuaAppbmRleCBjNjhmMWExLi4wYzVhZTUxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9vcGMvb3BjcHJvY2Vzc3Zhci5oCisrKyBiL3NyYy9tb2R1bGVzL29wYy9vcGNwcm9jZXNzdmFyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlULCBBQ0lODQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvb3BjX3VhL0NNYWtlTGlzdHMudHh0CmluZGV4IDIwMDliZGIuLjAyMDQ1MDMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wY191YS9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvQ01ha2VMaXN0cy50eHQKQEAgLTEsNzQgKzEsOTMgQEAKLSMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTYgRmxvcmlhbiBGcm9zY2hlcm1laWVyIDxmbG9yaWFuLmZyb3NjaGVybWVpZXJAdHVtLmRlPiwKLSMgKiAgICAgICAgICAgICAgICAgICAgICAgICBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgIEZsb3JpYW4gRnJvc2NoZXJtZWllcgotIyAqICAgICAgLSBpbml0aWFsIGludGVncmF0aW9uIG9mIE9QQyBVbmlmaWVkIEFyY2hpdGVjdHVyZSBpbnRvIEZPUlRFCi0jICogICAgU3RlZmFuIFByb2ZhbnRlcgotIyAqICAgICAgLSByZWZhY3RvcmluZyBhbmQgYWRhcHRpb24gdG8gbmV3IGNvbmNlcHQKLSMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBPUEMgVW5pZmllZCBBcmNoaXRlY3R1cmUgKFVBKSBpbnRlZ3JhdGlvbi4KLSMgRm9yIGludGVncmF0aW9uIHRoZSBvcGVuLXNvdXJjZSBPUEMtVUEgY29tbXVuaWNhdGlvbiBzdGFjay9saWJyYXJ5Ci0jIGZyb20gKG9wZW42MjU0MSAtIGh0dHA6Ly9vcGVuNjI1NDEub3JnLykgd2FzIHVzZWQuCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIG9wdGlvbiB0byBlbmFibGUgT1BDIFVBIHdpdGggY21ha2UKLWZvcnRlX2FkZF9uZXR3b3JrX2xheWVyKE9QQ19VQSBPRkYgIm9wY191YSIgQ09QQ19VQV9MYXllciBvcGN1YV9sYXllciAiRW5hYmxlIE9QQyBVQSBjb21tdW5pY2F0aW9uIGxheWVyIikKLQotZm9ydGVfYWRkX2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQotCi1pZiAoRk9SVEVfQ09NX09QQ19VQSkKLQotICAgIFNFVChGT1JURV9DT01fT1BDX1VBX1BPUlQgIjQ4NDAiIENBQ0hFIE5VTUJFUiAiUG9ydCB3aGVyZSB0aGUgT1BDX1VBIHNlcnZlciB3aWxsIGxpc3RlbiIpCi0gICAgU0VUKEZPUlRFX0NPTV9PUENfVUFfTVVMVElDQVNUIE9GRiBDQUNIRSBCT09MRUFOICJFbmFibGUgbXVsdGljYXN0IHN1cHBvcnQgZm9yIE9QQyBVQSBhbmQgcmVnaXN0ZXJpbmcgd2l0aCBMRFMiKQotICAgIFNFVChGT1JURV9DT01fT1BDX1VBX0lOQ0xVREVfRElSICIiIENBQ0hFIFBBVEggIkFCU09MVVRFIHBhdGggdG8gb3BlbjYyNTQxLmggZmlsZSBpbiB0aGUgT1BDIFVBIHByb2plY3QiKQotICAgIFNFVChGT1JURV9DT01fT1BDX1VBX0xJQl9ESVIgIiIgQ0FDSEUgUEFUSCAiQUJTT0xVVEUgcGF0aCB0byBPUEMgVUEgZm9sZGVyIHdpdGggb2JqZWN0IGxpYnJhcnkgRk9SVEVfQ09NX09QQ19VQV9MSUIiKQotICAgIFNFVChGT1JURV9DT01fT1BDX1VBX0NVU1RPTV9IT1NUTkFNRSBDQUNIRSBTVFJJTkcgIkN1c3RvbSBob3N0bmFtZSB3aGljaCBpcyB1c2VkIGZvciB0aGUgT1BDIFVBIGFwcCBuYW1lIGFuZCBhcHAgdXJpIikKLQotICAgICMgT1BFTjYyNTQxIGxpYnJhcnkgdG8gYmUgbGlua2VkIHRvIGZvcnRlCi0gICAgSUYgKCIke0ZPUlRFX0FSQ0hJVEVDVFVSRX0iIFNUUkVRVUFMICJXaW4zMiIpCi0gICAgICAgIFNFVChGT1JURV9DT01fT1BDX1VBX0xJQiAib3BlbjYyNTQxLmxpYiIgQ0FDSEUgU1RSSU5HICJPUENfVUEgTGlicmFyeSBmaWxlIGluIEZPUlRFX0NPTV9PUENfVUFfRElSIHRvIGJlIGxpbmtlZCB0byBmb3J0ZSAobm9ybWFsbHkgd2l0aCBuYW1lIGxpYm9wZW42MjU0MSBhbmQgYSBleHRlbnNpb24gYWNjb3JkaW5nIHRvIHRoZSB0eXBlIGFuZCBPUykiKQotICAgICAgICBmb3J0ZV9hZGRfbGlua19saWJyYXJ5KCJJcGhscGFwaSIpICNwdWJzdWIgdXNlcyBmdW5jdGlvbnMgaW4gdGhpcyBsaWJyYXJ5Ci0gICAgICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItRFVBX0FSQ0hJVEVDVFVSRV9XSU4zMiIpCi0gICAgRUxTRSAoKQotICAgICAgICBTRVQoRk9SVEVfQ09NX09QQ19VQV9MSUIgImxpYm9wZW42MjU0MS5hIiBDQUNIRSBTVFJJTkcgIk9QQ19VQSBMaWJyYXJ5IGZpbGUgaW4gRk9SVEVfQ09NX09QQ19VQV9ESVIgdG8gYmUgbGlua2VkIHRvIGZvcnRlIChub3JtYWxseSB3aXRoIG5hbWUgbGlib3BlbjYyNTQxIGFuZCBhIGV4dGVuc2lvbiBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgYW5kIE9TKSIpCi0gICAgICAgIElGICgiJHtGT1JURV9BUkNISVRFQ1RVUkV9IiBTVFJFUVVBTCAiVnhXb3JrcyIpCi0gICAgICAgICAgZm9ydGVfYWRkX2RlZmluaXRpb24oIi1EVUFfQVJDSElURUNUVVJFX1ZYV09SS1MiKQotICAgICAgICBFTFNFSUYgKCIke0ZPUlRFX0FSQ0hJVEVDVFVSRX0iIFNUUkVRVUFMICJOaW9zMiIpCi0gICAgICAgICAgZm9ydGVfYWRkX2RlZmluaXRpb24oIi1EVUFfQVJDSElURUNUVVJFX0VDT1MiKQotICAgICAgICBFTFNFSUYgKCIke0ZPUlRFX0FSQ0hJVEVDVFVSRX0iIFNUUkVRVUFMICJGcmVlUlRPU0x3SVAiKQotICAgICAgICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItRFVBX0FSQ0hJVEVDVFVSRV9GUkVFUlRPU0xXSVAiKQotICAgICAgICBFTFNFKCkKLSAgICAgICAgICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURVQV9BUkNISVRFQ1RVUkVfUE9TSVgiKQotICAgICAgICBFTkRJRigiJHtGT1JURV9BUkNISVRFQ1RVUkV9IiBTVFJFUVVBTCAiVnhXb3JrcyIpCi0gICAgRU5ESUYgKCIke0ZPUlRFX0FSQ0hJVEVDVFVSRX0iIFNUUkVRVUFMICJXaW4zMiIpCi0gICAgZm9ydGVfYWRkX2luY2x1ZGVfc3lzdGVtX2RpcmVjdG9yaWVzKCR7Rk9SVEVfQ09NX09QQ19VQV9JTkNMVURFX0RJUn0pCi0gICAgZm9ydGVfYWRkX2xpbmtfZGlyZWN0b3JpZXMoJHtGT1JURV9DT01fT1BDX1VBX0xJQl9ESVJ9KQotICAgIGZvcnRlX2FkZF9saW5rX2xpYnJhcnlfYmVnaW5uaW5nKCR7Rk9SVEVfQ09NX09QQ19VQV9MSUJ9KQotCi0gICAgZm9ydGVfYWRkX2hhbmRsZXIoQ09QQ19VQV9IYW5kbGVyIG9wY3VhX2hhbmRsZXIpCi0gICAgZm9ydGVfYWRkX2hhbmRsZXIoQ09QQ19VQV9DbGllbnRfSGFuZGxlciBvcGN1YV9jbGllbnRfaGFuZGxlcikKLSAgICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKG9wY3VhX2xheWVyIG9wY3VhX2hhbmRsZXIgb3BjdWFfaGVscGVyIG9wY3VhX2NsaWVudF9oYW5kbGVyKQotICAgIGlmIChOT1QgRVhJU1RTICR7Rk9SVEVfQ09NX09QQ19VQV9JTkNMVURFX0RJUn0pCi0gICAgICAgIG1lc3NhZ2UoU0VORF9FUlJPUiAiRk9SVEVfQ09NX09QQ19VQV9JTkNMVURFX0RJUiBub3Qgc2V0IG9yIGRvZXMgbm90IGV4aXN0IikKLSAgICBlbmRpZiAoTk9UIEVYSVNUUyAke0ZPUlRFX0NPTV9PUENfVUFfSU5DTFVERV9ESVJ9KQotCi0gICAgZmlsZShUT19DTUFLRV9QQVRIICIke0ZPUlRFX0NPTV9PUENfVUFfTElCX0RJUn0vJHtGT1JURV9DT01fT1BDX1VBX0xJQn0iIEZPUlRFX0NPTV9PUENfVUFfTElCX1BBVEgpCi0gICAgaWYgKE5PVCBFWElTVFMgJHtGT1JURV9DT01fT1BDX1VBX0xJQn0gQU5EIE5PVCBFWElTVFMgJHtGT1JURV9DT01fT1BDX1VBX0xJQl9QQVRIfSkKLSAgICAgICAgbWVzc2FnZShTRU5EX0VSUk9SICJPUEMgVUEgbGlicmFyeSBub3QgZm91bmQgJyR7Rk9SVEVfQ09NX09QQ19VQV9MSUJ9Jy4gQ2hlY2sgdGhlIHZhbHVlIG9mIEZPUlRFX0NPTV9PUENfVUFfTElCX0RJUiBhbmQgb3B0aW9uYWxseSBkZWZpbmUgYW4gYWJzb2x1dGUgcGF0aCBmb3IgRk9SVEVfQ09NX09QQ19VQV9MSUIuIikKLSAgICBlbmRpZigpCi0gICAgCi0gICAgZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCIjZGVmaW5lIEZPUlRFX0NPTV9PUENfVUFfUE9SVCAke0ZPUlRFX0NPTV9PUENfVUFfUE9SVH0iKQotICAgIGZvcnRlX2FkZF9jdXN0b21fY29uZmlndXJhdGlvbigiI2NtYWtlZGVmaW5lIEZPUlRFX0NPTV9PUENfVUFfTVVMVElDQVNUIikKLSAgICBmb3J0ZV9hZGRfY3VzdG9tX2NvbmZpZ3VyYXRpb24oIiNjbWFrZWRlZmluZSBGT1JURV9DT01fT1BDX1VBX0NVU1RPTV9IT1NUTkFNRSBcIiR7Rk9SVEVfQ09NX09QQ19VQV9DVVNUT01fSE9TVE5BTUV9XCIiKQotCi1lbmRpZiAoRk9SVEVfQ09NX09QQ19VQSkKLQotCisjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKyMgQ29weXJpZ2h0IChjKSAyMDE1LTIwMTYgRmxvcmlhbiBGcm9zY2hlcm1laWVyIDxmbG9yaWFuLmZyb3NjaGVybWVpZXJAdHVtLmRlPiwgZm9ydGlzcyBHbWJIDQorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQNCisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisjDQorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgDQorIyBDb250cmlidXRvcnM6DQorIyAgICAgRmxvcmlhbiBGcm9zY2hlcm1laWVyDQorIyAgICAgICAtIGluaXRpYWwgaW50ZWdyYXRpb24gb2YgT1BDIFVuaWZpZWQgQXJjaGl0ZWN0dXJlIGludG8gRk9SVEUNCisjICAgICBTdGVmYW4gUHJvZmFudGVyDQorIyAgICAgICAtIHJlZmFjdG9yaW5nIGFuZCBhZGFwdGlvbiB0byBuZXcgY29uY2VwdA0KKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIE9QQyBVbmlmaWVkIEFyY2hpdGVjdHVyZSAoVUEpIGludGVncmF0aW9uLg0KKyMgRm9yIGludGVncmF0aW9uIHRoZSBvcGVuLXNvdXJjZSBPUEMtVUEgY29tbXVuaWNhdGlvbiBzdGFjay9saWJyYXJ5DQorIyBmcm9tIChvcGVuNjI1NDEgLSBodHRwOi8vb3BlbjYyNTQxLm9yZy8pIHdhcyB1c2VkLg0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorDQorIyBvcHRpb24gdG8gZW5hYmxlIE9QQyBVQSB3aXRoIGNtYWtlDQorZm9ydGVfYWRkX25ldHdvcmtfbGF5ZXIoT1BDX1VBIE9GRiAib3BjX3VhIiBDT1BDX1VBX0xheWVyIG9wY3VhX2xheWVyICJFbmFibGUgT1BDIFVBIGNvbW11bmljYXRpb24gbGF5ZXIiKQ0KKw0KK2ZvcnRlX2FkZF9pbmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSkNCisNCitpZiAoRk9SVEVfQ09NX09QQ19VQSkNCisNCisgICAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfd2l0aF9wYXRoX2NwcCgke0NNQUtFX0JJTkFSWV9ESVJ9L21vZHVsZXMvb3BjX3VhL29wY3VhX25vZGVzZXRzLmNwcCkgIyBjcmVhdGVkIGZpbGUNCisgICAgDQorICAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX3dpdGhfcGF0aF9jcHAoJHtDTUFLRV9CSU5BUllfRElSfS9tb2R1bGVzL29wY191YS9vcGN1YV90eXBlcy5jcHApICMgY3JlYXRlZCBmaWxlDQorDQorICAgIFNFVChGT1JURV9DT01fT1BDX1VBX1BPUlQgIjQ4NDAiIENBQ0hFIE5VTUJFUiAiUG9ydCB3aGVyZSB0aGUgT1BDX1VBIHNlcnZlciB3aWxsIGxpc3RlbiIpDQorICAgIFNFVChGT1JURV9DT01fT1BDX1VBX1NFUlZFUl9QVUJfSU5URVJWQUwgIjEwMC4wIiBDQUNIRSBOVU1CRVIgIk9QQyBVQSBTZXJ2ZXIgcHVibGlzaGluZyBpbnRlcnZhbCBpbiBtcyIpDQorICAgIFNFVChGT1JURV9DT01fT1BDX1VBX0NMSUVOVF9QVUJfSU5URVJWQUwgIjEwMC4wIiBDQUNIRSBOVU1CRVIgIk9QQyBVQSBDbGllbnQgcmVxdWVzdGVkIHB1Ymxpc2hpbmcgaW50ZXJ2YWwgdmlhIE9QQyBVQSBkYXRhIHN1YnNjcmlwdGlvbiBpbiBtcyIpDQorICAgIFNFVChGT1JURV9DT01fT1BDX1VBX01VTFRJQ0FTVCBPRkYgQ0FDSEUgQk9PTEVBTiAiRW5hYmxlIG11bHRpY2FzdCBzdXBwb3J0IGZvciBPUEMgVUEgYW5kIHJlZ2lzdGVyaW5nIHdpdGggTERTIikNCisgICAgU0VUKEZPUlRFX0NPTV9PUENfVUFfSU5DTFVERV9ESVIgIiIgQ0FDSEUgUEFUSCAiQUJTT0xVVEUgcGF0aCB0byBvcGVuNjI1NDEuaCBmaWxlIGluIHRoZSBPUEMgVUEgcHJvamVjdCIpDQorICAgIFNFVChGT1JURV9DT01fT1BDX1VBX0xJQl9ESVIgIiIgQ0FDSEUgUEFUSCAiQUJTT0xVVEUgcGF0aCB0byBPUEMgVUEgZm9sZGVyIHdpdGggb2JqZWN0IGxpYnJhcnkgRk9SVEVfQ09NX09QQ19VQV9MSUIiKQ0KKyAgICBTRVQoRk9SVEVfQ09NX09QQ19VQV9DVVNUT01fSE9TVE5BTUUgQ0FDSEUgU1RSSU5HICJDdXN0b20gaG9zdG5hbWUgd2hpY2ggaXMgdXNlZCBmb3IgdGhlIE9QQyBVQSBhcHAgbmFtZSBhbmQgYXBwIHVyaSIpDQorICAgIFNFVChGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0ggT0ZGIENBQ0hFIEJPT0xFQU4gIlVzZSB0aGUgbWFzdGVyIGJyYW5jaCIpDQorDQorICAgICMgT1BFTjYyNTQxIGxpYnJhcnkgdG8gYmUgbGlua2VkIHRvIGZvcnRlDQorICAgIElGICgiJHtGT1JURV9BUkNISVRFQ1RVUkV9IiBTVFJFUVVBTCAiV2luMzIiKQ0KKyAgICAgICAgU0VUKEZPUlRFX0NPTV9PUENfVUFfTElCICJvcGVuNjI1NDEubGliIiBDQUNIRSBTVFJJTkcgIk9QQ19VQSBMaWJyYXJ5IGZpbGUgaW4gRk9SVEVfQ09NX09QQ19VQV9ESVIgdG8gYmUgbGlua2VkIHRvIGZvcnRlIChub3JtYWxseSB3aXRoIG5hbWUgbGlib3BlbjYyNTQxIGFuZCBhIGV4dGVuc2lvbiBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgYW5kIE9TKSIpDQorICAgICAgICBmb3J0ZV9hZGRfbGlua19saWJyYXJ5KCJJcGhscGFwaSIpICNwdWJzdWIgdXNlcyBmdW5jdGlvbnMgaW4gdGhpcyBsaWJyYXJ5DQorICAgICAgICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURVQV9BUkNISVRFQ1RVUkVfV0lOMzIiKQ0KKyAgICBFTFNFICgpDQorICAgICAgICBTRVQoRk9SVEVfQ09NX09QQ19VQV9MSUIgImxpYm9wZW42MjU0MS5hIiBDQUNIRSBTVFJJTkcgIk9QQ19VQSBMaWJyYXJ5IGZpbGUgaW4gRk9SVEVfQ09NX09QQ19VQV9ESVIgdG8gYmUgbGlua2VkIHRvIGZvcnRlIChub3JtYWxseSB3aXRoIG5hbWUgbGlib3BlbjYyNTQxIGFuZCBhIGV4dGVuc2lvbiBhY2NvcmRpbmcgdG8gdGhlIHR5cGUgYW5kIE9TKSIpDQorICAgICAgICBJRiAoIiR7Rk9SVEVfQVJDSElURUNUVVJFfSIgU1RSRVFVQUwgIlZ4V29ya3MiKQ0KKyAgICAgICAgICBmb3J0ZV9hZGRfZGVmaW5pdGlvbigiLURVQV9BUkNISVRFQ1RVUkVfVlhXT1JLUyIpDQorICAgICAgICBFTFNFSUYgKCIke0ZPUlRFX0FSQ0hJVEVDVFVSRX0iIFNUUkVRVUFMICJOaW9zMiIpDQorICAgICAgICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItRFVBX0FSQ0hJVEVDVFVSRV9FQ09TIikNCisgICAgICAgIEVMU0VJRiAoIiR7Rk9SVEVfQVJDSElURUNUVVJFfSIgU1RSRVFVQUwgIkZyZWVSVE9TTHdJUCIpDQorICAgICAgICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItRFVBX0FSQ0hJVEVDVFVSRV9GUkVFUlRPU0xXSVAiKQ0KKyAgICAgICAgRUxTRSgpDQorICAgICAgICAgIGZvcnRlX2FkZF9kZWZpbml0aW9uKCItRFVBX0FSQ0hJVEVDVFVSRV9QT1NJWCIpDQorICAgICAgICBFTkRJRigiJHtGT1JURV9BUkNISVRFQ1RVUkV9IiBTVFJFUVVBTCAiVnhXb3JrcyIpDQorICAgIEVORElGICgiJHtGT1JURV9BUkNISVRFQ1RVUkV9IiBTVFJFUVVBTCAiV2luMzIiKQ0KKyAgICBmb3J0ZV9hZGRfaW5jbHVkZV9zeXN0ZW1fZGlyZWN0b3JpZXMoJHtGT1JURV9DT01fT1BDX1VBX0lOQ0xVREVfRElSfSkNCisgICAgZm9ydGVfYWRkX2xpbmtfZGlyZWN0b3JpZXMoJHtGT1JURV9DT01fT1BDX1VBX0xJQl9ESVJ9KQ0KKyAgICBmb3J0ZV9hZGRfbGlua19saWJyYXJ5X2JlZ2lubmluZygke0ZPUlRFX0NPTV9PUENfVUFfTElCfSkNCisNCisgICAgZm9ydGVfYWRkX2hhbmRsZXIoQ09QQ19VQV9Mb2NhbF9IYW5kbGVyIG9wY3VhX2xvY2FsX2hhbmRsZXIpDQorICAgIGZvcnRlX2FkZF9oYW5kbGVyKENPUENfVUFfUmVtb3RlX0hhbmRsZXIgb3BjdWFfcmVtb3RlX2hhbmRsZXIpDQorICAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAob3BjdWFfbGF5ZXIgb3BjdWFfbG9jYWxfaGFuZGxlciBvcGN1YV9oZWxwZXIgb3BjdWFfcmVtb3RlX2hhbmRsZXIgb3BjdWFfaGFuZGxlcl9hYnN0cmFjdCBvcGN1YV9jbGllbnRfaW5mb3JtYXRpb24gb3BjdWFfYWN0aW9uX2luZm8pDQorICAgIGlmIChOT1QgRVhJU1RTICR7Rk9SVEVfQ09NX09QQ19VQV9JTkNMVURFX0RJUn0pDQorICAgICAgICBtZXNzYWdlKFNFTkRfRVJST1IgIkZPUlRFX0NPTV9PUENfVUFfSU5DTFVERV9ESVIgbm90IHNldCBvciBkb2VzIG5vdCBleGlzdCIpDQorICAgIGVuZGlmIChOT1QgRVhJU1RTICR7Rk9SVEVfQ09NX09QQ19VQV9JTkNMVURFX0RJUn0pDQorDQorICAgIGZpbGUoVE9fQ01BS0VfUEFUSCAiJHtGT1JURV9DT01fT1BDX1VBX0xJQl9ESVJ9LyR7Rk9SVEVfQ09NX09QQ19VQV9MSUJ9IiBGT1JURV9DT01fT1BDX1VBX0xJQl9QQVRIKQ0KKyAgICBpZiAoTk9UIEVYSVNUUyAke0ZPUlRFX0NPTV9PUENfVUFfTElCfSBBTkQgTk9UIEVYSVNUUyAke0ZPUlRFX0NPTV9PUENfVUFfTElCX1BBVEh9KQ0KKyAgICAgICAgbWVzc2FnZShTRU5EX0VSUk9SICJPUEMgVUEgbGlicmFyeSBub3QgZm91bmQgJyR7Rk9SVEVfQ09NX09QQ19VQV9MSUJ9Jy4gQ2hlY2sgdGhlIHZhbHVlIG9mIEZPUlRFX0NPTV9PUENfVUFfTElCX0RJUiBhbmQgb3B0aW9uYWxseSBkZWZpbmUgYW4gYWJzb2x1dGUgcGF0aCBmb3IgRk9SVEVfQ09NX09QQ19VQV9MSUIuIikNCisgICAgZW5kaWYoKQ0KKyAgICANCisgICAgZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCIjZGVmaW5lIEZPUlRFX0NPTV9PUENfVUFfUE9SVCAke0ZPUlRFX0NPTV9PUENfVUFfUE9SVH0iKSANCisgICAgZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCJleHRlcm4gVEZvcnRlVUludDE2IGdPcGN1YVNlcnZlclBvcnRcOyIpDQorICAgIGZvcnRlX2FkZF9jdXN0b21fY29uZmlndXJhdGlvbigiI2RlZmluZSBGT1JURV9DT01fT1BDX1VBX1NFUlZFUl9QVUJfSU5URVJWQUwgJHtGT1JURV9DT01fT1BDX1VBX1NFUlZFUl9QVUJfSU5URVJWQUx9IikNCisgICAgZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCIjZGVmaW5lIEZPUlRFX0NPTV9PUENfVUFfQ0xJRU5UX1BVQl9JTlRFUlZBTCAke0ZPUlRFX0NPTV9PUENfVUFfQ0xJRU5UX1BVQl9JTlRFUlZBTH0iKQ0KKyAgICANCisgICAgZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCIjY21ha2VkZWZpbmUgRk9SVEVfQ09NX09QQ19VQSIpDQorICAgIGZvcnRlX2FkZF9jdXN0b21fY29uZmlndXJhdGlvbigiI2NtYWtlZGVmaW5lIEZPUlRFX0NPTV9PUENfVUFfTVVMVElDQVNUIikNCisgICAgZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCIjY21ha2VkZWZpbmUgRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNIIikNCisgICAgZm9ydGVfYWRkX2N1c3RvbV9jb25maWd1cmF0aW9uKCIjY21ha2VkZWZpbmUgRk9SVEVfQ09NX09QQ19VQV9DVVNUT01fSE9TVE5BTUUgXCIke0ZPUlRFX0NPTV9PUENfVUFfQ1VTVE9NX0hPU1ROQU1FfVwiIikNCisgICAgDQorICAgIGZvcnRlX29wY3VhX2FkZF90eXBlKGZvcnRlX2xvY2FsaXplZHRleHQgTG9jYWxpemVkVGV4dCBVQV9UWVBFU19MT0NBTElaRURURVhUKQ0KKw0KKyAgICBhZGRfc3ViZGlyZWN0b3J5KEZCcykgICAgDQorICAgIGFkZF9zdWJkaXJlY3RvcnkodHlwZXMpDQorDQorZW5kaWYgKEZPUlRFX0NPTV9PUENfVUEpDQorDQorDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL0ZCcy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL29wY191YS9GQnMvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZiYmQyMQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL29wY191YS9GQnMvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwxOCBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorIworIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjIAorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitmb3J0ZV9hZGRfaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCisKK2ZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0KQorCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wY191YS9GQnMvTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LmNwcCBiL3NyYy9tb2R1bGVzL29wY191YS9GQnMvTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTliMDk4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvb3BjX3VhL0ZCcy9Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJMb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJMb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHRfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LCBnX25TdHJpbmdJZExvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dCkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQ6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRJTn07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0OjpzY21fYW5EYXRhSW5wdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRMb2NhbGl6ZWRUZXh0fTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQ6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkT1VUfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQ6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRMb2NhbGl6ZWRUZXh0fTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0OjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0OjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQ6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX0xvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dDo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0xvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dDo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0OjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTkZ9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX0xvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dDo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDEsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCisKK3ZvaWQgRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0OjpleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKXsKKyAgaWYoc2NtX25FdmVudFJFUUlEID09IHBhX25FSUlEKSB7CisgICAgT1VUKCkgPSBJTigpOworICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50Q05GSUQpOworICB9Cit9CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGNfdWEvRkJzL0xvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5oIGIvc3JjL21vZHVsZXMvb3BjX3VhL0ZCcy9Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTlhYjIzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvb3BjX3VhL0ZCcy9Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuaApAQCAtMCwwICsxLDYwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX0xPQ0FMSVpFRFRFWFQyTE9DQUxJWkVEVEVYVF9IXworI2RlZmluZSBfTE9DQUxJWkVEVEVYVDJMT0NBTElaRURURVhUX0hfCisKKyNpbmNsdWRlIDxmdW5jYmxvYy5oPgorI2luY2x1ZGUgPGZvcnRlX2xvY2FsaXplZHRleHQuaD4KKworY2xhc3MgRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0OiBwdWJsaWMgQ0Z1bmN0aW9uQmxvY2t7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0KQorCitwcml2YXRlOgorICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgIENJRUNfTG9jYWxpemVkVGV4dCAmSU4oKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0xvY2FsaXplZFRleHQqPihnZXRESSgwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgIENJRUNfTG9jYWxpemVkVGV4dCAmT1VUKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19Mb2NhbGl6ZWRUZXh0Kj4oZ2V0RE8oMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50UkVRSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRUlXaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudElucHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudENORklEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgRk9SVEVfRkJfREFUQV9BUlJBWSgxLCAxLCAxLCAwKTsKKworICB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpOworCitwdWJsaWM6CisgIEZVTkNUSU9OX0JMT0NLX0NUT1IoRk9SVEVfTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0KXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9hY3Rpb25faW5mby5jcHAgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfYWN0aW9uX2luZm8uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxNThhMmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfYWN0aW9uX2luZm8uY3BwCkBAIC0wLDAgKzEsMzg4IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIm9wY3VhX2FjdGlvbl9pbmZvLmgiCisjaW5jbHVkZSAiLi4vLi4vY29yZS91dGlscy9wYXJhbWV0ZXJQYXJzZXIuaCIKKyNpbmNsdWRlICIuLi8uLi9jb3JlL2NvbWluZnJhL2Jhc2Vjb21tZmIuaCIKKworY29uc3QgY2hhciAqIGNvbnN0IENBY3Rpb25JbmZvOjptQWN0aW9uTmFtZXNbXSA9IHsgIlJFQUQiLCAiV1JJVEUiLCAiQ1JFQVRFX01FVEhPRCIsICJDQUxMX01FVEhPRCIsICJTVUJTQ1JJQkUiLCAiQ1JFQVRFX09CSkVDVCIsICJERUxFVEVfT0JKRUNUIiB9OworCitDQWN0aW9uSW5mbzo6Q0FjdGlvbkluZm8oQ09QQ19VQV9MYXllciAmcGFMYXllciwgVUFfQWN0aW9uVHlwZSBwYUFjdGlvbiwgQ0lFQ19TVFJJTkcgJnBhRW5kcG9pbnQpIDoKKyAgICBtQWN0aW9uKHBhQWN0aW9uKSwgbUxheWVyKHBhTGF5ZXIpLCBtRW5kcG9pbnQocGFFbmRwb2ludCkgeworfQorCitDQWN0aW9uSW5mbzo6fkNBY3Rpb25JbmZvKCkgeworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q05vZGVQYWlySW5mbyo+OjpJdGVyYXRvciBpdCA9IG1Ob2RlUGFpci5iZWdpbigpOyBpdCAhPSBtTm9kZVBhaXIuZW5kKCk7ICsraXQpIHsKKyAgICBpZigoKml0KS0+bU5vZGVJZCkgeworICAgICAgVUFfTm9kZUlkX2RlbGV0ZSgoKml0KS0+bU5vZGVJZCk7CisgICAgfQorICAgIGRlbGV0ZSAoKml0KTsKKyAgfQorfQorCitib29sIENBY3Rpb25JbmZvOjppc1JlbW90ZSgpIHsKKyAgcmV0dXJuICgiIiAhPSBtRW5kcG9pbnQpOworfQorCitDQWN0aW9uSW5mbyogQ0FjdGlvbkluZm86OmdldEFjdGlvbkluZm9Gcm9tUGFyYW1zKGNvbnN0IGNoYXIqIHBhUGFyYW1zLCBDT1BDX1VBX0xheWVyICZwYUxheWVyKSB7CisgIENBY3Rpb25JbmZvICpyZXRWYWwgPSAwOworICBDUGFyYW1ldGVyUGFyc2VyIG1haW5QYXJzZXIocGFQYXJhbXMsICc7Jyk7CisgIHNpemVfdCBhbW91bnRPZlBhcmFtZXRlcnMgPSBtYWluUGFyc2VyLnBhcnNlUGFyYW1ldGVycygpOworCisgIGlmKHNjbU1pbmltdW1BbW91bk9mUGFyYW1ldGVycyA8PSBhbW91bnRPZlBhcmFtZXRlcnMpIHsKKyAgICBDQWN0aW9uSW5mbzo6VUFfQWN0aW9uVHlwZSBhY3Rpb24gPSBDQWN0aW9uUGFyc2VyOjpnZXRBY3Rpb25FbnVtKG1haW5QYXJzZXJbSURQb3NpdGlvbnM6OmVBY3Rpb25UeXBlXSk7CisgICAgaWYoQ0FjdGlvbkluZm86OmVBY3Rpb25Vbmtub3duICE9IGFjdGlvbikgeworCisgICAgICBDSUVDX1NUUklORyBlbmRwb2ludDsKKyAgICAgIHNpemVfdCBzdGFydE9mTm9kZVBhaXJzID0gSURQb3NpdGlvbnM6OmVOb2RlUGFpcnM7CisKKyAgICAgIGlmKCFDQWN0aW9uUGFyc2VyOjpnZXRFbmRwb2ludChtYWluUGFyc2VyW0lEUG9zaXRpb25zOjplRW5kcG9pbnRdLCBlbmRwb2ludCkpIHsKKyAgICAgICAgc3RhcnRPZk5vZGVQYWlycy0tOworICAgICAgfQorCisgICAgICBpZihDQWN0aW9uSW5mbzo6ZUNyZWF0ZU1ldGhvZCA9PSBhY3Rpb24pIHsKKyAgICAgICAgcmV0VmFsID0gbmV3IENMb2NhbE1ldGhvZEluZm8ocGFMYXllciwgZW5kcG9pbnQpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0VmFsID0gbmV3IENBY3Rpb25JbmZvKHBhTGF5ZXIsIGFjdGlvbiwgZW5kcG9pbnQpOworICAgICAgfQorCisgICAgICBib29sIHNvbWV0aGluZ0ZhaWxlZCA9IGZhbHNlOworICAgICAgZm9yKHNpemVfdCBpID0gc3RhcnRPZk5vZGVQYWlyczsgaSA8IGFtb3VudE9mUGFyYW1ldGVyczsgaSsrKSB7CisgICAgICAgIGlmKCFDQWN0aW9uUGFyc2VyOjpoYW5kbGVQYWlyKG1haW5QYXJzZXJbaV0sIHJldFZhbC0+Z2V0Tm9kZVBhaXJJbmZvKCkpKSB7CisgICAgICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBpZighc29tZXRoaW5nRmFpbGVkKSB7CisgICAgICAgIHNvbWV0aGluZ0ZhaWxlZCA9ICFyZXRWYWwtPmNoZWNrQWN0aW9uKCk7CisgICAgICB9CisKKyAgICAgIGlmKHNvbWV0aGluZ0ZhaWxlZCkgeworICAgICAgICBkZWxldGUgcmV0VmFsOworICAgICAgICByZXRWYWwgPSAwOworICAgICAgfQorICAgIH0KKworICB9IGVsc2UgeworICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBBQ1RJT05dOiBQYXJhbWV0ZXJzICVzIHNob3VsZCBoYXZlIGF0IGxlYXN0ICVkIHBhcnRzLCBzZXBhcmF0ZWQgYnkgYSBzZW1pY29sb25cbiIsIHBhUGFyYW1zLCBzY21NaW5pbXVtQW1vdW5PZlBhcmFtZXRlcnMpOworICB9CisKKyAgcmV0dXJuIHJldFZhbDsKK30KKworY29uc3QgQ0lFQ19BTlkgKkNBY3Rpb25JbmZvOjpnZXREYXRhVG9TZW5kKCkgeworICByZXR1cm4gbUxheWVyLmdldENvbW1GQigpLT5nZXRTRHMoKTsKK30KKworQ0lFQ19BTlkgKkNBY3Rpb25JbmZvOjpnZXREYXRhVG9SZWNlaXZlKCkgeworICByZXR1cm4gbUxheWVyLmdldENvbW1GQigpLT5nZXRSRHMoKTsKK30KKworc2l6ZV90IENBY3Rpb25JbmZvOjpnZXRTZW5kU2l6ZSgpIHsKKyAgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdD4obUxheWVyLmdldENvbW1GQigpLT5nZXROdW1TRCgpKTsKK30KKworc2l6ZV90IENBY3Rpb25JbmZvOjpnZXRSZWNlaXZlU2l6ZSgpIHsKKyAgcmV0dXJuIHN0YXRpY19jYXN0PHNpemVfdD4obUxheWVyLmdldENvbW1GQigpLT5nZXROdW1SRCgpKTsKK30KKworYm9vbCBDQWN0aW9uSW5mbzo6Y2hlY2tBY3Rpb24oKSB7CisgIGJvb2wgcmV0VmFsID0gZmFsc2U7CisgIGlmKGNoZWNrTm9kZVBhaXJJbmZvKCkpIHsKKworICAgIGZvcnRlOjpjb21faW5mcmE6OkVDb21TZXJ2aWNlVHlwZSBmYlR5cGUgPSBtTGF5ZXIuZ2V0Q29tbUZCKCktPmdldENvbVNlcnZpY2VUeXBlKCk7CisgICAgdW5zaWduZWQgaW50IG5vT2ZSRHMgPSBtTGF5ZXIuZ2V0Q29tbUZCKCktPmdldE51bVJEKCk7CisgICAgdW5zaWduZWQgaW50IG5vT2ZTRHMgPSBtTGF5ZXIuZ2V0Q29tbUZCKCktPmdldE51bVNEKCk7CisKKyAgICBzd2l0Y2gobUFjdGlvbil7CisgICAgICBjYXNlIGVSZWFkOgorICAgICAgICByZXRWYWwgPSBjaGVja1JlYWRBY3Rpb24oZmJUeXBlLCBub09mUkRzLCBub09mU0RzKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIGVXcml0ZToKKyAgICAgICAgcmV0VmFsID0gY2hlY2tXcml0ZUFjdGlvbihmYlR5cGUsIG5vT2ZSRHMsIG5vT2ZTRHMpOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgZUNyZWF0ZU1ldGhvZDoKKyAgICAgICAgcmV0VmFsID0gY2hlY2tDcmVhdGVNZXRob2RBY3Rpb24oZmJUeXBlLCBub09mUkRzLCBub09mU0RzKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIGVDYWxsTWV0aG9kOgorICAgICAgICByZXRWYWwgPSBjaGVja0NhbGxNZXRob2RBY3Rpb24oZmJUeXBlLCBub09mUkRzLCBub09mU0RzKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIGVTdWJzY3JpYmU6CisgICAgICAgIHJldFZhbCA9IGNoZWNrU3Vic2NyaWJlQWN0aW9uKGZiVHlwZSwgbm9PZlJEcywgbm9PZlNEcyk7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBlQ3JlYXRlT2JqZWN0OgorICAgICAgICByZXRWYWwgPSBjaGVja0NyZWF0ZU9iamVjdEFjdGlvbihmYlR5cGUsIG5vT2ZSRHMsIG5vT2ZTRHMpOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgZURlbGV0ZU9iamVjdDoKKyAgICAgICAgcmV0VmFsID0gY2hlY2tEZWxldGVPYmplY3RBY3Rpb24oZmJUeXBlLCBub09mUkRzLCBub09mU0RzKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0OgorICAgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQUNUSU9OXTogVW5rbm93biBhY3Rpb24gJWRcbiIsIG1BY3Rpb24pOworICAgIH0KKyAgfQorCisgIHJldHVybiByZXRWYWw7Cit9CisKK2Jvb2wgQ0FjdGlvbkluZm86OmNoZWNrTm9kZVBhaXJJbmZvKCkgeworICBib29sIHJldFZhbCA9IHRydWU7CisgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDTm9kZVBhaXJJbmZvKj46Okl0ZXJhdG9yIGl0ID0gbU5vZGVQYWlyLmJlZ2luKCk7IGl0ICE9IG1Ob2RlUGFpci5lbmQoKTsgKytpdCkgeworICAgIGlmKCIiID09ICgqaXQpLT5tQnJvd3NlUGF0aCAmJiAwID09ICgqaXQpLT5tTm9kZUlkKSB7IC8vYnJvd3NlUGF0aCBBTkQvT1IgTm9kZUlkIG11c3QgYmUgZ2l2ZW4uIElmIGJvdGggYXJlIGVtcHR5IHRoZXJlJ3MgYSBwcm9ibGVtCisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQUNUSU9OXTogQnJvd3NlUGF0aCBhbmQgTm9kZUlkIGFyZSBlbXB0eSBpbiBGQiAlc1xuIiwgbUxheWVyLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7CisgICAgICByZXRWYWwgPSBmYWxzZTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorICByZXR1cm4gcmV0VmFsOworfQorCitib29sIENBY3Rpb25JbmZvOjpjaGVja1JlYWRBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQgcGFOb09mUkRzLCB1bnNpZ25lZCBpbnQgcGFOb09mU0RzKSB7CisgIGJvb2wgcmV0VmFsID0gZmFsc2U7CisgIGlmKCIiID09IG1FbmRwb2ludCkgeworICAgIGlmKGZvcnRlOjpjb21faW5mcmE6OkVDb21TZXJ2aWNlVHlwZTo6ZV9TdWJzY3JpYmVyID09IHBhRmJUeXBlICYmIHBhTm9PZlJEcyA9PSBnZXROb09mTm9kZVBhaXJzKCkpIHsKKyAgICAgIHJldFZhbCA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigKKyAgICAgICAgIltPUEMgVUEgQUNUSU9OXTogSW4gRkIgJXM6IExvY2FsICVzIGFjdGlvbiBpcyBvbmx5IGFsbG93ZWQgdXNpbmcgYSBTdWJzY3JpYmVyIEZCIGFuZCB0aGUgYW1vdW50IG9mIEJyb3dzZU5hbWUsTm9kZUlkIHBhaXJzIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIFJEc1xuIiwKKyAgICAgICAgbUxheWVyLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgQ0FjdGlvbkluZm86Om1BY3Rpb25OYW1lc1tlUmVhZF0pOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBpZihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGU6OmVfQ2xpZW50ID09IHBhRmJUeXBlICYmIHBhTm9PZlJEcyA9PSBnZXROb09mTm9kZVBhaXJzKCkgJiYgMCA9PSBwYU5vT2ZTRHMpIHsKKyAgICAgIHJldFZhbCA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigKKyAgICAgICAgIltPUEMgVUEgQUNUSU9OXTogUmVtb3RlICVzIGFjdGlvbiBpcyBvbmx5IGFsbG93ZWQgdXNpbmcgYSBDbGllbnQgRkIsIHRoZSBhbW91bnQgb2YgQnJvd3NlTmFtZSxOb2RlSWQgcGFpcnMgc2hvdWxkIG1hdGNoIHRoZSBudW1iZXIgb2YgUkRzLCBhbmQgbXVzdCBoYXZlIG5vIFNEc1xuIiwKKyAgICAgICAgbUxheWVyLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgQ0FjdGlvbkluZm86Om1BY3Rpb25OYW1lc1tlUmVhZF0pOworICAgIH0KKyAgfQorICByZXR1cm4gcmV0VmFsOworfQorCitib29sIENBY3Rpb25JbmZvOjpjaGVja1dyaXRlQWN0aW9uKGZvcnRlOjpjb21faW5mcmE6OkVDb21TZXJ2aWNlVHlwZSBwYUZiVHlwZSwgdW5zaWduZWQgaW50IHBhTm9PZlJEcywgdW5zaWduZWQgaW50IHBhTm9PZlNEcykgeworICBib29sIHJldFZhbCA9IGZhbHNlOworICBpZigiIiA9PSBtRW5kcG9pbnQpIHsKKyAgICBpZihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGU6OmVfUHVibGlzaGVyID09IHBhRmJUeXBlICYmIHBhTm9PZlNEcyA9PSBnZXROb09mTm9kZVBhaXJzKCkpIHsKKyAgICAgIHJldFZhbCA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigKKyAgICAgICAgIltPUEMgVUEgQUNUSU9OXTogSW4gRkIgJXM6IExvY2FsIGFjdGlvbiAlcyBpcyBvbmx5IGFsbG93ZWQgdXNpbmcgYSBQdWJsaXNoZXIgRkIgYW5kIHRoZSBhbW91bnQgb2YgQnJvd3NlTmFtZSxOb2RlSWQgcGFpcnMgc2hvdWxkIG1hdGNoIHRoZSBudW1iZXIgb2YgU0RzXG4iLAorICAgICAgICBtTGF5ZXIuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCBDQWN0aW9uSW5mbzo6bUFjdGlvbk5hbWVzW2VXcml0ZV0pOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBpZihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGU6OmVfQ2xpZW50ID09IHBhRmJUeXBlICYmIHBhTm9PZlNEcyA9PSBnZXROb09mTm9kZVBhaXJzKCkgJiYgMCA9PSBwYU5vT2ZSRHMpIHsKKyAgICAgIHJldFZhbCA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigKKyAgICAgICAgIltPUEMgVUEgQUNUSU9OXTogSW4gRkIgJXM6IFJlbW90ZSBhY3Rpb24gJXMgaXMgb25seSBhbGxvd2VkIHVzaW5nIGEgQ2xpZW50IEZCLCB0aGUgYW1vdW50IG9mIEJyb3dzZU5hbWUsTm9kZUlkIHBhaXJzIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIFNEcyBhbmQgbXVzdCBoYXZlIG5vIFJEc1xuIiwKKyAgICAgICAgbUxheWVyLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgQ0FjdGlvbkluZm86Om1BY3Rpb25OYW1lc1tlV3JpdGVdKTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJldFZhbDsKK30KKworYm9vbCBDQWN0aW9uSW5mbzo6Y2hlY2tDcmVhdGVNZXRob2RBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCkgeworICBib29sIHJldFZhbCA9IGZhbHNlOworICBpZihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGU6OmVfU2VydmVyID09IHBhRmJUeXBlICYmIDEgPT0gZ2V0Tm9PZk5vZGVQYWlycygpKSB7CisgICAgcmV0VmFsID0gdHJ1ZTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQUNUSU9OXTogSW4gRkIgJXM6ICVzIGFjdGlvbiBpcyBvbmx5IGFsbG93ZWQgdXNpbmcgYSBTZXJ2ZXIgRkIsIHRoZSBhbW91bnQgb2YgQnJvd3NlTmFtZSxOb2RlSWQgcGFpcnMgc2hvdWxkIGJlIDFcbiIsCisgICAgICBtTGF5ZXIuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCBDQWN0aW9uSW5mbzo6bUFjdGlvbk5hbWVzW2VDcmVhdGVNZXRob2RdKTsKKyAgfQorICByZXR1cm4gcmV0VmFsOworfQorCitib29sIENBY3Rpb25JbmZvOjpjaGVja0NhbGxNZXRob2RBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCkgeworICBib29sIHJldFZhbCA9IGZhbHNlOworICBpZihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGU6OmVfQ2xpZW50ID09IHBhRmJUeXBlICYmIDEgPT0gZ2V0Tm9PZk5vZGVQYWlycygpICYmICIiICE9ICgqKG1Ob2RlUGFpci5iZWdpbigpKSktPm1Ccm93c2VQYXRoKSB7CisgICAgcmV0VmFsID0gdHJ1ZTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoCisgICAgICAiW09QQyBVQSBBQ1RJT05dOiBJbiBGQiAlczogJXMgYWN0aW9uIGlzIG9ubHkgYWxsb3dlZCB1c2luZyBhIENsaWVudCBGQiwgdGhlIGFtb3VudCBvZiBCcm93c2VOYW1lLE5vZGVJZCBwYWlycyBzaG91bGQgYmUgMSwgYW5kIHRoZSBicm93c2VwYXRoIHNob3VsZG4ndCBiZSBlbXB0eVxuIiwKKyAgICAgIG1MYXllci5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIENBY3Rpb25JbmZvOjptQWN0aW9uTmFtZXNbZUNhbGxNZXRob2RdKTsKKyAgfQorICByZXR1cm4gcmV0VmFsOworfQorCitib29sIENBY3Rpb25JbmZvOjpjaGVja1N1YnNjcmliZUFjdGlvbihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGUgcGFGYlR5cGUsIHVuc2lnbmVkIGludCBwYU5vT2ZSRHMsIHVuc2lnbmVkIGludCkgeworICBib29sIHJldFZhbCA9IGZhbHNlOworICBpZihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGU6OmVfU3Vic2NyaWJlciA9PSBwYUZiVHlwZSAmJiBwYU5vT2ZSRHMgPT0gZ2V0Tm9PZk5vZGVQYWlycygpKSB7CisgICAgcmV0VmFsID0gdHJ1ZTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoCisgICAgICAiW09QQyBVQSBBQ1RJT05dOiBJbiBGQiAlczogJXMgYWN0aW9uIGlzIG9ubHkgYWxsb3dlZCB1c2luZyBhIFN1YnNjcmliZSBGQiwgdGhlIGFtb3VudCBvZiBCcm93c2VOYW1lLE5vZGVJZCBwYWlycyBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBSRHNcbiIsCisgICAgICBtTGF5ZXIuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCBDQWN0aW9uSW5mbzo6bUFjdGlvbk5hbWVzW2VTdWJzY3JpYmVdKTsKKyAgfQorICByZXR1cm4gcmV0VmFsOworfQorCitib29sIENBY3Rpb25JbmZvOjpjaGVja0NyZWF0ZU9iamVjdEFjdGlvbihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGUgcGFGYlR5cGUsIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50IHBhTm9PZlNEcykgeworICBib29sIHJldFZhbCA9IGZhbHNlOworICBpZihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGU6OmVfUHVibGlzaGVyID09IHBhRmJUeXBlICYmIDIgPT0gZ2V0Tm9PZk5vZGVQYWlycygpICYmIDAgPT0gcGFOb09mU0RzKSB7CisgICAgcmV0VmFsID0gdHJ1ZTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoCisgICAgICAiW09QQyBVQSBBQ1RJT05dOiBJbiBGQiAlczogJXMgYWN0aW9uIGlzIG9ubHkgYWxsb3dlZCB1c2luZyBhIFB1Ymxpc2ggRkIsIHRoZSBhbW91bnQgb2YgQnJvd3NlTmFtZSxOb2RlSWQgcGFpcnMgc2hvdWxkIGJlIDIsIGFuZCBubyBTRCBtdXN0IGJlIHByb3ZpZGVkXG4iLAorICAgICAgbUxheWVyLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgQ0FjdGlvbkluZm86Om1BY3Rpb25OYW1lc1tlQ3JlYXRlT2JqZWN0XSk7CisgIH0KKyAgcmV0dXJuIHJldFZhbDsKK30KKworYm9vbCBDQWN0aW9uSW5mbzo6Y2hlY2tEZWxldGVPYmplY3RBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGludCBwYU5vT2ZTRHMpIHsKKyAgYm9vbCByZXRWYWwgPSBmYWxzZTsKKyAgaWYoZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlOjplX1B1Ymxpc2hlciA9PSBwYUZiVHlwZSAmJiAxID09IGdldE5vT2ZOb2RlUGFpcnMoKSAmJiAwID09IHBhTm9PZlNEcykgeworICAgIHJldFZhbCA9IHRydWU7CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKAorICAgICAgIltPUEMgVUEgQUNUSU9OXTogSW4gRkIgJXM6ICVzIGFjdGlvbiBpcyBvbmx5IGFsbG93ZWQgdXNpbmcgYSBQdWJsaXNoIEZCLCB0aGUgYW1vdW50IG9mIEJyb3dzZU5hbWUsTm9kZUlkIHBhaXJzIHNob3VsZCBiZSAxLCBhbmQgbm8gU0QgbXVzdCBiZSBwcm92aWRlZFxuIiwKKyAgICAgIG1MYXllci5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIENBY3Rpb25JbmZvOjptQWN0aW9uTmFtZXNbZURlbGV0ZU9iamVjdF0pOworICB9CisgIHJldHVybiByZXRWYWw7Cit9CisKKy8vICoqKioqKioqKioqKioqICBBQ1RJT04gUEFSU0VSICoqKioqKioqKioqKioqKioqKiogLy8KKworQ0FjdGlvbkluZm86OlVBX0FjdGlvblR5cGUgQ0FjdGlvbkluZm86OkNBY3Rpb25QYXJzZXI6OmdldEFjdGlvbkVudW0oY29uc3QgY2hhciAqcGFBY3Rpb25TdHJpbmcpIHsKKyAgQ0FjdGlvbkluZm86OlVBX0FjdGlvblR5cGUgYWN0aW9uID0gQ0FjdGlvbkluZm86OmVBY3Rpb25Vbmtub3duOworICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgZUFjdGlvblVua25vd247IGkrKykgeworICAgIGlmKDAgPT0gc3RyY21wKHBhQWN0aW9uU3RyaW5nLCBDQWN0aW9uSW5mbzo6bUFjdGlvbk5hbWVzW2ldKSkgeworICAgICAgYWN0aW9uID0gc3RhdGljX2Nhc3Q8VUFfQWN0aW9uVHlwZT4oaSk7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICBpZihlQWN0aW9uVW5rbm93biA9PSBhY3Rpb24pIHsKKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQUNUSU9OXTogVGhlIGFjdGlvbiAlcyBpcyB1bnJlY29nbml6ZWRcbiIsIHBhQWN0aW9uU3RyaW5nKTsKKyAgfQorICByZXR1cm4gYWN0aW9uOworfQorCitib29sIENBY3Rpb25JbmZvOjpDQWN0aW9uUGFyc2VyOjpnZXRFbmRwb2ludChjb25zdCBjaGFyICpwYUVuZHBvaW50LCBDSUVDX1NUUklORyAmcGFSZXN1bHQpIHsKKyAgaWYoMCAhPSBzdHJjaHIocGFFbmRwb2ludCwgJyMnKSkgeworICAgIHBhUmVzdWx0ID0gcGFFbmRwb2ludDsKKyAgICBwYVJlc3VsdC5hc3NpZ24ocGFSZXN1bHQuZ2V0VmFsdWUoKSwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihwYVJlc3VsdC5sZW5ndGgoKSAtIDEpKTsgLy9yZW1vdmUgIworICAgIHJldHVybiB0cnVlOworICB9CisgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBDQWN0aW9uSW5mbzo6Q0FjdGlvblBhcnNlcjo6aGFuZGxlUGFpcihjb25zdCBjaGFyICpwYVBhaXIsIENTaW5nbHlMaW5rZWRMaXN0PENOb2RlUGFpckluZm8qPiAmcGFSZXN1bHQpIHsKKyAgYm9vbCByZXRWYWwgPSBmYWxzZTsKKyAgQ1BhcmFtZXRlclBhcnNlciBwYWlyUGFyc2VyKHBhUGFpciwgJywnKTsKKyAgQ0lFQ19TVFJJTkcgYnJvd3NlUGF0aFJlc3VsdDsKKyAgVUFfTm9kZUlkKiBub2RlSWRSZXN1bHQgPSAwOworICBzaXplX3Qgbm9PZlBhcmFtZXRlcnMgPSBwYWlyUGFyc2VyLnBhcnNlUGFyYW1ldGVycygpOworICBpZihOb2RlUGFpclBvc2l0aW9uczo6ZU1heE51bWJlck9mUG9zaXRpb25zID09IG5vT2ZQYXJhbWV0ZXJzKSB7CisgICAgYnJvd3NlUGF0aFJlc3VsdCA9IHBhaXJQYXJzZXJbTm9kZVBhaXJQb3NpdGlvbnM6OmVCcm93c2VOYW1lXTsKKyAgICBub2RlSWRSZXN1bHQgPSBwYXJzZU5vZGVJZChwYWlyUGFyc2VyW05vZGVQYWlyUG9zaXRpb25zOjplTm9kZUlkXSk7CisgICAgcmV0VmFsID0gbm9kZUlkUmVzdWx0OworICB9IGVsc2UgaWYoTm9kZVBhaXJQb3NpdGlvbnM6OmVNYXhOdW1iZXJPZlBvc2l0aW9ucyAtIDEgPT0gbm9PZlBhcmFtZXRlcnMpIHsgLy9ubyBOb2RlSWQgd2FzIHByb3ZpZGVkCisgICAgYnJvd3NlUGF0aFJlc3VsdCA9IHBhaXJQYXJzZXJbTm9kZVBhaXJQb3NpdGlvbnM6OmVCcm93c2VOYW1lXTsKKyAgICByZXRWYWwgPSB0cnVlOworICB9IGVsc2UgeworICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBBQ1RJT05dOiBUaGUgcGFpciAlcyBkb2Vzbid0IGhhdmUgdGhlIHByb3BlciBmb3JtYXQgQlJPV1NFTkFNRSxOT0RFSURcbiIsIHBhUGFpcik7CisgIH0KKworICBpZihyZXRWYWwpIHsKKyAgICBwYVJlc3VsdC5wdXNoQmFjayhuZXcgQ05vZGVQYWlySW5mbyhub2RlSWRSZXN1bHQsIGJyb3dzZVBhdGhSZXN1bHQuZ2V0VmFsdWUoKSkpOworICB9CisKKyAgcmV0dXJuIHJldFZhbDsKK30KKworVUFfTm9kZUlkKiBDQWN0aW9uSW5mbzo6Q0FjdGlvblBhcnNlcjo6cGFyc2VOb2RlSWQoY29uc3QgY2hhciAqcGFOb2RlSWRTdHJpbmcpIHsKKyAgYm9vbCBzb21ldGhpbmdGYWlsZWQgPSBmYWxzZTsKKyAgVUFfTm9kZUlkICpyZXN1bHROb2RlSWQgPSBVQV9Ob2RlSWRfbmV3KCk7CisgIFVBX05vZGVJZF9pbml0KHJlc3VsdE5vZGVJZCk7IC8vd2lsbCBzZXQgdG8gZGVmYXVsdCBuYW1lc3BhY2UgMC4gV2hlbiB0aGUgbm9kZUlkIGlzIGxhdGVyIHVzZWQsIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBzaG91bGQgY29tZSBmcm9tIHRoZSBicm93c2VuYW1lCisgIHVuc2lnbmVkIGludCBpZGVudGlmaWVyUG9zaXRpb24gPSAwOworCisgIENQYXJhbWV0ZXJQYXJzZXIgbWFpblBhcnNlcihwYU5vZGVJZFN0cmluZywgJzonKTsgLy9uYW1lc3BhY2UgYW5kIGlkZW50aWZpZXIgc2hvdWxkIGJlIGRpdmlkZWQgYnkgYSBjb2xvbi4gSWYgZmlyc3QgcGFyYW1ldGVyIGlzIG9taXR0ZWQsIG5hbWVzcGFjZSAwIGlzIGFzc3VtZWQKKyAgc2l6ZV90IG51bWJlck9mUGFyYW1ldGVycyA9IG1haW5QYXJzZXIucGFyc2VQYXJhbWV0ZXJzKCk7CisKKyAgc3dpdGNoKG51bWJlck9mUGFyYW1ldGVycyl7CisgICAgY2FzZSBOb2RlSWRQb3NpdGlvbnM6OmVNYXhOdW1iZXJPZk5vZGVJZFBvc2l0aW9uczogLy9OYW1lc3BhY2UgaXMgcHJlc2VudAorICAgICAgaWRlbnRpZmllclBvc2l0aW9uKys7CisgICAgICBpZighcGFyc2VOYW1lc3BhY2UobWFpblBhcnNlclswXSwgKnJlc3VsdE5vZGVJZCkpIHsKKyAgICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7CisgICAgICB9CisgICAgICAvLyBmYWxsIHRocm91Z2gKKyAgICBjYXNlIE5vZGVJZFBvc2l0aW9uczo6ZU1heE51bWJlck9mTm9kZUlkUG9zaXRpb25zIC0gMTogLy9OT1NPTkFSCisgICAgICBpZighcGFyc2VJZGVudGlmaWVyKG1haW5QYXJzZXJbaWRlbnRpZmllclBvc2l0aW9uXSwgKnJlc3VsdE5vZGVJZCkpIHsKKyAgICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICAgIH0KKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQUNUSU9OXTogTm9kZUlkICVzIGhhcyB3cm9uZyBudW1iZXIgb2YgY29sb25cbiIsIHBhTm9kZUlkU3RyaW5nKTsKKyAgICAgIHNvbWV0aGluZ0ZhaWxlZCA9IHRydWU7CisgICAgICBicmVhazsKKyAgfQorCisgIGlmKHNvbWV0aGluZ0ZhaWxlZCkgeworICAgIERFVkxPR19FUlJPUigKKyAgICAgICJbT1BDIFVBIEFDVElPTl06IFBhcnNpbmcgdGhlIE5vZGVJZCAlcyBmYWlsZWQuIFRoZSBmb3JtYXQgc2hvdWxkIGZvbGxvdyB0aGUgbm90YXRpb24gJzxuYW1lc3BhY2VJbmRleD46PGlkZW50aWZpZXJ0eXBlPj08aWRlbnRpZmllcj4nLiBpZiB0aGUgcGFydCBiZWZvcmUgdGhlIDogaXMgb21pdHRlZCwgbmFtZXNwYWNlIDAgaXMgYXNzdW1lZFxuIiwKKyAgICAgIHBhTm9kZUlkU3RyaW5nKTsKKyAgICBVQV9Ob2RlSWRfZGVsZXRlKHJlc3VsdE5vZGVJZCk7CisgICAgcmVzdWx0Tm9kZUlkID0gMDsKKyAgfQorCisgIHJldHVybiByZXN1bHROb2RlSWQ7Cit9CisKK2Jvb2wgQ0FjdGlvbkluZm86OkNBY3Rpb25QYXJzZXI6OnBhcnNlTmFtZXNwYWNlKGNvbnN0IGNoYXIgKnBhTmFtZXNwYWNlLCBVQV9Ob2RlSWQgJnBhUmVzdWx0KSB7CisgIHBhUmVzdWx0Lm5hbWVzcGFjZUluZGV4ID0gc3RhdGljX2Nhc3Q8VUFfVUludDE2Pihmb3J0ZTo6Y29yZTo6dXRpbDo6c3RydG91bChwYU5hbWVzcGFjZSwgMCwgMTApKTsgLy9UT0RPOiBzaG91bGQgd2UgY2hlY2sgZm9yIHJldHVybiB2YWx1ZSBoZXJlPworICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBDQWN0aW9uSW5mbzo6Q0FjdGlvblBhcnNlcjo6cGFyc2VJZGVudGlmaWVyKGNvbnN0IGNoYXIgKnBhSWRlbnRpZmllciwgVUFfTm9kZUlkICZwYVJlc3VsdCkgeworICBDUGFyYW1ldGVyUGFyc2VyIGlkZW50aWZpZXJQYXJzZXIocGFJZGVudGlmaWVyLCAnPScpOyAvLzxpZGVudGlmaWVydHlwZT49PGlkZW50aWZpZXI+CisgIGlmKE5vZGVJZEl0ZW5maWVyUG9zaXRpb25zOjplTWF4TnVtYmVyT2ZOb2RlSWRJZGVuZmllcnRQb3NpdGlvbnMgPT0gaWRlbnRpZmllclBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSkgeworICAgIGlmKDAgPT0gc3RyY21wKGlkZW50aWZpZXJQYXJzZXJbTm9kZUlkSXRlbmZpZXJQb3NpdGlvbnM6OmVJZGVuZmllclR5cGVdLCAiaSIpKSB7IC8vbnVtZXJpYworICAgICAgcGFSZXN1bHQuaWRlbnRpZmllclR5cGUgPSBVQV9OT0RFSURUWVBFX05VTUVSSUM7CisgICAgICBwYVJlc3VsdC5pZGVudGlmaWVyLm51bWVyaWMgPSBzdGF0aWNfY2FzdDxVQV9VSW50MzI+KGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b3VsKGlkZW50aWZpZXJQYXJzZXJbTm9kZUlkSXRlbmZpZXJQb3NpdGlvbnM6OmVJZGVuZmllclZhbHVlXSwgMCwgMTApKTsgLy9UT0RPOiBzaG91bGQgd2UgY2hlY2sgZm9yIHJldHVybiB2YWx1ZSBoZXJlPworICAgIH0gZWxzZSBpZigwID09IHN0cmNtcChpZGVudGlmaWVyUGFyc2VyW05vZGVJZEl0ZW5maWVyUG9zaXRpb25zOjplSWRlbmZpZXJUeXBlXSwgInMiKSkgeyAvL3N0cmluZworICAgICAgcGFSZXN1bHQuaWRlbnRpZmllclR5cGUgPSBVQV9OT0RFSURUWVBFX1NUUklORzsKKyAgICAgIHBhUmVzdWx0LmlkZW50aWZpZXIuc3RyaW5nID0gVUFfU3RyaW5nX2Zyb21DaGFycyhpZGVudGlmaWVyUGFyc2VyW05vZGVJZEl0ZW5maWVyUG9zaXRpb25zOjplSWRlbmZpZXJWYWx1ZV0pOworICAgIH0gZWxzZSBpZigwID09IHN0cmNtcChpZGVudGlmaWVyUGFyc2VyW05vZGVJZEl0ZW5maWVyUG9zaXRpb25zOjplSWRlbmZpZXJUeXBlXSwgImciKSkgeyAvL0dVSUQKKyAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBBQ1RJT05dOkdVSUQgdHlwZSBpcyBub3QgeWV0IGltcGxlbWVudGVkXG4iKTsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9IGVsc2UgaWYoMCA9PSBzdHJjbXAoaWRlbnRpZmllclBhcnNlcltOb2RlSWRJdGVuZmllclBvc2l0aW9uczo6ZUlkZW5maWVyVHlwZV0sICJiIikpIHsgLy9ieXRlU3RyaW5nCisgICAgICBwYVJlc3VsdC5pZGVudGlmaWVyVHlwZSA9IFVBX05PREVJRFRZUEVfQllURVNUUklORzsKKyAgICAgIHBhUmVzdWx0LmlkZW50aWZpZXIuYnl0ZVN0cmluZyA9IFVBX0JZVEVTVFJJTkdfQUxMT0MoaWRlbnRpZmllclBhcnNlcltOb2RlSWRJdGVuZmllclBvc2l0aW9uczo6ZUlkZW5maWVyVmFsdWVdKTsKKyAgICB9IGVsc2UgeworICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIEFDVElPTl06IFRoZSBpZGVudGlmaWVyIHR5cGUgJXMgd2Fzbid0IHJlY29nbml6ZWQgYW1vbmcgdGhlIHBvc3NpYmxlIHZhbHVlcyBbaSwgcywgYl1cbiIsIGlkZW50aWZpZXJQYXJzZXJbMF0pOworICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQUNUSU9OXTogUGFyc2luZyB0aGUgaWRlbnRpZmllciAlcyBmYWlsZWQuIFRoZSBmb3JtYXQgc2hvdWxkIGZvbGxvdyB0aGUgbm90YXRpb24gJzxpZGVudGlmaWVydHlwZT49PGlkZW50aWZpZXI+J1xuIiwgcGFJZGVudGlmaWVyKTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgcmV0dXJuIHRydWU7Cit9CisKKy8vICoqKiogTUVUSE9EIEFDVElPTiAqKioqKi8vCisKK0NMb2NhbE1ldGhvZEluZm86OkNMb2NhbE1ldGhvZEluZm8oQ09QQ19VQV9MYXllciAmcGFMYXllciwgQ0lFQ19TVFJJTkcgJnBhRW5kcG9pbnQpIDoKKyAgICBDQWN0aW9uSW5mbyhwYUxheWVyLCBlQ3JlYXRlTWV0aG9kLCBwYUVuZHBvaW50KSB7Cit9CisKK0NMb2NhbE1ldGhvZEluZm86On5DTG9jYWxNZXRob2RJbmZvKCkgeworfQorCitDU3luY09iamVjdCYgQ0xvY2FsTWV0aG9kSW5mbzo6Z2V0TXV0ZXgoKSB7CisgIHJldHVybiBtTXV0ZXg7Cit9CisKK2ZvcnRlOjphcmNoOjpDU2VtYXBob3JlJiBDTG9jYWxNZXRob2RJbmZvOjpnZXRSZXN1bHRSZWFkeSgpIHsKKyAgcmV0dXJuIG1SZXN1bHRJc1JlYWR5OworfQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2FjdGlvbl9pbmZvLmggYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfYWN0aW9uX2luZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2IzMDk2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2FjdGlvbl9pbmZvLmgKQEAgLTAsMCArMSwzOTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIFNSQ19NT0RVTEVTX09QQ19VQV9PUENVQV9BQ1RJT05fSU5GT19IXworI2RlZmluZSBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFfQUNUSU9OX0lORk9fSF8KKworI2luY2x1ZGUgPGZvcnRlX3NlbS5oPgorI2luY2x1ZGUgIm9wY3VhX2xheWVyLmgiCisKKy8qKgorICogRWFjaCBDb21tdW5pY2F0aW9uIEZCIChQVUJMSVNILCBTVUJTQ1JJQkUsIENMSUVOVCwgU0VSVkVSKSBpcyBjb25zaWRlcmVkIGFuIGFjdGlvbiB0byBiZSBleGVjdXRlZCBpbiB0aGUgT1BDIFVBIGxpYnJhcnksIGVpdGhlciBsb2NhbGx5IG9yIHJlbW90ZWx5LgorICogVGhpcyBjbGFzcyBlbmNhcHN1bGF0ZXMgYWxsIGluZm9ybWF0aW9uIG5lZWRlZCB0byBwZXJmb3JtIHRoZSBhY3Rpb24uIEl0IGhhcyBhIGZhY3RvcnkgdG8gY3JlYXRlIGEgbmV3IGFjdGlvbiBmcm9tIHRoZSBwYXJhbWV0ZXJzIHNldCBpbiB0aGUgSUQKKyAqIG9mIHRoZSBGQgorICovCitjbGFzcyBDQWN0aW9uSW5mbyB7CisgIHB1YmxpYzoKKworICAgIC8qKgorICAgICAqIEFsbG93ZWQgdHlwZSBvZiBhY3Rpb25zLiBJZiBhIG5ldyBhY3Rpb24gaXMgdG8gYmUgYWRkZWQsIGl0IHNob3VsZCBnbyBiZWZvcmUgZUFjdGlvblVua25vd24KKyAgICAgKi8KKyAgICBlbnVtIFVBX0FjdGlvblR5cGUgeworICAgICAgZVJlYWQsIC8vITwgZVJlYWQgUmVhZCBhIHZhcmlhYmxlCisgICAgICBlV3JpdGUsIC8vITwgZVdyaXRlIFdyaXRlIHRvIGEgdmFyaWFibGUKKyAgICAgIGVDcmVhdGVNZXRob2QsIC8vITwgZUNyZWF0ZU1ldGhvZCBDcmVhdGUgYSBtZXRob2QKKyAgICAgIGVDYWxsTWV0aG9kLCAvLyE8IGVDYWxsTWV0aG9kIENhbGwgYSBtZXRob2QKKyAgICAgIGVTdWJzY3JpYmUsIC8vITwgZVN1YnNjcmliZSBTdWJzY3JpYmUgdG8gY2hhbmdlcyBvZiBhIHZhcmlhYmxlCisgICAgICBlQ3JlYXRlT2JqZWN0LCAvLyE8IGVDcmVhdGVPYmplY3QgQ3JlYXRlIGFuIG9iamVjdAorICAgICAgZURlbGV0ZU9iamVjdCwgLy8hPCBlRGVsZXRlT2JqZWN0IERlbGV0ZSBhbiBvYmplY3QKKyAgICAgIGVBY3Rpb25Vbmtub3duLCAvLyE8IGVBY3Rpb25Vbmtub3duIFRoZSBwcm92aWRlZCBhY3Rpb24gaXMgdW5rbm93bi4gVGhpcyBpcyB1c2VkIGFsc28gdG8gc2V0IHRoZSBsZW5ndGggb2Yga25vd24gYWN0aW9ucworICAgIH07CisKKyAgICAvKioKKyAgICAgKiAyLVR1cGxlIHRvIHJlZmVyZW5jZSBhIHNwZWNpZmljIG5vZGUgaW4gYW4gT1BDIFVBIHNlcnZlciBjb21wb3NlZCBvZiB0aGUgbm9kZSBJRCBhbmQgYnJvd3NlcGF0aCBvZiB0aGUgbm9kZQorICAgICAqLworICAgIHN0cnVjdCBDTm9kZVBhaXJJbmZvIHsKKyAgICAgICAgQ05vZGVQYWlySW5mbyhVQV9Ob2RlSWQgKnBhTm9kZUlkLCBjb25zdCBjaGFyICpwYUJyb3dzZVBhdGgpIDoKKyAgICAgICAgICAgIG1Ob2RlSWQocGFOb2RlSWQpLCBtQnJvd3NlUGF0aChwYUJyb3dzZVBhdGgpIHsKKyAgICAgICAgfQorICAgICAgICBVQV9Ob2RlSWQgKm1Ob2RlSWQ7CisgICAgICAgIENJRUNfU1RSSU5HIG1Ccm93c2VQYXRoOworICAgIH07CisKKyAgICAvKioKKyAgICAgKiBDb25zdHJ1Y3RvciBvZiB0aGUgY2xhc3MuCisgICAgICogQHBhcmFtIHBhTGF5ZXIgVGhlIGxheWVyIHRoYXQgY3JlYXRlcyBhbmQgZXhlY3V0ZXMgdGhlIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUFjdGlvbiBUaGUgYWN0aW9uIHRvIGJlIGV4ZWN1dGVkCisgICAgICogQHBhcmFtIHBhRW5kcG9pbnQgVGhlIGVuZHBvaW50IG9mIGEgcmVtb3RlIE9QQyBVQSBpbiBjYXNlIHRoZSBhY3Rpb24gaXMgdG8gYmUgZXhlY3V0ZWQgcmVtb3RlbHkuIEFuIGVtcHR5IGVuZHBvaW50IG1lYW5zIHRoYXQgdGhlIGFjdGlvbiBpcyB0byBiZSBleGVjdXRlZCBsb2NhbGx5CisgICAgICovCisgICAgZXhwbGljaXQgQ0FjdGlvbkluZm8oQ09QQ19VQV9MYXllciAmcGFMYXllciwgVUFfQWN0aW9uVHlwZSBwYUFjdGlvbiwgQ0lFQ19TVFJJTkcgJnBhRW5kcG9pbnQpOworCisgICAgLyoqCisgICAgICogRGVzdHJ1Y3RvciBvZiB0aGUgY2xhc3MKKyAgICAgKi8KKyAgICB2aXJ0dWFsIH5DQWN0aW9uSW5mbygpOworCisgICAgLyoqCisgICAgICogR2V0dGVyIG9mIHRoZSBhY3Rpb24gdHlwZQorICAgICAqIEByZXR1cm4gQWN0aW9uIHR5cGUKKyAgICAgKi8KKyAgICBVQV9BY3Rpb25UeXBlIGdldEFjdGlvbigpIHsKKyAgICAgIHJldHVybiBtQWN0aW9uOworICAgIH0KKworICAgIC8qKgorICAgICAqIEdldHRlciBvZiB0aGUgbGF5ZXIKKyAgICAgKiBAcmV0dXJuIExheWVyCisgICAgICovCisgICAgQ09QQ19VQV9MYXllciYgZ2V0TGF5ZXIoKSB7CisgICAgICByZXR1cm4gbUxheWVyOworICAgIH0KKworICAgIC8qKgorICAgICAqIEdldHRlciBvZiB0aGUgZW5wb2ludAorICAgICAqIEByZXR1cm4gQSBjb25zdGFudCByZWZlcmVuY2Ugb2YgdGhlIGVuZHBvaW50CisgICAgICovCisgICAgY29uc3QgQ0lFQ19TVFJJTkcmIGdldEVuZHBvaW50KCkgeworICAgICAgcmV0dXJuIG1FbmRwb2ludDsKKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBHZXR0ZXIgb2YgdGhlIGxpc3Qgb2Ygbm9kZSBwYWlyIGluZm9ybWF0aW9uCisgICAgICogQHJldHVybiBMaXN0IG9mIG5vZGUgcGFpciBpbmZvcm1hdGlvbgorICAgICAqLworICAgIENTaW5nbHlMaW5rZWRMaXN0PENOb2RlUGFpckluZm8qPiYgZ2V0Tm9kZVBhaXJJbmZvKCkgeworICAgICAgcmV0dXJuIG1Ob2RlUGFpcjsKKyAgICB9CisKKyAgICAvKioKKyAgICAgKiBHZXRzIHRoZSBhbW91bnQgb2Ygbm9kZSBwYWlyIGluIHRoZSBhY3Rpb24KKyAgICAgKiBAcmV0dXJuIEFtb3VudCBvZiBub2RlIHBhaXIgaW4gdGhlIGFjdGlvbgorICAgICAqLworICAgIHNpemVfdCBnZXROb09mTm9kZVBhaXJzKCkgeworICAgICAgc2l6ZV90IG5vT2ZQYWlycyA9IDA7CisgICAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q05vZGVQYWlySW5mbyo+OjpJdGVyYXRvciBpdCA9IG1Ob2RlUGFpci5iZWdpbigpOyBpdCAhPSBtTm9kZVBhaXIuZW5kKCk7ICsraXQsIG5vT2ZQYWlycysrKQorICAgICAgICA7CisgICAgICByZXR1cm4gbm9PZlBhaXJzOworICAgIH0KKworICAgIC8qKgorICAgICAqIEluZGljYXRlcyBpZiB0aGUgYWN0aW9uIGlzIHRvIGJlIGV4ZWN1dGVkIGxvY2FsbHkgb3IgcmVtb3RlbHkuIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBieSB0aGUgbGF5ZXIgdG8gZGVjaWRlIHdoaWNoIGhhbmRsZXIgdG8gdXNlIChsb2NhbCBvciByZW1vdGUpCisgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSBhY3Rpb24gaXMgdG8gYmUgZXhlY3V0ZWQgcmVtb3RlbHksIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgaXNSZW1vdGUoKTsKKworICAgIC8qKgorICAgICAqIEZhY3RvcnkgdG8gcmV0cmlldmUgYW4gYWN0aW9uIHR5cGUgZnJvbSB0aGUgcGFyYW1ldGVycyBkZWZpbmVkIGluIHRoZSBJRCBkYXRhIGlucHV0IG9mIHRoZSBGQi4gVGhlIElEIGhhcyB0aGUgZm9ybWF0IEFDVElPTjtbRU5EUE9JTlQjXTtCUk9XU0VOQU1FLE5PREVJRDtbQlJPU1dFTkFNRSxOT0RFSURdOy4uLgorICAgICAqIEBwYXJhbSBwYVBhcmFtcyBQYXJhbWV0ZXJzIHNldCBpbiB0aGUgSUQgb2YgdGhlIEZCIChzdHJpbmcgY29udGFpbmVkIGluIHRoZSBzcXVhcmUgYnJhY2tldHMgb2Ygb3BjX3VhWy4uLl0pCisgICAgICogQHBhcmFtIHBhTGF5ZXIgVGhlIGxheWVyIHRoYXQgY3JlYXRlcyBhbmQgZXhlY3V0ZXMgdGhlIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYVR5cGVzIEEgbGlzdCBvZiB0eXBlIGNvbnZlcnRlcnMgb2YgdGhlIGNvbm5lY3Rpb25zIG9mIHRoZSBGQiBvZiB0aGUgYWN0aW9uIChTRHMvUkRzKQorICAgICAqIEByZXR1cm4KKyAgICAgKi8KKyAgICBzdGF0aWMgQ0FjdGlvbkluZm8qIGdldEFjdGlvbkluZm9Gcm9tUGFyYW1zKGNvbnN0IGNoYXIgKnBhUGFyYW1zLCBDT1BDX1VBX0xheWVyICZwYUxheWVyKTsKKworICAgIC8qKgorICAgICAqIFJldHJpZXZlcyB0aGUgYXJyYXkgb2YgQ0lFQ19BTlkgdG8gYmUgc2VudAorICAgICAqIEByZXR1cm4gdGhlIGFycmF5IG9mIENJRUNfQU5ZIHRvIGJlIHNlbnQKKyAgICAgKi8KKyAgICBjb25zdCBDSUVDX0FOWSAqZ2V0RGF0YVRvU2VuZCgpOworCisgICAgLyoqCisgICAgICogUmV0cmlldmVzIHRoZSBhcnJheSBvZiBDSUVDX0FOWSB3aGVyZSB0byByZWNlaXZlIHRoZSBkYXRhCisgICAgICogQHJldHVybiBhcnJheSBvZiBDSUVDX0FOWSB3aGVyZSB0byByZWNlaXZlIHRoZSBkYXRhCisgICAgICovCisgICAgQ0lFQ19BTlkgKmdldERhdGFUb1JlY2VpdmUoKTsKKworICAgIC8qKgorICAgICAqIFJldHJpZXZlcyB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkgdG8gc2VuZAorICAgICAqIEByZXR1cm4gc2l6ZSBvZiB0aGUgYXJyYXkgdG8gc2VuZAorICAgICAqLworICAgIHNpemVfdCBnZXRTZW5kU2l6ZSgpOworCisgICAgLyoqCisgICAgICogUmV0cmlldmVzIHRoZSBzaXplIG9mIHRoZSBhcnJheSB0byByZWNlaXZlCisgICAgICogQHJldHVybiBzaXplIG9mIHRoZSBhcnJheSB0byByZWNlaXZlCisgICAgICovCisgICAgc2l6ZV90IGdldFJlY2VpdmVTaXplKCk7CisKKyAgICAvKioKKyAgICAgKiBTdHJpbmcgcmVwcmVzZW50YXRpb25zIG9mIHRoZSBhY3Rpb25zIGFuZCB3aGljaCBzaG91bGQgYmUgcHJvdmlkZWQgYXMgdGhlIGZpcnN0IHBhcnQgb2YgdGhlIElECisgICAgICovCisgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IG1BY3Rpb25OYW1lc1tlQWN0aW9uVW5rbm93bl07CisKKyAgcHJpdmF0ZToKKworICAgIC8qKgorICAgICAqIENvcHkgY29uc3RydWN0b3IgaXMgcHJpdmF0ZSBhbmQgbm90IGRlZmluZWQgdG8gYXZvaWQgaXRzIHVzYWdlCisgICAgICovCisgICAgQ0FjdGlvbkluZm8oY29uc3QgQ0FjdGlvbkluZm8gJnBhT2JqKTsKKworICAgIC8qKgorICAgICAqIEFzc2lnbm1lbnQgb3BlcmF0b3IgaXMgcHJpdmF0ZSBhbmQgbm90IGRlZmluZWQgdG8gYXZvaWQgaXRzIHVzYWdlCisgICAgICovCisgICAgQ0FjdGlvbkluZm8mIG9wZXJhdG9yPShjb25zdCBDQWN0aW9uSW5mbyAmcGFPdGhlcik7CisKKyAgICAvKioKKyAgICAgKiBDaGVja3MgaWYgdGhlIGFjdGlvbiBpcyB2YWxpZCByZWdhcmRpbmcgcmVxdWlyZW1lbnRzIGZvciB0aGUgYW1vdW50IG9mIG5vZGUgcGFpcnMsIGVuZHBvaW50IHZhbHVlIGFuZCB0aGUgdHlwZSBvZiBhY3Rpb24KKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIGFjdGlvbiBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBjaGVja0FjdGlvbigpOworCisgICAgLyoqCisgICAgICogQ2hlY2tzIGlmIHRoZSBwcm92aWRlZCBub2RlIHBhaXIgaW5mb3JtYXRpb24gaXMgdmFsaWQKKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIG5vZGUgcGFpciBpbmZvcm1hdGlvbiBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBjaGVja05vZGVQYWlySW5mbygpOworCisgICAgLyoqCisgICAgICogU3BlY2lmaWMgY2hlY2sgZm9yIHJlYWQgYWN0aW9uCisgICAgICogQHBhcmFtIHBhRmJUeXBlIFRoZSB0eXBlIG9mIEZCIHRoYXQgd2FudHMgdG8gZXhlY3V0ZWQgdGhlIHJlYWQgYWN0aW9uCisgICAgICogQHBhcmFtIHBhTm9PZlJEcyBOdW1iZXIgb2YgUkRzIHByZXNlbnQgaW4gdGhlIEZCCisgICAgICogQHBhcmFtIHBhTm9PZlNEcyBOdW1iZXIgb2YgU0RzIHByZXNlbnQgaW4gdGhlIEZCCisgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSByZWFkIGFjdGlvbiBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBjaGVja1JlYWRBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQgcGFOb09mUkRzLCB1bnNpZ25lZCBpbnQgcGFOb09mU0RzKTsKKworICAgIC8qKgorICAgICAqIFNwZWNpZmljIGNoZWNrIGZvciB3cml0ZSBhY3Rpb24KKyAgICAgKiBAcGFyYW0gcGFGYlR5cGUgVGhlIHR5cGUgb2YgRkIgdGhhdCB3YW50cyB0byBleGVjdXRlZCB0aGUgd3JpdGUgYWN0aW9uCisgICAgICogQHBhcmFtIHBhTm9PZlJEcyBOdW1iZXIgb2YgUkRzIHByZXNlbnQgaW4gdGhlIEZCCisgICAgICogQHBhcmFtIHBhTm9PZlNEcyBOdW1iZXIgb2YgU0RzIHByZXNlbnQgaW4gdGhlIEZCCisgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSB3cml0ZSBhY3Rpb24gaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgY2hlY2tXcml0ZUFjdGlvbihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGUgcGFGYlR5cGUsIHVuc2lnbmVkIGludCBwYU5vT2ZSRHMsIHVuc2lnbmVkIGludCBwYU5vT2ZTRHMpOworCisgICAgLyoqCisgICAgICogU3BlY2lmaWMgY2hlY2sgZm9yIGNyZWF0ZSBtZXRob2QgYWN0aW9uCisgICAgICogQHBhcmFtIHBhRmJUeXBlIFRoZSB0eXBlIG9mIEZCIHRoYXQgd2FudHMgdG8gZXhlY3V0ZWQgdGhlIGNyZWF0ZSBtZXRob2QgYWN0aW9uCisgICAgICogQHBhcmFtIHBhTm9PZlJEcyBOdW1iZXIgb2YgUkRzIHByZXNlbnQgaW4gdGhlIEZCCisgICAgICogQHBhcmFtIHBhTm9PZlNEcyBOdW1iZXIgb2YgU0RzIHByZXNlbnQgaW4gdGhlIEZCCisgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSBjcmVhdGUgbWV0aG9kIGFjdGlvbiBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBjaGVja0NyZWF0ZU1ldGhvZEFjdGlvbihmb3J0ZTo6Y29tX2luZnJhOjpFQ29tU2VydmljZVR5cGUgcGFGYlR5cGUsIHVuc2lnbmVkIGludCBwYU5vT2ZSRHMsIHVuc2lnbmVkIGludCBwYU5vT2ZTRHMpOworCisgICAgLyoqCisgICAgICogU3BlY2lmaWMgY2hlY2sgZm9yIGNhbGwgbWV0aG9kIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUZiVHlwZSBUaGUgdHlwZSBvZiBGQiB0aGF0IHdhbnRzIHRvIGV4ZWN1dGVkIHRoZSBjYWxsIG1ldGhvZCBhY3Rpb24KKyAgICAgKiBAcGFyYW0gcGFOb09mUkRzIE51bWJlciBvZiBSRHMgcHJlc2VudCBpbiB0aGUgRkIKKyAgICAgKiBAcGFyYW0gcGFOb09mU0RzIE51bWJlciBvZiBTRHMgcHJlc2VudCBpbiB0aGUgRkIKKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIGNhbGwgbWV0aG9kIGFjdGlvbiBpcyB2YWxpZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBjaGVja0NhbGxNZXRob2RBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQgcGFOb09mUkRzLCB1bnNpZ25lZCBpbnQgcGFOb09mU0RzKTsKKworICAgIC8qKgorICAgICAqIFNwZWNpZmljIGNoZWNrIGZvciBzdWJzY3JpYmUgYWN0aW9uCisgICAgICogQHBhcmFtIHBhRmJUeXBlIFRoZSB0eXBlIG9mIEZCIHRoYXQgd2FudHMgdG8gZXhlY3V0ZWQgdGhlIHN1YnNjcmliZSBhY3Rpb24KKyAgICAgKiBAcGFyYW0gcGFOb09mUkRzIE51bWJlciBvZiBSRHMgcHJlc2VudCBpbiB0aGUgRkIKKyAgICAgKiBAcGFyYW0gcGFOb09mU0RzIE51bWJlciBvZiBTRHMgcHJlc2VudCBpbiB0aGUgRkIKKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIHN1YnNjcmliZSBhY3Rpb24gaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgY2hlY2tTdWJzY3JpYmVBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQgcGFOb09mUkRzLCB1bnNpZ25lZCBpbnQgcGFOb09mU0RzKTsKKworICAgIC8qKgorICAgICAqIFNwZWNpZmljIGNoZWNrIGZvciBjcmVhdGUgb2JqZWN0IGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUZiVHlwZSBUaGUgdHlwZSBvZiBGQiB0aGF0IHdhbnRzIHRvIGV4ZWN1dGVkIHRoZSBjcmVhdGUgb2JqZWN0IGFjdGlvbgorICAgICAqIEBwYXJhbSBwYU5vT2ZSRHMgTnVtYmVyIG9mIFJEcyBwcmVzZW50IGluIHRoZSBGQgorICAgICAqIEBwYXJhbSBwYU5vT2ZTRHMgTnVtYmVyIG9mIFNEcyBwcmVzZW50IGluIHRoZSBGQgorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgY3JlYXRlIG9iamVjdCBhY3Rpb24gaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgY2hlY2tDcmVhdGVPYmplY3RBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQgcGFOb09mUkRzLCB1bnNpZ25lZCBpbnQgcGFOb09mU0RzKTsKKworICAgIC8qKgorICAgICAqIFNwZWNpZmljIGNoZWNrIGZvciBkZWxldGUgb2JqZWN0IGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUZiVHlwZSBUaGUgdHlwZSBvZiBGQiB0aGF0IHdhbnRzIHRvIGV4ZWN1dGVkIHRoZSBkZWxldGUgb2JqZWN0IGFjdGlvbgorICAgICAqIEBwYXJhbSBwYU5vT2ZSRHMgTnVtYmVyIG9mIFJEcyBwcmVzZW50IGluIHRoZSBGQgorICAgICAqIEBwYXJhbSBwYU5vT2ZTRHMgTnVtYmVyIG9mIFNEcyBwcmVzZW50IGluIHRoZSBGQgorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgZGVsZXRlIG9iamVjdCBhY3Rpb24gaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgY2hlY2tEZWxldGVPYmplY3RBY3Rpb24oZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVNlcnZpY2VUeXBlIHBhRmJUeXBlLCB1bnNpZ25lZCBpbnQgcGFOb09mUkRzLCB1bnNpZ25lZCBpbnQgcGFOb09mU0RzKTsKKworICAgIC8qKgorICAgICAqIFRoZSB0eXBlIG9mIGFjdGlvbiB0byBleGVjdXRlCisgICAgICovCisgICAgVUFfQWN0aW9uVHlwZSBtQWN0aW9uOworCisgICAgLyoqCisgICAgICogVGhlIGxheWVyIHRoYXQgY3JlYXRlZCB0aGUgYWN0aW9uCisgICAgICovCisgICAgQ09QQ19VQV9MYXllciYgbUxheWVyOworCisgICAgLyoqCisgICAgICogRW1wdHkgaWYgdGhlIGFjdGlvbiBpcyBleGVjdXRlZCBsb2NhbGx5LCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBDSUVDX1NUUklORyBtRW5kcG9pbnQ7CisKKyAgICAvKioKKyAgICAgKiBMaXN0IG9mIHRoZSBub2RlIHBhaXIgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG5vZGVzIHRoZSBhY3Rpb24gaXMgYWNjZXNzaW5nCisgICAgICovCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q05vZGVQYWlySW5mbyo+IG1Ob2RlUGFpcjsKKworICAgIHN0YXRpYyBjb25zdCBzaXplX3Qgc2NtTWluaW11bUFtb3VuT2ZQYXJhbWV0ZXJzID0gMjsgLy9hdCBsZWFzdCB0d28gYXJlIG5lZWRlZAorCisgICAgZW51bSBJRFBvc2l0aW9ucyB7CisgICAgICBlQWN0aW9uVHlwZSA9IDAsCisgICAgICBlRW5kcG9pbnQsCisgICAgICBlTm9kZVBhaXJzCisgICAgfTsKKworICAgIC8qKgorICAgICAqIEludGVybmFsIGNsYXNzIHRvIHBhcnNlIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHBhc3NlZCB0byB0aGUgZmFjdG9yeQorICAgICAqLworICAgIGNsYXNzIENBY3Rpb25QYXJzZXIgeworICAgICAgcHVibGljOgorICAgICAgICAvKioKKyAgICAgICAgICogUmV0cmlldmVzIHRoZSBhY3Rpb24gdHlwZSBmcm9tIGEgc3RyaW5nIGRlZmluZWQgaW4gbUFjdGlvbk5hbWVzCisgICAgICAgICAqIEBwYXJhbSBwYVBhcmFtcyBUaGUgc3RyaW5nIHNvdXJjZQorICAgICAgICAgKiBAcmV0dXJuIFR5cGUgYWNjb3JkaW5nIHRvIHRoZSBzdHJpbmcgcGFyYW1ldGVyLiBlQWN0aW9uVW5rbm93biBpcyByZXR1cm5lZCBpZiBwYVBhcmFtcyBkb2Vzbid0IG1hdGNoIGFueSB2YWx1ZSBpbiBtQWN0aW9uTmFtZXMKKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyBVQV9BY3Rpb25UeXBlIGdldEFjdGlvbkVudW0oY29uc3QgY2hhciAqcGFQYXJhbXMpOworCisgICAgICAgIC8qKgorICAgICAgICAgKiBSZXRyaWV2ZXMgdGhlIGVuZHBvaW50IGZyb20gYSBzdHJpbmcuIFRoZSBlbmRwb2ludCBpcyBzaWduYWxpemVkIGJ5IGEgIyBjaGFyYWN0ZXIgYXQgdGhlIGVuZCBvZiB0aGUgc3RyaW5nCisgICAgICAgICAqIEBwYXJhbSBwYUVuZHBvaW50IFNvdXJjZSB3aGVyZSB0aGUgZW5kcG9pbnQgaXMgcHJlc2VudAorICAgICAgICAgKiBAcGFyYW0gcGFSZXN1bHQgUGxhY2UgdG8gc3RvcmUgdGhlIGVuZHBvaW50CisgICAgICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBhbiBlbmRwb2ludCB3YXMgZm91bmQsIGZhbHNlIG90aGVyd2lzZQorICAgICAgICAgKi8KKyAgICAgICAgc3RhdGljIGJvb2wgZ2V0RW5kcG9pbnQoY29uc3QgY2hhciAqcGFFbmRwb2ludCwgQ0lFQ19TVFJJTkcgJnBhUmVzdWx0KTsKKworICAgICAgICAvKioKKyAgICAgICAgICogQ2hlY2tzIGlmIGEgcGFpciBpbiBhIHN0cmluZyBmb3JtIGlzIHZhbGlkIGFuZCBzdG9yZXMgaXQgaW4gdGhlIHJlc3VsdCBsaXN0LiBUaGUgbm9kZSBwYWlyIGhhcyBmb3JtYXQgQlJPV1NFTkFNRSxOT0RFSUQgd2hlcmUgQlJPV1NFTkFNRSBpcyBhIHBhdGggc3RyaW5nLiBAc2VlIHBhcnNlTm9kZUlkIGZvciB0aGUgZm9ybWF0IG9mIE5PREVJRAorICAgICAgICAgKiBAcGFyYW0gcGFQYWlyIFNvdXJjZSBzdHJpbmcgY29udGFpbmluZyB0aGUgbm9kZSBwYWlyIGluZm9ybWF0aW9uCisgICAgICAgICAqIEBwYXJhbSBwYVJlc3VsdCBQbGFjZSB0byBzdG9yZSBhIG5ldyBhbGxvY2F0ZWQgbm9kZSBwYWlyIGluZm8gaWYgdGhlIHNvdXJjZSB3YXMgdmFsaWQKKyAgICAgICAgICogQHJldHVybiBUcnVlIGlmIHBhUGFpciBjb250YWluZWQgYSB2YWxpZCBub2RlIHBhaXIgaW5mb3JtYXRpb24sIGZhbHNlIG90aGVyd2lzZQorICAgICAgICAgKi8KKyAgICAgICAgc3RhdGljIGJvb2wgaGFuZGxlUGFpcihjb25zdCBjaGFyICpwYVBhaXIsIENTaW5nbHlMaW5rZWRMaXN0PENOb2RlUGFpckluZm8qPiAmcGFSZXN1bHQpOworCisgICAgICBwcml2YXRlOgorCisgICAgICAgIC8qKgorICAgICAgICAgKiBQYXJzZSBhIG5vZGUgSUQgaW4gYSBzdHJpbmcgZm9ybWF0IGFuZCByZXR1cm5zIGEgbmV3IGFsbG9jYXRlZCBVQV9Ob2RlSWQgcG9pbnRlci4gVGhlIGZvcm1hdCBvZiB0aGUgbm9kZSBJRCBpcyBhcyBmb2xsb3c6IDxuYW1lc3BhY2VJbmRleD46PGlkZW50aWZpZXJ0eXBlPj08aWRlbnRpZmllcj4gd2hlcmUgbmFtZXNwYWNlSW5kZXggaXMgYSBudW1iZXIsIGlkZW50aWZpZXIgZGVwZW5kcyBvbiBpZGVudGlmaWVydHlwZS4gQHNlZSBwYXJzZUlkZW50aWZpZXIgZm9yIHRoZSBmb3JtYXQgb2YgaWRlbnRpZmllcnR5cGUKKyAgICAgICAgICogQHBhcmFtIHBhTm9kZUlkU3RyaW5nIFRoZSBzdHJpbmcgc291cmNlIG9mIHRoZSBub2RlIElECisgICAgICAgICAqIEByZXR1cm4gMCBpZiB0aGUgc291cmNlIHN0cmluZyBpcyBpbnZhbGlkLCBhIG5ldyBhbGxvY2F0ZWQgVUFfTm9kZUlkIHdpdGggdGhlIGluZm9ybWF0aW9uIGZyb20gdGhlIHNvdXJjZSBvdGhlcndpc2UKKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyBVQV9Ob2RlSWQqIHBhcnNlTm9kZUlkKGNvbnN0IGNoYXIgKnBhTm9kZUlkU3RyaW5nKTsKKworICAgICAgICAvKioKKyAgICAgICAgICogUGFyc2UgdGhlIG5hbWVzcGFjZSBvZiB0aGUgbm9kZSBJRCBmcm9tIHRoZSBzdHJpbmcgc291cmNlCisgICAgICAgICAqIEBwYXJhbSBwYU5hbWVzcGFjZSBTb3VyY2Ugc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWVzcGFjZQorICAgICAgICAgKiBAcGFyYW0gcGFSZXN1bHQgUGxhY2UgdG8gc3RvcmUgdGhlIHJlc3VsdAorICAgICAgICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIHNvdXJjZSBzdHJpbmcgaGFzIGEgdmFsaWQgbmFtZXNwYWNlLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyBib29sIHBhcnNlTmFtZXNwYWNlKGNvbnN0IGNoYXIgKnBhTmFtZXNwYWNlLCBVQV9Ob2RlSWQgJnBhUmVzdWx0KTsKKworICAgICAgICAvKioKKyAgICAgICAgICogUGFyc2UgdGhlIGlkZW50aWZpZXIgb2YgdGhlIG5vZGUgSUQgZnJvbSB0aGUgc3RyaW5nIHNvdXJjZS4gQWxsb3dlZCB2YWx1ZXMgZm9yIGlkZW50aWZpZXIgYXJlIFtpLCBzLCBnXSAobnVtZXJpYywgc3RyaW5nIGFuZCBieXRlc3RyaW5nIG5vZGUgSUQgdHlwZSByZXNwZWN0aXZlbHkpLiBHVUlEIHR5cGUgaXMgbm90IHN1cHBvcnRlZAorICAgICAgICAgKiBAcGFyYW0gcGFJZGVudGlmaWVyIFNvdXJjZSBzdHJpbmcgY29udGFpbmluZyB0aGUgaWRlbnRpZmllcgorICAgICAgICAgKiBAcGFyYW0gcGFSZXN1bHQgUGxhY2UgdG8gc3RvcmUgdGhlIHJlc3VsdAorICAgICAgICAgKiBAcmV0dXJuIFRydWUgaWYgdGhlIHNvdXJjZSBzdHJpbmcgaGFzIGEgdmFsaWQgaWRlbnRpZmllciwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICAgICAqLworICAgICAgICBzdGF0aWMgYm9vbCBwYXJzZUlkZW50aWZpZXIoY29uc3QgY2hhciAqcGFJZGVudGlmaWVyLCBVQV9Ob2RlSWQgJnBhUmVzdWx0KTsKKworICAgICAgICBlbnVtIE5vZGVQYWlyUG9zaXRpb25zIHsKKyAgICAgICAgICBlQnJvd3NlTmFtZSA9IDAsCisgICAgICAgICAgZU5vZGVJZCwKKyAgICAgICAgICBlTWF4TnVtYmVyT2ZQb3NpdGlvbnMKKyAgICAgICAgfTsKKworICAgICAgICBlbnVtIE5vZGVJZFBvc2l0aW9ucyB7CisgICAgICAgICAgZU5hbWVzcGFjZSA9IDAsCisgICAgICAgICAgZUlkZW5maWVyLAorICAgICAgICAgIGVNYXhOdW1iZXJPZk5vZGVJZFBvc2l0aW9ucworICAgICAgICB9OworCisgICAgICAgIGVudW0gTm9kZUlkSXRlbmZpZXJQb3NpdGlvbnMgeworICAgICAgICAgIGVJZGVuZmllclR5cGUgPSAwLAorICAgICAgICAgIGVJZGVuZmllclZhbHVlLAorICAgICAgICAgIGVNYXhOdW1iZXJPZk5vZGVJZElkZW5maWVydFBvc2l0aW9ucworICAgICAgICB9OworICAgIH07Cit9OworCisvKioKKyAqIFNwZWNpYWwgY2FzZSBvZiBhbiBhY3Rpb24gYmVjYXVzZSBtb3JlIGluZm9ybWF0aW9uIGlzIG5lZWRlZAorICovCitjbGFzcyBDTG9jYWxNZXRob2RJbmZvIDogcHVibGljIENBY3Rpb25JbmZvIHsKKyAgcHVibGljOgorCisgICAgLyoqCisgICAgICogQ29uc3RydWN0b3Igb2YgdGhlIGNsYXNzCisgICAgICogQHBhcmFtIHBhTGF5ZXIgVGhlIGxheWVyIHRoYXQgY3JlYXRlcyBhbmQgZXhlY3V0ZXMgdGhlIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUVuZHBvaW50IFRoZSBlbmRwb2ludCBvZiBhIHJlbW90ZSBPUEMgVUEgaW4gY2FzZSB0aGUgYWN0aW9uIGlzIHRvIGJlIGV4ZWN1dGVkIHJlbW90ZWx5LiBBbiBlbXB0eSBlbmRwb2ludCBtZWFucyB0aGF0IHRoZSBhY3Rpb24gaXMgdG8gYmUgZXhlY3V0ZWQgbG9jYWxseQorICAgICAqIEBwYXJhbSBwYVR5cGVzIEEgbGlzdCBvZiB0eXBlIGNvbnZlcnRlcnMgb2YgdGhlIGNvbm5lY3Rpb25zIG9mIHRoZSBGQiBvZiB0aGUgYWN0aW9uIChTRHMvUkRzKQorICAgICAqLworICAgIGV4cGxpY2l0IENMb2NhbE1ldGhvZEluZm8oQ09QQ19VQV9MYXllciYgcGFMYXllciwgQ0lFQ19TVFJJTkcmIHBhRW5kcG9pbnQpOworCisgICAgLyoqCisgICAgICogRGVzdHJ1Y3RvciBvZiB0aGUgY2xhc3MKKyAgICAgKi8KKyAgICB+Q0xvY2FsTWV0aG9kSW5mbygpOworCisgICAgLyoqCisgICAgICogR2V0dGVyIG9mIHRoZSBtdXRleCBvZiB0aGUgYWN0aW9uCisgICAgICogQHJldHVybgorICAgICAqLworICAgIENTeW5jT2JqZWN0JiBnZXRNdXRleCgpOworCisgICAgLyoqCisgICAgICogR2V0dGVyIGZvciB0aGUgc2VtYXBob3JlIG9mIHRoZSBhY3Rpb24KKyAgICAgKiBAcmV0dXJuCisgICAgICovCisgICAgZm9ydGU6OmFyY2g6OkNTZW1hcGhvcmUmIGdldFJlc3VsdFJlYWR5KCk7CisKKyAgcHJpdmF0ZToKKworICAgIC8qKgorICAgICAqIENvcHkgY29uc3RydWN0b3IgaXMgcHJpdmF0ZSBhbmQgbm90IGRlZmluZWQgdG8gYXZvaWQgaXRzIHVzYWdlCisgICAgICovCisgICAgQ0xvY2FsTWV0aG9kSW5mbyhjb25zdCBDTG9jYWxNZXRob2RJbmZvICZwYU9iaik7CisKKyAgICAvKioKKyAgICAgKiBBc3NpZ25tZW50IG9wZXJhdG9yIGlzIHByaXZhdGUgYW5kIG5vdCBkZWZpbmVkIHRvIGF2b2lkIGl0cyB1c2FnZQorICAgICAqLworICAgIENMb2NhbE1ldGhvZEluZm8mIG9wZXJhdG9yPShjb25zdCBDTG9jYWxNZXRob2RJbmZvJiBvdGhlcik7CisKKyAgICAvKioKKyAgICAgKiBNdXRleCBmcm9tIG9sZCBjb2RlLiBJdCdzIHVzZWQgd2hlbiBhIG1ldGhvZCBpcyBjYWxsZWQgaW4gY2FzZSBvdGhlciB0aHJlYWQgbWF5IGN1cnJlbnRseSBjcmVhdGUgbm9kZXMgZm9yIHRoZSBzYW1lIHBhdGgKKyAgICAgKi8KKyAgICBDU3luY09iamVjdCBtTXV0ZXg7CisKKyAgICAvKioKKyAgICAgKiBXaGVuIGEgbWV0aG9kIGlzIGNhbGxlZCwgaXQgd2FpdHMgd2l0aCB0aGlzIHNlbWFwaG9yZSB1bnRpbCB0aGUgcmVzcG9uc2UgY29tZXMgYmFjayB0byB0aGUgRkIsIHdoZW4gdGhpcyBzZW1hcGhvcmUgaXMgaW5jcmVhc2VkIGluZGljYXRpbmcgdGhlIG1ldGhvZCBoYXMgZmluaXNoZWQKKyAgICAgKi8KKyAgICBmb3J0ZTo6YXJjaDo6Q1NlbWFwaG9yZSBtUmVzdWx0SXNSZWFkeTsKK307CisKKyNlbmRpZiAvKiBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFfQUNUSU9OX0lORk9fSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9jbGllbnRfaGFuZGxlci5jcHAgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfY2xpZW50X2hhbmRsZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTEzYjk3Li4wMDAwMDAwCi0tLSBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9jbGllbnRfaGFuZGxlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzMTMgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gKgotICogQ29udHJpYnV0b3JzOgotICogICAgSm9zZSBDYWJyYWwsIEtpcmlsbCBEb3JvZmVldiAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0jaW5jbHVkZSAib3BjdWFfY2xpZW50X2hhbmRsZXIuaCIKLSNpbmNsdWRlICIuLi8uLi9jb3JlL2RldmV4ZWMuaCIKLSNpbmNsdWRlICIuLi8uLi9jb3JlL2llYzYxMTMxX2Z1bmN0aW9ucy5oIgotI2luY2x1ZGUgIi4uLy4uL2NvcmUvY29taW5mcmEvYmFzZWNvbW1mYi5oIgotI2luY2x1ZGUgPGNyaXRpY2FscmVnaW9uLmg+Ci0jaW5jbHVkZSA8Zm9ydGVfcHJpbnRlci5oPgotCi0jaWZuZGVmIEZPUlRFX0NPTV9PUENfVUFfQ1VTVE9NX0hPU1ROQU1FCi0jaW5jbHVkZSA8c29ja2hhbmQuaD4KLSNlbmRpZgotCi11c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvbV9pbmZyYTsKLQotREVGSU5FX0hBTkRMRVIoQ09QQ19VQV9DbGllbnRfSGFuZGxlcik7Ci0KLUNPUENfVUFfQ2xpZW50X0hhbmRsZXI6OkNPUENfVUFfQ2xpZW50X0hhbmRsZXIoCi0gICAgQ0RldmljZUV4ZWN1dGlvbiYgcGFfcG9EZXZpY2VFeGVjdXRpb24pIDoKLSAgICBDRXh0ZXJuYWxFdmVudEhhbmRsZXIocGFfcG9EZXZpY2VFeGVjdXRpb24pLCB1YUNsaWVudFJ1bm5pbmdGbGFnKFVBX0ZBTFNFKSwgc3Vic2NyaXB0aW9uQ2FsbGJhY2tIYW5kbGVzKCksIGNsaWVudHMoKSB7Ci0KLX0KLQotQ09QQ19VQV9DbGllbnRfSGFuZGxlcjo6VUFfQ2xpZW50RW5kcG9pbnRNYXAqIENPUENfVUFfQ2xpZW50X0hhbmRsZXI6OmdldEhhbmRsZUZvckNsaWVudCgKLSAgICBjb25zdCBVQV9DbGllbnQgKmNsaWVudCkgewotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUNsaWVudE1hcE11dGV4KTsKLSAgZm9yIChDU2luZ2x5TGlua2VkTGlzdDxzdHJ1Y3QgVUFfQ2xpZW50RW5kcG9pbnRNYXAgKj46Okl0ZXJhdG9yIGl0ZXIgPQotICAgICAgY2xpZW50cy5iZWdpbigpOyBpdGVyICE9IGNsaWVudHMuZW5kKCk7ICsraXRlcikgewotICAgIGlmICgoKml0ZXIpLT5jbGllbnQgPT0gY2xpZW50KQotICAgICAgcmV0dXJuICgqaXRlcik7Ci0gIH0KLSAgcmV0dXJuIE5VTEw7Ci19Ci0KLXZvaWQgQ09QQ19VQV9DbGllbnRfSGFuZGxlcjo6c2V0UHJpb3JpdHkoaW50KSB7Ci0KLSAgLy9jdXJyZW50bHkgd2UgYXJlIGRvaW5nIG5vdGhpbmcgaGVyZS4KLX0KLQotaW50IENPUENfVUFfQ2xpZW50X0hhbmRsZXI6OmdldFByaW9yaXR5KHZvaWQpIGNvbnN0IHsKLSAgLy90aGUgc2FtZSBhcyBmb3Igc2V0UHJpb3JpdHkKLSAgcmV0dXJuIDA7Ci19Ci0KLUNPUENfVUFfQ2xpZW50X0hhbmRsZXI6On5DT1BDX1VBX0NsaWVudF9IYW5kbGVyKCkgewotICBzdG9wQ2xpZW50KCk7Ci0gIHsKLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1DbGllbnRNYXBNdXRleCk7Ci0gIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwICo+OjpJdGVyYXRvciBpdGVyID0KLSAgICAgIGNsaWVudHMuYmVnaW4oKTsgaXRlciAhPSBjbGllbnRzLmVuZCgpOyArK2l0ZXIpIHsKLSAgICBVQV9DbGllbnRfZGlzY29ubmVjdCgoKml0ZXIpLT5jbGllbnQpOwotICAgIFVBX0NsaWVudF9kZWxldGUoKCppdGVyKS0+Y2xpZW50KTsKLSAgICBkZWxldGUgKCgqaXRlciktPmNsaWVudE11dGV4KTsKLSAgICBkZWxldGUgKCgqaXRlciktPmVuZHBvaW50VXJsKTsKLSAgICBkZWxldGUoKCppdGVyKSk7Ci0gIH0KLQotICBjbGllbnRzLmNsZWFyQWxsKCk7Ci0KLSAgZm9yIChDU2luZ2x5TGlua2VkTGlzdDxzdHJ1Y3QgVUFfU3Vic2NyaXB0aW9uQ2FsbGJhY2tfSGFuZGxlICo+OjpJdGVyYXRvciBpdGVyID0KLSAgICAgIHN1YnNjcmlwdGlvbkNhbGxiYWNrSGFuZGxlcy5iZWdpbigpOwotICAgICAgaXRlciAhPSBzdWJzY3JpcHRpb25DYWxsYmFja0hhbmRsZXMuZW5kKCk7ICsraXRlcikKLSAgICBkZWxldGUoKml0ZXIpOwotICBzdWJzY3JpcHRpb25DYWxsYmFja0hhbmRsZXMuY2xlYXJBbGwoKTsKLSAgfQotICAvL2VuZCgpOwotfQotCi12b2lkIENPUENfVUFfQ2xpZW50X0hhbmRsZXI6OnJ1bigpIHsKLSAgREVWTE9HX0lORk8oIk9QQyBVQSBDbGllbnQ6IFN0YXJ0aW5nIE9QQyBVQSBDbGllbnQgaGFuZGxlcjpcbiIpOwotICBtU2VydmVyU3RhcnRlZC5pbmMoKTsKLSAgd2hpbGUgKHVhQ2xpZW50UnVubmluZ0ZsYWcpIHsKLSAgICB7Ci0gICAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obUNsaWVudE1hcE11dGV4KTsKLSAgICAgIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwICo+OjpJdGVyYXRvciBpdGVyID0KLSAgICAgICAgICBjbGllbnRzLmJlZ2luKCk7IGl0ZXIgIT0gY2xpZW50cy5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICAgIGlmKCF1YUNsaWVudFJ1bm5pbmdGbGFnKXsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBpZiAoKCppdGVyKS0+c3Vic2NyaXB0aW9uKSB7Ci0gICAgICAgICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKCooKml0ZXIpLT5jbGllbnRNdXRleCk7Ci0gICAgICAgICAgLyogaWYgYWxyZWFkeSBjb25uZWN0ZWQsIHRoaXMgd2lsbCByZXR1cm4gR09PRCBhbmQgZG8gbm90aGluZyAqLwotICAgICAgICAgIC8qIGlmIHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC9lcnJvcmVkLCB0aGUgY29ubmVjdGlvbiB3aWxsIGJlIHJlc2V0IGFuZCB0aGVuIHJlY29ubmVjdGVkICovCi0gICAgICAgICAgLyogQWx0ZXJuYXRpdmVseSB5b3UgY2FuIGFsc28gdXNlIFVBX0NsaWVudF9nZXRTdGF0ZSB0byBnZXQgdGhlIGN1cnJlbnQgc3RhdGUgKi8KLSAgICAgICAgICBVQV9TdGF0dXNDb2RlIHJldHZhbCA9IFVBX0NsaWVudF9jb25uZWN0KCgqaXRlciktPmNsaWVudCwgKCppdGVyKS0+ZW5kcG9pbnRVcmwtPmdldFZhbHVlKCkpOwotICAgICAgICAgIGlmKHJldHZhbCAhPSBVQV9TVEFUVVNDT0RFX0dPT0QpewotICAgICAgICAgICAgREVWTE9HX0VSUk9SKCJOb3QgY29ubmVjdGVkIHRvICVzLiBFcnJvciAlcyBSZXRyeWluZyB0byBjb25uZWN0IGFnYWluIHNvb25cbiIsICgqaXRlciktPmVuZHBvaW50VXJsLT5nZXRWYWx1ZSgpLCBVQV9TdGF0dXNDb2RlX25hbWUocmV0dmFsKSk7Ci0gICAgICAgICAgICAvKiBUaGUgY29ubmVjdCBtYXkgdGltZW91dCBhZnRlciAxIHNlY29uZCAoc2VlIGFib3ZlKSBvciBpdCBtYXkgZmFpbCBpbW1lZGlhdGVseSBvbiBuZXR3b3JrIGVycm9ycyAqLwotICAgICAgICAgICAgLyogRS5nLiBuYW1lIHJlc29sdXRpb24gZXJyb3JzIG9yIHVucmVhY2hhYmxlIG5ldHdvcmsuIFRodXMgdGhlcmUgc2hvdWxkIGJlIGEgc21hbGwgc2xlZXAgaGVyZSAqLwotICAgICAgICAgICAgLy9DVGhyZWFkOjpzbGVlcFRocmVhZCgxMDAwKTsKLSAgICAgICAgICAgIC8vY29udGludWU7Ci0gICAgICAgICAgfWVsc2V7Ci0gICAgICAgICAgICBVQV9DbGllbnRfcnVuQXN5bmMoKCppdGVyKS0+Y2xpZW50LCAxMCk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmKCF1YUNsaWVudFJ1bm5pbmdGbGFnKXsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0KLSAgICBDVGhyZWFkOjpzbGVlcFRocmVhZCgxMDApOwotICB9OwotICBERVZMT0dfSU5GTygiT1BDIFVBIENsaWVudDogU3RvcHBpbmcgT1BDIFVBIENsaWVudCBoYW5kbGVyOlxuIik7Ci19Ci0KLXZvaWQgQ09QQ19VQV9DbGllbnRfSGFuZGxlcjo6ZW5hYmxlSGFuZGxlcih2b2lkKSB7Ci0gIHN0YXJ0Q2xpZW50KCk7Ci19Ci0KLXZvaWQgQ09QQ19VQV9DbGllbnRfSGFuZGxlcjo6ZGlzYWJsZUhhbmRsZXIodm9pZCkgewotICBDT1BDX1VBX0NsaWVudF9IYW5kbGVyOjpzdG9wQ2xpZW50KCk7Ci0gIGVuZCgpOwotfQotCi12b2lkIENPUENfVUFfQ2xpZW50X0hhbmRsZXI6OnN0YXJ0Q2xpZW50KCkgewotICBpZiAodWFDbGllbnRSdW5uaW5nRmxhZykKLSAgICByZXR1cm47Ci0gIHVhQ2xpZW50UnVubmluZ0ZsYWcgPSBVQV9UUlVFOwotCi0gIGlmICghaXNBbGl2ZSgpKSB7Ci0gICAgc3RhcnQoKTsKLSAgfQotfQotCi12b2lkIENPUENfVUFfQ2xpZW50X0hhbmRsZXI6OnN0b3BDbGllbnQoKSB7Ci0gIHVhQ2xpZW50UnVubmluZ0ZsYWcgPSBVQV9GQUxTRTsKLX0KLQotVUFfQ2xpZW50ICpDT1BDX1VBX0NsaWVudF9IYW5kbGVyOjpnZXRDbGllbnRGb3JFbmRwb2ludChjb25zdCBjaGFyICplbmRwb2ludFVybCwKLSAgICBib29sIGNyZWF0ZUlmTm90Rm91bmQsIGJvb2wgc3Vic2NyaXB0aW9uLCBDU3luY09iamVjdCAqKmNsaWVudE11dGV4KSB7Ci0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtQ2xpZW50TWFwTXV0ZXgpOwotICBpZiAoY2xpZW50TXV0ZXggPT0gTlVMTCkKLSAgICByZXR1cm4gTlVMTDsKLQotICBzaXplX3QgdXJsTGVuID0gc3RybGVuKGVuZHBvaW50VXJsKTsKLSAgd2hpbGUgKHVybExlbiAmJiBlbmRwb2ludFVybFt1cmxMZW4gLSAxXSA9PSAnLycpIHsKLSAgICB1cmxMZW4tLTsKLSAgfQotCi0gIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwICo+OjpJdGVyYXRvciBpdGVyID0KLSAgICAgIGNsaWVudHMuYmVnaW4oKTsgaXRlciAhPSBjbGllbnRzLmVuZCgpOyArK2l0ZXIpIHsKLSAgICBpZiAoc3RybmNtcCgoKml0ZXIpLT5lbmRwb2ludFVybC0+Z2V0VmFsdWUoKSwgZW5kcG9pbnRVcmwsIHVybExlbikgPT0gMCkgewotICAgICAgaWYgKGNsaWVudE11dGV4KQotICAgICAgICAqY2xpZW50TXV0ZXggPSAoKml0ZXIpLT5jbGllbnRNdXRleDsKLSAgICAgIHJldHVybiAoKml0ZXIpLT5jbGllbnQ7Ci0gICAgfQotICB9Ci0KLSAgaWYgKCFjcmVhdGVJZk5vdEZvdW5kKQotICAgIHJldHVybiBOVUxMOwotCi0gIHN0cnVjdCBVQV9DbGllbnRFbmRwb2ludE1hcCAqY2xpZW50TWFwID0KLSAgICAgIHN0YXRpY19jYXN0PFVBX0NsaWVudEVuZHBvaW50TWFwICo+KGZvcnRlX21hbGxvYygKLSAgICAgICAgICBzaXplb2Yoc3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwKSkpOwotCi0gIFVBX0NsaWVudENvbmZpZyBjb25maWcgPSBVQV9DbGllbnRDb25maWdfZGVmYXVsdDsKLSAgY29uZmlnLnRpbWVvdXQgPSA4MDAwOwotCi0gIGNsaWVudE1hcC0+Y2xpZW50ID0gVUFfQ2xpZW50X25ldyhjb25maWcpOwotICBjbGllbnRNYXAtPmVuZHBvaW50VXJsID0gbmV3IENJRUNfU1RSSU5HKGVuZHBvaW50VXJsKTsKLSAgY2xpZW50TWFwLT5jbGllbnRNdXRleCA9IG5ldyBDU3luY09iamVjdCgpOwotCi0gICpjbGllbnRNdXRleCA9IGNsaWVudE1hcC0+Y2xpZW50TXV0ZXg7Ci0KLSAgLy8gc3RvcmUgaXQgaW4gdGhlIGxpc3Qgc28gd2UgY2FuIGRlbGV0ZSBpdCB0byBhdm9pZCBtZW0gbGVha3MKLSAgY2xpZW50cy5wdXNoQmFjayhjbGllbnRNYXApOwotICBzdGFydENsaWVudCgpOwotICBjbGllbnRNYXAtPnN1YnNjcmlwdGlvbiA9IHN1YnNjcmlwdGlvbjsKLSAgaWYgKHN1YnNjcmlwdGlvbikgewotICAgIGNvbmZpZy5zdGF0ZUNhbGxiYWNrID0gc3RhdGVDYWxsYmFjazsKLSAgfQotCi0gIHJldHVybiBjbGllbnRNYXAtPmNsaWVudDsKLQotfQotCi12b2lkIENPUENfVUFfQ2xpZW50X0hhbmRsZXI6Om9uU3Vic2NyaXB0aW9uVmFsdWVDaGFuZ2VkKFVBX0NsaWVudCAqY2xpZW50LAotICAgIFVBX1VJbnQzMiBzdWJzY3JpcHRpb25JZCwgdm9pZCAqc3ViQ29udGV4dCwgVUFfVUludDMyIG1vbklkLAotICAgIHZvaWQgKm1vbkNvbnRleHQsIFVBX0RhdGFWYWx1ZSAqZGF0YSkgewotICBzdHJ1Y3QgVUFfU3Vic2NyaXB0aW9uQ2FsbGJhY2tfSGFuZGxlICpoYW5kbGUgPQotICAgICAgc3RhdGljX2Nhc3Q8c3RydWN0IFVBX1N1YnNjcmlwdGlvbkNhbGxiYWNrX0hhbmRsZSAqPihtb25Db250ZXh0KTsKLSAgRUNvbVJlc3BvbnNlIHJldFZhbDsKLSAgZm9ydGU6OmNvbV9pbmZyYTo6Q0NvbUxheWVyICpsYXllciA9IGhhbmRsZS0+bGF5ZXI7Ci0KLSAgc3RydWN0IHsKLSAgICBjb25zdCBzdHJ1Y3QgVUFfVHlwZUNvbnZlcnQgKmNvbnZlcnQ7Ci0gICAgdW5zaWduZWQgaW50IHBvcnRJbmRleDsKLSAgICBjb25zdCBVQV9WYXJpYW50ICpkYXRhOwotICB9IGhhbmRsZVJlY3Y7Ci0KLSAgaWYoZGF0YS0+aGFzVmFsdWUpewotICAgIGhhbmRsZVJlY3YuZGF0YSA9IGRhdGEtPmhhc1ZhbHVlID8gJmRhdGEtPnZhbHVlIDogTlVMTDsKLSAgICBoYW5kbGVSZWN2LnBvcnRJbmRleCA9IGhhbmRsZS0+cG9ydEluZGV4OwotICAgIGhhbmRsZVJlY3YuY29udmVydCA9IGhhbmRsZS0+Y29udmVydDsKLQotICAgIHJldFZhbCA9IGxheWVyLT5yZWN2RGF0YShzdGF0aWNfY2FzdDxjb25zdCB2b2lkICo+KCZoYW5kbGVSZWN2KSwgMCk7Ci0KLSAgfQotCi19Ci0KLXZvaWQgQ09QQ19VQV9DbGllbnRfSGFuZGxlcjo6ZGVsZXRlU3Vic2NyaXB0aW9uQ2FsbGJhY2soVUFfQ2xpZW50ICpjbGllbnQsCi0gICAgVUFfVUludDMyIHN1YnNjcmlwdGlvbklkLCB2b2lkICpzdWJzY3JpcHRpb25Db250ZXh0KSB7Ci0gIERFVkxPR19JTkZPKCJTdWJzY3JpcHRpb24gSWQgJXUgd2FzIGRlbGV0ZWRcbiIsIHN1YnNjcmlwdGlvbklkKTsKLX0KLQotdm9pZCBDT1BDX1VBX0NsaWVudF9IYW5kbGVyOjphZGRNb25pdG9yaW5nSXRlbShVQV9DbGllbnQqIGNsaWVudCwKLSAgICBmb3J0ZTo6Y29tX2luZnJhOjpDQ29tTGF5ZXIgKmNvbUxheWVyLCBVQV9Ob2RlSWQgbm9kZUlkLAotICAgIGNvbnN0IHN0cnVjdCBVQV9UeXBlQ29udmVydCAqY29udmVydCwgdW5zaWduZWQgaW50IHBvcnRJbmRleCkgewotICBzdHJ1Y3QgVUFfU3Vic2NyaXB0aW9uQ2FsbGJhY2tfSGFuZGxlICpoYW5kbGUgPQotICAgICAgc3RhdGljX2Nhc3Q8VUFfU3Vic2NyaXB0aW9uQ2FsbGJhY2tfSGFuZGxlICo+KGZvcnRlX21hbGxvYygKLSAgICAgICAgICBzaXplb2Yoc3RydWN0IFVBX1N1YnNjcmlwdGlvbkNhbGxiYWNrX0hhbmRsZSkpKTsKLSAgVUFfVUludDMyIHN1YklkOwotICBzdGFydENsaWVudCgpOwotICBVQV9DbGllbnRFbmRwb2ludE1hcCogY2xpZW50RW5kcG9pbnQgPSBnZXRIYW5kbGVGb3JDbGllbnQoY2xpZW50KTsKLSAgaWYgKGNsaWVudEVuZHBvaW50ICYmIGNsaWVudEVuZHBvaW50LT5jbGllbnRNdXRleCkgewotICAgIGJvb2wgY3JlYXRlTmV3U3ViID0gdHJ1ZTsKLSAgICAvKiBBZGQgYSBNb25pdG9yZWRJdGVtICovCi0gICAgaGFuZGxlLT5jb252ZXJ0ID0gY29udmVydDsKLSAgICBoYW5kbGUtPnBvcnRJbmRleCA9IHBvcnRJbmRleDsKLSAgICBoYW5kbGUtPmxheWVyID0gY29tTGF5ZXI7Ci0KLSAgICAvLyBzdG9yZSBpdCBpbiB0aGUgbGlzdCBzbyB3ZSBjYW4gZGVsZXRlIGl0IHRvIGF2b2lkIG1lbSBsZWFrcwotICAgIHN1YnNjcmlwdGlvbkNhbGxiYWNrSGFuZGxlcy5wdXNoQmFjayhoYW5kbGUpOwotCi0gICAgaWYgKGNsaWVudEVuZHBvaW50LT5zdWJzY3JpcHRpb24pIHsKLSAgICAgIGNyZWF0ZU5ld1N1YiA9IGZhbHNlOwotICAgICAgc3ViSWQgPSBjbGllbnRFbmRwb2ludC0+c3Vic2NyaXB0aW9uSWQ7Ci0gICAgfQotCi0gICAgdW5zaWduZWQgaW50IHRyaWVzID0gMDsKLSAgICB3aGlsZShjcmVhdGVOZXdTdWIgJiYgdHJpZXMrKyA8IDMpewotICAgICAgLyogQSBuZXcgc2Vzc2lvbiB3YXMgY3JlYXRlZC4gV2UgbmVlZCB0byBjcmVhdGUgdGhlIHN1YnNjcmlwdGlvbi4gKi8KLSAgICAgIC8qIENyZWF0ZSBhIHN1YnNjcmlwdGlvbiAqLwotICAgICAgewotICAgICAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oKmNsaWVudEVuZHBvaW50LT5jbGllbnRNdXRleCk7Ci0gICAgICAgIFVBX1N0YXR1c0NvZGUgcmV0dmFsID0gVUFfQ2xpZW50X2Nvbm5lY3QoY2xpZW50RW5kcG9pbnQtPmNsaWVudCwgY2xpZW50RW5kcG9pbnQtPmVuZHBvaW50VXJsLT5nZXRWYWx1ZSgpKTsKLSAgICAgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldHZhbCl7Ci0gICAgICAgICAgVUFfQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCByZXF1ZXN0ID0gVUFfQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdF9kZWZhdWx0KCk7Ci0gICAgICAgICAgVUFfQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UgcmVzcG9uc2UgPSBVQV9DbGllbnRfU3Vic2NyaXB0aW9uc19jcmVhdGUoY2xpZW50LCByZXF1ZXN0LAotICAgICAgICAgIE5VTEwsIE5VTEwsIGRlbGV0ZVN1YnNjcmlwdGlvbkNhbGxiYWNrKTsKLSAgICAgICAgICBpZihyZXNwb25zZS5yZXNwb25zZUhlYWRlci5zZXJ2aWNlUmVzdWx0ID09IFVBX1NUQVRVU0NPREVfR09PRCl7Ci0gICAgICAgICAgICBERVZMT0dfSU5GTygiQ3JlYXRlIHN1YnNjcmlwdGlvbiB0byAlcyBzdWNjZWVkZWQsIGlkICV1XG4iLCBjbGllbnRFbmRwb2ludC0+ZW5kcG9pbnRVcmwtPmdldFZhbHVlKCksIHJlc3BvbnNlLnN1YnNjcmlwdGlvbklkKTsKLSAgICAgICAgICAgIGNsaWVudEVuZHBvaW50LT5zdWJzY3JpcHRpb25JZCA9IHJlc3BvbnNlLnN1YnNjcmlwdGlvbklkOwotICAgICAgICAgICAgc3ViSWQgPSByZXNwb25zZS5zdWJzY3JpcHRpb25JZDsKLSAgICAgICAgICAgIGNsaWVudEVuZHBvaW50LT5zdWJzY3JpcHRpb24gPSB0cnVlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQotICAgICAgICAgIGVsc2V7Ci0gICAgICAgICAgICBERVZMT0dfSU5GTygiQ3JlYXRlIHN1YnNjcmlwdGlvbiB0byAlcyBmYWlsZWQsICVzXG4iLCBjbGllbnRFbmRwb2ludC0+ZW5kcG9pbnRVcmwtPmdldFZhbHVlKCksIFVBX1N0YXR1c0NvZGVfbmFtZShyZXNwb25zZS5yZXNwb25zZUhlYWRlci5zZXJ2aWNlUmVzdWx0KSk7Ci0gICAgICAgICAgfQotICAgICAgICB9ZWxzZXsKLSAgICAgICAgICBERVZMT0dfRVJST1IoIkNvbm5lY3RpbmcgdG8gJXMgZmFpbGVkIHdpdGggZXJyb3IgJXNcbiIsIGNsaWVudEVuZHBvaW50LT5lbmRwb2ludFVybC0+Z2V0VmFsdWUoKSwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldHZhbCkpOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICBDVGhyZWFkOjpzbGVlcFRocmVhZCgzMDApOwotICAgIH0KLQotICAgIHsKLSAgICAgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbigqY2xpZW50RW5kcG9pbnQtPmNsaWVudE11dGV4KTsKLSAgICBVQV9Nb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCBtb25SZXF1ZXN0ID0KLSAgICAgICAgVUFfTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3RfZGVmYXVsdChub2RlSWQpOyAvL1VBX05PREVJRF9OVU1FUklDKDAsIFVBX05TMElEX1NFUlZFUl9TRVJWRVJTVEFUVVNfQ1VSUkVOVFRJTUUpCi0gICAgVUFfTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCBtb25SZXNwb25zZSA9Ci0gICAgICAgIFVBX0NsaWVudF9Nb25pdG9yZWRJdGVtc19jcmVhdGVEYXRhQ2hhbmdlKGNsaWVudCwgc3ViSWQsCi0gICAgICAgICAgICBVQV9USU1FU1RBTVBTVE9SRVRVUk5fQk9USCwgbW9uUmVxdWVzdCwgc3RhdGljX2Nhc3Q8dm9pZCAqPihoYW5kbGUpLAotICAgICAgICAgICAgb25TdWJzY3JpcHRpb25WYWx1ZUNoYW5nZWQsCi0gICAgICAgICAgICBOVUxMKTsKLQotICAgIGlmIChtb25SZXNwb25zZS5zdGF0dXNDb2RlID09IFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgICAgREVWTE9HX0lORk8oIk1vbml0b3Jpbmcgc3VjY2VlZGVkJywgaWQgJXVcbiIsCi0gICAgICAgICAgbW9uUmVzcG9uc2UubW9uaXRvcmVkSXRlbUlkKTsKLSAgICAgIC8vc3RhcnRDbGllbnQoKTsgZGVzcGVyYXRlIHRyeQotICAgIH0gZWxzZSB7Ci0gICAgICBERVZMT0dfRVJST1IoIkFkZGluZyBtb25pdG9yaW5nIHZhcmlhYmxlIGZhaWxlZDogJXNcbiIsCi0gICAgICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKG1vblJlc3BvbnNlLnN0YXR1c0NvZGUpKTsKLSAgICB9Ci0gIH0KLSAgfQotCi19Ci0KLXZvaWQgQ09QQ19VQV9DbGllbnRfSGFuZGxlcjo6c3RhdGVDYWxsYmFjayhVQV9DbGllbnQgKmNsaWVudCwKLSAgICBVQV9DbGllbnRTdGF0ZSBjbGllbnRTdGF0ZSkgewotCi0gIHN3aXRjaCAoY2xpZW50U3RhdGUpIHsKLSAgY2FzZSBVQV9DTElFTlRTVEFURV9ESVNDT05ORUNURUQ6Ci0gICAgREVWTE9HX0lORk8oIlRoZSBjbGllbnQgaXMgZGlzY29ubmVjdGVkIik7Ci0gICAgYnJlYWs7Ci0gIGNhc2UgVUFfQ0xJRU5UU1RBVEVfQ09OTkVDVEVEOgotICAgIERFVkxPR19JTkZPKCJBIFRDUCBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgaXMgb3BlbiIpOwotICAgIGJyZWFrOwotICBjYXNlIFVBX0NMSUVOVFNUQVRFX1NFQ1VSRUNIQU5ORUw6Ci0gICAgREVWTE9HX0lORk8oIkEgU2VjdXJlQ2hhbm5lbCB0byB0aGUgc2VydmVyIGlzIG9wZW4iKTsKLSAgICBicmVhazsKLSAgY2FzZSBVQV9DTElFTlRTVEFURV9TRVNTSU9OOiB7Ci0gICAgREVWTE9HX0lORk8oIkEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIgaXMgb3BlbiIpOwotICB9Ci0gICAgYnJlYWs7Ci0gIGNhc2UgVUFfQ0xJRU5UU1RBVEVfU0VTU0lPTl9SRU5FV0VEOgotICAgIERFVkxPR19JTkZPKCJBIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyIGlzIG9wZW4gKHJlbmV3ZWQpIik7Ci0gICAgYnJlYWs7Ci0gIH0KLSAgcmV0dXJuOwotfQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2NsaWVudF9oYW5kbGVyLmggYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfY2xpZW50X2hhbmRsZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTM4ZmFhMi4uMDAwMDAwMAotLS0gYS9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfY2xpZW50X2hhbmRsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDEzMiArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSAqCi0gKiBDb250cmlidXRvcnM6Ci0gKiAgICBKb3NlIENhYnJhbCwgS2lyaWxsIERvcm9mZWV2IC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpZm5kZWYgU1JDX01PRFVMRVNfT1BDX1VBX09QQ1VBQ0xJRU5USEFORExFUl9IXwotI2RlZmluZSBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFDTElFTlRIQU5ETEVSX0hfCi0KLSNpbmNsdWRlIDxmb3J0ZV90aHJlYWQuaD4KLSNpbmNsdWRlIDxleHRldmhhbi5oPgotI2luY2x1ZGUgPGNvbm4uaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgImNvbWxheWVyLmgiCi0jaW5jbHVkZSA8Zm9ydGVfY29uZmlnLmg+Ci0jaW5jbHVkZSAib3BjdWFfaGVscGVyLmgiCi0jaW5jbHVkZSAib3BjdWFfbGF5ZXIuaCIKLSNpbmNsdWRlIDxmb3J0ZV9zdHJpbmcuaD4KLQotc3RydWN0IFVBX1N1YnNjcmlwdGlvbkNhbGxiYWNrX0hhbmRsZSB7Ci0gIGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllciAqbGF5ZXI7Ci0gIGNvbnN0IHN0cnVjdCBVQV9UeXBlQ29udmVydCAqY29udmVydDsKLSAgdW5zaWduZWQgaW50IHBvcnRJbmRleDsKLX07Ci0KLXR5cGVkZWYgc3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwIFVBX0NsaWVudEVuZHBvaW50TWFwOwotCi0vLyBjcHBjaGVjay1zdXBwcmVzcyBub0NvbnN0cnVjdG9yCi1jbGFzcyBDT1BDX1VBX0NsaWVudF9IYW5kbGVyOiBwdWJsaWMgQ0V4dGVybmFsRXZlbnRIYW5kbGVyLCBwdWJsaWMgQ1RocmVhZCB7Ci0KLSAgQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFVBX1N1YnNjcmlwdGlvbkNhbGxiYWNrX0hhbmRsZSAqPiBzdWJzY3JpcHRpb25DYWxsYmFja0hhbmRsZXM7Ci0KLSAgY29uc3QgVUFfTm9kZUlkICpzdWJzY3JpcHRpb25Ob2RlSWQ7Ci0gIERFQ0xBUkVfSEFORExFUihDT1BDX1VBX0NsaWVudF9IYW5kbGVyKQotCi1wdWJsaWM6Ci0KLSAgLyogZnVuY3Rpb25zIG5lZWRlZCBmb3IgdGhlIGV4dGVybmFsIGV2ZW50IGhhbmRsZXIgaW50ZXJmYWNlICovCi0gIHZvaWQgZW5hYmxlSGFuZGxlcih2b2lkKTsKLQotICB2b2lkIGRpc2FibGVIYW5kbGVyKHZvaWQpOwotCi0gIHZvaWQgc2V0UHJpb3JpdHkoaW50IHBhX25Qcmlvcml0eSk7Ci0KLSAgaW50IGdldFByaW9yaXR5KHZvaWQpIGNvbnN0OwotCi0gIHZvaWQgYWRkTW9uaXRvcmluZ0l0ZW0oVUFfQ2xpZW50KiBjbGllbnQsIGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllciAqY29tTGF5ZXIsIFVBX05vZGVJZCBub2RlSWQsCi0gICAgICBjb25zdCBzdHJ1Y3QgVUFfVHlwZUNvbnZlcnQgKmNvbnZlcnQsIHVuc2lnbmVkIGludCBwb3J0SW5kZXgpOwotLy8gIFVBX1N0YXR1c0NvZGUKLS8vICAgIHJlZ2lzdGVyU3Vic2NyaXB0aW9uQ2FsbEJhY2soVUFfQ2xpZW50ICpjbGllbnQpOwotCi0gIHN0YXRpYyBVQV9TdGF0dXNDb2RlIGNhbGxNZXRob2QoVUFfQ2xpZW50ICpjbGllbnQsIGNvbnN0IFVBX05vZGVJZCBvYmplY3RJZCwKLSAgICAgICAgICAgICAgICAgY29uc3QgVUFfTm9kZUlkIG1ldGhvZElkLCBzaXplX3QgaW5wdXRTaXplLCBjb25zdCBVQV9WYXJpYW50ICppbnB1dCwKLSAgICAgICAgICAgICAgICAgc2l6ZV90ICpvdXRwdXRTaXplLCBVQV9WYXJpYW50ICoqb3V0cHV0KTsKLQotICBzdGF0aWMgdm9pZCBzdGF0ZUNhbGxiYWNrKFVBX0NsaWVudCAqY2xpZW50LCBVQV9DbGllbnRTdGF0ZSBjbGllbnRTdGF0ZSk7Ci0KLSAgc3RhdGljIHZvaWQKLSAgZGVsZXRlU3Vic2NyaXB0aW9uQ2FsbGJhY2soVUFfQ2xpZW50ICpjbGllbnQsIFVBX1VJbnQzMiBzdWJzY3JpcHRpb25JZCwKLSAgICAgIHZvaWQgKnN1YnNjcmlwdGlvbkNvbnRleHQpOwotCi0KLSAgc3RhdGljIHZvaWQgb25TdWJzY3JpcHRpb25WYWx1ZUNoYW5nZWQoVUFfQ2xpZW50ICpjbGllbnQsIFVBX1VJbnQzMiBzdWJJZCwgdm9pZCAqc3ViQ29udGV4dCwKLSAgICAgIFVBX1VJbnQzMiBtb25JZCwgdm9pZCAqbW9uQ29udGV4dCwgVUFfRGF0YVZhbHVlICp2YWx1ZSk7Ci0gIC8qKgotICAgKiBHZXQgdGhlIG9wYyB1YSBjbGllbnQgZm9yIHRoZSBnaXZlbiBlbmRwb2ludCB1cmwuIElmIHRoZXJlIGV4aXN0cyBhbHJlYWR5IGFuIE9QQyBVQSBjbGllbnQKLSAgICogd2hpY2ggaXMgY29ubmVjdGVkIHRvIHRoZSBnaXZlbiBVUkwsIHRoYXQgb25lIHdpbGwgYmUgcmV0dXJuZWQuCi0gICAqIElmIGNyZWF0ZUlmTm90Rm91bmQgaXMgZmFsc2UgYW5kIHRoZXJlIGlzIG5vIGNsaWVudCB5ZXQsIE5VTEwgd2lsbCBiZSByZXR1cm5lZC4gT3RoZXJ3aXNlCi0gICAqIGEgbmV3IGNsaWVudCBpcyBpbnN0YW50aWF0ZWQgYW5kIGNvbm5lY3RlZC4KLSAgICoKLSAgICogQHBhcmFtIGVuZHBvaW50VXJsIFRoZSBlbmRwb2ludCB1cmwgZm9yIHRoZSBjbGllbnQKLSAgICogQHBhcmFtIGNyZWF0ZUlmTm90Rm91bmQgaWYgdHJ1ZSwgYSBuZXcgY2xpZW50IHdpbGwgYmUgY3JlYXRlZCBpZiBub3QgZm91bmQKLSAgICogQHJldHVybiB0aGUgKG5ldykgY2xpZW50LCBvciBOVUxMIG9mIG5vdCBmb3VuZCBhbmQgbm90IGNyZWF0ZWQuCi0gICAqLwotICBVQV9DbGllbnQgKgotICBnZXRDbGllbnRGb3JFbmRwb2ludChjb25zdCBjaGFyICplbmRwb2ludFVybCwgYm9vbCBjcmVhdGVJZk5vdEZvdW5kLCBib29sIHN1YnNjcmlwdGlvbiwKLSAgICAgIENTeW5jT2JqZWN0ICoqY2xpZW50TXV0ZXgpOwotcHJvdGVjdGVkOgotCi1wcml2YXRlOgotCi0gIHN0cnVjdCBVQV9DbGllbnRFbmRwb2ludE1hcCB7Ci0gICAgVUFfQ2xpZW50ICpjbGllbnQ7Ci0gICAgQ1N5bmNPYmplY3QgKmNsaWVudE11dGV4OwotICAgIGJvb2wgc3Vic2NyaXB0aW9uOwotICAgIENJRUNfU1RSSU5HKiBlbmRwb2ludFVybDsKLSAgICBVQV9VSW50MzIgc3Vic2NyaXB0aW9uSWQ7Ci0gIH07Ci0KLSAgQ1N5bmNPYmplY3QgbUNsaWVudE1hcE11dGV4OwotICAvKioKLSAgICAgKiBDb2xsZWN0b3IgbGlzdCBmb3IgY2FsbGJhY2sgaGFuZGxlcyB0byBiZSBhYmxlIHRvIGNsZWFuIHRoZW0gdXAgb24gZGVzdHJveS4KLSAgICAgKi8KLSAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfQ2xpZW50RW5kcG9pbnRNYXAgKj4gY2xpZW50czsKLQotICAvLyBPUEMgVUEgQ2xpZW50IGFuZCBjb25maWd1cmF0aW9uCi0gIHZvbGF0aWxlIFVBX0Jvb2xlYW4gdWFDbGllbnRSdW5uaW5nRmxhZzsKLQotICBVQV9DbGllbnRFbmRwb2ludE1hcCogZ2V0SGFuZGxlRm9yQ2xpZW50KGNvbnN0IFVBX0NsaWVudCAqY2xpZW50KTsKLSAgLyoqCi0gICAqIFN0YXJ0cyB0aGUgT1BDIFVBIHNlcnZlciwgaWYgaXQgaXMgbm90IGFscmVhZHkgcnVubmluZwotICAgKi8KLSAgdm9pZCBzdGFydENsaWVudCgpOwotCi0gIC8qKgotICAgKiBTZXRzIHRoZSB1YVNlcnZlclJ1bm5pbmdGbGFnIHRvIGZhbHNlIHdoaWNoIGNhdXNlcyB0aGUgVUEgU2VydmVyIHRvIHN0b3AuCi0gICAqLwotICB2b2lkIHN0b3BDbGllbnQoKTsKLQotICAvKioKLSAgICogT3ZlcnJpZGRlbiBydW4oKSBmcm9tIENUaHJlYWQgd2hpY2ggbG9vcHMgdGhlIFVBIFNlcnZlci4KLSAgICovCi0gIHZpcnR1YWwgdm9pZCBydW4oKTsKLQotCi0gIHN0cnVjdCBSZWZlcmVuY2VkTm9kZUJ5TGF5ZXIgewotICAgIGNvbnN0IFVBX05vZGVJZCAqbm9kZUlkOwotICAgIENTaW5nbHlMaW5rZWRMaXN0PGNvbnN0IENPUENfVUFfTGF5ZXIqPiByZWZlcmVuY2VkQnlMYXllcjsKLSAgfTsKLSAgQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFJlZmVyZW5jZWROb2RlQnlMYXllcio+IG5vZGVMYXllclJlZmVyZW5jZXM7Ci0gIENTeW5jT2JqZWN0IG1Ob2RlTGF5ZXJNdXRleDsKLSAgQ1NlbWFwaG9yZSBtU2VydmVyU3RhcnRlZDsKLQotCi19OwotCi0jZW5kaWYgLyogU1JDX01PRFVMRVNfT1BDX1VBX09QQ1VBQ0xJRU5USEFORExFUl9IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2NsaWVudF9pbmZvcm1hdGlvbi5jcHAgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfY2xpZW50X2luZm9ybWF0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmE3OTM3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2NsaWVudF9pbmZvcm1hdGlvbi5jcHAKQEAgLTAsMCArMSw3NzkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8Zm9ydGVfYXJjaGl0ZWN0dXJlX3RpbWUuaD4KKyNpbmNsdWRlICJvcGN1YV9jbGllbnRfaW5mb3JtYXRpb24uaCIKKyNpbmNsdWRlIDxiYXNlY29tbWZiLmg+CisjaW5jbHVkZSAib3BjdWFfaGFuZGxlcl9hYnN0cmFjdC5oIiAvL2ZvciBsb2dnZXIKKworCitDVUFfQ2xpZW50SW5mb3JtYXRpb246OkNVQV9DbGllbnRJbmZvcm1hdGlvbihjb25zdCBDSUVDX1NUUklORyAmcGFFbmRwb2ludCkgOgorICAgIG1FbmRwb2ludFVybChwYUVuZHBvaW50KSwgbUNsaWVudCgwKSwgbVN1YnNjcmlwdGlvbkluZm8oMCksIG1NaXNzaW5nQXN5bmNDYWxscygwKSwgbU5lZWRzUmVjb25uZWN0aW9uKGZhbHNlKSwgbVdhaXRUb0luaXRpYWxpemVBY3Rpb25zKGZhbHNlKSwKKyAgICAgICAgbUxhc3RSZWNvbm5lY3Rpb25UcnkoMCksIG1MYXN0QWN0aW9uSW5pdGlhbGl6YXRpb25UcnkoMCksIG1Tb21lQWN0aW9uV2FzSW5pdGlhbGl6ZWQoZmFsc2UpIHsKK30KKworQ1VBX0NsaWVudEluZm9ybWF0aW9uOjp+Q1VBX0NsaWVudEluZm9ybWF0aW9uKCkgeworICB1bmluaXRpYWxpemVDbGllbnQoKTsKK30KKworYm9vbCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OmNvbmZpZ3VyZUNsaWVudCgpIHsKKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gKKyAgbUNsaWVudCA9IFVBX0NsaWVudF9uZXcoKTsKKyAgVUFfQ2xpZW50Q29uZmlnICpjb25maWdQb2ludGVyID0gVUFfQ2xpZW50X2dldENvbmZpZyhtQ2xpZW50KTsKKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9DbGllbnRDb25maWdfc2V0RGVmYXVsdChjb25maWdQb2ludGVyKTsKKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EICE9IHJldFZhbCkgeworICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBFcnJvciBzZXR0aW5nIGRlZmF1bHQgY2xpZW50IGNvbmZpZy4gRXJyb3I6ICVzXG4iLCBVQV9TdGF0dXNDb2RlX25hbWUocmV0VmFsKSk7CisgICAgVUFfQ2xpZW50X2RlbGV0ZShtQ2xpZW50KTsKKyAgICByZXR1cm4gZmFsc2U7CisgIH0KKyAgY29uZmlnUG9pbnRlci0+c3RhdGVDYWxsYmFjayA9IENVQV9SZW1vdGVDYWxsYmFja0Z1bmN0aW9uczo6Y2xpZW50U3RhdGVDaGFuZ2VDYWxsYmFjazsKKyAgY29uZmlnUG9pbnRlci0+bG9nZ2VyID0gQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3Q6OmdldExvZ2dlcigpOworICBjb25maWdQb2ludGVyLT50aW1lb3V0ID0gc2NtQ2xpZW50VGltZW91dEluTWlsbGk7CisjZWxzZSAvL0ZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorICBVQV9DbGllbnRDb25maWcgY29uZmlnID0gVUFfQ2xpZW50Q29uZmlnX2RlZmF1bHQ7CisgIGNvbmZpZy5zdGF0ZUNhbGxiYWNrID0gQ1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zOjpjbGllbnRTdGF0ZUNoYW5nZUNhbGxiYWNrOworICBjb25maWcubG9nZ2VyID0gQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3Q6OmdldExvZ2dlcigpOworICBjb25maWcudGltZW91dCA9IHNjbUNsaWVudFRpbWVvdXRJbk1pbGxpOworICBtQ2xpZW50ID0gVUFfQ2xpZW50X25ldyhjb25maWcpOworI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNICisgIHJldHVybiB0cnVlOworfQorCit2b2lkIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6dW5pbml0aWFsaXplQ2xpZW50KCkgeworICBERVZMT0dfSU5GTygiW09QQyBVQSBDTElFTlRdOiBVbmluaXRpYWxpemluZyBjbGllbnQgJXNcbiIsIG1FbmRwb2ludFVybC5nZXRWYWx1ZSgpKTsKKyAgbUFjdGlvbnNUb0JlSW5pdGlhbGl6ZWQuY2xlYXJBbGwoKTsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvICo+OjpJdGVyYXRvciBpdFJlZmVyZW5jaW5nQWN0aW9ucyA9IG1BY3Rpb25zUmVmZXJlbmNpbmdJdC5iZWdpbigpOyBpdFJlZmVyZW5jaW5nQWN0aW9ucyAhPSBtQWN0aW9uc1JlZmVyZW5jaW5nSXQuZW5kKCk7CisgICAgICArK2l0UmVmZXJlbmNpbmdBY3Rpb25zKSB7CisgICAgdW5pbml0aWFsaXplQWN0aW9uKCoqaXRSZWZlcmVuY2luZ0FjdGlvbnMpOworICAgIG1BY3Rpb25zVG9CZUluaXRpYWxpemVkLnB1c2hCYWNrKCppdFJlZmVyZW5jaW5nQWN0aW9ucyk7CisgIH0KKyAgVUFfQ2xpZW50X2Rpc2Nvbm5lY3QobUNsaWVudCk7CisgIFVBX0NsaWVudF9kZWxldGUobUNsaWVudCk7CisgIG1DbGllbnQgPSAwOworICBtV2FpdFRvSW5pdGlhbGl6ZUFjdGlvbnMgPSBmYWxzZTsKKyAgbU5lZWRzUmVjb25uZWN0aW9uID0gZmFsc2U7CisgIG1Tb21lQWN0aW9uV2FzSW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgbUxhc3RSZWNvbm5lY3Rpb25UcnkgPSAwOworICBtTGFzdEFjdGlvbkluaXRpYWxpemF0aW9uVHJ5ID0gMDsKKyAgbU1pc3NpbmdBc3luY0NhbGxzID0gMDsKK30KKworYm9vbCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OmhhbmRsZUNsaWVudFN0YXRlKCkgeworCisgIG1Tb21lQWN0aW9uV2FzSW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgYm9vbCBub01vcmVDaGFuZ2VzTmVlZGVkID0gZmFsc2U7CisgIGJvb2wgdHJ5QW5vdGhlckNoYW5nZUltbWVkaWF0ZWx5ID0gdHJ1ZTsKKworICBpZihtTmVlZHNSZWNvbm5lY3Rpb24pIHsKKyAgICB1aW50X2Zhc3Q2NF90IG5vdyA9IGdldE5hbm9TZWNvbmRzTW9ub3RvbmljKCk7CisgICAgaWYoKG5vdyAtIG1MYXN0UmVjb25uZWN0aW9uVHJ5KSA8IHNjbUNvbm5lY3Rpb25SZXRyeVRpbWVvdXROYW5vKSB7IC8vaWYgY29ubmVjdGlvbiB0aW1lb3V0IGRpZG4ndCBoYXBwZW4sIHJldHVybiB0aGF0IG1vcmUgY2hhbmdlcyBhcmUgc3RpbGwgbmVlZGVkCisgICAgICB0cnlBbm90aGVyQ2hhbmdlSW1tZWRpYXRlbHkgPSBmYWxzZTsKKyAgICB9CisgIH0gZWxzZSBpZihtV2FpdFRvSW5pdGlhbGl6ZUFjdGlvbnMpIHsKKyAgICB1aW50X2Zhc3Q2NF90IG5vdyA9IGdldE5hbm9TZWNvbmRzTW9ub3RvbmljKCk7CisgICAgaWYoKG5vdyAtIG1MYXN0QWN0aW9uSW5pdGlhbGl6YXRpb25UcnkpIDwgc2NtSW5pdGlhbGl6ZUFjdGlvblJldHJ5TmFubykgeyAvL2lmIGFuIGFjdGlvbiBmYWlsZWQsIHdhaXQgc2NtSW5pdGlhbGl6ZUFjdGlvblJldHJ5TmFubyB1bnRpbCBuZXh0IHJldHJ5IHRvIGluaXRpYWxpemUgdGhlbQorICAgICAgdHJ5QW5vdGhlckNoYW5nZUltbWVkaWF0ZWx5ID0gZmFsc2U7CisgICAgfQorICB9CisKKyAgd2hpbGUodHJ5QW5vdGhlckNoYW5nZUltbWVkaWF0ZWx5KSB7CisgICAgVUFfQ2xpZW50U3RhdGUgY3VycmVudFN0YXRlID0gVUFfQ2xpZW50X2dldFN0YXRlKG1DbGllbnQpOworICAgIGlmKFVBX0NMSUVOVFNUQVRFX1NFU1NJT04gPT0gY3VycmVudFN0YXRlKSB7CisgICAgICBpZihpbml0aWFsaXplQWxsQWN0aW9ucygpKSB7CisgICAgICAgIG5vTW9yZUNoYW5nZXNOZWVkZWQgPSB0cnVlOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgbVdhaXRUb0luaXRpYWxpemVBY3Rpb25zID0gdHJ1ZTsKKyAgICAgICAgbUxhc3RBY3Rpb25Jbml0aWFsaXphdGlvblRyeSA9IGdldE5hbm9TZWNvbmRzTW9ub3RvbmljKCk7CisgICAgICB9CisgICAgICB0cnlBbm90aGVyQ2hhbmdlSW1tZWRpYXRlbHkgPSBmYWxzZTsKKyAgICB9IGVsc2UgaWYoVUFfQ0xJRU5UU1RBVEVfU0VTU0lPTl9SRU5FV0VEID09IGN1cnJlbnRTdGF0ZSkgeworICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IENsaWVudCBzdGF0ZSBpcyBzZXNzaW9uIHJlbmV3ZWQuIENoZWNrIHdoYXQgaGFwcGVucyB3aXRoIHRoZSBzdWJzY3JpcHRpb24gaGVyZVxuIik7CisgICAgfSBlbHNlIHsKKyAgICAgIGlmKCFjb25uZWN0Q2xpZW50KCkpIHsKKyAgICAgICAgdHJ5QW5vdGhlckNoYW5nZUltbWVkaWF0ZWx5ID0gZmFsc2U7CisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBDb3VsZG4ndCBjb25uZWN0IHRvIGVuZHBvaW50ICVzLiBGb3J0ZSB3aWxsIHRyeSB0byByZWNvbm5lY3QgaW4gJXUgbmFub3NlY29uZHNcbiIsIG1FbmRwb2ludFVybC5nZXRWYWx1ZSgpLAorICAgICAgICAgIHNjbUNvbm5lY3Rpb25SZXRyeVRpbWVvdXROYW5vKTsKKyAgICAgICAgbU5lZWRzUmVjb25uZWN0aW9uID0gdHJ1ZTsKKyAgICAgICAgbUxhc3RSZWNvbm5lY3Rpb25UcnkgPSBnZXROYW5vU2Vjb25kc01vbm90b25pYygpOworICAgICAgfSBlbHNlIHsgLy9pZiBjb25uZWN0aW9uIHN1Y2NlZWRlZCwgZG9uJ3QgYnJlYWsgdGhlIHdoaWxlIGFuZCB0cnkgdG8gaGFuZGxlIHN1YnNjcmlwdGlvbnMgaW1tZWRpYXRlbHkKKyAgICAgICAgbU5lZWRzUmVjb25uZWN0aW9uID0gZmFsc2U7CisgICAgICAgIERFVkxPR19JTkZPKCJbT1BDIFVBIENMSUVOVF06IENsaWVudCBjb25uZWN0ZWQgdG8gZW5kcG9pbnQgJXNcbiIsIG1FbmRwb2ludFVybC5nZXRWYWx1ZSgpKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICByZXR1cm4gbm9Nb3JlQ2hhbmdlc05lZWRlZDsKK30KKworYm9vbCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OmV4ZWN1dGVBc3luY0NhbGxzKCkgeworICByZXR1cm4gKFVBX1NUQVRVU0NPREVfR09PRCA9PQorI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorICAgIFVBX0NsaWVudF9ydW5faXRlcmF0ZSgKKyNlbHNlCisgICAgICBVQV9DbGllbnRfcnVuQXN5bmMoCisjZW5kaWYKKyAgICAgIG1DbGllbnQsIDEwKSk7Cit9CisKK1VBX1N0YXR1c0NvZGUgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjpleGVjdXRlUmVhZChDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKSB7CisgIENDcml0aWNhbFJlZ2lvbiBjbGllbnRSZWdpb24obUNsaWVudE11dGV4KTsKKworICBVQV9SZWFkUmVxdWVzdCByZXF1ZXN0OworICBVQV9SZWFkUmVxdWVzdF9pbml0KCZyZXF1ZXN0KTsKKyAgcmVxdWVzdC5ub2Rlc1RvUmVhZFNpemUgPSBwYUFjdGlvbkluZm8uZ2V0Tm9PZk5vZGVQYWlycygpOworCisgIFVBX1JlYWRWYWx1ZUlkICppZHMgPSBzdGF0aWNfY2FzdDxVQV9SZWFkVmFsdWVJZCAqPihVQV9BcnJheV9uZXcocmVxdWVzdC5ub2Rlc1RvUmVhZFNpemUsICZVQV9UWVBFU1tVQV9UWVBFU19SRUFEVkFMVUVJRF0pKTsKKyAgcmVxdWVzdC5ub2Rlc1RvUmVhZCA9IGlkczsKKworICBzaXplX3QgaW5kZXhPZk5vZGVQYWlyID0gMDsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvKj46Okl0ZXJhdG9yIGl0Tm9kZVBhaXIgPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsKKyAgICAgIGl0Tm9kZVBhaXIgIT0gcGFBY3Rpb25JbmZvLmdldE5vZGVQYWlySW5mbygpLmVuZCgpOyArK2l0Tm9kZVBhaXIsIGluZGV4T2ZOb2RlUGFpcisrKSB7CisgICAgVUFfUmVhZFZhbHVlSWRfaW5pdCgmaWRzW2luZGV4T2ZOb2RlUGFpcl0pOworICAgIGlkc1tpbmRleE9mTm9kZVBhaXJdLmF0dHJpYnV0ZUlkID0gVUFfQVRUUklCVVRFSURfVkFMVUU7CisgICAgVUFfTm9kZUlkX2NvcHkoKCppdE5vZGVQYWlyKS0+bU5vZGVJZCwgJmlkc1tpbmRleE9mTm9kZVBhaXJdLm5vZGVJZCk7CisgIH0KKworICBVQV9SZW1vdGVDYWxsSGFuZGxlICpyZW1vdGVDYWxsSGFuZGxlID0gbmV3IFVBX1JlbW90ZUNhbGxIYW5kbGUocGFBY3Rpb25JbmZvLCAqdGhpcyk7CisKKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPQorI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorICAgIFVBX0NsaWVudF9zZW5kQXN5bmNSZWFkUmVxdWVzdChtQ2xpZW50LCAmcmVxdWVzdCwgQ1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zOjpyZWFkQXN5bmNDYWxsYmFjaywgcmVtb3RlQ2FsbEhhbmRsZSwgMCk7CisjZWxzZQorICBVQV9DbGllbnRfQXN5bmNTZXJ2aWNlX3JlYWQobUNsaWVudCwgJnJlcXVlc3QsIENVQV9SZW1vdGVDYWxsYmFja0Z1bmN0aW9uczo6YW55QXN5bmNDYWxsYmFjaywgcmVtb3RlQ2FsbEhhbmRsZSwgMCk7CisjZW5kaWYKKworICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKSB7CisgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IENvdWxkbid0IGRpc3BhdGNoIHJlYWQgYWN0aW9uIGZvciBGQiAlcy4gRXJyb3I6ICVzXG4iLCBwYUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gKKyAgICBkZWxldGUgcmVtb3RlQ2FsbEhhbmRsZTsKKyNlbHNlCisgICAgLy8gdjAuMy4wIGlzIGNhbGxpbmcgdGhlIGNhbGxiYWNrIHdoZW4gZGlzcGF0Y2ggZmFpbHMsIHdoZXJlIHRoZSByZW1vdGVDYWxsSGFuZGxlIGlzIGRlbGV0ZWQKKyNlbmRpZgorICB9IGVsc2UgeworICAgIGFkZEFzeW5jQ2FsbCgpOworICB9CisKKyAgVUFfUmVhZFJlcXVlc3RfZGVsZXRlTWVtYmVycygmcmVxdWVzdCk7CisKKyAgcmV0dXJuIHJldFZhbDsKK30KKworVUFfU3RhdHVzQ29kZSBDVUFfQ2xpZW50SW5mb3JtYXRpb246OmV4ZWN1dGVXcml0ZShDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKSB7CisgIENDcml0aWNhbFJlZ2lvbiBjbGllbnRSZWdpb24obUNsaWVudE11dGV4KTsKKworICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFESU5URVJOQUxFUlJPUjsKKyAgVUFfV3JpdGVSZXF1ZXN0IHJlcXVlc3Q7CisgIFVBX1dyaXRlUmVxdWVzdF9pbml0KCZyZXF1ZXN0KTsKKyAgcmVxdWVzdC5ub2Rlc1RvV3JpdGVTaXplID0gcGFBY3Rpb25JbmZvLmdldE5vT2ZOb2RlUGFpcnMoKTsKKworICBVQV9Xcml0ZVZhbHVlICppZHMgPSBzdGF0aWNfY2FzdDxVQV9Xcml0ZVZhbHVlICo+KFVBX0FycmF5X25ldyhyZXF1ZXN0Lm5vZGVzVG9Xcml0ZVNpemUsICZVQV9UWVBFU1tVQV9UWVBFU19XUklURVZBTFVFXSkpOworICByZXF1ZXN0Lm5vZGVzVG9Xcml0ZSA9IGlkczsKKworICBzaXplX3QgaW5kZXhPZk5vZGVQYWlyID0gMDsKKyAgY29uc3QgQ0lFQ19BTlkgKmRhdGFUb1NlbmQgPSBwYUFjdGlvbkluZm8uZ2V0RGF0YVRvU2VuZCgpOworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm86OkNOb2RlUGFpckluZm8qPjo6SXRlcmF0b3IgaXROb2RlUGFpciA9IHBhQWN0aW9uSW5mby5nZXROb2RlUGFpckluZm8oKS5iZWdpbigpOworICAgICAgaXROb2RlUGFpciAhPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuZW5kKCk7ICsraXROb2RlUGFpciwgaW5kZXhPZk5vZGVQYWlyKyspIHsKKworICAgIFVBX1dyaXRlVmFsdWVfaW5pdCgmaWRzW2luZGV4T2ZOb2RlUGFpcl0pOworICAgIGlkc1tpbmRleE9mTm9kZVBhaXJdLmF0dHJpYnV0ZUlkID0gVUFfQVRUUklCVVRFSURfVkFMVUU7CisgICAgVUFfTm9kZUlkX2NvcHkoKCppdE5vZGVQYWlyKS0+bU5vZGVJZCwgJmlkc1tpbmRleE9mTm9kZVBhaXJdLm5vZGVJZCk7CisgICAgaWRzW2luZGV4T2ZOb2RlUGFpcl0udmFsdWUuaGFzVmFsdWUgPSB0cnVlOworCisgICAgQ09QQ19VQV9IZWxwZXI6OmZpbGxWYXJpYW50KGlkc1tpbmRleE9mTm9kZVBhaXJdLnZhbHVlLnZhbHVlLCBkYXRhVG9TZW5kW2luZGV4T2ZOb2RlUGFpcl0pOworICB9CisKKyAgVUFfUmVtb3RlQ2FsbEhhbmRsZSAqcmVtb3RlQ2FsbEhhbmRsZSA9IG5ldyBVQV9SZW1vdGVDYWxsSGFuZGxlKHBhQWN0aW9uSW5mbywgKnRoaXMpOworICByZXRWYWwgPQorI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorICAgIFVBX0NsaWVudF9zZW5kQXN5bmNXcml0ZVJlcXVlc3QobUNsaWVudCwgJnJlcXVlc3QsIENVQV9SZW1vdGVDYWxsYmFja0Z1bmN0aW9uczo6d3JpdGVBc3luY0NhbGxiYWNrLCByZW1vdGVDYWxsSGFuZGxlLCAwKTsKKyNlbHNlCisgICAgVUFfQ2xpZW50X0FzeW5jU2VydmljZV93cml0ZShtQ2xpZW50LCAmcmVxdWVzdCwgQ1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zOjphbnlBc3luY0NhbGxiYWNrLCByZW1vdGVDYWxsSGFuZGxlLCAwKTsKKyNlbmRpZgorCisgIGlmKFVBX1NUQVRVU0NPREVfR09PRCAhPSByZXRWYWwpIHsKKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQ0xJRU5UXTogQ291bGRuJ3QgZGlzcGF0Y2ggd3JpdGUgYWN0aW9uIGZvciBGQiAlcy4gRXJyb3I6ICVzXG4iLCBwYUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gKKyAgICBkZWxldGUgcmVtb3RlQ2FsbEhhbmRsZTsKKyNlbHNlCisgICAgLy8gdjAuMy4wIGlzIGNhbGxpbmcgdGhlIGNhbGxiYWNrIHdoZW4gZGlzcGF0Y2ggZmFpbHMsIHdoZXJlIHRoZSByZW1vdGVDYWxsSGFuZGxlIGlzIGRlbGV0ZWQKKyNlbmRpZgorICB9IGVsc2UgeworICAgIGFkZEFzeW5jQ2FsbCgpOworICB9CisKKyAgVUFfV3JpdGVSZXF1ZXN0X2RlbGV0ZU1lbWJlcnMoJnJlcXVlc3QpOworCisgIHJldHVybiByZXRWYWw7Cit9CisKK1VBX1N0YXR1c0NvZGUgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjpleGVjdXRlQ2FsbE1ldGhvZChDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKSB7CisgIENDcml0aWNhbFJlZ2lvbiBjbGllbnRSZWdpb24obUNsaWVudE11dGV4KTsKKworICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFESU5URVJOQUxFUlJPUjsKKyAgVUFfQ2FsbFJlcXVlc3QgcmVxdWVzdDsKKyAgVUFfQ2FsbFJlcXVlc3RfaW5pdCgmcmVxdWVzdCk7CisgIHJlcXVlc3QubWV0aG9kc1RvQ2FsbFNpemUgPSAxOworICByZXF1ZXN0Lm1ldGhvZHNUb0NhbGwgPSBzdGF0aWNfY2FzdDxVQV9DYWxsTWV0aG9kUmVxdWVzdCAqPihVQV9BcnJheV9uZXcocmVxdWVzdC5tZXRob2RzVG9DYWxsU2l6ZSwgJlVBX1RZUEVTW1VBX1RZUEVTX0NBTExNRVRIT0RSRVFVRVNUXSkpOworCisgIFVBX0NhbGxNZXRob2RSZXF1ZXN0ICptZXRob2RSZXF1ZXN0ID0gJnJlcXVlc3QubWV0aG9kc1RvQ2FsbFswXTsKKworICBtZXRob2RSZXF1ZXN0LT5pbnB1dEFyZ3VtZW50c1NpemUgPSBwYUFjdGlvbkluZm8uZ2V0U2VuZFNpemUoKTsKKyAgbWV0aG9kUmVxdWVzdC0+aW5wdXRBcmd1bWVudHMgPSBzdGF0aWNfY2FzdDxVQV9WYXJpYW50ICo+KFVBX0FycmF5X25ldyhtZXRob2RSZXF1ZXN0LT5pbnB1dEFyZ3VtZW50c1NpemUsICZVQV9UWVBFU1tVQV9UWVBFU19WQVJJQU5UXSkpOworCisgIGNvbnN0IENJRUNfQU5ZICpkYXRhVG9TZW5kID0gcGFBY3Rpb25JbmZvLmdldERhdGFUb1NlbmQoKTsKKworICBDU2luZ2x5TGlua2VkTGlzdDxDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyo+OjpJdGVyYXRvciBpdE5vZGVQYWlyID0gcGFBY3Rpb25JbmZvLmdldE5vZGVQYWlySW5mbygpLmJlZ2luKCk7CisgIFVBX05vZGVJZF9jb3B5KCgqaXROb2RlUGFpciktPm1Ob2RlSWQsICZtZXRob2RSZXF1ZXN0LT5tZXRob2RJZCk7CisgICsraXROb2RlUGFpcjsKKyAgVUFfTm9kZUlkX2NvcHkoKCppdE5vZGVQYWlyKS0+bU5vZGVJZCwgJm1ldGhvZFJlcXVlc3QtPm9iamVjdElkKTsKKworICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgbWV0aG9kUmVxdWVzdC0+aW5wdXRBcmd1bWVudHNTaXplOyBpKyspIHsKKyAgICBDT1BDX1VBX0hlbHBlcjo6ZmlsbFZhcmlhbnQobWV0aG9kUmVxdWVzdC0+aW5wdXRBcmd1bWVudHNbaV0sIGRhdGFUb1NlbmRbaV0pOworICB9CisKKyAgVUFfUmVtb3RlQ2FsbEhhbmRsZSAqcmVtb3RlQ2FsbEhhbmRsZSA9IG5ldyBVQV9SZW1vdGVDYWxsSGFuZGxlKHBhQWN0aW9uSW5mbywgKnRoaXMpOworICByZXRWYWwgPQorCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNICisgICAgVUFfQ2xpZW50X3NlbmRBc3luY1JlcXVlc3QobUNsaWVudCwgJnJlcXVlc3QsICZVQV9UWVBFU1tVQV9UWVBFU19DQUxMUkVRVUVTVF0sIENVQV9SZW1vdGVDYWxsYmFja0Z1bmN0aW9uczo6Y2FsbE1ldGhvZEFzeW5jQ2FsbGJhY2ssCisgICAgICAgICZVQV9UWVBFU1tVQV9UWVBFU19DQUxMUkVTUE9OU0VdLCByZW1vdGVDYWxsSGFuZGxlLCAwKTsKKyNlbHNlCisgICAgVUFfQ2xpZW50X0FzeW5jU2VydmljZV9jYWxsKG1DbGllbnQsICZyZXF1ZXN0LCBDVUFfUmVtb3RlQ2FsbGJhY2tGdW5jdGlvbnM6OmFueUFzeW5jQ2FsbGJhY2ssIHJlbW90ZUNhbGxIYW5kbGUsIDApOworI2VuZGlmCisKKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EICE9IHJldFZhbCkgeworICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBDb3VsZG4ndCBkaXNwYXRjaCBjYWxsIGFjdGlvbiBmb3IgRkIgJXMuIEVycm9yICVzXG4iLCBwYUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gKKyAgICBkZWxldGUgcmVtb3RlQ2FsbEhhbmRsZTsKKyNlbHNlCisgICAgLy8gdjAuMy4wIGlzIGNhbGxpbmcgdGhlIGNhbGxiYWNrIHdoZW4gZGlzcGF0Y2ggZmFpbHMsIHdoZXJlIHRoZSByZW1vdGVDYWxsSGFuZGxlIGlzIGRlbGV0ZWQKKyNlbmRpZgorICB9IGVsc2UgeworICAgIGFkZEFzeW5jQ2FsbCgpOworICB9CisKKyAgVUFfQ2FsbFJlcXVlc3RfZGVsZXRlTWVtYmVycygmcmVxdWVzdCk7CisKKyAgcmV0dXJuIHJldFZhbDsKK30KKwordm9pZCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OmFkZEFjdGlvbihDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKSB7CisgIG1BY3Rpb25zUmVmZXJlbmNpbmdJdC5wdXNoQmFjaygmcGFBY3Rpb25JbmZvKTsKKyAgbUFjdGlvbnNUb0JlSW5pdGlhbGl6ZWQucHVzaEJhY2soJnBhQWN0aW9uSW5mbyk7CisgIG1XYWl0VG9Jbml0aWFsaXplQWN0aW9ucyA9IGZhbHNlOworfQorCit2b2lkIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6cmVtb3ZlQWN0aW9uKENBY3Rpb25JbmZvJiBwYUFjdGlvbkluZm8pIHsKKyAgdW5pbml0aWFsaXplQWN0aW9uKHBhQWN0aW9uSW5mbyk7CisgIG1BY3Rpb25zUmVmZXJlbmNpbmdJdC5lcmFzZSgmcGFBY3Rpb25JbmZvKTsKK30KKworYm9vbCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OmlzQWN0aW9uSW5pdGlhbGl6ZWQoQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbykgeworICBDQ3JpdGljYWxSZWdpb24gY2xpZW50UmVnaW9uKG1DbGllbnRNdXRleCk7CisgIGJvb2wgcmV0VmFsID0gdHJ1ZTsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvICo+OjpJdGVyYXRvciBpdENsaWVudEluZm9ybWF0aW9uID0gbUFjdGlvbnNUb0JlSW5pdGlhbGl6ZWQuYmVnaW4oKTsgaXRDbGllbnRJbmZvcm1hdGlvbiAhPSBtQWN0aW9uc1RvQmVJbml0aWFsaXplZC5lbmQoKTsKKyAgICAgICsraXRDbGllbnRJbmZvcm1hdGlvbikgeworICAgIGlmKCgqaXRDbGllbnRJbmZvcm1hdGlvbikgPT0gJnBhQWN0aW9uSW5mbykgeworICAgICAgcmV0VmFsID0gZmFsc2U7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJldFZhbDsKK30KKworYm9vbCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OmNvbm5lY3RDbGllbnQoKSB7CisgIHJldHVybiAoVUFfU1RBVFVTQ09ERV9HT09EID09IFVBX0NsaWVudF9jb25uZWN0KG1DbGllbnQsIG1FbmRwb2ludFVybC5nZXRWYWx1ZSgpKSk7Cit9CisKK2Jvb2wgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjppbml0aWFsaXplQWxsQWN0aW9ucygpIHsKKyAgYm9vbCBzb21ldGhpbmdGYWlsZWQgPSBmYWxzZTsKKworICBDU2luZ2x5TGlua2VkTGlzdDxDQWN0aW9uSW5mbyAqPiBpbml0aWFsaXplZEFjdGlvbnM7CisgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDQWN0aW9uSW5mbyAqPjo6SXRlcmF0b3IgaXRBY3Rpb25JbmZvID0gbUFjdGlvbnNUb0JlSW5pdGlhbGl6ZWQuYmVnaW4oKTsgaXRBY3Rpb25JbmZvICE9IG1BY3Rpb25zVG9CZUluaXRpYWxpemVkLmVuZCgpOworICAgICAgKytpdEFjdGlvbkluZm8pIHsKKworICAgIGlmKCFpbml0aWFsaXplQWN0aW9uKCoqaXRBY3Rpb25JbmZvKSkgeworICAgICAgaW5pdGlhbGl6ZWRBY3Rpb25zLnB1c2hCYWNrKCppdEFjdGlvbkluZm8pOworICAgIH0gZWxzZSB7CisgICAgICBzb21ldGhpbmdGYWlsZWQgPSB0cnVlOworICAgIH0KKyAgfQorCisgIGlmKCFpbml0aWFsaXplZEFjdGlvbnMuaXNFbXB0eSgpKSB7IC8vaWYgb25lIGFjdGlvbiAoRkIpIHJlbGF0ZWQgdG8gdGhlIGNsaWVudCB3YXMgaW5pdGlhbGl6ZWQsIGNvcHkgaXQgdG8gdGhlIG1haW4gdGhyZWFkCisgICAgbVNvbWVBY3Rpb25XYXNJbml0aWFsaXplZCA9IHRydWU7CisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvICo+OjpJdGVyYXRvciBpdEFjdGlvbkluZm8gPSBpbml0aWFsaXplZEFjdGlvbnMuYmVnaW4oKTsgaXRBY3Rpb25JbmZvICE9IGluaXRpYWxpemVkQWN0aW9ucy5lbmQoKTsKKyAgICAgICAgKytpdEFjdGlvbkluZm8pIHsKKyAgICAgIG1BY3Rpb25zVG9CZUluaXRpYWxpemVkLmVyYXNlKCppdEFjdGlvbkluZm8pOworICAgIH0KKyAgfQorCisgIHJldHVybiAhc29tZXRoaW5nRmFpbGVkOworfQorCitib29sIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6aW5pdGlhbGl6ZUFjdGlvbihDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKSB7CisgIGJvb2wgc29tZXRoaW5nRmFpbGVkID0gZmFsc2U7CisgIGlmKENBY3Rpb25JbmZvOjplQ2FsbE1ldGhvZCA9PSBwYUFjdGlvbkluZm8uZ2V0QWN0aW9uKCkpIHsKKyAgICBpZighaW5pdGlhbGl6ZUNhbGxNZXRob2QocGFBY3Rpb25JbmZvKSkgeworICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgc2l6ZV90IHJ1bm5lckhlbHBlciA9IDA7CisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvKj46Okl0ZXJhdG9yIGl0Tm9kZVBhaXIgPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsKKyAgICAgICAgaXROb2RlUGFpciAhPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuZW5kKCk7CisgICAgICAgICsraXROb2RlUGFpciwgcnVubmVySGVscGVyKyspIHsKKworICAgICAgaWYoIXNvbWV0aGluZ0ZhaWxlZCkgeworICAgICAgICBpZigiIiAhPSAoKml0Tm9kZVBhaXIpLT5tQnJvd3NlUGF0aCkgeyAvL2lmIGJyb3dzZXBhdGggd2FzIGdpdmVuLCBsb29rIGZvciBOb2RlSWQsIGV2ZW4gaWYgTm9kZUlEIHdhcyBhbHNvIHByb3ZpZGVkCisgICAgICAgICAgVUFfTm9kZUlkICpub2RlSWQ7CisgICAgICAgICAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBDT1BDX1VBX0hlbHBlcjo6Z2V0UmVtb3RlTm9kZUZvclBhdGgoKm1DbGllbnQsICgqaXROb2RlUGFpciktPm1Ccm93c2VQYXRoLmdldFZhbHVlKCksIDAsICZub2RlSWQpOyAvL3dlIGRvbid0IGNhcmUgYWJvdXQgdGhlIHBhcmVudAorCisgICAgICAgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EICE9IHJldFZhbCkgeworICAgICAgICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IFRoZSBpbmRleCAldSBvZiB0aGUgRkIgJXMgY291bGQgbm90IGJlIGluaXRpYWxpemVkIGJlY2F1c2UgdGhlIHJlcXVlc3RlZCBub2RlSWQgd2FzIG5vdCBmb3VuZC4gRXJyb3I6ICVzXG4iLAorICAgICAgICAgICAgICBydW5uZXJIZWxwZXIsIHBhQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOworICAgICAgICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYoKCppdE5vZGVQYWlyKS0+bU5vZGVJZCkgeworICAgICAgICAgICAgICBpZighVUFfTm9kZUlkX2VxdWFsKCgqaXROb2RlUGFpciktPm1Ob2RlSWQsIG5vZGVJZCkpIHsgLy9pZiBOb2RlSWQgd2FzIHByb3ZpZGVkLCBjaGVjayBpZiBmb3VuZCBpcyB0aGUgc2FtZQorICAgICAgICAgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBUaGUgY2FsbCBmcm9tIEZCICVzIGZhaWxlZCB0aGUgZm91bmQgbm9kZUlkIG9mIHRoZSBtZXRob2QgZG9lc24ndCBtYXRjaCB0aGUgcHJvdmlkZWQgb25lXG4iLAorICAgICAgICAgICAgICAgICAgcGFBY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpKTsKKyAgICAgICAgICAgICAgICBzb21ldGhpbmdGYWlsZWQgPSB0cnVlOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIFVBX05vZGVJZF9kZWxldGUobm9kZUlkKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICgqaXROb2RlUGFpciktPm1Ob2RlSWQgPSBub2RlSWQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgfQorCisgICAgLy9mb3Igc3Vic2NyaXB0aW9uLCBtb3JlIHRoaW5ncyBhcmUgbmVlZGVkCisgICAgaWYoIXNvbWV0aGluZ0ZhaWxlZCAmJiAhaW5pdGlhbGl6ZVN1YnNjcmlwdGlvbihwYUFjdGlvbkluZm8pKSB7IC8vd29uJ3QgaW5pdGlhbGl6ZSBzdWJzY3JpcHRpb24gaWYgc29tZSBub2RlSUQgaXMgbWlzc2luZworICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHNvbWV0aGluZ0ZhaWxlZDsKK30KKworYm9vbCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OmluaXRpYWxpemVDYWxsTWV0aG9kKENBY3Rpb25JbmZvJiBwYUFjdGlvbkluZm8pIHsKKyAgYm9vbCBzb21ldGhpbmdGYWlsZWQgPSBmYWxzZTsKKworICBDU2luZ2x5TGlua2VkTGlzdDxDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyo+OjpJdGVyYXRvciBpdE5vZGVQYWlyID0gcGFBY3Rpb25JbmZvLmdldE5vZGVQYWlySW5mbygpLmJlZ2luKCk7CisgIC8vZ2V0IHBhcmVudE5vZGVJZCBhbmQgYWxzbyB0aGUgbWV0aG9kIE5vZGVJZAorICBVQV9Ob2RlSWQgKm1ldGhvZE5vZGU7CisgIFVBX05vZGVJZCAqcGFyZW50Tm9kZTsKKworICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IENPUENfVUFfSGVscGVyOjpnZXRSZW1vdGVOb2RlRm9yUGF0aCgqbUNsaWVudCwgKCppdE5vZGVQYWlyKS0+bUJyb3dzZVBhdGguZ2V0VmFsdWUoKSwgJnBhcmVudE5vZGUsICZtZXRob2ROb2RlKTsKKworICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKSB7CisgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IFRoZSBtZXRob2QgY2FsbCBmcm9tIEZCICVzIGZhaWxlZCBiZWNhdXNlIHRoZSByZXF1ZXN0ZWQgbm9kZSB3YXMgbm90IGZvdW5kLiBFcnJvcjogJXNcbiIsCisgICAgICBwYUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKKyAgICBzb21ldGhpbmdGYWlsZWQgPSB0cnVlOworICB9IGVsc2UgeworICAgIGlmKCgqaXROb2RlUGFpciktPm1Ob2RlSWQpIHsKKyAgICAgIGlmKCFVQV9Ob2RlSWRfZXF1YWwoKCppdE5vZGVQYWlyKS0+bU5vZGVJZCwgbWV0aG9kTm9kZSkpIHsgLy9pZiBOb2RlSWQgb2YgbWV0aG9kIHdhcyBwcm92aWRlZCwgY2hlY2sgaWYgZm91bmQgaXMgdGhlIHNhbWUKKyAgICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IFRoZSBtZXRob2QgY2FsbCBmcm9tIEZCICVzIGZhaWxlZCB0aGUgZm91bmQgbm9kZUlkIG9mIHRoZSBtZXRob2QgZG9lc24ndCBtYXRjaCB0aGUgcHJvdmlkZWQgb25lXG4iLAorICAgICAgICAgIHBhQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7CisgICAgICAgIHNvbWV0aGluZ0ZhaWxlZCA9IHRydWU7CisgICAgICB9CisgICAgICBVQV9Ob2RlSWRfZGVsZXRlKG1ldGhvZE5vZGUpOworICAgIH0gZWxzZSB7CisgICAgICAoKml0Tm9kZVBhaXIpLT5tTm9kZUlkID0gbWV0aG9kTm9kZTsKKyAgICB9CisgICAgaWYoIXNvbWV0aGluZ0ZhaWxlZCkgeworICAgICAgLy9zdG9yZSB0aGUgcGFyZW50Tm9kZUlkIGluIHRoZSBzZWNvbmQgcG9zaXRpb24uIEJyb3dzZU5hbWUgaXMgbm90IG5lZWRlZAorICAgICAgcGFBY3Rpb25JbmZvLmdldE5vZGVQYWlySW5mbygpLnB1c2hCYWNrKG5ldyBDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyhwYXJlbnROb2RlLCAiIikpOworICAgIH0gZWxzZSB7CisgICAgICBVQV9Ob2RlSWRfZGVsZXRlKHBhcmVudE5vZGUpOworICAgIH0KKyAgfQorCisgIHJldHVybiAhc29tZXRoaW5nRmFpbGVkOworfQorCitib29sIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6aW5pdGlhbGl6ZVN1YnNjcmlwdGlvbihDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKSB7CisgIGJvb2wgc29tZXRoaW5nRmFpbGVkID0gZmFsc2U7CisgIGlmKENBY3Rpb25JbmZvOjplU3Vic2NyaWJlID09IHBhQWN0aW9uSW5mby5nZXRBY3Rpb24oKSAmJiBhbGxvY0FuZENyZWF0ZVN1YnNjcmlwdGlvbigpKSB7CisKKyAgICBzaXplX3QgaXRlbXNBZGRlZFRvTGlzdCA9IDA7CisKKyAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Nb25pdG9yaW5nSXRlbUluZm8+OjpJdGVyYXRvciBpdEZpcnN0TmV3TW9uaXRvcmluZ0l0ZW1JbmZvID0gbVN1YnNjcmlwdGlvbkluZm8tPm1Nb25pdG9yZWRJdGVtcy5lbmQoKTsKKworICAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBwYUFjdGlvbkluZm8uZ2V0Tm9PZk5vZGVQYWlycygpOyBpKyspIHsKKyAgICAgIFVBX01vbml0b3JpbmdJdGVtSW5mbyBtb25pdG9yaW5nSXRlbUluZm8oVUFfU3Vic2NyaWJlQ29udGV4dF9IYW5kbGUocGFBY3Rpb25JbmZvLCBpdGVtc0FkZGVkVG9MaXN0KSk7CisgICAgICBtU3Vic2NyaXB0aW9uSW5mby0+bU1vbml0b3JlZEl0ZW1zLnB1c2hCYWNrKG1vbml0b3JpbmdJdGVtSW5mbyk7CisgICAgICBpZihpdEZpcnN0TmV3TW9uaXRvcmluZ0l0ZW1JbmZvID09IG1TdWJzY3JpcHRpb25JbmZvLT5tTW9uaXRvcmVkSXRlbXMuZW5kKCkpIHsgLy9zdG9yZSB0aGUgZmlyc3QgYWRkZWQgaXRlbQorICAgICAgICBpdEZpcnN0TmV3TW9uaXRvcmluZ0l0ZW1JbmZvID0gbVN1YnNjcmlwdGlvbkluZm8tPm1Nb25pdG9yZWRJdGVtcy5iYWNrKCk7CisgICAgICB9CisgICAgICBpdGVtc0FkZGVkVG9MaXN0Kys7CisgICAgfQorCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm86OkNOb2RlUGFpckluZm8qPjo6SXRlcmF0b3IgaXROb2RlUGFpckluZm8gPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsKKyAgICBzaXplX3QgaXRlbXNBZGRlZFRvTGlicmFyeSA9IDA7CisKKyAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Nb25pdG9yaW5nSXRlbUluZm8+OjpJdGVyYXRvciBpdEFkZGVkTW9uaXRvcmluZ0l0ZW1JbmZvID0gaXRGaXJzdE5ld01vbml0b3JpbmdJdGVtSW5mbzsKKworICAgIGZvcihpdGVtc0FkZGVkVG9MaWJyYXJ5ID0gMDsgaXRlbXNBZGRlZFRvTGlicmFyeSA8IGl0ZW1zQWRkZWRUb0xpc3Q7ICsraXRBZGRlZE1vbml0b3JpbmdJdGVtSW5mbywgKytpdE5vZGVQYWlySW5mbykgeworICAgICAgaWYoIWFkZE1vbml0b3JpbmdJdGVtKCppdEFkZGVkTW9uaXRvcmluZ0l0ZW1JbmZvLCAqKCppdE5vZGVQYWlySW5mbyktPm1Ob2RlSWQpKSB7CisgICAgICAgIHNvbWV0aGluZ0ZhaWxlZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgaXRlbXNBZGRlZFRvTGlicmFyeSsrOworICAgIH0KKworICAgIGlmKCFzb21ldGhpbmdGYWlsZWQpIHsKKyAgICAgIGFkZEFzeW5jQ2FsbCgpOworICAgIH0gZWxzZSB7IC8vaWYgc29tZXRoaW5nIGZhaWxlZCwgcmVtb3ZlIGFkZGVkIG1vbml0b3JpbmcgaXRlbXMgYW5kIGZhaWwgdGhlIHdob2xlIGFjdGlvbgorCisgICAgICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgaXRlbXNBZGRlZFRvTGlzdDsgaSsrKSB7CisgICAgICAgIGlmKGkgPCBpdGVtc0FkZGVkVG9MaWJyYXJ5KSB7IC8vcmVtb3ZlIGl0ZW1zIGZyb20gdGhlIGxpYnJhcnkKKyAgICAgICAgICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX0NsaWVudF9Nb25pdG9yZWRJdGVtc19kZWxldGVTaW5nbGUobUNsaWVudCwgbVN1YnNjcmlwdGlvbkluZm8tPm1TdWJzY3JpcHRpb25JZCwKKyAgICAgICAgICAgICgqaXRGaXJzdE5ld01vbml0b3JpbmdJdGVtSW5mbykubU1vbml0b3JpbmdJdGVtSWQpOworICAgICAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCAhPSByZXRWYWwpIHsKKyAgICAgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBDb3VsZG4ndCBkZWxldGUgcmVjZW50bHkgYWRkZWQgbW9uaXRvcmVkIGl0ZW0gJXUuIEVycm9yOiAlc1xuIiwgKCppdEZpcnN0TmV3TW9uaXRvcmluZ0l0ZW1JbmZvKS5tTW9uaXRvcmluZ0l0ZW1JZCwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpdEFkZGVkTW9uaXRvcmluZ0l0ZW1JbmZvID0gaXRGaXJzdE5ld01vbml0b3JpbmdJdGVtSW5mbzsKKyAgICAgICAgKytpdEZpcnN0TmV3TW9uaXRvcmluZ0l0ZW1JbmZvOworICAgICAgICBtU3Vic2NyaXB0aW9uSW5mby0+bU1vbml0b3JlZEl0ZW1zLmVyYXNlKCppdEFkZGVkTW9uaXRvcmluZ0l0ZW1JbmZvKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgcmV0dXJuICFzb21ldGhpbmdGYWlsZWQ7Cit9CisKK2Jvb2wgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjphbGxvY0FuZENyZWF0ZVN1YnNjcmlwdGlvbigpIHsKKyAgYm9vbCBzb21ldGhpbmdGYWlsZWQgPSBmYWxzZTsKKyAgaWYoIW1TdWJzY3JpcHRpb25JbmZvKSB7CisgICAgbVN1YnNjcmlwdGlvbkluZm8gPSBuZXcgVUFfc3Vic2NyaXB0aW9uSW5mbygpOworICAgIGlmKCFjcmVhdGVTdWJzY3JpcHRpb24oKSkgeworICAgICAgZGVsZXRlIG1TdWJzY3JpcHRpb25JbmZvOworICAgICAgbVN1YnNjcmlwdGlvbkluZm8gPSAwOworICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuICFzb21ldGhpbmdGYWlsZWQ7Cit9CisKK2Jvb2wgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjpjcmVhdGVTdWJzY3JpcHRpb24oKSB7CisgIFVBX0NyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3QgcmVxdWVzdCA9IFVBX0NyZWF0ZVN1YnNjcmlwdGlvblJlcXVlc3RfZGVmYXVsdCgpOworICByZXF1ZXN0LnJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCA9IEZPUlRFX0NPTV9PUENfVUFfQ0xJRU5UX1BVQl9JTlRFUlZBTDsKKyAgVUFfQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UgcmVzcG9uc2UgPSBVQV9DbGllbnRfU3Vic2NyaXB0aW9uc19jcmVhdGUobUNsaWVudCwgcmVxdWVzdCwgdGhpcywgMCwgQ1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zOjpkZWxldGVTdWJzY3JpcHRpb25DYWxsYmFjayk7CisgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXNwb25zZS5yZXNwb25zZUhlYWRlci5zZXJ2aWNlUmVzdWx0KSB7CisgICAgREVWTE9HX0lORk8oIltPUEMgVUEgQ0xJRU5UXTogQ3JlYXRlIHN1YnNjcmlwdGlvbiB0byAlcyBzdWNjZWVkZWQsIGlkICV1XG4iLCBtRW5kcG9pbnRVcmwuZ2V0VmFsdWUoKSwgcmVzcG9uc2Uuc3Vic2NyaXB0aW9uSWQpOworICAgIG1TdWJzY3JpcHRpb25JbmZvLT5tU3Vic2NyaXB0aW9uSWQgPSByZXNwb25zZS5zdWJzY3JpcHRpb25JZDsKKyAgICByZXR1cm4gdHJ1ZTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQ0xJRU5UXTogQ3JlYXRlIHN1YnNjcmlwdGlvbiB0byAlcyBmYWlsZWQuIEVycm9yOiAlc1xuIiwgbUVuZHBvaW50VXJsLmdldFZhbHVlKCksIFVBX1N0YXR1c0NvZGVfbmFtZShyZXNwb25zZS5yZXNwb25zZUhlYWRlci5zZXJ2aWNlUmVzdWx0KSk7CisgIH0KKworICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjphZGRNb25pdG9yaW5nSXRlbShVQV9Nb25pdG9yaW5nSXRlbUluZm8mIHBhTW9uaXRvcmluZ0luZm8sIFVBX05vZGVJZCYgcGFOb2RlSWQpIHsKKworICBVQV9Nb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCBtb25SZXF1ZXN0ID0gVUFfTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3RfZGVmYXVsdChwYU5vZGVJZCk7CisgIFVBX01vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQgbW9uUmVzcG9uc2UgPSBVQV9DbGllbnRfTW9uaXRvcmVkSXRlbXNfY3JlYXRlRGF0YUNoYW5nZShtQ2xpZW50LCBtU3Vic2NyaXB0aW9uSW5mby0+bVN1YnNjcmlwdGlvbklkLCBVQV9USU1FU1RBTVBTVE9SRVRVUk5fQk9USCwKKyAgICBtb25SZXF1ZXN0LCBzdGF0aWNfY2FzdDx2b2lkICo+KCZwYU1vbml0b3JpbmdJbmZvLm1WYXJpYWJsZUluZm8pLCBDVUFfUmVtb3RlQ2FsbGJhY2tGdW5jdGlvbnM6OnN1YnNjcmlwdGlvblZhbHVlQ2hhbmdlZENhbGxiYWNrLCAwKTsKKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IG1vblJlc3BvbnNlLnN0YXR1c0NvZGUpIHsKKyAgICBERVZMT0dfSU5GTygiW09QQyBVQSBDTElFTlRdOiBNb25pdG9yaW5nIG9mIEZCICVzIGF0IGluZGV4ICV1IHN1Y2NlZWRlZC4gVGhlIG1vbml0b3JpbmcgaXRlbSBpZCBpcyAldVxuIiwKKyAgICAgIHBhTW9uaXRvcmluZ0luZm8ubVZhcmlhYmxlSW5mby5tQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgcGFNb25pdG9yaW5nSW5mby5tVmFyaWFibGVJbmZvLm1Qb3J0SW5kZXgsCisgICAgICBtb25SZXNwb25zZS5tb25pdG9yZWRJdGVtSWQpOworICAgIHBhTW9uaXRvcmluZ0luZm8ubU1vbml0b3JpbmdJdGVtSWQgPSBtb25SZXNwb25zZS5tb25pdG9yZWRJdGVtSWQ7CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IE1vbml0b3Jpbmcgb2YgRkIgJXMgYXQgaW5kZXggJXUgZmFpbGVkLiBFcnJvcjogJXNcbiIsCisgICAgICBwYU1vbml0b3JpbmdJbmZvLm1WYXJpYWJsZUluZm8ubUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIHBhTW9uaXRvcmluZ0luZm8ubVZhcmlhYmxlSW5mby5tUG9ydEluZGV4LAorICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKG1vblJlc3BvbnNlLnN0YXR1c0NvZGUpKTsKKyAgfQorCisgIHJldHVybiAoVUFfU1RBVFVTQ09ERV9HT09EID09IG1vblJlc3BvbnNlLnN0YXR1c0NvZGUpOworfQorCit2b2lkIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6YWRkQXN5bmNDYWxsKCkgeworICBtTWlzc2luZ0FzeW5jQ2FsbHMrKzsKK30KKwordm9pZCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OnJlbW92ZUFzeW5jQ2FsbCgpIHsKKyAgbU1pc3NpbmdBc3luY0NhbGxzLS07Cit9CisKK3ZvaWQgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjp1bmluaXRpYWxpemVBY3Rpb24oQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbykgeworICBtQWN0aW9uc1RvQmVJbml0aWFsaXplZC5lcmFzZSgmcGFBY3Rpb25JbmZvKTsgLy9yZW1vdmUgaW4gY2FzZSBpdCBpcyBzdGlsbCBub3QgaW5pdGlhbGl6ZWQKKyAgaWYoQ0FjdGlvbkluZm86OmVTdWJzY3JpYmUgPT0gcGFBY3Rpb25JbmZvLmdldEFjdGlvbigpKSB7IC8vb25seSBzdWJzY3JpcHRpb24gaGFzIHNvbWV0aGluZyB0byByZWxlYXNlCisgICAgdW5pbml0aWFsaXplU3Vic2NyaXB0aW9uKHBhQWN0aW9uSW5mbyk7CisgIH0KK30KKwordm9pZCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OnVuaW5pdGlhbGl6ZVN1YnNjcmlwdGlvbihDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKSB7CisgIGlmKG1TdWJzY3JpcHRpb25JbmZvKSB7CisgICAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTW9uaXRvcmluZ0l0ZW1JbmZvPiB0b0RlbGV0ZTsKKyAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8VUFfTW9uaXRvcmluZ0l0ZW1JbmZvPjo6SXRlcmF0b3IgaXRNb25pdG9yaW5nSXRlbUluZm8gPSBtU3Vic2NyaXB0aW9uSW5mby0+bU1vbml0b3JlZEl0ZW1zLmJlZ2luKCk7CisgICAgICAgIGl0TW9uaXRvcmluZ0l0ZW1JbmZvICE9IG1TdWJzY3JpcHRpb25JbmZvLT5tTW9uaXRvcmVkSXRlbXMuZW5kKCk7ICsraXRNb25pdG9yaW5nSXRlbUluZm8pIHsKKyAgICAgIGlmKCYoKml0TW9uaXRvcmluZ0l0ZW1JbmZvKS5tVmFyaWFibGVJbmZvLm1BY3Rpb25JbmZvID09ICZwYUFjdGlvbkluZm8pIHsKKyAgICAgICAgdG9EZWxldGUucHVzaEJhY2soKml0TW9uaXRvcmluZ0l0ZW1JbmZvKTsKKyAgICAgIH0KKyAgICB9CisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PFVBX01vbml0b3JpbmdJdGVtSW5mbz46Okl0ZXJhdG9yIGl0TW9uaXRvcmluZ0l0ZW1JbmZvID0gdG9EZWxldGUuYmVnaW4oKTsgaXRNb25pdG9yaW5nSXRlbUluZm8gIT0gdG9EZWxldGUuZW5kKCk7CisgICAgICAgICsraXRNb25pdG9yaW5nSXRlbUluZm8pIHsKKyAgICAgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfQ2xpZW50X01vbml0b3JlZEl0ZW1zX2RlbGV0ZVNpbmdsZShtQ2xpZW50LCBtU3Vic2NyaXB0aW9uSW5mby0+bVN1YnNjcmlwdGlvbklkLCAoKml0TW9uaXRvcmluZ0l0ZW1JbmZvKS5tTW9uaXRvcmluZ0l0ZW1JZCk7CisgICAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKSB7CisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBDb3VsZG4ndCBkZWxldGUgbW9uaXRvcmVkIGl0ZW0gJXUuIE5vIGZ1cnRoZXIgYWN0aW9ucyB3aWxsIGJlIHRha2VuLiBFcnJvcjogJXNcbiIsCisgICAgICAgICAgKCppdE1vbml0b3JpbmdJdGVtSW5mbykubU1vbml0b3JpbmdJdGVtSWQsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKKyAgICAgIH0KKworICAgICAgbVN1YnNjcmlwdGlvbkluZm8tPm1Nb25pdG9yZWRJdGVtcy5lcmFzZSgqaXRNb25pdG9yaW5nSXRlbUluZm8pOworICAgIH0KKworICAgIGlmKG1TdWJzY3JpcHRpb25JbmZvLT5tTW9uaXRvcmVkSXRlbXMuaXNFbXB0eSgpKSB7CisgICAgICByZXNldFN1YnNjcmlwdGlvbih0cnVlKTsKKyAgICB9CisgIH0KK30KKwordm9pZCBDVUFfQ2xpZW50SW5mb3JtYXRpb246OnJlc2V0U3Vic2NyaXB0aW9uKGJvb2wgcGFEZWxldGVTdWJzY3JpcHRpb24pIHsKKyAgaWYobVN1YnNjcmlwdGlvbkluZm8pIHsKKyAgICByZW1vdmVBc3luY0NhbGwoKTsKKyAgICBpZihwYURlbGV0ZVN1YnNjcmlwdGlvbikgeworICAgICAgVUFfU3RhdHVzQ29kZSByZXR2YWwgPSBVQV9DbGllbnRfU3Vic2NyaXB0aW9uc19kZWxldGVTaW5nbGUobUNsaWVudCwgbVN1YnNjcmlwdGlvbkluZm8tPm1TdWJzY3JpcHRpb25JZCk7CisgICAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0dmFsKSB7CisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBDb3VsZG4ndCBkZWxldGUgc3Vic2NyaXB0aW9uICV1LiBGYWlsZWQgd2l0aCBlcnJvciAlcy4gTm8gZnVydGhlciBhY3Rpb25zIHdpbGwgYmUgdGFrZW5cbiIsCisgICAgICAgICAgbVN1YnNjcmlwdGlvbkluZm8tPm1TdWJzY3JpcHRpb25JZCwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldHZhbCkpOworICAgICAgfQorICAgIH0KKworICAgIGRlbGV0ZSBtU3Vic2NyaXB0aW9uSW5mbzsKKyAgICBtU3Vic2NyaXB0aW9uSW5mbyA9IDA7CisgIH0KK30KKworLy8gKioqKioqKioqKioqKioqKioqKiogQ0FMTEJBQ0tTICoqKioqKioqKioqKioqKioqKioqKioqKioKKworI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorLy9ub3QgdXNlZAorI2Vsc2UKK3ZvaWQgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjpDVUFfUmVtb3RlQ2FsbGJhY2tGdW5jdGlvbnM6OmFueUFzeW5jQ2FsbGJhY2soVUFfQ2xpZW50ICpwYUNsaWVudCwgdm9pZCAqcGFVc2VyZGF0YSwgVUFfVUludDMyIHBhUmVxdWVzdElkLCB2b2lkICpwYVJlc3BvbnNlLCAvL05PU09OQVIKKyAgICBjb25zdCBVQV9EYXRhVHlwZSAqcGFSZXNwb25zZVR5cGUpIHsKKyAgaWYoJlVBX1RZUEVTW1VBX1RZUEVTX1JFQURSRVNQT05TRV0gPT0gcGFSZXNwb25zZVR5cGUpIHsKKyAgICByZWFkQXN5bmNDYWxsYmFjayhwYUNsaWVudCwgcGFVc2VyZGF0YSwgcGFSZXF1ZXN0SWQsIHN0YXRpY19jYXN0PFVBX1JlYWRSZXNwb25zZSo+KHBhUmVzcG9uc2UpKTsKKyAgfSBlbHNlIGlmKCZVQV9UWVBFU1tVQV9UWVBFU19XUklURVJFU1BPTlNFXSA9PSBwYVJlc3BvbnNlVHlwZSkgeworICAgIHdyaXRlQXN5bmNDYWxsYmFjayhwYUNsaWVudCwgcGFVc2VyZGF0YSwgcGFSZXF1ZXN0SWQsIHN0YXRpY19jYXN0PFVBX1dyaXRlUmVzcG9uc2UqPihwYVJlc3BvbnNlKSk7CisgIH0gZWxzZSBpZigmVUFfVFlQRVNbVUFfVFlQRVNfQ0FMTFJFU1BPTlNFXSA9PSBwYVJlc3BvbnNlVHlwZSkgeworICAgIGNhbGxNZXRob2RBc3luY0NhbGxiYWNrKHBhQ2xpZW50LCBwYVVzZXJkYXRhLCBwYVJlcXVlc3RJZCwgc3RhdGljX2Nhc3Q8VUFfQ2FsbFJlc3BvbnNlKj4ocGFSZXNwb25zZSkpOworICB9IGVsc2UgeworICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBDbGllbnQgaGFzIGEgcmV0dXJuIGNhbGwgZnJvbSBhbiB1bmtub3duIHR5cGUgJXNcbiIsIHBhUmVzcG9uc2VUeXBlLT50eXBlTmFtZSk7CisgIH0KK30KKyNlbmRpZgorCit2b2lkIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6Q1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zOjpyZWFkQXN5bmNDYWxsYmFjayhVQV9DbGllbnQgKiwgdm9pZCAqcGFVc2VyZGF0YSwgVUFfVUludDMyLCBVQV9SZWFkUmVzcG9uc2UgKnBhUmVzcG9uc2UpIHsgLy9OT1NPTkFSCisgIFVBX1JlbW90ZUNhbGxIYW5kbGUgKnJlbW90ZUNhbGxIYW5kbGUgPSBzdGF0aWNfY2FzdDxVQV9SZW1vdGVDYWxsSGFuZGxlKj4ocGFVc2VyZGF0YSk7CisgIHJlbW90ZUNhbGxIYW5kbGUtPm1DbGllbnRJbmZvcm1hdGlvbi5yZW1vdmVBc3luY0NhbGwoKTsKKworICBDT1BDX1VBX0hlbHBlcjo6VUFfUmVjdlZhcmlhYmxlX2hhbmRsZSB2YXJIYW5kbGUocGFSZXNwb25zZS0+cmVzdWx0c1NpemUpOworICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcGFSZXNwb25zZS0+cmVzcG9uc2VIZWFkZXIuc2VydmljZVJlc3VsdCkgeworICAgIGlmKHBhUmVzcG9uc2UtPnJlc3VsdHNTaXplID09IHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldE5vT2ZOb2RlUGFpcnMoKSkgeworICAgICAgLy9jaGVjayBpZiBhbGwgcmVzdWx0cyBhcmUgT0sgZmlyc3QKKyAgICAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBwYVJlc3BvbnNlLT5yZXN1bHRzU2l6ZTsgaSsrKSB7CisgICAgICAgIGlmKHBhUmVzcG9uc2UtPnJlc3VsdHNbaV0uaGFzU3RhdHVzICYmIFVBX1NUQVRVU0NPREVfR09PRCAhPSBwYVJlc3BvbnNlLT5yZXN1bHRzW2ldLnN0YXR1cykgeworICAgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBSZWFkaW5nIGZvciBGQiAlcyBpbiBjbGllbnQgJXMgZmFpbGVkIGJlY2F1c2UgdGhlIHJlc3BvbnNlIGZvciBpbmRleCAldSBoYXMgc3RhdHVzICVzXG4iLAorICAgICAgICAgICAgcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldEVuZHBvaW50KCkuZ2V0VmFsdWUoKSwgaSwKKyAgICAgICAgICAgIFVBX1N0YXR1c0NvZGVfbmFtZShwYVJlc3BvbnNlLT5yZXN1bHRzW2ldLnN0YXR1cykpOworICAgICAgICAgIHZhckhhbmRsZS5tRmFpbGVkID0gdHJ1ZTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBpZighdmFySGFuZGxlLm1GYWlsZWQpIHsKKyAgICAgICAgc2l6ZV90IGluZGV4T2ZQYWlyID0gMDsKKyAgICAgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvKj46Okl0ZXJhdG9yIGl0Tm9kZVBhaXJzID0gcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsKKyAgICAgICAgICAgIGl0Tm9kZVBhaXJzICE9IHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldE5vZGVQYWlySW5mbygpLmVuZCgpOyArK2l0Tm9kZVBhaXJzLCBpbmRleE9mUGFpcisrKSB7CisgICAgICAgICAgdmFySGFuZGxlLm1EYXRhW2luZGV4T2ZQYWlyXSA9ICZwYVJlc3BvbnNlLT5yZXN1bHRzW2luZGV4T2ZQYWlyXS52YWx1ZTsKKyAgICAgICAgfQorICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgQ0xJRU5UXTogUmVhZGluZyBmb3IgRkIgJXMgaW4gY2xpZW50ICVzIGZhaWxlZCBiZWNhdXNlIHRoZSByZXNwb25zZSBzaXplIGlzICV1IGJ1dCB0aGUgRkIgaGFzICV1IHZhbHVlcyB0byByZWFkXG4iLAorICAgICAgICByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0RW5kcG9pbnQoKS5nZXRWYWx1ZSgpLAorICAgICAgICBwYVJlc3BvbnNlLT5yZXN1bHRzU2l6ZSwgcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0Tm9PZk5vZGVQYWlycygpKTsKKyAgICAgIHZhckhhbmRsZS5tRmFpbGVkID0gdHJ1ZTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IFJlYWRpbmcgZm9yIEZCICVzIGluIGNsaWVudCAlcyBmYWlsZWQuIEVycm9yOiAlc1xuIiwKKyAgICAgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRFbmRwb2ludCgpLmdldFZhbHVlKCksCisgICAgICBVQV9TdGF0dXNDb2RlX25hbWUocGFSZXNwb25zZS0+cmVzcG9uc2VIZWFkZXIuc2VydmljZVJlc3VsdCkpOworICAgIHZhckhhbmRsZS5tRmFpbGVkID0gdHJ1ZTsKKyAgfQorCisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkucmVjdkRhdGEoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCAqPigmdmFySGFuZGxlKSwgMCk7CisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmludGVycnVwdENvbW1GQigmcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKSk7CisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkudHJpZ2dlck5ld0V2ZW50KCk7CisgIGRlbGV0ZSByZW1vdGVDYWxsSGFuZGxlOworfQorCit2b2lkIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6Q1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zOjp3cml0ZUFzeW5jQ2FsbGJhY2soVUFfQ2xpZW50ICosIHZvaWQgKnBhVXNlcmRhdGEsIFVBX1VJbnQzMiwgVUFfV3JpdGVSZXNwb25zZSAqcGFSZXNwb25zZSkgeyAvL05PU09OQVIKKyAgVUFfUmVtb3RlQ2FsbEhhbmRsZSAqcmVtb3RlQ2FsbEhhbmRsZSA9IHN0YXRpY19jYXN0PFVBX1JlbW90ZUNhbGxIYW5kbGUqPihwYVVzZXJkYXRhKTsKKyAgcmVtb3RlQ2FsbEhhbmRsZS0+bUNsaWVudEluZm9ybWF0aW9uLnJlbW92ZUFzeW5jQ2FsbCgpOworICBDT1BDX1VBX0hlbHBlcjo6VUFfUmVjdlZhcmlhYmxlX2hhbmRsZSB2YXJIYW5kbGUoMCk7CisgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSBwYVJlc3BvbnNlLT5yZXNwb25zZUhlYWRlci5zZXJ2aWNlUmVzdWx0KSB7CisgICAgaWYocGFSZXNwb25zZS0+cmVzdWx0c1NpemUgPT0gcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0Tm9PZk5vZGVQYWlycygpKSB7CisgICAgICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgcGFSZXNwb25zZS0+cmVzdWx0c1NpemU7IGkrKykgeworICAgICAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcGFSZXNwb25zZS0+cmVzdWx0c1tpXSkgeworICAgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBXcml0aW5nIGZvciBGQiAlcyBpbiBjbGllbnQgJXMgZmFpbGVkIGJlY2F1c2UgdGhlIHJlc3BvbnNlIGZvciBpbmRleCAldSBoYXMgc3RhdHVzICVzXG4iLAorICAgICAgICAgICAgcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldEVuZHBvaW50KCkuZ2V0VmFsdWUoKSwgaSwKKyAgICAgICAgICAgIFVBX1N0YXR1c0NvZGVfbmFtZShwYVJlc3BvbnNlLT5yZXN1bHRzW2ldKSk7CisgICAgICAgICAgdmFySGFuZGxlLm1GYWlsZWQgPSB0cnVlOworICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBXcml0aW5nIGZvciBGQiAlcyBpbiBjbGllbnQgJXMgZmFpbGVkIGJlY2F1c2UgdGhlIHJlc3BvbnNlIHNpemUgaXMgJXUgYnV0IHRoZSBGQiBoYXMgJXUgdmFsdWVzIHRvIHdyaXRlXG4iLAorICAgICAgICByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0RW5kcG9pbnQoKS5nZXRWYWx1ZSgpLAorICAgICAgICBwYVJlc3BvbnNlLT5yZXN1bHRzU2l6ZSwgcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0Tm9PZk5vZGVQYWlycygpKTsKKyAgICAgIHZhckhhbmRsZS5tRmFpbGVkID0gdHJ1ZTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IFdyaXRpbmcgZm9yIEZCICVzIGluIGNsaWVudCAlcyBmYWlsZWQuIEVycm9yOiAlc1xuIiwKKyAgICAgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRFbmRwb2ludCgpLmdldFZhbHVlKCksCisgICAgICBVQV9TdGF0dXNDb2RlX25hbWUocGFSZXNwb25zZS0+cmVzcG9uc2VIZWFkZXIuc2VydmljZVJlc3VsdCkpOworICAgIHZhckhhbmRsZS5tRmFpbGVkID0gdHJ1ZTsKKyAgfQorCisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkucmVjdkRhdGEoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCAqPigmdmFySGFuZGxlKSwgMCk7CisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmludGVycnVwdENvbW1GQigmcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKSk7CisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkudHJpZ2dlck5ld0V2ZW50KCk7CisKKyAgZGVsZXRlIHJlbW90ZUNhbGxIYW5kbGU7Cit9CisKK3ZvaWQgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjpDVUFfUmVtb3RlQ2FsbGJhY2tGdW5jdGlvbnM6OmNhbGxNZXRob2RBc3luY0NhbGxiYWNrKFVBX0NsaWVudCAqLCB2b2lkICpwYVVzZXJkYXRhLCBVQV9VSW50MzIsCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNICisgICAgdm9pZCAqcGFSZXNwb25zZV8pIHsKKyAgICAgIFVBX0NhbGxSZXNwb25zZSAqcGFSZXNwb25zZSA9IHN0YXRpY19jYXN0PFVBX0NhbGxSZXNwb25zZSo+KHBhUmVzcG9uc2VfKTsKKyNlbHNlCisgICAgVUFfQ2FsbFJlc3BvbnNlICpwYVJlc3BvbnNlKSB7CisjZW5kaWYKKworICBib29sIHNvbWV0aGluZ0ZhaWxlZCA9IGZhbHNlOworCisgIFVBX1JlbW90ZUNhbGxIYW5kbGUgKnJlbW90ZUNhbGxIYW5kbGUgPSBzdGF0aWNfY2FzdDxVQV9SZW1vdGVDYWxsSGFuZGxlKj4ocGFVc2VyZGF0YSk7CisgIHJlbW90ZUNhbGxIYW5kbGUtPm1DbGllbnRJbmZvcm1hdGlvbi5yZW1vdmVBc3luY0NhbGwoKTsKKworICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcGFSZXNwb25zZS0+cmVzcG9uc2VIZWFkZXIuc2VydmljZVJlc3VsdCkgeworICAgIGlmKDEgPT0gcGFSZXNwb25zZS0+cmVzdWx0c1NpemUpIHsKKyAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSBwYVJlc3BvbnNlLT5yZXN1bHRzWzBdLnN0YXR1c0NvZGUpIHsKKworICAgICAgICBpZihyZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXROdW1SRCgpICE9IHBhUmVzcG9uc2UtPnJlc3VsdHNbMF0ub3V0cHV0QXJndW1lbnRzU2l6ZSkgeworICAgICAgICAgIERFVkxPR19FUlJPUigKKyAgICAgICAgICAgICJbT1BDIFVBIENMSUVOVF06IENhbGxpbmcgZm9yIEZCICVzIGluIGNsaWVudCAlcyBmYWlsZWQgYmVjYXVzZSB0aGUgbnVtYmVyIG9mIFJEIGNvbm5lY3RvcnMgb2YgdGhlIGNsaWVudCAldSBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIHJldHVybmVkIHZhbHVlcyAldSBmcm9tIHRoZSBtZXRob2QgY2FsbFxuIiwKKyAgICAgICAgICAgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRFbmRwb2ludCgpLmdldFZhbHVlKCksCisgICAgICAgICAgICByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXROdW1SRCgpLCBwYVJlc3BvbnNlLT5yZXN1bHRzLT5vdXRwdXRBcmd1bWVudHNTaXplKTsKKyAgICAgICAgICBzb21ldGhpbmdGYWlsZWQgPSB0cnVlOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBwYVJlc3BvbnNlLT5yZXN1bHRzLT5pbnB1dEFyZ3VtZW50UmVzdWx0c1NpemU7IGkrKykgeworICAgICAgICAgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EICE9IHBhUmVzcG9uc2UtPnJlc3VsdHMtPmlucHV0QXJndW1lbnRSZXN1bHRzW2ldKSB7CisgICAgICAgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBDTElFTlRdOiBDYWxsaW5nIGZvciBGQiAlcyBpbiBjbGllbnQgJXMgZmFpbGVkIGJlY2F1c2UgdGhlIGlucHV0IHJlc3BvbnNlIGZvciBpbmRleCAldSBoYXMgc3RhdHVzICVzXG4iLAorICAgICAgICAgICAgICAgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRFbmRwb2ludCgpLmdldFZhbHVlKCksIGksCisgICAgICAgICAgICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKHBhUmVzcG9uc2UtPnJlc3VsdHMtPmlucHV0QXJndW1lbnRSZXN1bHRzW2ldKSk7CisgICAgICAgICAgICAgIHNvbWV0aGluZ0ZhaWxlZCA9IHRydWU7CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgfSBlbHNlIHsKKyAgICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IENhbGxpbmcgZm9yIEZCICVzIGluIGNsaWVudCAlcyBmYWlsZWQgd2l0aCB0aGUgc3BlY2lmaWMgZXJyb3I6ICVzXG4iLAorICAgICAgICAgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRFbmRwb2ludCgpLmdldFZhbHVlKCksCisgICAgICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKHBhUmVzcG9uc2UtPnJlc3VsdHMtPnN0YXR1c0NvZGUpKTsKKyAgICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IENhbGxpbmcgZm9yIEZCICVzIGluIGNsaWVudCAlcyBmYWlsZWQgYmVjYXVzZSB0aGUgcmVzcG9uc2Ugc2l6ZSBpcyAldSwgZGlmZmVyZW50IGZyb20gMVxuIiwKKyAgICAgICAgcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldEVuZHBvaW50KCkuZ2V0VmFsdWUoKSwKKyAgICAgICAgcGFSZXNwb25zZS0+cmVzdWx0c1NpemUpOworICAgICAgc29tZXRoaW5nRmFpbGVkID0gdHJ1ZTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IENhbGxpbmcgZm9yIEZCICVzIGluIGNsaWVudCAlcyBmYWlsZWQgd2l0aCB0aGUgbWFpbiBlcnJvcjogJXNcbiIsCisgICAgICByZW1vdGVDYWxsSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0RW5kcG9pbnQoKS5nZXRWYWx1ZSgpLAorICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKHBhUmVzcG9uc2UtPnJlc3BvbnNlSGVhZGVyLnNlcnZpY2VSZXN1bHQpKTsKKyAgICBzb21ldGhpbmdGYWlsZWQgPSB0cnVlOworICB9CisgIHNpemVfdCBvdXRwdXRTaXplID0gMDsKKyAgaWYoIXNvbWV0aGluZ0ZhaWxlZCkgeworICAgIG91dHB1dFNpemUgPSBwYVJlc3BvbnNlLT5yZXN1bHRzLT5vdXRwdXRBcmd1bWVudHNTaXplOworICB9CisgIC8vY2FsbCBsYXllciBldmVuIHdoZW4gaXQgZmFpbGVkLCB0byBsZXQgdGhlIEZCIGtub3cKKyAgQ09QQ19VQV9IZWxwZXI6OlVBX1NlbmRWYXJpYWJsZV9oYW5kbGUgdmFySGFuZGxlKG91dHB1dFNpemUpOworICB2YXJIYW5kbGUubUZhaWxlZCA9IHNvbWV0aGluZ0ZhaWxlZDsKKworICBpZighdmFySGFuZGxlLm1GYWlsZWQpIHsKKyAgICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgb3V0cHV0U2l6ZTsgaSsrKSB7CisgICAgICB2YXJIYW5kbGUubURhdGFbaV0gPSAmcGFSZXNwb25zZS0+cmVzdWx0cy0+b3V0cHV0QXJndW1lbnRzW2ldOworICAgIH0KKyAgfQorCisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkucmVjdkRhdGEoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCAqPigmdmFySGFuZGxlKSwgMCk7CisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmludGVycnVwdENvbW1GQigmcmVtb3RlQ2FsbEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKSk7CisgIHJlbW90ZUNhbGxIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkudHJpZ2dlck5ld0V2ZW50KCk7CisKKyAgZGVsZXRlIHJlbW90ZUNhbGxIYW5kbGU7Cit9CisKK3ZvaWQgQ1VBX0NsaWVudEluZm9ybWF0aW9uOjpDVUFfUmVtb3RlQ2FsbGJhY2tGdW5jdGlvbnM6OnN1YnNjcmlwdGlvblZhbHVlQ2hhbmdlZENhbGxiYWNrKFVBX0NsaWVudCAqLCBVQV9VSW50MzIsIHZvaWQgKiwgVUFfVUludDMyLCB2b2lkICpwYU1vbkNvbnRleHQsIC8vTk9TT05BUgorICAgIFVBX0RhdGFWYWx1ZSAqcGFEYXRhKSB7IC8vTk9TT05BUgorICBpZihwYURhdGEtPmhhc1ZhbHVlKSB7CisKKyAgICBVQV9TdWJzY3JpYmVDb250ZXh0X0hhbmRsZSAqdmFyaWFibGVDb250ZXh0SGFuZGxlID0gc3RhdGljX2Nhc3Q8VUFfU3Vic2NyaWJlQ29udGV4dF9IYW5kbGUgKj4ocGFNb25Db250ZXh0KTsKKworICAgIENPUENfVUFfSGVscGVyOjpVQV9SZWN2VmFyaWFibGVfaGFuZGxlIGhhbmRsZVJlY3YoMSk7CisKKyAgICBjb25zdCBVQV9WYXJpYW50ICp2YWx1ZSA9ICZwYURhdGEtPnZhbHVlOworICAgIGhhbmRsZVJlY3YubURhdGFbMF0gPSB2YWx1ZTsKKyAgICBoYW5kbGVSZWN2Lm1PZmZzZXQgPSB2YXJpYWJsZUNvbnRleHRIYW5kbGUtPm1Qb3J0SW5kZXg7CisKKyAgICBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgcmV0VmFsID0gdmFyaWFibGVDb250ZXh0SGFuZGxlLT5tQWN0aW9uSW5mby5nZXRMYXllcigpLnJlY3ZEYXRhKHN0YXRpY19jYXN0PGNvbnN0IHZvaWQgKj4oJmhhbmRsZVJlY3YpLCAwKTsKKworICAgIGlmKGZvcnRlOjpjb21faW5mcmE6OmVfTm90aGluZyAhPSByZXRWYWwpIHsKKyAgICAgIHZhcmlhYmxlQ29udGV4dEhhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+aW50ZXJydXB0Q29tbUZCKCZ2YXJpYWJsZUNvbnRleHRIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkpOworICAgICAgdmFyaWFibGVDb250ZXh0SGFuZGxlLT5tQWN0aW9uSW5mby5nZXRMYXllcigpLnRyaWdnZXJOZXdFdmVudCgpOworICAgIH0KKyAgfQorfQorCit2b2lkIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6Q1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zOjpkZWxldGVTdWJzY3JpcHRpb25DYWxsYmFjayhVQV9DbGllbnQgKiwgVUFfVUludDMyIHBhU3Vic2NyaXB0aW9uSWQsIHZvaWQgKnBhU3Vic2NyaXB0aW9uQ29udGV4dCkgeyAvL05PU09OQVIKKyAgREVWTE9HX0lORk8oIltPUEMgVUEgQ0xJRU5UXTogU3Vic2NyaXB0aW9uIElkICV1IHdhcyBkZWxldGVkIGluIGNsaWVudCB3aXRoIGVuZHBvaW50ICVzXG4iLCBwYVN1YnNjcmlwdGlvbklkLAorICAgIHN0YXRpY19jYXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbio+KHBhU3Vic2NyaXB0aW9uQ29udGV4dCktPm1FbmRwb2ludFVybC5nZXRWYWx1ZSgpKTsKKyAgc3RhdGljX2Nhc3Q8Q1VBX0NsaWVudEluZm9ybWF0aW9uKj4ocGFTdWJzY3JpcHRpb25Db250ZXh0KS0+cmVzZXRTdWJzY3JpcHRpb24oZmFsc2UpOworfQorCit2b2lkIENVQV9DbGllbnRJbmZvcm1hdGlvbjo6Q1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zOjpjbGllbnRTdGF0ZUNoYW5nZUNhbGxiYWNrKFVBX0NsaWVudCAqLCBVQV9DbGllbnRTdGF0ZSBwYUNsaWVudFN0YXRlKSB7CisgIC8vRG9uJ3QgZG8gYW55dGhpbmcgaGVyZS4gSWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBkZWxldGVkLCBkZWxldGVTdWJzY3JpcHRpb25DYWxsYmFjayB3aWxsIGJlIGNhbGxlZCBhbmQgaGFuZGxlZCB0aGVyZQorICBzd2l0Y2gocGFDbGllbnRTdGF0ZSl7CisgICAgY2FzZSBVQV9DTElFTlRTVEFURV9ESVNDT05ORUNURUQ6CisgICAgICBERVZMT0dfSU5GTygiW09QQyBVQSBDTElFTlRdOiBUaGUgY2xpZW50IGlzIGRpc2Nvbm5lY3RlZFxuIik7CisgICAgICBicmVhazsKKyAgICBjYXNlIFVBX0NMSUVOVFNUQVRFX0NPTk5FQ1RFRDoKKyAgICAgIERFVkxPR19JTkZPKCJbT1BDIFVBIENMSUVOVF06IEEgVENQIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBpcyBvcGVuXG4iKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgVUFfQ0xJRU5UU1RBVEVfU0VDVVJFQ0hBTk5FTDoKKyAgICAgIERFVkxPR19JTkZPKCJbT1BDIFVBIENMSUVOVF06IEEgU2VjdXJlQ2hhbm5lbCB0byB0aGUgc2VydmVyIGlzIG9wZW5cbiIpOworICAgICAgYnJlYWs7CisgICAgY2FzZSBVQV9DTElFTlRTVEFURV9TRVNTSU9OOgorICAgICAgREVWTE9HX0lORk8oIltPUEMgVUEgQ0xJRU5UXTogQSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlciBpcyBvcGVuXG4iKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgVUFfQ0xJRU5UU1RBVEVfU0VTU0lPTl9SRU5FV0VEOgorICAgICAgREVWTE9HX0lORk8oIltPUEMgVUEgQ0xJRU5UXTogQSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlciBpcyBvcGVuIChyZW5ld2VkKVxuIik7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIENMSUVOVF06IFVua25vd24gc3RhdGUgb2YgY2xpZW50ICVkXG4iLCBwYUNsaWVudFN0YXRlKTsKKyAgfQorICByZXR1cm47Cit9CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfY2xpZW50X2luZm9ybWF0aW9uLmggYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfY2xpZW50X2luZm9ybWF0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJlZDNjNQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9jbGllbnRfaW5mb3JtYXRpb24uaApAQCAtMCwwICsxLDQzNSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX01PRFVMRVNfT1BDX1VBX09QQ1VBX0NMSUVOVF9JTkZPUk1BVElPTl9IXworI2RlZmluZSBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFfQ0xJRU5UX0lORk9STUFUSU9OX0hfCisKKyNpbmNsdWRlICJvcGN1YV9hY3Rpb25faW5mby5oIgorI2luY2x1ZGUgPGZvcnRlbGlzdC5oPgorI2luY2x1ZGUgPGZvcnRlX3N5bmMuaD4KKyNpbmNsdWRlIDxjcml0aWNhbHJlZ2lvbi5oPgorCisvKioKKyAqIENvbnRhaW5zIGFsbCB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIGZvciBhIGNsaWVudCB0byBleGVjdXRlIHJlbW90ZSBjYWxscy4gSXQncyB0aGUgb25seSBjbGFzcyB0aGEgYWNjZXNzCisgKiB0aGUgT1BDIFVBIGxpYnJhcnkgZm9yIHJlbW90ZSBjYWxscworICovCitjbGFzcyBDVUFfQ2xpZW50SW5mb3JtYXRpb24geworICBwdWJsaWM6CisKKyAgICAvKioKKyAgICAgKiBDb25zdHJ1Y3RvciBvZiB0aGUgY2xhc3MKKyAgICAgKiBAcGFyYW0gcGFFbmRwb2ludCBFbmRwb2ludCBvZiB0aGUgcmVtb3RlCisgICAgICovCisgICAgZXhwbGljaXQgQ1VBX0NsaWVudEluZm9ybWF0aW9uKGNvbnN0IENJRUNfU1RSSU5HICZwYUVuZHBvaW50KTsKKworICAgIC8qKgorICAgICAqIERlc3RydWN0b3Igb2YgdGhlIGNsYXNzCisgICAgICovCisgICAgfkNVQV9DbGllbnRJbmZvcm1hdGlvbigpOworCisgICAgLyoqCisgICAgICogSW5pdGlhbGl6ZSB0aGUgY2xpZW50CisgICAgICogQHJldHVybiBUcnVlIGlmIG5vIGVycm9yIG9jY3VycmVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGNvbmZpZ3VyZUNsaWVudCgpOworCisgICAgLyoqCisgICAgICogUmVtb3ZlcyBhbGwgYWxsb2NhdGVkIGluZm9ybWF0aW9uIGFuZCBzZXRzIHRoZSBjbGllbnQgdG8gaXRzIGRlZmF1bHQgc3RhdGUKKyAgICAgKi8KKyAgICB2b2lkIHVuaW5pdGlhbGl6ZUNsaWVudCgpOworCisgICAgLyoqCisgICAgICogVHJ5IHRvIGNvbm5lY3QgdG8gdGhlIHJlbW90ZSBlbmRwb2ludCBhbmQgaW5pdGlhbGl6ZWQgYWxsIGFjdGlvbnMgYXNzaWduZWQKKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgYWxsIGFjdGlvbnMgd2VyZSBpbml0aWFsaXplZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBoYW5kbGVDbGllbnRTdGF0ZSgpOworCisgICAgLyoqCisgICAgICogQ2FsbCB0aGUgT1BDIFVBIEFQSSB0byBleGVjdXRlIGFsbCB0aGUgYXN5bmNyaG9ub3VzIGNhbGxzCisgICAgICogQHJldHVybiBUcnVlIGlmIG5vIGVycm9yIG9jdXJyZWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgZXhlY3V0ZUFzeW5jQ2FsbHMoKTsKKworICAgIC8qKgorICAgICAqIENoZWNrIGlmIHRoZSBjbGllbnQgbmVlZHMgYW5vdGhlciBhc3luYyBjYWxsLiBJZiBhIHN1YnNjcmlwdGlvbiBhY3Rpb24gaXMgcHJlc2VudCwgdGhpcyB3aWxsIHN0YXkgdHJ1ZQorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBhIG5ldyBhc3luYyBjYWxsIGlzIG5lZWRlZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgaW5saW5lIGJvb2wgaXNBc3luY05lZWRlZCgpIHsKKyAgICAgIHJldHVybiAoMCAhPSBtTWlzc2luZ0FzeW5jQ2FsbHMpOworICAgIH0KKworICAgIC8qKgorICAgICAqIENoZWNrIGlmIGFuIGFjdGlvbiBpcyBwcmVzZW50IGluIHRoZSBjbGllbnQKKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgYW4gYWN0aW9uIGlzIHByZXNlbnQgaW4gdGhlIGNsaWVudCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBoYXNBY3Rpb25zKCkgeworICAgICAgcmV0dXJuICFtQWN0aW9uc1JlZmVyZW5jaW5nSXQuaXNFbXB0eSgpOworICAgIH0KKworICAgIC8qKgorICAgICAqIENoZWNrIGlmIGF0IGxlYXN0IG9uZSBhY3Rpb24gd2FzIGluaXRpYWxpemVkIGluIHRoZSBsYXN0IGl0ZXJhdGlvbiBvZiBoYW5kbGVDbGllbnRTdGF0ZSgpCisgICAgICogQHJldHVybiBUcnVlIGlmIGF0IGxlYXN0IG9uZSBhY3Rpb24gd2FzIGluaXRpYWxpemVkIGluIHRoZSBsYXN0IGl0ZXJhdGlvbiBvZiBoYW5kbGVDbGllbnRTdGF0ZSgpLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIHNvbWVBY3Rpb25XYXNJbml0aWFsaXplZCgpIHsKKyAgICAgIHJldHVybiBtU29tZUFjdGlvbldhc0luaXRpYWxpemVkOworICAgIH0KKworICAgIC8qKgorICAgICAqIEdldHRlciBvZiB0aGUgZW5kcG9pbnQKKyAgICAgKiBAcmV0dXJuIEVuZHBvaW50IG9mIHRoZSBjbGluZXQKKyAgICAgKi8KKyAgICBjb25zdCBDSUVDX1NUUklORyYgZ2V0RW5kcG9pbnQoKSB7CisgICAgICByZXR1cm4gbUVuZHBvaW50VXJsOworICAgIH0KKworICAgIC8qKgorICAgICAqIEdldHRlciBvZiB0aGUgbXV0ZXggb2YgdGhlIGNsaWVudAorICAgICAqIEByZXR1cm4gTXV0ZXggb2YgdGhlIGNsaW5ldAorICAgICAqLworICAgIGlubGluZSBDU3luY09iamVjdCYgZ2V0TXV0ZXgoKSB7CisgICAgICByZXR1cm4gbUNsaWVudE11dGV4OworICAgIH0KKworICAgIC8qKgorICAgICAqIFBsYWNlIHRoZSByZXF1ZXN0IHRvIHRoZSBPUEMgVUEgQVBJIGZvciBhbiBhc3luY2hyb25vdXMgcmVhZCBvZiBhIHJlbW90ZSB2YXJpYWJsZQorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIHBlcmZvcm1lZAorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIGlzIG5vIHByb2JsZW0gb2NjdXJyZWQsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIFVBX1N0YXR1c0NvZGUgZXhlY3V0ZVJlYWQoQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBQbGFjZSB0aGUgcmVxdWVzdCB0byB0aGUgT1BDIFVBIEFQSSBmb3IgYW4gYXN5bmNocm9ub3VzIHdyaXRlIG9mIGEgcmVtb3RlIHZhcmlhYmxlCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgcGVyZm9ybWVkCisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0QgaXMgbm8gcHJvYmxlbSBvY2N1cnJlZCwgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSBleGVjdXRlV3JpdGUoQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBQbGFjZSB0aGUgcmVxdWVzdCB0byB0aGUgT1BDIFVBIEFQSSBmb3IgYW4gYXN5bmNocm9ub3VzIG1ldGhvZCBjYWxsIG9mIGEgcmVtb3RlIHZhcmlhYmxlCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgcGVyZm9ybWVkCisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0QgaXMgbm8gcHJvYmxlbSBvY2N1cnJlZCwgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSBleGVjdXRlQ2FsbE1ldGhvZChDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIEFkZCBhbiBhY3Rpb24gdG8gdGhlIGNsaWVudAorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIGFkZGVkCisgICAgICovCisgICAgdm9pZCBhZGRBY3Rpb24oQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBSZW1vdmUgYW4gYWN0aW9uIGZyb20gdGhlIGNsaWVudAorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIHJlbW92ZWQKKyAgICAgKi8KKyAgICB2b2lkIHJlbW92ZUFjdGlvbihDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIENoZWNrIGlmIGFuIGFjdGlvbiB3YXMgYWxyZWFkeSBpbml0aWFsaXplZCBpbiB0aGUgY2xpZW50CisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgY2hlY2tlZAorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgYWN0aW9uIHdhcyBhbHJlYWR5IGluaXRpYWxpemVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGlzQWN0aW9uSW5pdGlhbGl6ZWQoQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBDbGFzcyBjb250YWluaW5nIGFsbCByZW1vdGUgY2FsbGJhY2sgZnVuY3Rpb25zIHRoYXQgYXJlIGNhbGxlZCBieSB0aGUgT1BDIFVBIHN0YWNrCisgICAgICovCisgICAgY2xhc3MgQ1VBX1JlbW90ZUNhbGxiYWNrRnVuY3Rpb25zIHsKKyAgICAgIHB1YmxpYzoKKworI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorICAgICAgICAvL25vdCB1c2VkCisjZWxzZQorICAgICAgICAvKioKKyAgICAgICAgICogQ29tbW9uIGFzeW5jIGNhbGxiYWNrIGluIHRoZSB2MC4zLjAgb2Ygb3BlbjYyNTQxCisgICAgICAgICAqLworICAgICAgICBzdGF0aWMgdm9pZCBhbnlBc3luY0NhbGxiYWNrKFVBX0NsaWVudCAqcGFDbGllbnQsIHZvaWQgKnBhVXNlcmRhdGEsIFVBX1VJbnQzMiBwYVJlcXVlc3RJZCwgdm9pZCAqcGFSZXNwb25zZSwgY29uc3QgVUFfRGF0YVR5cGUgKnBhUmVzcG9uc2VUeXBlKTsKKyNlbmRpZgorICAgICAgICAvKioKKyAgICAgICAgICogQXN5bmMgY2FsbGJhY2sgZm9yIHJlYWQgYWN0aW9uCisgICAgICAgICAqLworICAgICAgICBzdGF0aWMgdm9pZCByZWFkQXN5bmNDYWxsYmFjayhVQV9DbGllbnQgKnBhQ2xpZW50LCB2b2lkICpwYVVzZXJkYXRhLCBVQV9VSW50MzIgcGFSZXF1ZXN0SWQsIFVBX1JlYWRSZXNwb25zZSAqcGFSZXNwb25zZSk7CisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEFzeW5jIGNhbGxiYWNrIGZvciB3cml0ZSBhY3Rpb24KKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyB2b2lkIHdyaXRlQXN5bmNDYWxsYmFjayhVQV9DbGllbnQgKnBhQ2xpZW50LCB2b2lkICpwYVVzZXJkYXRhLCBVQV9VSW50MzIgcGFSZXF1ZXN0SWQsIFVBX1dyaXRlUmVzcG9uc2UgKnBhUmVzcG9uc2UpOworCisgICAgICAgIC8qKgorICAgICAgICAgKiBBc3luYyBjYWxsYmFjayBmb3IgbWV0aG9kIGNhbGwgYWN0aW9uCisgICAgICAgICAqLworICAgICAgICBzdGF0aWMgdm9pZCBjYWxsTWV0aG9kQXN5bmNDYWxsYmFjayhVQV9DbGllbnQgKnBhQ2xpZW50LCB2b2lkICpwYVVzZXJkYXRhLCBVQV9VSW50MzIgcGFSZXF1ZXN0SWQsCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNICisgICAgICAgICAgICB2b2lkICpwYVJlc3BvbnNlKTsKKyNlbHNlCisgICAgICAgIFVBX0NhbGxSZXNwb25zZSAqcGFSZXNwb25zZSk7CisjZW5kaWYKKworICAgICAgICAvKioKKyAgICAgICAgICogQXN5bmMgY2FsbGJhY2sgZm9yIHN1YnNjcmlwdGlvbiBhY3Rpb24KKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyB2b2lkIHN1YnNjcmlwdGlvblZhbHVlQ2hhbmdlZENhbGxiYWNrKFVBX0NsaWVudCAqcGFDbGllbnQsIFVBX1VJbnQzMiBwYVN1YklkLCB2b2lkICpwYVN1YkNvbnRleHQsIFVBX1VJbnQzMiBwYU1vbklkLCB2b2lkICpwYU1vbkNvbnRleHQsCisgICAgICAgICAgICBVQV9EYXRhVmFsdWUgKnBhVmFsdWUpOworCisgICAgICAgIC8qKgorICAgICAgICAgKiBDYWxsYmFjayB3aGVuIHRoZSBzdWJzY3JpcHRpb24gKG9uZSBmb3IgYWxsIG1vbml0b3JlZCBpdGVtcykgaXMgZGVsZXRlZAorICAgICAgICAgKi8KKyAgICAgICAgc3RhdGljIHZvaWQgZGVsZXRlU3Vic2NyaXB0aW9uQ2FsbGJhY2soVUFfQ2xpZW50ICpwYUNsaWVudCwgVUFfVUludDMyIHBhU3Vic2NyaXB0aW9uSWQsIHZvaWQgKnBhU3Vic2NyaXB0aW9uQ29udGV4dCk7CisKKyAgICAgICAgLyoqCisgICAgICAgICAqIEZ1bmN0aW9uIGNhbGxlZCB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgY2xpZW50IGNoYW5nZWQKKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyB2b2lkIGNsaWVudFN0YXRlQ2hhbmdlQ2FsbGJhY2soVUFfQ2xpZW50ICpwYUNsaWVudCwgVUFfQ2xpZW50U3RhdGUgcGFDbGllbnRTdGF0ZSk7CisgICAgfTsKKworICBwcml2YXRlOgorCisgICAgLyoqCisgICAgICogIHRoaXMgaXMgdGhlIHNhbWUgc3RydWN0dXJlIGFzIFVBX1ZhcmlhYmxlQ29udGV4dF9IYW5kbGUgaW4gbG9jYWxoYW5kbGVyLCBidXQgY291bGRuJ3QgZmluZCB3aGVyZSB0byBwdXQgd2l0aG91dCBjb3B5aW5nCisgICAgICogIHNpbmNlIHRoZXJlJ3MgYWx3YXlzIHNvbWUgaW5jbHVkZSBpc3N1ZQorICAgICAqLworICAgIHN0cnVjdCBVQV9TdWJzY3JpYmVDb250ZXh0X0hhbmRsZSB7CisgICAgICAgIFVBX1N1YnNjcmliZUNvbnRleHRfSGFuZGxlKENBY3Rpb25JbmZvJiBwYUFjdGlvbkluZm8sIHNpemVfdCBwYVBvcnRJbmRleCkgOgorICAgICAgICAgICAgbUFjdGlvbkluZm8ocGFBY3Rpb25JbmZvKSwgbVBvcnRJbmRleChwYVBvcnRJbmRleCkgeworICAgICAgICB9CisKKyAgICAgICAgLy9kZWZhdWx0IGNvcHkgY29uc3RydWN0b3Igc2hvdWxkIGJlIGVub3VnaAorCisgICAgICAgIGJvb2wgb3BlcmF0b3I9PShVQV9TdWJzY3JpYmVDb250ZXh0X0hhbmRsZSBjb25zdCYgcGFSaWdodE9iamVjdCkgY29uc3QgeworICAgICAgICAgIHJldHVybiAoJm1BY3Rpb25JbmZvID09ICZwYVJpZ2h0T2JqZWN0Lm1BY3Rpb25JbmZvICYmIG1Qb3J0SW5kZXggPT0gcGFSaWdodE9iamVjdC5tUG9ydEluZGV4KTsKKyAgICAgICAgfQorCisgICAgICAgIENBY3Rpb25JbmZvJiBtQWN0aW9uSW5mbzsKKyAgICAgICAgc2l6ZV90IG1Qb3J0SW5kZXg7CisgICAgfTsKKworICAgIC8qKgorICAgICAqIEVuY2Fwc3VsYXRpb24gb2YgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgYSBtb25pdG9yaW5nIGl0ZW0gKGEgdmFyaWFibGUgc3Vic3JpcHRpb24pCisgICAgICovCisgICAgc3RydWN0IFVBX01vbml0b3JpbmdJdGVtSW5mbyB7CisgICAgICAgIFVBX01vbml0b3JpbmdJdGVtSW5mbyhjb25zdCBVQV9TdWJzY3JpYmVDb250ZXh0X0hhbmRsZSYgcGFWYXJpYWJsZUluZm8sIFVBX1VJbnQzMiBwYU1vbml0b3JpbmdJdGVtSWQgPSAwKSA6CisgICAgICAgICAgICBtVmFyaWFibGVJbmZvKHBhVmFyaWFibGVJbmZvKSwgbU1vbml0b3JpbmdJdGVtSWQocGFNb25pdG9yaW5nSXRlbUlkKSB7CisgICAgICAgIH0KKworICAgICAgICAvL2RlZmF1bHQgY29weSBjb25zdHJ1Y3RvciBzaG91bGQgYmUgZW5vdWdoCisKKyAgICAgICAgYm9vbCBvcGVyYXRvcj09KFVBX01vbml0b3JpbmdJdGVtSW5mbyBjb25zdCYgcGFSaWdodE9iamVjdCkgY29uc3QgeworICAgICAgICAgIHJldHVybiAobVZhcmlhYmxlSW5mbyA9PSBwYVJpZ2h0T2JqZWN0Lm1WYXJpYWJsZUluZm8gJiYgbU1vbml0b3JpbmdJdGVtSWQgPT0gcGFSaWdodE9iamVjdC5tTW9uaXRvcmluZ0l0ZW1JZCk7CisgICAgICAgIH0KKworICAgICAgICBVQV9TdWJzY3JpYmVDb250ZXh0X0hhbmRsZSBtVmFyaWFibGVJbmZvOworICAgICAgICBVQV9VSW50MzIgbU1vbml0b3JpbmdJdGVtSWQ7CisgICAgfTsKKworICAgIC8qKgorICAgICAqIEVuY2Fwc3VsYXRpb24gb2YgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0aGUgc3Vic2NyaXB0aW9uLiBJbiBhIHN1YnNjcmlwdGlvbiB5b3UgY2FuIGhhdmUgbWFueSBtb25pdG9yZWQgaXRlbXMuIFdlIGhhdmUgb25seSBvbmUgc3Vuc2NyaXB0aW9uLAorICAgICAqIGFuZCBwdXQgYWxsIG1vbml0b3JlZCBpdGVtcyBpbiBpdAorICAgICAqLworICAgIHN0cnVjdCBVQV9zdWJzY3JpcHRpb25JbmZvIHsKKyAgICAgICAgVUFfc3Vic2NyaXB0aW9uSW5mbygpIDoKKyAgICAgICAgICAgIG1TdWJzY3JpcHRpb25JZCgwKSB7CisgICAgICAgIH0KKworICAgICAgICBVQV9VSW50MzIgbVN1YnNjcmlwdGlvbklkOworICAgICAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Nb25pdG9yaW5nSXRlbUluZm8+IG1Nb25pdG9yZWRJdGVtczsKKyAgICB9OworCisgICAgLyoqCisgICAgICogRm9yIHJlYWQsIHdyaXRlIGFuZCBjYWxsIG1ldGhvZCwgdGhpcyBlbmNwYXN1bGF0aW9uIGlzIHVzZWQgYXMgYSBjb250ZXh0IHRvIGtub3cgd2hvIGV4ZWN1dGVkIHRoZSBhY3Rpb24KKyAgICAgKi8KKyAgICBjbGFzcyBVQV9SZW1vdGVDYWxsSGFuZGxlIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgVUFfUmVtb3RlQ2FsbEhhbmRsZShDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvLCBDVUFfQ2xpZW50SW5mb3JtYXRpb24mIHBhQ2xpZW50SW5mb3JtYXRpb24pIDoKKyAgICAgICAgICAgIG1BY3Rpb25JbmZvKHBhQWN0aW9uSW5mbyksIG1DbGllbnRJbmZvcm1hdGlvbihwYUNsaWVudEluZm9ybWF0aW9uKSB7CisgICAgICAgIH0KKyAgICAgICAgflVBX1JlbW90ZUNhbGxIYW5kbGUoKSB7CisKKyAgICAgICAgfQorCisgICAgICAgIENBY3Rpb25JbmZvJiBtQWN0aW9uSW5mbzsKKyAgICAgICAgQ1VBX0NsaWVudEluZm9ybWF0aW9uJiBtQ2xpZW50SW5mb3JtYXRpb247CisgICAgICBwcml2YXRlOgorICAgICAgICBVQV9SZW1vdGVDYWxsSGFuZGxlKGNvbnN0IFVBX1JlbW90ZUNhbGxIYW5kbGUgJnBhT2JqKTsKKyAgICAgICAgVUFfUmVtb3RlQ2FsbEhhbmRsZSYgb3BlcmF0b3I9KGNvbnN0IFVBX1JlbW90ZUNhbGxIYW5kbGUmIG90aGVyKTsKKyAgICB9OworCisgICAgLyoqCisgICAgICogVHJ5IHRvIGNvbm5lY3QgdGhlIGNsaWVudAorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgY29ubmVjdGlvbiBzdWNjZWVkZWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgY29ubmVjdENsaWVudCgpOworCisgICAgLyoqCisgICAgICogSW5pdGlhbGl6ZSBhbGwgYWN0aW9ucyBpbiB0aGUgY2xpZW50LgorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBhbGwgYWN0aW9ucyB3ZXJlIGluaXRpYWxpemVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGluaXRpYWxpemVBbGxBY3Rpb25zKCk7CisKKyAgICAvKioKKyAgICAgKiBJbml0aWFsaXplIGFuIGFjdGlvbi4gSXQgbG9va3MgZm9yIHRoZSByZW1vdGUgbm9kZSBhbmQgcHJlcGFyZXMgZm9yIGZ1dHVyZSBjYWxscworICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIGluaXRpYWxpemVkCisgICAgICogQHJldHVybiBUcnVlIGlmIG5vIGVycm9yIG9jY3VycmVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGluaXRpYWxpemVBY3Rpb24oQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBBIG1ldGhvZCBjYWxsIG1ldGhvZCBuZWVkcyBzcGVjaWFsIGNhcmUuIFRoaXMgZnVuY3Rpb24gdGFrZXMgY2FyZSBvZiBpdAorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gTWV0aG9kIGNhbGwgYWN0aW9uIHRvIGJlIGluaXRpYWxpemVkCisgICAgICogQHJldHVybiBUcnVlIGlmIG5vIGVycm9yIG9jY3VycmVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGluaXRpYWxpemVDYWxsTWV0aG9kKENBY3Rpb25JbmZvJiBwYUFjdGlvbkluZm8pOworCisgICAgLyoqCisgICAgICogQSBzdWJzY3JpcHRpb24gbmVlZHMgc3BlY2lhbCBjYXJlLiBUaGlzIGZ1bmN0aW9uIHRha2VzIGNhcmUgb2YgaXQKKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIFN1YnNjcmliZSBhY3Rpb24gdG8gYmUgaW5pdGlhbGl6ZWQKKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgbm8gZXJyb3Igb2NjdXJyZWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgaW5pdGlhbGl6ZVN1YnNjcmlwdGlvbihDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIEFsbG9jYXRlIHRoZSBtZW1vcnkgdG8gc3RvcmUgdGhlIHN1YnNjcmlwdGlvbiBpbmZvcm1hdGlvbiBhbmQgY3JlYXRlIHRoZSBzdWJzY3JpcHRpb24gaW4gdGhlIE9QQyBVQSBzdGFjaworICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBubyBlcnJvciBvY2N1cnJlZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBhbGxvY0FuZENyZWF0ZVN1YnNjcmlwdGlvbigpOworCisgICAgLyoqCisgICAgICogQ3JlYXRlIHRoZSBzdWJzY3JpcHRpb24gaW4gdGhlIE9QQyBVQSBzdGFjaworICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBubyBlcnJvciBvY2N1cnJlZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBjcmVhdGVTdWJzY3JpcHRpb24oKTsKKworICAgIC8qKgorICAgICAqIEFkZCBhIG1vbml0b3JpbmcgaXRlbSB0byB0aGUgT1BDIFVBIHN0YWNrCisgICAgICogQHBhcmFtIHBhTW9uaXRvcmluZ0luZm8gQ29udGFpbnMgdGhlIG5lZWRlZCBpbmZvcm1hdGlvbiB0byBjcmVhdGUgdGhlIG1vbml0b3JpbmcgaXRlbSBpbiB0aGUgT1BDIFVBIFN0YWNrCisgICAgICogQHBhcmFtIHBhTm9kZUlkIE5vZGVJZCBvZiB0aGUgdmFyaWFibGUgdG8gbW9uaXRvcgorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBubyBlcnJvciBvY2N1cnJlZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBhZGRNb25pdG9yaW5nSXRlbShVQV9Nb25pdG9yaW5nSXRlbUluZm8mIHBhTW9uaXRvcmluZ0luZm8sIFVBX05vZGVJZCYgcGFOb2RlSWQpOworCisgICAgLyoqCisgICAgICogSW5jcmVtZW50cyB0aGUgYW1vdW50IG9mIG1pc3NpbmcgYXN5bmMgY2FsbHMgdG8gYmUgcGVyZm9ybWVkLiBBIHN1YnNjcmlwdGlvbiBrZWVwcyBhbHdheXMgdGhlIG1pc3NpbmcgY2FsbHMgYXQgbGVhc3QgYXQKKyAgICAgKi8KKyAgICB2b2lkIGFkZEFzeW5jQ2FsbCgpOworCisgICAgLyoqCisgICAgICogUmVtb3ZlcyB0aGUgYW1vdW50IG9mIG1pc3NpbmcgYXN5bmMgY2FsbHMgdG8gYmUgcGVyZm9ybWVkCisgICAgICovCisgICAgdm9pZCByZW1vdmVBc3luY0NhbGwoKTsKKworICAgIC8qKgorICAgICAqIFVuaW5pdGlhbHplIGFuIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIHVuaW5pdGlhbGl6ZWQKKyAgICAgKi8KKyAgICB2b2lkIHVuaW5pdGlhbGl6ZUFjdGlvbihDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIFVuaW5pdGlhbHplIGEgc3Vic2NyaXB0aW9uIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIHVuaW5pdGlhbGl6ZWQKKyAgICAgKi8KKyAgICB2b2lkIHVuaW5pdGlhbGl6ZVN1YnNjcmlwdGlvbihDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIFJlc2V0IHRoZSBzdWJzY3JpcHRpb24gaW5mb3JtYXRpb24uCisgICAgICogQHBhcmFtIHBhRGVsZXRlU3Vic2NyaXB0aW9uIFRoZSBzdWJzY3JpcHRpb24gbXVzdCBiZSBkZWxldGVkIGZyb20gdGhlIE9QQyBVQSBzdGFjaworICAgICAqLworICAgIHZvaWQgcmVzZXRTdWJzY3JpcHRpb24oYm9vbCBwYURlbGV0ZVN1YnNjcmlwdGlvbik7CisKKyAgICAvKioKKyAgICAgKiBDb3B5IGNvbnN0cnVjdG9yIGlzIHByaXZhdGUgYW5kIG5vdCBkZWZpbmVkIHRvIGF2b2lkIGl0cyB1c2FnZQorICAgICAqLworICAgIENVQV9DbGllbnRJbmZvcm1hdGlvbihjb25zdCBDVUFfQ2xpZW50SW5mb3JtYXRpb24gJnBhT2JqKTsKKworICAgIC8qKgorICAgICAqIEFzc2lnbm1lbnQgb3BlcmF0b3IgaXMgcHJpdmF0ZSBhbmQgbm90IGRlZmluZWQgdG8gYXZvaWQgaXRzIHVzYWdlCisgICAgICovCisgICAgQ1VBX0NsaWVudEluZm9ybWF0aW9uJiBvcGVyYXRvcj0oY29uc3QgQ1VBX0NsaWVudEluZm9ybWF0aW9uJiBvdGhlcik7CisKKyAgICAvKioKKyAgICAgKiBFbmRwb2ludCBvZiB0aGUgcmVtb3RlCisgICAgICovCisgICAgQ0lFQ19TVFJJTkcgbUVuZHBvaW50VXJsOworCisgICAgLyoqCisgICAgICogSGFuZGxlciBvZiB0aGUgT1BDIFVBIHN0YWNrIGNsaWVudAorICAgICAqLworICAgIFVBX0NsaWVudCAqbUNsaWVudDsKKworICAgIC8qKgorICAgICAqIE11dGV4IG9mIHRoZSBjbGllbnQKKyAgICAgKi8KKyAgICBDU3luY09iamVjdCBtQ2xpZW50TXV0ZXg7CisKKyAgICAvKioKKyAgICAgKiBJbmZvcm1hdGlvbiBuZWVkZWQgZm9yIHN1YnNjcmlwdGlvbgorICAgICAqLworICAgIFVBX3N1YnNjcmlwdGlvbkluZm8gKm1TdWJzY3JpcHRpb25JbmZvOworCisgICAgLyoqCisgICAgICogQW1vdW50IG9mIG1pc3NpbmcgYXN5bmMgY2FsbHMgdG8gYmUgcGVyZm9ybWVkLiBSZWFkLCB3cml0ZSBhbmQgbWV0aG9kIGNhbGwgYWRkIG9uZSB3aGVuIHRoZXkgYXJlIGNhbGxlZCwgYW5kIHJlZHVjZWQgaW4gdGhlIGNhbGxiYWNrcworICAgICAqIFN1YnNjcmlwdGlvbiBpbmNyZWFzZXMgb25lIHdoZW4gY3JlYXRlZCwgYW5kIG9ubHkgcmVkdWNlZCB3aGVuIG5vIG1vcmUgc3Vic2NyaXB0aW9uIGFyZSBwcmVzZW50CisgICAgICovCisgICAgc2l6ZV90IG1NaXNzaW5nQXN5bmNDYWxsczsKKworICAgIC8qKgorICAgICAqIExpc3Qgb2YgYWN0aW9ucyB0aGF0IHVzZSB0aGlzIGNsaWVudAorICAgICAqLworICAgIENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvICo+IG1BY3Rpb25zUmVmZXJlbmNpbmdJdDsKKworICAgIC8qKgorICAgICAqIExpc3Qgb2YgYWN0aW9ucyB0aGF0IG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQKKyAgICAgKi8KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxDQWN0aW9uSW5mbyAqPiBtQWN0aW9uc1RvQmVJbml0aWFsaXplZDsKKworICAgIC8qKgorICAgICAqIEluZGljYXRlcyBpZiB0aGUgY2xpZW50IHNob3VsZCB3YWl0IHNjbUNvbm5lY3Rpb25SZXRyeVRpbWVvdXROYW5vIGJlZm9yZSB0cnlpbmcgdG8gcmVjb25uZWN0LiBUaGlzIGlzIHRydWUgd2hlbiBhbiBhY3Rpb24gZmFpbHMgdG8gY29ubmVjdCBvbmNlCisgICAgICovCisgICAgYm9vbCBtTmVlZHNSZWNvbm5lY3Rpb247CisKKyAgICAvKioKKyAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNsaWVudCBzaG91bGQgd2FpdCBzY21Jbml0aWFsaXplQWN0aW9uUmV0cnlOYW5vIGJlZm9yZSB0cnlpbmcgdG8gaW5pdGlhbGl6ZSB0aGUgYWN0aW9ucy4gVGhpcyBpcyB0cnVlIHdoZW4gYW4gYWN0aW9uIGZhaWxzLCBzbworICAgICAqIGl0IGRvZXNuJ3QgZmFpbCB0b28gb2Z0ZW4uIElmIGFuIGFjdGlvbiBpcyBhZGRlZCBhZnRlciBhbm90aGVyIGZhaWwsIHRoaXMgYmVjb21lcyBmYWxzZSwgc28gdGhlIG5ldyBhY3Rpb24gY2FuIGJlIGluaXRpYWxpemVkIGFuZCBkb2Vzbid0IGhhdmUgdG8gd2FpdAorICAgICAqLworICAgIGJvb2wgbVdhaXRUb0luaXRpYWxpemVBY3Rpb25zOworCisgICAgLyoqCisgICAgICogU3RvcmUgdGhlIHRpbWUgd2hlbiB0aGUgY29ubmVjdGlvbiBsYXN0IGZhaWxlZAorICAgICAqLworICAgIHVpbnRfZmFzdDY0X3QgbUxhc3RSZWNvbm5lY3Rpb25Ucnk7CisKKyAgICAvKioKKyAgICAgKiBTdG9yZSB0aGUgdGltZSB3aGVuIGFuIGFjdGlvbiBsYXN0IGZhaWxlZCB0byBpbml0aWFsaXplZAorICAgICAqLworICAgIHVpbnRfZmFzdDY0X3QgbUxhc3RBY3Rpb25Jbml0aWFsaXphdGlvblRyeTsKKworICAgIC8qKgorICAgICAqIFRydWUgaWYgYW4gYWN0aW9uIHdhcyBpbml0aWFsaXplZCBpbiB0aGUgbGFzdCBpdGVyYXRpb24gb2YgaGFuZGxlQ2xpZW50U3RhdGUoKQorICAgICAqLworICAgIGJvb2wgbVNvbWVBY3Rpb25XYXNJbml0aWFsaXplZDsKKworICAgIC8qKgorICAgICAqIFRpbWUgaW4gbmFub3NlY29uZHMgdGhhdCB0aGUgY2xpZW50IHNob3VsZCB3YWl0IGJlZm9yZSBhbm90aGVyIHJlY29ubmVjdGlvbiB0cnkKKyAgICAgKi8KKyAgICBzdGF0aWMgY29uc3QgdWludF9mYXN0NjRfdCBzY21Db25uZWN0aW9uUmV0cnlUaW1lb3V0TmFubyA9IDhFOTsgLy84cworCisgICAgLyoqCisgICAgICogVGltZSBpbiBuYW5vc2Vjb25kcyB0aGF0IHRoZSBjbGllbnQgc2hvdWxkIHdhaXQgYmVmb3JlIHRyeSB0byBpbml0aWFsaXplIHRoZSBhY3Rpb25zCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IHVpbnRfZmFzdDY0X3Qgc2NtSW5pdGlhbGl6ZUFjdGlvblJldHJ5TmFubyA9IDNFOTsgLy8zcworCisgICAgLyoqCisgICAgICogVGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIGNvbm5lY3Rpb24gdGltZW91dCBjb25maWd1cmVkIGluIHRoZSBPUEMgVUEgc3RhY2sgY2xpZW50CisgICAgICovCisgICAgc3RhdGljIGNvbnN0IFVBX1VJbnQzMiBzY21DbGllbnRUaW1lb3V0SW5NaWxsaSA9IDVFMzsgLy81cworCit9OworCisjZW5kaWYgLyogU1JDX01PRFVMRVNfT1BDX1VBX09QQ1VBX0NMSUVOVF9JTkZPUk1BVElPTl9IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2hhbmRsZXIuY3BwIGIvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2hhbmRsZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjIzMjIzLi4wMDAwMDAwCi0tLSBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oYW5kbGVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDg2OSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTYgRmxvcmlhbiBGcm9zY2hlcm1laWVyIDxmbG9yaWFuLmZyb3NjaGVybWVpZXJAdHVtLmRlPiwKLSAqICAgICAgICAgICAgICAgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICoKLSAqIENvbnRyaWJ1dG9yczoKLSAqICAgIEZsb3JpYW4gRnJvc2NoZXJtZWllcgotICogICAgICAtIGluaXRpYWwgaW50ZWdyYXRpb24gb2YgdGhlIE9QQy1VQSBwcm90b2NvbAotICogICAgU3RlZmFuIFByb2ZhbnRlcgotICogICAgICAtIHJlZmFjdG9yaW5nIGFuZCBhZGFwdGlvbiB0byBuZXcgY29uY2VwdAotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpbmNsdWRlICJvcGN1YV9oYW5kbGVyLmgiCi0jaW5jbHVkZSAib3BjdWFfY2xpZW50X2hhbmRsZXIuaCIKLSNpbmNsdWRlICIuLi8uLi9jb3JlL2RldmV4ZWMuaCIKLSNpbmNsdWRlICIuLi8uLi9jb3JlL2llYzYxMTMxX2Z1bmN0aW9ucy5oIgotI2luY2x1ZGUgIi4uLy4uL2NvcmUvY29taW5mcmEvYmFzZWNvbW1mYi5oIgotI2luY2x1ZGUgPGNyaXRpY2FscmVnaW9uLmg+Ci0jaW5jbHVkZSA8Zm9ydGVfcHJpbnRlci5oPgotCi0jaWZuZGVmIEZPUlRFX0NPTV9PUENfVUFfQ1VTVE9NX0hPU1ROQU1FCi0jaW5jbHVkZSA8c29ja2hhbmQuaD4KLSNlbmRpZgotCi11c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvbV9pbmZyYTsKLQotREVGSU5FX0hBTkRMRVIoQ09QQ19VQV9IYW5kbGVyKTsKLQotY29uc3QgY2hhciAqTG9nc0xldmVsTmFtZXNbNl0gPSB7InRyYWNlIiwgImRlYnVnIiwgImluZm8iLCAid2FybmluZyIsICJlcnJvciIsICJmYXRhbCJ9OwotY29uc3QgY2hhciAqTG9nc0NhdGVnb3J5TmFtZXNbNl0gPSB7Im5ldHdvcmsiLCAiY2hhbm5lbCIsICJzZXNzaW9uIiwgInNlcnZlciIsICJjbGllbnQiLCAidXNlcmxhbmQifTsKLQotc3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwIHsKLSAgVUFfQ2xpZW50ICpjbGllbnQ7Ci0gIGNoYXIgKmVuZHBvaW50VXJsOwotICBDU3luY09iamVjdCAqY2xpZW50TXV0ZXg7Ci19OwotCi12b2lkIFVBX0xvZ19Gb3J0ZShVQV9Mb2dMZXZlbCBsZXZlbCwgVUFfTG9nQ2F0ZWdvcnkgY2F0ZWdvcnksIGNvbnN0IGNoYXIgKm1zZywgdmFfbGlzdCBhcmdzKSB7Ci0gIGNoYXIgdG1wU3RyWzQwMF07Ci0gIGZvcnRlX3NucHJpbnRmKHRtcFN0ciwgNDAwLCAiW09QQyBVQV0gJXMvJXNcdCIsIExvZ3NMZXZlbE5hbWVzW2xldmVsXSwgTG9nc0NhdGVnb3J5TmFtZXNbY2F0ZWdvcnldKTsKLSAgY2hhciAqc3RhcnQgPSAmdG1wU3RyW3N0cmxlbih0bXBTdHIpXTsKLQotICB2c3ByaW50ZihzdGFydCwgbXNnLCBhcmdzKTsKLQotICBzaXplX3QgbGVuID0gc3RybGVuKHRtcFN0cik7Ci0gIHRtcFN0cltsZW5dID0gJ1xuJzsKLSAgdG1wU3RyW2xlbiArIDFdID0gJ1wwJzsKLQotICBzd2l0Y2ggKGxldmVsKSB7Ci0gICAgY2FzZSBVQV9MT0dMRVZFTF9UUkFDRToKLSAgICBjYXNlIFVBX0xPR0xFVkVMX0RFQlVHOgotICAgICAgREVWTE9HX0RFQlVHKHRtcFN0cik7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIFVBX0xPR0xFVkVMX0lORk86Ci0gICAgICBERVZMT0dfSU5GTyh0bXBTdHIpOwotICAgICAgYnJlYWs7Ci0gICAgY2FzZSBVQV9MT0dMRVZFTF9XQVJOSU5HOgotICAgICAgREVWTE9HX1dBUk5JTkcodG1wU3RyKTsKLSAgICAgIGJyZWFrOwotICAgIGNhc2UgVUFfTE9HTEVWRUxfRVJST1I6Ci0gICAgY2FzZSBVQV9MT0dMRVZFTF9GQVRBTDoKLSAgICAgIERFVkxPR19FUlJPUih0bXBTdHIpOwotICAgICAgYnJlYWs7Ci0gIH0KLX0KLQotdm9pZCBDT1BDX1VBX0hhbmRsZXI6OmNvbmZpZ3VyZVVBU2VydmVyKFRGb3J0ZVVJbnQxNiBVQVNlcnZlclBvcnQpIHsKLQotICBjaGFyIG5hbWVbMjU1XTsKLSAgZm9ydGVfc25wcmludGYobmFtZSwgMjU1LCAiZm9ydGVfJWQiLCBVQVNlcnZlclBvcnQpOwotCi0gIHVhU2VydmVyQ29uZmlnID0gVUFfU2VydmVyQ29uZmlnX25ld19taW5pbWFsKFVBU2VydmVyUG9ydCwgTlVMTCk7Ci0gIHVhU2VydmVyQ29uZmlnLT5sb2dnZXIgPSBVQV9Mb2dfRm9ydGU7Ci0KLSMgaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QKLSAgdWFTZXJ2ZXJDb25maWctPmFwcGxpY2F0aW9uRGVzY3JpcHRpb24uYXBwbGljYXRpb25UeXBlID0gVUFfQVBQTElDQVRJT05UWVBFX0RJU0NPVkVSWVNFUlZFUjsKLSAgLy8gaG9zdG5hbWUgd2lsbCBiZSBhZGRlZCBieSBtZG5zIGxpYnJhcnkKLSAgVUFfU3RyaW5nX2RlbGV0ZU1lbWJlcnMoJnVhU2VydmVyQ29uZmlnLT5tZG5zU2VydmVyTmFtZSk7Ci0gIHVhU2VydmVyQ29uZmlnLT5tZG5zU2VydmVyTmFtZSA9IFVBX1N0cmluZ19mcm9tQ2hhcnMobmFtZSk7Ci0jIGVuZGlmCi0KLSAgY2hhciBob3N0bmFtZVsyNTZdOwotI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfQ1VTVE9NX0hPU1ROQU1FCi0gIGZvcnRlX3NucHJpbnRmKGhvc3RuYW1lLCAyNTUsICIlcy0lcyIsIEZPUlRFX0NPTV9PUENfVUFfQ1VTVE9NX0hPU1ROQU1FLCBuYW1lKTsKLSNlbHNlCi0gIGlmKGdldGhvc3RuYW1lKGhvc3RuYW1lLCAyNTUpID09IDApIHsKLSAgICBzaXplX3Qgb2Zmc2V0ID0gc3RybGVuKGhvc3RuYW1lKTsKLSAgICBzaXplX3QgbmFtZUxlbiA9IHN0cmxlbihuYW1lKTsKLSAgICBpZiAob2Zmc2V0ICsgbmFtZUxlbiArMSA+IDI1NSkgewotICAgICAgb2Zmc2V0ID0gTUFYKDI1NS1uYW1lTGVuLTEsIChzaXplX3QpMCk7Ci0gICAgfQotICAgIGZvcnRlX3NucHJpbnRmKGhvc3RuYW1lK29mZnNldCwgMjU1LW9mZnNldCwgIi0lcyIsIG5hbWUpOwotICB9Ci0jZW5kaWYKLQotICBjaGFyIHVyaVsyNTVdOwotICBmb3J0ZV9zbnByaW50Zih1cmksIDI1NSwgIm9yZy5lY2xpcHNlLjRkaWFjLiVzIiwgaG9zdG5hbWUpOwotCi0gIC8vIGRlbGV0ZSBwcmUtaW5pdGlhbGl6ZWQgdmFsdWVzCi0gIFVBX1N0cmluZ19kZWxldGVNZW1iZXJzKCZ1YVNlcnZlckNvbmZpZy0+YXBwbGljYXRpb25EZXNjcmlwdGlvbi5hcHBsaWNhdGlvblVyaSk7Ci0gIFVBX0xvY2FsaXplZFRleHRfZGVsZXRlTWVtYmVycygmdWFTZXJ2ZXJDb25maWctPmFwcGxpY2F0aW9uRGVzY3JpcHRpb24uYXBwbGljYXRpb25OYW1lKTsKLQotICB1YVNlcnZlckNvbmZpZy0+YXBwbGljYXRpb25EZXNjcmlwdGlvbi5hcHBsaWNhdGlvblVyaSA9IFVBX1N0cmluZ19mcm9tQ2hhcnModXJpKTsKLSAgdWFTZXJ2ZXJDb25maWctPmFwcGxpY2F0aW9uRGVzY3JpcHRpb24uYXBwbGljYXRpb25OYW1lLmxvY2FsZSA9IFVBX1NUUklOR19OVUxMOwotICB1YVNlcnZlckNvbmZpZy0+YXBwbGljYXRpb25EZXNjcmlwdGlvbi5hcHBsaWNhdGlvbk5hbWUudGV4dCA9IFVBX1N0cmluZ19mcm9tQ2hhcnMoaG9zdG5hbWUpOwotCi0gIGZvciAoc2l6ZV90IGk9MDsgaTx1YVNlcnZlckNvbmZpZy0+ZW5kcG9pbnRzU2l6ZTsgaSsrKSB7Ci0gICAgVUFfU3RyaW5nX2RlbGV0ZU1lbWJlcnMoJnVhU2VydmVyQ29uZmlnLT5lbmRwb2ludHNbaV0uZW5kcG9pbnREZXNjcmlwdGlvbi5zZXJ2ZXIuYXBwbGljYXRpb25VcmkpOwotICAgIFVBX0xvY2FsaXplZFRleHRfZGVsZXRlTWVtYmVycygmdWFTZXJ2ZXJDb25maWctPmVuZHBvaW50c1tpXS5lbmRwb2ludERlc2NyaXB0aW9uLnNlcnZlci5hcHBsaWNhdGlvbk5hbWUpOwotCi0gICAgVUFfU3RyaW5nX2NvcHkoJnVhU2VydmVyQ29uZmlnLT5hcHBsaWNhdGlvbkRlc2NyaXB0aW9uLmFwcGxpY2F0aW9uVXJpLAotICAgICAgICAgICAgICZ1YVNlcnZlckNvbmZpZy0+ZW5kcG9pbnRzW2ldLmVuZHBvaW50RGVzY3JpcHRpb24uc2VydmVyLmFwcGxpY2F0aW9uVXJpKTsKLQotICAgIFVBX0xvY2FsaXplZFRleHRfY29weSgmdWFTZXJ2ZXJDb25maWctPmFwcGxpY2F0aW9uRGVzY3JpcHRpb24uYXBwbGljYXRpb25OYW1lLAotICAgICAgICAgICAgICAgICZ1YVNlcnZlckNvbmZpZy0+ZW5kcG9pbnRzW2ldLmVuZHBvaW50RGVzY3JpcHRpb24uc2VydmVyLmFwcGxpY2F0aW9uTmFtZSk7Ci0gIH0KLQotICAvLyBUT0RPIHNldCBzZXJ2ZXIgY2FwYWJpbGl0aWVzCi0gIC8vIFNlZSBodHRwOi8vd3d3Lm9wY2ZvdW5kYXRpb24ub3JnL1VBL3NjaGVtYXMvMS4wMy9TZXJ2ZXJDYXBhYmlsaXRpZXMuY3N2Ci0gIC8vY29uZmlnLnNlcnZlckNhcGFiaWxpdGllc1NpemUgPSAxOwotICAvL1VBX1N0cmluZyBjYXBzID0gVUFfU3RyaW5nX2Zyb21DaGFycygiTERTIik7Ci0gIC8vY29uZmlnLnNlcnZlckNhcGFiaWxpdGllcyA9ICZjYXBzOwotfQotCi0jaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QKLQotc3RhdGljIHZvaWQgc2VydmVyT25OZXR3b3JrQ2FsbGJhY2soY29uc3QgVUFfU2VydmVyT25OZXR3b3JrICpzZXJ2ZXJPbk5ldHdvcmssIFVBX0Jvb2xlYW4gaXNTZXJ2ZXJBbm5vdW5jZSwgVUFfQm9vbGVhbiBpc1R4dFJlY2VpdmVkLCB2b2lkKiBkYXRhKSB7Ci0gIENPUENfVUFfSGFuZGxlciogaGFuZGxlciA9IHN0YXRpY19jYXN0PENPUENfVUFfSGFuZGxlcio+KGRhdGEpOwotCi0gIGNvbnN0IFVBX1N0cmluZyBvd25EaXNjb3ZlclVybCA9IGhhbmRsZXItPmdldERpc2NvdmVyeVVybCgpOwotCi0gIGlmIChVQV9TdHJpbmdfZXF1YWwoJnNlcnZlck9uTmV0d29yay0+ZGlzY292ZXJ5VXJsLCAmb3duRGlzY292ZXJVcmwpKSB7Ci0gICAgLy8gc2tpcCBzZWxmCi0gICAgcmV0dXJuOwotICB9Ci0KLSAgaWYgKCFpc1R4dFJlY2VpdmVkKQotICAgIHJldHVybjsgLy8gd2Ugd2FpdCB1bnRpbCB0aGUgY29ycmVzcG9uZGluZyBUWFQgcmVjb3JkIGlzIGFubm91bmNlZC4KLQotICBERVZMT0dfREVCVUcoIk9QQyBVQTogbUROUyAlcyAnJS4qcycgd2l0aCB1cmwgJyUuKnMnXG4iLGlzU2VydmVyQW5ub3VuY2U/ImFubm91bmNlIjoicmVtb3ZlIiwgc2VydmVyT25OZXR3b3JrLT5zZXJ2ZXJOYW1lLmxlbmd0aCwgc2VydmVyT25OZXR3b3JrLT5zZXJ2ZXJOYW1lLmRhdGEsCi0gICAgICBzZXJ2ZXJPbk5ldHdvcmstPmRpc2NvdmVyeVVybC5sZW5ndGgsIHNlcnZlck9uTmV0d29yay0+ZGlzY292ZXJ5VXJsLmRhdGEpOwotCi0gIC8vIGNoZWNrIGlmIHNlcnZlciBpcyBMRFMsIGFuZCB0aGVuIHJlZ2lzdGVyCi0gIFVBX1N0cmluZyBsZHNTdHIgPSBVQV9TdHJpbmdfZnJvbUNoYXJzKCJMRFMiKTsKLSAgZm9yICh1bnNpZ25lZCBpbnQgaT0wOyBpPHNlcnZlck9uTmV0d29yay0+c2VydmVyQ2FwYWJpbGl0aWVzU2l6ZTsgaSsrKSB7Ci0gICAgaWYgKFVBX1N0cmluZ19lcXVhbCgmc2VydmVyT25OZXR3b3JrLT5zZXJ2ZXJDYXBhYmlsaXRpZXNbaV0sICZsZHNTdHIpKSB7Ci0gICAgICBpZiAoaXNTZXJ2ZXJBbm5vdW5jZSkKLSAgICAgICAgaGFuZGxlci0+cmVnaXN0ZXJXaXRoTGRzKCZzZXJ2ZXJPbk5ldHdvcmstPmRpc2NvdmVyeVVybCk7Ci0gICAgICBlbHNlCi0gICAgICAgIGhhbmRsZXItPnJlbW92ZUxkc1JlZ2lzdGVyKCZzZXJ2ZXJPbk5ldHdvcmstPmRpc2NvdmVyeVVybCk7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gIH0KLSAgVUFfU3RyaW5nX2RlbGV0ZU1lbWJlcnMoJmxkc1N0cik7Ci19Ci0KLXZvaWQgQ09QQ19VQV9IYW5kbGVyOjpyZWdpc3RlcldpdGhMZHMoY29uc3QgVUFfU3RyaW5nICpkaXNjb3ZlcnlVcmwpIHsKLSAgLy8gY2hlY2sgaWYgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggdGhlIGdpdmVuIExEUwotICBmb3IgKENTaW5nbHlMaW5rZWRMaXN0PGNvbnN0IGNoYXIqPjo6SXRlcmF0b3IgaXRlciA9IHJlZ2lzdGVyZWRXaXRoTGRzLmJlZ2luKCk7IGl0ZXIgIT0gcmVnaXN0ZXJlZFdpdGhMZHMuZW5kKCk7ICsraXRlcikgewotICAgIGlmIChzdHJuY21wKChjaGFyKilkaXNjb3ZlcnlVcmwtPmRhdGEsICppdGVyLCBkaXNjb3ZlcnlVcmwtPmxlbmd0aCkgPT0gMCkKLSAgICAgIHJldHVybjsKLSAgfQotCi0gIC8vIHdpbGwgYmUgZnJlZWQgd2hlbiByZW1vdmVkIGZyb20gbGlzdAotICBjaGFyICpkaXNjb3ZlcnlVcmxDaGFyID0gKGNoYXIqKWZvcnRlX21hbGxvYyhzaXplb2YoY2hhcikqZGlzY292ZXJ5VXJsLT5sZW5ndGgrMSk7Ci0gIG1lbWNweShkaXNjb3ZlcnlVcmxDaGFyLCBkaXNjb3ZlcnlVcmwtPmRhdGEsIGRpc2NvdmVyeVVybC0+bGVuZ3RoKTsKLSAgZGlzY292ZXJ5VXJsQ2hhcltkaXNjb3ZlcnlVcmwtPmxlbmd0aF0gPSAwOwotCi0gIHJlZ2lzdGVyZWRXaXRoTGRzLnB1c2hGcm9udChkaXNjb3ZlcnlVcmxDaGFyKTsKLQotICBERVZMT0dfSU5GTygiT1BDIFVBOiBSZWdpc3RlcmluZyB3aXRoIExEUyAnJS4qcydcbiIsIGRpc2NvdmVyeVVybC0+bGVuZ3RoLCBkaXNjb3ZlcnlVcmwtPmRhdGEpOwotICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NlcnZlcl9hZGRQZXJpb2RpY1NlcnZlclJlZ2lzdGVyQ2FsbGJhY2sodWFTZXJ2ZXIsIE5VTEwsIGRpc2NvdmVyeVVybENoYXIgLCAxMCAqIDYwICogMTAwMCwgNTAwLCBOVUxMKTsKLSAgaWYgKHJldFZhbCAhPSBVQV9TVEFUVVNDT0RFX0dPT0QpIHsKLSAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogQ291bGQgbm90IHJlZ2lzdGVyIHdpdGggTERTLiBFcnJvcjogJXNcbiIsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKLSAgfQotfQotCi12b2lkIENPUENfVUFfSGFuZGxlcjo6cmVtb3ZlTGRzUmVnaXN0ZXIoY29uc3QgVUFfU3RyaW5nICpkaXNjb3ZlcnlVcmwpIHsKLSAgLy8gY2hlY2sgaWYgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggdGhlIGdpdmVuIExEUwotICBDU2luZ2x5TGlua2VkTGlzdDxjb25zdCBjaGFyKj46Okl0ZXJhdG9yIGl0UnVubmVyID0gcmVnaXN0ZXJlZFdpdGhMZHMuYmVnaW4oKTsKLSAgQ1NpbmdseUxpbmtlZExpc3Q8Y29uc3QgY2hhcio+OjpJdGVyYXRvciBpdFJlZk5vZGUgPSByZWdpc3RlcmVkV2l0aExkcy5lbmQoKTsKLQotICAvLyByZW1vdmUgZW50cnkgZnJvbSBsaXN0Ci0gIHdoaWxlKGl0UnVubmVyICE9IHJlZ2lzdGVyZWRXaXRoTGRzLmVuZCgpKXsKLSAgICBpZiAoc3RybmNtcCgoY2hhciopZGlzY292ZXJ5VXJsLT5kYXRhLCAqaXRSdW5uZXIsIGRpc2NvdmVyeVVybC0+bGVuZ3RoKSA9PSAwKSB7Ci0gICAgICBpZihpdFJlZk5vZGUgPT0gcmVnaXN0ZXJlZFdpdGhMZHMuZW5kKCkpewotICAgICAgICByZWdpc3RlcmVkV2l0aExkcy5wb3BGcm9udCgpOwotICAgICAgfQotICAgICAgZWxzZXsKLSAgICAgICAgcmVnaXN0ZXJlZFdpdGhMZHMuZXJhc2VBZnRlcihpdFJlZk5vZGUpOwotICAgICAgfQotICAgICAgLy8gZGlydHkgY2FzdCB0byByZW1vdmUgY29uc3QKLSAgICAgIGZvcnRlX2ZyZWUoKHZvaWQgKikoKml0UnVubmVyKSk7Ci0gICAgICBicmVhazsKLSAgICB9Ci0gICAgaXRSZWZOb2RlID0gaXRSdW5uZXI7Ci0gICAgKytpdFJ1bm5lcjsKLSAgfQotCi19Ci0KLSNlbmRpZgotCi1DT1BDX1VBX0hhbmRsZXI6OkNPUENfVUFfSGFuZGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYV9wb0RldmljZUV4ZWN1dGlvbikgOiBDRXh0ZXJuYWxFdmVudEhhbmRsZXIocGFfcG9EZXZpY2VFeGVjdXRpb24pLAotICAgIHVhU2VydmVyKDApLCB1YVNlcnZlckNvbmZpZygwKSwgdWFTZXJ2ZXJSdW5uaW5nRmxhZyhVQV9GQUxTRSksIGdldE5vZGVGb3JQYXRoTXV0ZXgoKSwgbm9kZUNhbGxiYWNrSGFuZGxlcygpLCBjbGllbnRzKCksCi0jaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QKLSAgcmVnaXN0ZXJlZFdpdGhMZHMoKSwKLSNlbmRpZgotICAgbm9kZUxheWVyUmVmZXJlbmNlcygpCi17Ci0KLX0KLQotQ09QQ19VQV9IYW5kbGVyOjp+Q09QQ19VQV9IYW5kbGVyKCkgewotICBzdG9wU2VydmVyKCk7Ci0gIGVuZCgpOwotCi0gIGlmKDAgIT0gdWFTZXJ2ZXIpewotICAgIFVBX1NlcnZlcl9kZWxldGUodWFTZXJ2ZXIpOwotICB9Ci0gIFVBX1NlcnZlckNvbmZpZ19kZWxldGUodWFTZXJ2ZXJDb25maWcpOwotCi0gIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwICo+OjpJdGVyYXRvciBpdGVyID0gY2xpZW50cy5iZWdpbigpOyBpdGVyICE9IGNsaWVudHMuZW5kKCk7ICsraXRlcikgewotICAgIFVBX0NsaWVudF9kaXNjb25uZWN0KCgqaXRlciktPmNsaWVudCk7Ci0gICAgVUFfQ2xpZW50X2RlbGV0ZSgoKml0ZXIpLT5jbGllbnQpOwotICAgIGZvcnRlX2ZyZWUoKCppdGVyKS0+ZW5kcG9pbnRVcmwpOwotICAgIGZvcnRlX2ZyZWUoKCppdGVyKS0+Y2xpZW50TXV0ZXgpOwotICAgIGZvcnRlX2ZyZWUoKCppdGVyKSk7Ci0gIH0KLSAgY2xpZW50cy5jbGVhckFsbCgpOwotCi0gIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFVBX05vZGVDYWxsYmFja19IYW5kbGUgKj46Okl0ZXJhdG9yIGl0ZXIgPSBub2RlQ2FsbGJhY2tIYW5kbGVzLmJlZ2luKCk7IGl0ZXIgIT0gbm9kZUNhbGxiYWNrSGFuZGxlcy5lbmQoKTsgKytpdGVyKQotICAgIGZvcnRlX2ZyZWUoKml0ZXIpOwotICBub2RlQ2FsbGJhY2tIYW5kbGVzLmNsZWFyQWxsKCk7Ci0gIHsKLSAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obU5vZGVMYXllck11dGV4KTsKLSAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFJlZmVyZW5jZWROb2RlQnlMYXllciAqPjo6SXRlcmF0b3IgaXRlciA9IG5vZGVMYXllclJlZmVyZW5jZXMuYmVnaW4oKTsgaXRlciAhPSBub2RlTGF5ZXJSZWZlcmVuY2VzLmVuZCgpOyArK2l0ZXIpewotICAgICAgLy8gZGlydHkgY2FzdCB0byByZW1vdmUgY29uc3QKLSAgICAgIFVBX05vZGVJZF9kZWxldGUoKFVBX05vZGVJZCopICh2b2lkICopICgoKml0ZXIpLT5ub2RlSWQpKTsKLSAgICAgIGZvcnRlX2ZyZWUoKCppdGVyKSk7Ci0gICAgfQotICAgIG5vZGVMYXllclJlZmVyZW5jZXMuY2xlYXJBbGwoKTsKLSAgfQotCi0jaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QKLSAgZm9yIChDU2luZ2x5TGlua2VkTGlzdDxjb25zdCBjaGFyICo+OjpJdGVyYXRvciBpdGVyID0gcmVnaXN0ZXJlZFdpdGhMZHMuYmVnaW4oKTsgaXRlciAhPSByZWdpc3RlcmVkV2l0aExkcy5lbmQoKTsgKytpdGVyKSB7Ci0gICAgLy8gZGlydHkgY2FzdCB0byByZW1vdmUgY29uc3QKLSAgICBmb3J0ZV9mcmVlKCh2b2lkICopKCppdGVyKSk7Ci0gIH0KLSAgcmVnaXN0ZXJlZFdpdGhMZHMuY2xlYXJBbGwoKTsKLSNlbmRpZgotfQotCi12b2lkIENPUENfVUFfSGFuZGxlcjo6cnVuKCkgewotICBERVZMT0dfSU5GTygiT1BDIFVBOiBTdGFydGluZyBPUEMgVUEgU2VydmVyOiBvcGMudGNwOi8vbG9jYWxob3N0OiVkXG4iLCBGT1JURV9DT01fT1BDX1VBX1BPUlQpOwotCi0gIGlmICh1YVNlcnZlckNvbmZpZyA9PSBOVUxMKSB7Ci0gICAgY29uZmlndXJlVUFTZXJ2ZXIoRk9SVEVfQ09NX09QQ19VQV9QT1JUKTsKLSAgICB1YVNlcnZlciA9IFVBX1NlcnZlcl9uZXcodWFTZXJ2ZXJDb25maWcpOwotICB9Ci0KLSNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01VTFRJQ0FTVAotIyAgIGlmbmRlZiBVQV9FTkFCTEVfRElTQ09WRVJZX01VTFRJQ0FTVAotIyAgICAgICBlcnJvciBvcGVuNjI1NDEgbmVlZHMgdG8gYmUgYnVpbHQgd2l0aCBVQV9FTkFCTEVfRElTQ09WRVJZX01VTFRJQ0FTVD1PTgotIyAgIGVsc2UKLSAgVUFfU2VydmVyX3NldFNlcnZlck9uTmV0d29ya0NhbGxiYWNrKHVhU2VydmVyLCBzZXJ2ZXJPbk5ldHdvcmtDYWxsYmFjaywgdGhpcyk7Ci0jICAgZW5kaWYKLSNlbmRpZgotICBtU2VydmVyU3RhcnRlZC5pbmMoKTsKLSAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TZXJ2ZXJfcnVuKHVhU2VydmVyLCAmdWFTZXJ2ZXJSdW5uaW5nRmxhZyk7ICAgIC8vIHNlcnZlciBrZWVwcyBpdGVyYXRpbmcgYXMgbG9uZyBhcyBydW5uaW5nIGlzIHRydWU7Ci0gIGlmIChyZXRWYWwgIT0gVUFfU1RBVFVTQ09ERV9HT09EKSB7Ci0gICAgREVWTE9HX0VSUk9SKCJPUEMgVUE6IFNlcnZlciBleGl0ZWQgd2l0aCBlcnJvcjogJXNcbiIsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKLSAgfSBlbHNlIHsKLSAgICBERVZMT0dfSU5GTygiT1BDIFVBOiBTZXJ2ZXIgc3VjY2Vzc2Z1bGx5IHN0b3BwZWRcbiIpOwotICB9Ci19Ci0KLXZvaWQgQ09QQ19VQV9IYW5kbGVyOjplbmFibGVIYW5kbGVyKHZvaWQpIHsKLSAgc3RhcnRTZXJ2ZXIoKTsKLX0KLQotdm9pZCBDT1BDX1VBX0hhbmRsZXI6OmRpc2FibGVIYW5kbGVyKHZvaWQpIHsKLSAgQ09QQ19VQV9IYW5kbGVyOjpzdG9wU2VydmVyKCk7Ci0gIGVuZCgpOwotfQotCi12b2lkIENPUENfVUFfSGFuZGxlcjo6c2V0UHJpb3JpdHkoaW50KSB7Ci0KLSAgLy9jdXJyZW50bHkgd2UgYXJlIGRvaW5nIG5vdGhpbmcgaGVyZS4KLX0KLQotaW50IENPUENfVUFfSGFuZGxlcjo6Z2V0UHJpb3JpdHkodm9pZCkgY29uc3QgewotICAvL3RoZSBzYW1lIGFzIGZvciBzZXRQcmlvcml0eQotICByZXR1cm4gMDsKLX0KLQotdm9pZCBDT1BDX1VBX0hhbmRsZXI6OnN0YXJ0U2VydmVyKCkgewotICBpZiAodWFTZXJ2ZXJSdW5uaW5nRmxhZykKLSAgICByZXR1cm47Ci0gIHVhU2VydmVyUnVubmluZ0ZsYWcgPSBVQV9UUlVFOwotCi0gIGlmICghaXNBbGl2ZSgpKSB7Ci0gICAgc3RhcnQoKTsKLSAgICBtU2VydmVyU3RhcnRlZC53YWl0SW5kZWZpbml0ZWx5KCk7Ci0gICAgbVNlcnZlclN0YXJ0ZWQuaW5jKCk7IC8vaW4gY2FzZSBzb21lb25lIGVsc2Ugd2FudHMgdG8gd2FpdAotICB9Ci0KLX0KLQotdm9pZCBDT1BDX1VBX0hhbmRsZXI6OnN0b3BTZXJ2ZXIoKSB7Ci0gIHVhU2VydmVyUnVubmluZ0ZsYWcgPSBVQV9GQUxTRTsKLX0KLQotVUFfU3RhdHVzQ29kZQotQ09QQ19VQV9IYW5kbGVyOjpnZXROb2RlRm9yUGF0aChVQV9Ob2RlSWQgKipmb3VuZE5vZGVJZCwgY29uc3QgY2hhciAqbm9kZVBhdGhDb25zdCwgYm9vbCBjcmVhdGVJZk5vdEZvdW5kLAotICAgICAgICAgICAgICAgIGNvbnN0IFVBX05vZGVJZCAqc3RhcnRpbmdOb2RlLCBjb25zdCBVQV9Ob2RlSWQgKm5ld05vZGVUeXBlLCBVQV9Ob2RlSWQgKipwYXJlbnROb2RlSWQsCi0gICAgICAgICAgICAgICAgVUFfQ2xpZW50ICpjbGllbnRJbml0aWFsaXplZCwgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkICo+ICpub2RlSWRzQWxvbmdQYXRoKSB7Ci0gICpmb3VuZE5vZGVJZCA9IE5VTEw7Ci0gIENJRUNfU1RSSU5HIG5vZGVQYXRoU3RyaW5nKG5vZGVQYXRoQ29uc3QpOwotICBjaGFyKiBub2RlUGF0aCA9IG5vZGVQYXRoU3RyaW5nLmdldFZhbHVlKCk7Ci0KLQotICAvLyByZW1vdmUgdGFpbGluZyBzbGFzaAotICBzaXplX3QgcGF0aExlbiA9IHN0cmxlbihub2RlUGF0aCk7Ci0gIHdoaWxlIChwYXRoTGVuICYmIG5vZGVQYXRoW3BhdGhMZW4gLSAxXSA9PSAnLycpIHsKLSAgICBub2RlUGF0aFtwYXRoTGVuIC0gMV0gPSAwOwotICAgIHBhdGhMZW4tLTsKLSAgfQotICBpZiAocGF0aExlbiA9PSAwKSB7Ci0gICAgZm9ydGVfZnJlZShub2RlUGF0aCk7Ci0gICAgcmV0dXJuIFVBX1NUQVRVU0NPREVfQkFESU5WQUxJREFSR1VNRU5UOwotICB9Ci0KLSAgLy8gY291bnQgbnVtYmVyIG9mIGZvbGRlcnMgaW4gbm9kZSBwYXRoCi0gIHVuc2lnbmVkIGludCBmb2xkZXJDbnQgPSAwOwotICBjaGFyICpjID0gbm9kZVBhdGg7Ci0gIHdoaWxlICgqYykgewotICAgIGlmICgqYyA9PSAnLycpCi0gICAgICBmb2xkZXJDbnQrKzsKLSAgICBjKys7Ci0gIH0KLQotICBERVZMT0dfRVJST1JfVkFSKENJRUNfU1RSSU5HIGZ1bGxQYXRoU3RyaW5nKG5vZGVQYXRoKSk7Ci0gIGNoYXIgKnRvayA9IHN0cnRvayhub2RlUGF0aCwgIi8iKTsKLSAgaWYgKHN0YXJ0aW5nTm9kZSA9PSBOVUxMIHx8IChzdGFydGluZ05vZGUtPm5hbWVzcGFjZUluZGV4ID09IDAgJiYgc3RhcnRpbmdOb2RlLT5pZGVudGlmaWVyLm51bWVyaWMgPT0gVUFfTlMwSURfT0JKRUNUU0ZPTERFUikpIHsKLSAgICBpZiAoc3RyY21wKHRvaywgIk9iamVjdHMiKSAhPSAwICYmIHN0cmNtcCh0b2ssICIwOk9iamVjdHMiKSAhPSAwKSB7Ci0gICAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogTm9kZSBwYXRoICclcycgaGFzIHRvIHN0YXJ0IHdpdGggJy9PYmplY3RzJ1xuIiwgZnVsbFBhdGhTdHJpbmcuZ2V0VmFsdWUoKSk7Ci0gICAgICByZXR1cm4gVUFfU1RBVFVTQ09ERV9CQURJTlZBTElEQVJHVU1FTlQ7Ci0gICAgfQotICAgIGZvbGRlckNudC0tOyAvL3JlbWFpbmluZyBjb3VudCB3aXRob3V0IE9iamVjdHMgZm9sZGVyCi0gICAgdG9rID0gc3RydG9rKE5VTEwsICIvIik7IC8vIHNraXAgb2JqZWN0cyBmb2xkZXIKLSAgfQotCi0gIHN0YXJ0U2VydmVyKCk7Ci0KLSAgLy8gZm9yIGV2ZXJ5IGZvbGRlciAod2hpY2ggaXMgYSBCcm93c2VQYXRoKSB3ZSB3YW50IHRvIGdldCB0aGUgbm9kZSBpZAotICBVQV9Ccm93c2VQYXRoICpicm93c2VQYXRocyA9IHN0YXRpY19jYXN0PFVBX0Jyb3dzZVBhdGggKj4oVUFfQXJyYXlfbmV3KGZvbGRlckNudCoyLCAmVUFfVFlQRVNbVUFfVFlQRVNfQlJPV1NFUEFUSF0pKTsKLQotICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGZvbGRlckNudDsgaSsrKSB7Ci0gICAgVUFfQnJvd3NlUGF0aF9pbml0KCZicm93c2VQYXRoc1tpXSk7Ci0gICAgaWYgKHN0YXJ0aW5nTm9kZSAhPSBOVUxMKQotICAgICAgYnJvd3NlUGF0aHNbaV0uc3RhcnRpbmdOb2RlID0gKnN0YXJ0aW5nTm9kZTsKLSAgICBlbHNlCi0gICAgICBicm93c2VQYXRoc1tpXS5zdGFydGluZ05vZGUgPSBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9PQkpFQ1RTRk9MREVSKTsKLSAgICBicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNTaXplID0gaSArIDE7Ci0KLSAgICBicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHMgPSBzdGF0aWNfY2FzdDxVQV9SZWxhdGl2ZVBhdGhFbGVtZW50ICo+KFVBX0FycmF5X25ldyhicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNTaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlVBX1RZUEVTW1VBX1RZUEVTX1JFTEFUSVZFUEFUSEVMRU1FTlRdKSk7Ci0KLSAgICBmb3IgKHVuc2lnbmVkIGludCBqID0gMDsgaiA8PSBpOyBqKyspIHsKLQotICAgICAgaWYgKGogPCBpKSB7Ci0gICAgICAgIC8vIGp1c3QgY29weSBmcm9tIGJlZm9yZQotICAgICAgICBVQV9SZWxhdGl2ZVBhdGhFbGVtZW50X2NvcHkoJmJyb3dzZVBhdGhzW2kgLSAxXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNbal0sICZicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNbal0pOwotICAgICAgICBjb250aW51ZTsKLSAgICAgIH0KLQotICAgICAgLy8gdGhlIGxhc3QgZWxlbWVudCBpcyBhIG5ldyBvbmUKLQotICAgICAgVUFfUmVsYXRpdmVQYXRoRWxlbWVudF9pbml0KCZicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNbal0pOwotICAgICAgYnJvd3NlUGF0aHNbaV0ucmVsYXRpdmVQYXRoLmVsZW1lbnRzW2pdLmlzSW52ZXJzZSA9IFVBX0ZBTFNFOwotCi0gICAgICAvLyBzcGxpdCB0aGUgcXVhbGlmaWVkIG5hbWUKLSAgICAgIGNoYXIgKnNwbGl0UG9zID0gdG9rOwotICAgICAgd2hpbGUgKCpzcGxpdFBvcyAmJiAqc3BsaXRQb3MgIT0gJzonKSB7Ci0gICAgICAgIHNwbGl0UG9zKys7Ci0gICAgICB9Ci0KLSAgICAgIC8vIGRlZmF1bHQgbmFtZXNwYWNlIGlzIDEKLSAgICAgIFVBX1VJbnQxNiBucyA9IDE7Ci0gICAgICBjaGFyICp0YXJnZXROYW1lID0gdG9rOwotCi0gICAgICBpZiAoKnNwbGl0UG9zKSB7Ci0gICAgICAgIC8vIG5hbWVzcGFjZSBnaXZlbgotICAgICAgICBucyA9IHN0YXRpY19jYXN0PFVBX1VJbnQxNj4oYXRvaSh0b2spKTsKLSAgICAgICAgdGFyZ2V0TmFtZSA9ICsrc3BsaXRQb3M7Ci0gICAgICB9Ci0gICAgICBicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNbal0udGFyZ2V0TmFtZSA9IFVBX1FVQUxJRklFRE5BTUVfQUxMT0MobnMsIHRhcmdldE5hbWUpOwotICAgIH0KLSAgICB0b2sgPSBzdHJ0b2soTlVMTCwgIi8iKTsKLSAgfQotCi0gIC8vIHNhbWUgYnJvd3NlIHBhdGhzLCBidXQgaW52ZXJzZSByZWZlcmVuY2UsIHRvIGNoZWNrIGJvdGggZGlyZWN0aW9ucwotICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGZvbGRlckNudDsgaSsrKSB7Ci0gICAgVUFfQnJvd3NlUGF0aF9jb3B5KCZicm93c2VQYXRoc1tpXSwgJmJyb3dzZVBhdGhzW2ZvbGRlckNudCtpXSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBicm93c2VQYXRoc1tmb2xkZXJDbnQraV0ucmVsYXRpdmVQYXRoLmVsZW1lbnRzU2l6ZTsgaisrKSB7Ci0gICAgICBicm93c2VQYXRoc1tmb2xkZXJDbnQraV0ucmVsYXRpdmVQYXRoLmVsZW1lbnRzW2pdLmlzSW52ZXJzZSA9ICFicm93c2VQYXRoc1tmb2xkZXJDbnQraV0ucmVsYXRpdmVQYXRoLmVsZW1lbnRzW2pdLmlzSW52ZXJzZTsKLSAgICB9Ci0gIH0KLQotICB7Ci0gICAgLy8gb3RoZXIgdGhyZWFkIG1heSBjdXJyZW50bHkgY3JlYXRlIG5vZGVzIGZvciB0aGUgc2FtZSBwYXRoLCB0aHVzIG11dGV4Ci0gICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKHRoaXMtPmdldE5vZGVGb3JQYXRoTXV0ZXgpOwotCi0gICAgVUFfQnJvd3NlUGF0aFJlc3VsdCogYnJvd3NlUGF0aHNSZXN1bHRzID0gTlVMTDsKLQotICAgIGlmKDAgIT0gY2xpZW50SW5pdGlhbGl6ZWQpewotCi0gICAgICBVQV9UcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QgcmVxdWVzdDsKLSAgICAgIFVBX1RyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UgcmVzcG9uc2U7Ci0KLSAgICAgIFVBX1RyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdF9pbml0KCZyZXF1ZXN0KTsKLQotICAgICAgcmVxdWVzdC5icm93c2VQYXRocyA9IGJyb3dzZVBhdGhzOwotICAgICAgcmVxdWVzdC5icm93c2VQYXRoc1NpemUgPSBmb2xkZXJDbnQgKiAyOwotCi0gICAgICByZXNwb25zZSA9IFVBX0NsaWVudF9TZXJ2aWNlX3RyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzKGNsaWVudEluaXRpYWxpemVkLCByZXF1ZXN0KTsKLQotICAgICAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSByZXNwb25zZS5yZXNwb25zZUhlYWRlci5zZXJ2aWNlUmVzdWx0OwotCi0gICAgICBpZihyZXRWYWwgIT0gVUFfU1RBVFVTQ09ERV9HT09EKXsKLSAgICAgICAgREVWTE9HX0VSUk9SKCJPUEMgVUE6IENvdWxkIG5vdCB0cmFuc2xhdGUgYnJvd3NlIHBhdGhzIGZvciAnJXMnIHRvIG5vZGUgSURzLiBFcnJvcjogJXNcbiIsIGZ1bGxQYXRoU3RyaW5nLmdldFZhbHVlKCksIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKLSAgICAgIH0KLQotICAgICAgaWYocmVzcG9uc2UucmVzdWx0c1NpemUgIT0gZm9sZGVyQ250ICogMil7Ci0gICAgICAgIERFVkxPR19FUlJPUigiT1BDIFVBOiBDb3VsZCBub3QgdHJhbnNsYXRlIGJyb3dzZSBwYXRocyBmb3IgJyVzJyB0byBub2RlIElEcy4gcmVzdWx0U2l6ZSAoJWQpICE9IGV4cGVjdGVkIGNvdW50ICglZClcbiIsIGZ1bGxQYXRoU3RyaW5nLmdldFZhbHVlKCksIHJlc3BvbnNlLnJlc3VsdHNTaXplLCBmb2xkZXJDbnQpOwotICAgICAgICByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0JBRFVORVhQRUNURURFUlJPUjsKLSAgICAgIH0KLQotICAgICAgaWYocmV0VmFsID09IFVBX1NUQVRVU0NPREVfR09PRCl7Ci0gICAgICAgIGJyb3dzZVBhdGhzUmVzdWx0cyA9IHJlc3BvbnNlLnJlc3VsdHM7Ci0gICAgICAgIC8vVGhlIGZvbGxvd2luZyBhdm9pZHMgdGhlIGJyb3dzZVBhdGhzIHRvIGJlIGRlbGV0ZWQgd2hlbiBkZWxldGluZyB0aGUgcmVxdWVzdC4gYnJvd3NlUGF0aHMgYXJlIG5lZWRlZCBsYXRlcgotICAgICAgICByZXF1ZXN0LmJyb3dzZVBhdGhzID0gTlVMTDsKLSAgICAgICAgcmVxdWVzdC5icm93c2VQYXRoc1NpemUgPSAwOwotCi0gICAgICAgIC8vVGhlIGZvbGxvd2luZyBhdm9pZHMgdGhlIGJyb3dzZVBhdGhzUmVzdWx0cyB0byBiZSBkZWxldGVkIHdoZW4gZGVsZXRpbmcgdGhlIHJlcXVlc3QuIGJyb3dzZVBhdGhzUmVzdWx0cyBhcmUgbmVlZGVkIGxhdGVyCi0gICAgICAgIHJlc3BvbnNlLnJlc3VsdHMgPSBOVUxMOwotICAgICAgICByZXNwb25zZS5yZXN1bHRzU2l6ZSA9IDA7Ci0KLSAgICAgIH0KLQotICAgICAgLy9pZiBhbiBlcnJvciBvY3VycmVkLCBicm93c2VQYXRocyBhbmQgYnJvd3NlUGF0aHNSZXN1bHRzIHdpbGwgYmUgZGVsZXRlZCBpbnNpZGUKLSAgICAgIFVBX1RyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdF9kZWxldGVNZW1iZXJzKCZyZXF1ZXN0KTsKLSAgICAgIFVBX1RyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2VfZGVsZXRlTWVtYmVycygmcmVzcG9uc2UpOwotCi0gICAgICBpZihyZXRWYWwgIT0gVUFfU1RBVFVTQ09ERV9HT09EKXsKLSAgICAgICAgcmV0dXJuIHJldFZhbDsKLSAgICAgIH0KLSAgICB9Ci0gICAgZWxzZXsKLSAgICAgIGJyb3dzZVBhdGhzUmVzdWx0cyA9IHN0YXRpY19jYXN0PFVBX0Jyb3dzZVBhdGhSZXN1bHQgKj4oVUFfQXJyYXlfbmV3KGZvbGRlckNudCoyLCAmVUFfVFlQRVNbVUFfVFlQRVNfQlJPV1NFUEFUSFJFU1VMVF0pKTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBmb2xkZXJDbnQgKiAyOyBpKyspewotICAgICAgICBicm93c2VQYXRoc1Jlc3VsdHNbaV0gPSBVQV9TZXJ2ZXJfdHJhbnNsYXRlQnJvd3NlUGF0aFRvTm9kZUlkcyh1YVNlcnZlciwgJmJyb3dzZVBhdGhzW2ldKTsKLSAgICAgIH0KLSAgICB9Ci0KLSAgICAqZm91bmROb2RlSWQgPSBOVUxMOwotICAgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOwotCi0gICAgaW50IGZvdW5kRm9sZGVyT2Zmc2V0ID0gLTE7Ci0gICAgaWYgKGJyb3dzZVBhdGhzUmVzdWx0c1tmb2xkZXJDbnQgLSAxXS5zdGF0dXNDb2RlID09IFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgICAgZm91bmRGb2xkZXJPZmZzZXQgPSAwOwotICAgIH0gZWxzZSBpZiAoYnJvd3NlUGF0aHNSZXN1bHRzW2ZvbGRlckNudCoyIC0gMV0uc3RhdHVzQ29kZSA9PSBVQV9TVEFUVVNDT0RFX0dPT0QpIHsKLSAgICAgIGZvdW5kRm9sZGVyT2Zmc2V0ID0gZm9sZGVyQ250OwotICAgIH0KLQotICAgIGlmIChmb3VuZEZvbGRlck9mZnNldCA+PSAwKSB7Ci0gICAgICAvLyBhbGwgbm9kZXMgZXhpc3QsIHNvIGp1c3QgY29weSB0aGUgbm9kZSBpZHMKLSAgICAgICpmb3VuZE5vZGVJZCA9IFVBX05vZGVJZF9uZXcoKTsKLSAgICAgIFVBX05vZGVJZF9jb3B5KCZicm93c2VQYXRoc1Jlc3VsdHNbZm91bmRGb2xkZXJPZmZzZXQgKyBmb2xkZXJDbnQgLSAxXS50YXJnZXRzWzBdLnRhcmdldElkLm5vZGVJZCwgKmZvdW5kTm9kZUlkKTsKLSAgICAgIGlmIChwYXJlbnROb2RlSWQgJiYgZm9sZGVyQ250ID49IDIpIHsKLSAgICAgICAgKnBhcmVudE5vZGVJZCA9IFVBX05vZGVJZF9uZXcoKTsKLSAgICAgICAgVUFfTm9kZUlkX2NvcHkoJmJyb3dzZVBhdGhzUmVzdWx0c1tmb3VuZEZvbGRlck9mZnNldCArIGZvbGRlckNudCAtIDJdLnRhcmdldHNbMF0udGFyZ2V0SWQubm9kZUlkLCAqcGFyZW50Tm9kZUlkKTsKLSAgICAgIH0gZWxzZSBpZiAocGFyZW50Tm9kZUlkICYmICFzdGFydGluZ05vZGUpIHsKLSAgICAgICAgKnBhcmVudE5vZGVJZCA9IFVBX05vZGVJZF9uZXcoKTsKLSAgICAgICAgKipwYXJlbnROb2RlSWQgPSBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9PQkpFQ1RTRk9MREVSKTsKLSAgICAgIH0KLSAgICAgIGlmIChub2RlSWRzQWxvbmdQYXRoKSB7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZm9sZGVyQ250OyBpKyspIHsKLSAgICAgICAgICBVQV9Ob2RlSWQgKnRtcCA9IFVBX05vZGVJZF9uZXcoKTsKLSAgICAgICAgICBVQV9Ob2RlSWRfY29weSgmYnJvd3NlUGF0aHNSZXN1bHRzW2ZvdW5kRm9sZGVyT2Zmc2V0ICsgaV0udGFyZ2V0c1swXS50YXJnZXRJZC5ub2RlSWQsIHRtcCk7Ci0gICAgICAgICAgbm9kZUlkc0Fsb25nUGF0aC0+cHVzaEJhY2sodG1wKTsKLSAgICAgICAgfQotICAgICAgfQotICAgIH0gZWxzZSBpZiAoY3JlYXRlSWZOb3RGb3VuZCkgewotICAgICAgLy8gbGFzdCBub2RlIGRvZXMgbm90IGV4aXN0LCBhbmQgd2Ugc2hvdWxkIGNyZWF0ZSB0aGUgcGF0aAotICAgICAgLy8gc2tpcCBsYXN0IG5vZGUgYmVjYXVzZSB3ZSBhbHJlYWR5IGtub3cgdGhhdCBpdCBkb2Vzbid0IGV4aXN0Ci0KLSAgICAgICpmb3VuZE5vZGVJZCA9IFVBX05vZGVJZF9uZXcoKTsKLSAgICAgIGlmIChwYXJlbnROb2RlSWQgJiYgZm9sZGVyQ250ID49IDIpIHsKLSAgICAgICAgKnBhcmVudE5vZGVJZCA9IFVBX05vZGVJZF9uZXcoKTsKLSAgICAgIH0KLSAgICAgIGZvdW5kRm9sZGVyT2Zmc2V0ID0gMDsKLSAgICAgIC8vIG5vIHVuc2lnbmVkLCBiZWNhdXNlIHdlIG5lZWQgdG8gY2hlY2sgZm9yIC0xCi0gICAgICBpbnQgaTsKLSAgICAgIGZvciAoaSA9IGZvbGRlckNudCAtIDI7IGkgPj0gMDsgaS0tKSB7Ci0gICAgICAgIC8vIGZpbmQgZmlyc3QgZXhpc3Rpbmcgbm9kZS4gQ2hlY2sgZm9yIGlzSW52ZXJzZSA9IFRSVUUKLSAgICAgICAgaWYgKGJyb3dzZVBhdGhzUmVzdWx0c1tpXS5zdGF0dXNDb2RlID09IFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgICAgICAgIGZvdW5kRm9sZGVyT2Zmc2V0ID0gMDsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAvLyBhbmQgZm9yIGlzSW52ZXJzZSA9IEZBTFNFCi0gICAgICAgIGlmIChicm93c2VQYXRoc1Jlc3VsdHNbZm9sZGVyQ250ICsgaV0uc3RhdHVzQ29kZSA9PSBVQV9TVEFUVVNDT0RFX0dPT0QpIHsKLSAgICAgICAgICBmb3VuZEZvbGRlck9mZnNldCA9IGZvbGRlckNudDsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgfQotICAgICAgZm9yICg7IGkgPj0gMDsgaS0tKSB7Ci0gICAgICAgIC8vIG5vdyB3ZSBmb3VuZCB0aGUgZmlyc3QgZXhpc3Rpbmcgbm9kZQotICAgICAgICBpZiAoYnJvd3NlUGF0aHNSZXN1bHRzW2ZvdW5kRm9sZGVyT2Zmc2V0K2ldLnRhcmdldHNTaXplID09IDApIHsKLSAgICAgICAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogQ291bGQgbm90IHRyYW5zbGF0ZSBicm93c2UgcGF0aHMgZm9yICclcycgdG8gbm9kZSBJRHMuIHRhcmdldCBzaXplIGlzIDAuXG4iLCBmdWxsUGF0aFN0cmluZy5nZXRWYWx1ZSgpKTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBpZiAoYnJvd3NlUGF0aHNSZXN1bHRzW2ZvdW5kRm9sZGVyT2Zmc2V0K2ldLnRhcmdldHNTaXplID4gMSkgewotICAgICAgICAgIERFVkxPR19XQVJOSU5HKCJPUEMgVUE6IFRoZSBnaXZlbiBicm93c2UgcGF0aCAnJXMnIGhhcyBtdWx0aXBsZSByZXN1bHRzIGZvciB0aGUgc2FtZSBwYXRoLiBUYWtpbmcgdGhlIGZpcnN0IHJlc3VsdC5cbiIsIGZ1bGxQYXRoU3RyaW5nLmdldFZhbHVlKCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gZm91bmROb2RlSWQgY29udGFpbnMgdGhlIElEIG9mIHRoZSBwYXJlbnQgd2hpY2ggZXhpc3RzCi0gICAgICAgIFVBX05vZGVJZF9jb3B5KCZicm93c2VQYXRoc1Jlc3VsdHNbZm91bmRGb2xkZXJPZmZzZXQraV0udGFyZ2V0c1swXS50YXJnZXRJZC5ub2RlSWQsICpmb3VuZE5vZGVJZCk7Ci0gICAgICAgIGlmIChwYXJlbnROb2RlSWQgJiYgZm9sZGVyQ250ID49IDIpIHsKLSAgICAgICAgICBVQV9Ob2RlSWRfY29weSgmYnJvd3NlUGF0aHNSZXN1bHRzW2ZvdW5kRm9sZGVyT2Zmc2V0K2ldLnRhcmdldHNbMF0udGFyZ2V0SWQubm9kZUlkLCAqcGFyZW50Tm9kZUlkKTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICAgIH0KLQotICAgICAgaWYgKGkgPT0gLTEpIHsKLSAgICAgICAgLy8gbm8gbm9kZSBvZiB0aGUgcGF0aCBleGlzdHMsIHRodXMgcGFyZW50IGlzIE9iamVjdHMgZm9sZGVyCi0gICAgICAgIFVBX05vZGVJZF9jb3B5KCZicm93c2VQYXRoc1swXS5zdGFydGluZ05vZGUsICpmb3VuZE5vZGVJZCk7Ci0gICAgICAgIGlmIChwYXJlbnROb2RlSWQgJiYgZm9sZGVyQ250ID49IDIpIHsKLSAgICAgICAgICAqKnBhcmVudE5vZGVJZCA9IFVBX05PREVJRF9OVU1FUklDKDAsIFVBX05TMElEX09CSkVDVFNGT0xERVIpOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICBpKys7Ci0KLSAgICAgIGlmIChub2RlSWRzQWxvbmdQYXRoKSB7Ci0gICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgaTsgaisrKSB7Ci0gICAgICAgICAgVUFfTm9kZUlkICp0bXAgPSBVQV9Ob2RlSWRfbmV3KCk7Ci0gICAgICAgICAgVUFfTm9kZUlkX2NvcHkoJmJyb3dzZVBhdGhzUmVzdWx0c1tmb3VuZEZvbGRlck9mZnNldCtqXS50YXJnZXRzWzBdLnRhcmdldElkLm5vZGVJZCwgdG1wKTsKLSAgICAgICAgICBub2RlSWRzQWxvbmdQYXRoLT5wdXNoQmFjayh0bXApOwotICAgICAgICB9Ci0gICAgICB9Ci0KLSAgICAgIC8vIGNyZWF0ZSBhbGwgdGhlIG5vZGVzIG9uIHRoZSB3YXkKLSAgICAgIGZvciAodW5zaWduZWQgaW50IGogPSAodW5zaWduZWQgaW50KSBpOyBqIDwgZm9sZGVyQ250OyBqKyspIHsKLQotICAgICAgICAvLyB0aGUgbGFzdCBicm93c2UgcGF0aCBjb250YWlucyBhbGwgcmVsYXRpdmVQYXRoIGVsZW1lbnRzLgotICAgICAgICBVQV9RdWFsaWZpZWROYW1lICp0YXJnZXROYW1lID0gJmJyb3dzZVBhdGhzW2ZvbGRlckNudCAtIDFdLnJlbGF0aXZlUGF0aC5lbGVtZW50c1tqXS50YXJnZXROYW1lOwotCi0gICAgICAgIFVBX09iamVjdEF0dHJpYnV0ZXMgb0F0dHI7Ci0gICAgICAgIFVBX09iamVjdEF0dHJpYnV0ZXNfaW5pdCgmb0F0dHIpOwotICAgICAgICBjaGFyIGxvY2FsZVtdID0gIiI7Ci0gICAgICAgIGNoYXIgKm5vZGVOYW1lID0gc3RhdGljX2Nhc3Q8Y2hhciAqPihmb3J0ZV9tYWxsb2Moc2l6ZW9mKGNoYXIpICogKHRhcmdldE5hbWUtPm5hbWUubGVuZ3RoICsgMSkpKTsKLSAgICAgICAgbWVtY3B5KG5vZGVOYW1lLCB0YXJnZXROYW1lLT5uYW1lLmRhdGEsIHRhcmdldE5hbWUtPm5hbWUubGVuZ3RoKTsKLSAgICAgICAgbm9kZU5hbWVbdGFyZ2V0TmFtZS0+bmFtZS5sZW5ndGhdID0gMDsKLSAgICAgICAgb0F0dHIuZGVzY3JpcHRpb24gPSBVQV9MT0NBTElaRURURVhUX0FMTE9DKGxvY2FsZSwgbm9kZU5hbWUpOwotICAgICAgICBvQXR0ci5kaXNwbGF5TmFtZSA9IFVBX0xPQ0FMSVpFRFRFWFRfQUxMT0MobG9jYWxlLCBub2RlTmFtZSk7Ci0gICAgICAgIGZvcnRlX2ZyZWUobm9kZU5hbWUpOwotCi0gICAgICAgIFVBX05vZGVJZCBjcmVhdGlvblR5cGU7Ci0gICAgICAgIGlmIChuZXdOb2RlVHlwZSA9PSBOVUxMIHx8IGogPCBmb2xkZXJDbnQgLSAxKQotICAgICAgICAgIC8vIHRoZSBuZXdOb2RlVHlwZSBpcyBvbmx5IHVzZWQgZm9yIHRoZSBsYXN0IG5vZGUKLSAgICAgICAgICBjcmVhdGlvblR5cGUgPSBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9GT0xERVJUWVBFKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgIGNyZWF0aW9uVHlwZSA9ICpuZXdOb2RlVHlwZTsKLQotICAgICAgICBpZiAoKHJldFZhbCA9IFVBX1NlcnZlcl9hZGRPYmplY3ROb2RlKHVhU2VydmVyLCBVQV9OT0RFSURfTlVNRVJJQyh0YXJnZXROYW1lLT5uYW1lc3BhY2VJbmRleCwgMCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKipmb3VuZE5vZGVJZCwgVUFfTk9ERUlEX05VTUVSSUMoMCwgVUFfTlMwSURfSEFTQ09NUE9ORU5UKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqdGFyZ2V0TmFtZSwgY3JlYXRpb25UeXBlLCBvQXR0ciwgTlVMTCwgKmZvdW5kTm9kZUlkKSkgIT0gVUFfU1RBVFVTQ09ERV9HT09EKSB7Ci0gICAgICAgICAgREVWTE9HX0VSUk9SKCJPUEMgVUE6IENvdWxkIG5vdCBhZGRPYmplY3ROb2RlLiBFcnJvcjogJXNcbiIsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKLSAgICAgICAgICBVQV9Ob2RlSWRfZGVsZXRlKCpmb3VuZE5vZGVJZCk7Ci0gICAgICAgICAgaWYgKHBhcmVudE5vZGVJZCAmJiBmb2xkZXJDbnQgPj0gMikgewotICAgICAgICAgICAgVUFfTm9kZUlkX2RlbGV0ZSgqcGFyZW50Tm9kZUlkKTsKLSAgICAgICAgICB9Ci0KLSAgICAgICAgICBVQV9PYmplY3RBdHRyaWJ1dGVzX2RlbGV0ZU1lbWJlcnMoJm9BdHRyKTsKLSAgICAgICAgICAqZm91bmROb2RlSWQgPSBOVUxMOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKG5vZGVJZHNBbG9uZ1BhdGgpIHsKLSAgICAgICAgICBVQV9Ob2RlSWQgKnRtcCA9IFVBX05vZGVJZF9uZXcoKTsKLSAgICAgICAgICBVQV9Ob2RlSWRfY29weSgqZm91bmROb2RlSWQsIHRtcCk7Ci0gICAgICAgICAgbm9kZUlkc0Fsb25nUGF0aC0+cHVzaEJhY2sodG1wKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChqID09IGZvbGRlckNudCAtIDEgJiYgcGFyZW50Tm9kZUlkKSB7Ci0gICAgICAgICAgLy8gZm91bmROb2RlSWQgd2lsbCBiZSBvdmVyd3JpdHRlbiBpbiBuZXh0IGl0ZXJhdGlvbgotICAgICAgICAgIFVBX05vZGVJZF9jb3B5KCpmb3VuZE5vZGVJZCwgKnBhcmVudE5vZGVJZCk7Ci0gICAgICAgIH0KLQotCi0gICAgICAgIFVBX09iamVjdEF0dHJpYnV0ZXNfZGVsZXRlTWVtYmVycygmb0F0dHIpOwotICAgICAgfQotICAgIH0KLQotICAgIFVBX0FycmF5X2RlbGV0ZShicm93c2VQYXRoc1Jlc3VsdHMsIGZvbGRlckNudCAqIDIsICZVQV9UWVBFU1tVQV9UWVBFU19CUk9XU0VQQVRIUkVTVUxUXSk7Ci0gICAgVUFfQXJyYXlfZGVsZXRlKGJyb3dzZVBhdGhzLCBmb2xkZXJDbnQgKiAyLCAmVUFfVFlQRVNbVUFfVFlQRVNfQlJPV1NFUEFUSF0pOwotCi0gICAgcmV0dXJuIHJldFZhbDsKLSAgfQotfQotCi0KLUNTeW5jT2JqZWN0ICpDT1BDX1VBX0hhbmRsZXI6OmdldE11dGV4Rm9yQ2xpZW50KGNvbnN0IFVBX0NsaWVudCAqY2xpZW50KSB7Ci0gIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwICo+OjpJdGVyYXRvciBpdGVyID0gY2xpZW50cy5iZWdpbigpOyBpdGVyICE9IGNsaWVudHMuZW5kKCk7ICsraXRlcikgewotICAgIGlmICgoKml0ZXIpLT5jbGllbnQgPT0gY2xpZW50KQotICAgICAgcmV0dXJuICgqaXRlciktPmNsaWVudE11dGV4OwotICB9Ci0gIHJldHVybiBOVUxMOwotfQotCi1VQV9DbGllbnQgKkNPUENfVUFfSGFuZGxlcjo6Z2V0Q2xpZW50Rm9yRW5kcG9pbnQoY29uc3QgY2hhciAqZW5kcG9pbnRVcmwsIGJvb2wgY3JlYXRlSWZOb3RGb3VuZCwgQ1N5bmNPYmplY3QgKipjbGllbnRNdXRleCkgewotCi0gIC8vIHJlbW92ZSB0YWlsaW5nIHNsYXNoCi0gIHNpemVfdCB1cmxMZW4gPSBzdHJsZW4oZW5kcG9pbnRVcmwpOwotICB3aGlsZSAodXJsTGVuICYmIGVuZHBvaW50VXJsW3VybExlbiAtIDFdID09ICcvJykgewotICAgIHVybExlbi0tOwotICB9Ci0KLSAgZm9yIChDU2luZ2x5TGlua2VkTGlzdDxzdHJ1Y3QgVUFfQ2xpZW50RW5kcG9pbnRNYXAgKj46Okl0ZXJhdG9yIGl0ZXIgPSBjbGllbnRzLmJlZ2luKCk7IGl0ZXIgIT0gY2xpZW50cy5lbmQoKTsgKytpdGVyKSB7Ci0gICAgaWYgKHN0cm5jbXAoKCppdGVyKS0+ZW5kcG9pbnRVcmwsIGVuZHBvaW50VXJsLCB1cmxMZW4pID09IDApIHsKLSAgICAgIGlmIChjbGllbnRNdXRleCkKLSAgICAgICAgKmNsaWVudE11dGV4ID0gKCppdGVyKS0+Y2xpZW50TXV0ZXg7Ci0gICAgICByZXR1cm4gKCppdGVyKS0+Y2xpZW50OwotICAgIH0KLSAgfQotCi0gIGlmICghY3JlYXRlSWZOb3RGb3VuZCkKLSAgICByZXR1cm4gTlVMTDsKLQotICBzdHJ1Y3QgVUFfQ2xpZW50RW5kcG9pbnRNYXAgKmNsaWVudE1hcCA9IHN0YXRpY19jYXN0PFVBX0NsaWVudEVuZHBvaW50TWFwICo+KGZvcnRlX21hbGxvYyhzaXplb2Yoc3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwKSkpOwotCi0gIFVBX0NsaWVudENvbmZpZyBjb25maWcgPSBVQV9DbGllbnRDb25maWdfZGVmYXVsdDsKLSAgY29uZmlnLnRpbWVvdXQgPSA4MDAwOwotCi0gIFVBX0NsaWVudCAqY2xpZW50ID0gVUFfQ2xpZW50X25ldyhjb25maWcpOwotCi0gIGNsaWVudE1hcC0+Y2xpZW50ID0gY2xpZW50OwotICBjbGllbnRNYXAtPmVuZHBvaW50VXJsID0gc3RhdGljX2Nhc3Q8Y2hhciAqPihmb3J0ZV9tYWxsb2Moc2l6ZW9mKGNoYXIpICogKHN0cmxlbihlbmRwb2ludFVybCkgKyAxKSkpOwotICBzdHJjcHkoY2xpZW50TWFwLT5lbmRwb2ludFVybCwgZW5kcG9pbnRVcmwpOwotICBjbGllbnRNYXAtPmNsaWVudE11dGV4ID0gc3RhdGljX2Nhc3Q8Q1N5bmNPYmplY3QgKj4oZm9ydGVfbWFsbG9jKHNpemVvZihDU3luY09iamVjdCkpKTsKLSAgKmNsaWVudE1hcC0+Y2xpZW50TXV0ZXggPSBDU3luY09iamVjdCgpOwotCi0gIGlmIChjbGllbnRNdXRleCkKLSAgICAqY2xpZW50TXV0ZXggPSBjbGllbnRNYXAtPmNsaWVudE11dGV4OwotCi0gIC8vIHN0b3JlIGl0IGluIHRoZSBsaXN0IHNvIHdlIGNhbiBkZWxldGUgaXQgdG8gYXZvaWQgbWVtIGxlYWtzCi0gIGNsaWVudHMucHVzaEJhY2soY2xpZW50TWFwKTsKLQotICByZXR1cm4gY2xpZW50OwotfQotCi1VQV9TdGF0dXNDb2RlIENPUENfVUFfSGFuZGxlcjo6Y3JlYXRlVmFyaWFibGVOb2RlKGNvbnN0IFVBX05vZGVJZCAqcGFyZW50Tm9kZSwgY29uc3QgY2hhciAqdmFyTmFtZSwgY29uc3QgVUFfRGF0YVR5cGUgKnZhclR5cGUsIHZvaWQgKnZhclZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBVQV9Ob2RlSWQgKnJldHVyblZhck5vZGVJZCwgYm9vbCBhbGxvd1dyaXRlKSB7Ci0KLQotICAvLyBzZXQgVUEgTm9kZUlkIGF0dHJpYnV0ZXMKLSAgVUFfUXVhbGlmaWVkTmFtZSB2YXJCcm93c2VOYW1lID0gVUFfUVVBTElGSUVETkFNRV9BTExPQygxLCB2YXJOYW1lKTsKLQotICBVQV9Ob2RlSWQgdHlwZURlZmluaXRpb24gPSBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9CQVNFREFUQVZBUklBQkxFVFlQRSk7Ci0KLSAgLy8gY3JlYXRlIHZhcmlhYmxlIGF0dHJpYnV0ZXMKLSAgVUFfVmFyaWFibGVBdHRyaWJ1dGVzIHZhcl9hdHRyOwotICBVQV9WYXJpYWJsZUF0dHJpYnV0ZXNfaW5pdCgmdmFyX2F0dHIpOwotCi0gIGNoYXIgbG9jYWxlW10gPSAiZW4tVVMiOwotICBjaGFyIGRlc2NyaXB0aW9uW10gPSAiRGlnaXRhbCBwb3J0IG9mIEZ1bmN0aW9uIEJsb2NrIjsKLQotICB2YXJfYXR0ci5kYXRhVHlwZSA9IHZhclR5cGUtPnR5cGVJZDsKLSAgdmFyX2F0dHIudmFsdWVSYW5rID0gLTE7IC8qIHZhbHVlIGlzIGEgc2NhbGFyICovCi0gIHZhcl9hdHRyLmRpc3BsYXlOYW1lID0gVUFfTE9DQUxJWkVEVEVYVF9BTExPQyhsb2NhbGUsIHZhck5hbWUpOwotICB2YXJfYXR0ci5kZXNjcmlwdGlvbiA9IFVBX0xPQ0FMSVpFRFRFWFQobG9jYWxlLCBkZXNjcmlwdGlvbik7Ci0gIHZhcl9hdHRyLnVzZXJBY2Nlc3NMZXZlbCA9IFVBX0FDQ0VTU0xFVkVMTUFTS19SRUFEOwotICBpZiAoYWxsb3dXcml0ZSkKLSAgICB2YXJfYXR0ci51c2VyQWNjZXNzTGV2ZWwgfD0gVUFfQUNDRVNTTEVWRUxNQVNLX1dSSVRFOwotICB2YXJfYXR0ci5hY2Nlc3NMZXZlbCA9IHZhcl9hdHRyLnVzZXJBY2Nlc3NMZXZlbDsKLSAgVUFfVmFyaWFudF9zZXRTY2FsYXIoJnZhcl9hdHRyLnZhbHVlLCB2YXJWYWx1ZSwgdmFyVHlwZSk7Ci0KLSAgVUFfTm9kZUlkICpyZXR1cm5Ob2RlSWQgPSBVQV9Ob2RlSWRfbmV3KCk7Ci0KLSAgLy8gYWRkIFVBIFZhcmlhYmxlIE5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlCi0gIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU2VydmVyX2FkZFZhcmlhYmxlTm9kZSgKLSAgICAgIHVhU2VydmVyLCAgICAgICAgICAgICAgICAgLy8gc2VydmVyCi0gICAgICBVQV9OT0RFSURfTlVNRVJJQygxLCAwKSwgICAgICAgICAgICAgICAgICAvLyByZXF1ZXN0ZWROZXdOb2RlSWQKLSAgICAgICpwYXJlbnROb2RlLCAgICAgICAgICAgICAgICAgLy8gcGFyZW50Tm9kZUlkCi0gICAgICBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9IQVNDT01QT05FTlQpLCAgICAgICAgICAgICAgLy8gcmVmZXJlbmNlVHlwZUlkICAgUmVmZXJlbmNlIHRvIHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSB2YXJpYWJsZSBub2RlCi0gICAgICB2YXJCcm93c2VOYW1lLCAgICAgICAgICAgICAgICAvLyBicm93c2VOYW1lCi0gICAgICB0eXBlRGVmaW5pdGlvbiwgICAgICAgICAgICAgICAvLyB0eXBlRGVmaW5pdGlvbgotICAgICAgdmFyX2F0dHIsICAgICAgICAgICAgICAgICAgICAgLy8gVmFyaWFibGUgYXR0cmlidXRlcwotICAgICAgTlVMTCwgICAgICAgICAgICAgICAgIC8vIGluc3RhbnRpYXRpb24gY2FsbGJhY2sKLSAgICAgIHJldHVybk5vZGVJZCk7ICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuIE5vZGUgSWQKLQotICBVQV9RdWFsaWZpZWROYW1lX2RlbGV0ZU1lbWJlcnMoJnZhckJyb3dzZU5hbWUpOwotICBVQV9Mb2NhbGl6ZWRUZXh0X2RlbGV0ZU1lbWJlcnMoJnZhcl9hdHRyLmRpc3BsYXlOYW1lKTsKLQotICBpZiAocmV0VmFsID09IFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgIHJldFZhbCA9IFVBX05vZGVJZF9jb3B5KHJldHVybk5vZGVJZCwgcmV0dXJuVmFyTm9kZUlkKTsKLSAgfSBlbHNlIHsKLSAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogQWRkcmVzc1NwYWNlIGFkZGluZyBWYXJpYWJsZSBOb2RlICVzIGZhaWxlZC4gRXJyb3I6ICVzXG4iLCB2YXJOYW1lLCBVQV9TdGF0dXNDb2RlX25hbWUocmV0VmFsKSk7Ci0gIH0KLSAgVUFfTm9kZUlkX2RlbGV0ZShyZXR1cm5Ob2RlSWQpOwotICByZXR1cm4gcmV0VmFsOwotfQotCi1VQV9TdGF0dXNDb2RlIENPUENfVUFfSGFuZGxlcjo6dXBkYXRlTm9kZVVzZXJBY2Nlc3NMZXZlbChjb25zdCBVQV9Ob2RlSWQgKm5vZGVJZCwgVUFfQnl0ZSBuZXdBY2Nlc3NMZXZlbCkgewotICByZXR1cm4gVUFfU2VydmVyX3dyaXRlQWNjZXNzTGV2ZWwodWFTZXJ2ZXIsICpub2RlSWQsIG5ld0FjY2Vzc0xldmVsKTsKLX0KLQotVUFfU3RhdHVzQ29kZSBDT1BDX1VBX0hhbmRsZXI6OmNyZWF0ZU1ldGhvZE5vZGUoY29uc3QgVUFfTm9kZUlkICpwYXJlbnROb2RlLCBVQV9VSW50MTYgbmFtZXNwYWNlSWR4LCBjb25zdCBjaGFyICptZXRob2ROYW1lLCBVQV9NZXRob2RDYWxsYmFjayBjYWxsYmFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNhbGxiYWNrSGFuZGxlLCB1bnNpZ25lZCBpbnQgaW5wdXRBcmd1bWVudHNTaXplLCBjb25zdCBVQV9Bcmd1bWVudCAqaW5wdXRBcmd1bWVudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb3V0cHV0QXJndW1lbnRzU2l6ZSwgY29uc3QgVUFfQXJndW1lbnQgKm91dHB1dEFyZ3VtZW50cywgVUFfTm9kZUlkICpyZXR1cm5Ob2RlSWQpIHsKLQotICBVQV9NZXRob2RBdHRyaWJ1dGVzIG1ldGhvZEF0dHJpYnV0ZXM7Ci0gIFVBX01ldGhvZEF0dHJpYnV0ZXNfaW5pdCgmbWV0aG9kQXR0cmlidXRlcyk7Ci0gIG1ldGhvZEF0dHJpYnV0ZXMuZGVzY3JpcHRpb24gPSBVQV9MT0NBTElaRURURVhUX0FMTE9DKCJlbi1VUyIsICJNZXRob2Qgd2hpY2ggY2FuIGJlIGNhbGxlZCIpOwotICBtZXRob2RBdHRyaWJ1dGVzLmRpc3BsYXlOYW1lID0gVUFfTE9DQUxJWkVEVEVYVF9BTExPQygiZW4tVVMiLCBtZXRob2ROYW1lKTsKLSAgbWV0aG9kQXR0cmlidXRlcy5leGVjdXRhYmxlID0gdHJ1ZTsKLSAgbWV0aG9kQXR0cmlidXRlcy51c2VyRXhlY3V0YWJsZSA9IHRydWU7Ci0gIFVBX1F1YWxpZmllZE5hbWUgYnJvd3NlTmFtZSA9IFVBX1FVQUxJRklFRE5BTUVfQUxMT0MobmFtZXNwYWNlSWR4LCBtZXRob2ROYW1lKTsKLSAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TZXJ2ZXJfYWRkTWV0aG9kTm9kZSh1YVNlcnZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFVBX05PREVJRF9OVU1FUklDKDEsIDApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBhcmVudE5vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9IQVNDT01QT05FTlQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJvd3NlTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZEF0dHJpYnV0ZXMsIGNhbGxiYWNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRBcmd1bWVudHNTaXplLCBpbnB1dEFyZ3VtZW50cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dEFyZ3VtZW50c1NpemUsIG91dHB1dEFyZ3VtZW50cywgY2FsbGJhY2tIYW5kbGUsIHJldHVybk5vZGVJZCk7Ci0gIFVBX1F1YWxpZmllZE5hbWVfZGVsZXRlTWVtYmVycygmYnJvd3NlTmFtZSk7Ci0gIFVBX0xvY2FsaXplZFRleHRfZGVsZXRlTWVtYmVycygmbWV0aG9kQXR0cmlidXRlcy5kZXNjcmlwdGlvbik7Ci0gIFVBX0xvY2FsaXplZFRleHRfZGVsZXRlTWVtYmVycygmbWV0aG9kQXR0cmlidXRlcy5kaXNwbGF5TmFtZSk7Ci0gIHJldHVybiByZXRWYWw7Ci19Ci0KLVVBX1N0YXR1c0NvZGUgQ09QQ19VQV9IYW5kbGVyOjp1cGRhdGVOb2RlVmFsdWUoY29uc3QgVUFfTm9kZUlkICpub2RlSWQsIGNvbnN0IENJRUNfQU5ZICpkYXRhLCBjb25zdCBVQV9UeXBlQ29udmVydCAqY29udmVydCkgewotICBVQV9WYXJpYW50ICpub2RlVmFsdWUgPSBVQV9WYXJpYW50X25ldygpOwotICBVQV9WYXJpYW50X2luaXQobm9kZVZhbHVlKTsKLQotICB2b2lkICp2YXJWYWx1ZSA9IFVBX25ldyhjb252ZXJ0LT50eXBlKTsKLSAgaWYgKCFjb252ZXJ0LT5nZXQoZGF0YSwgdmFyVmFsdWUpKSB7Ci0gICAgVUFfZGVsZXRlKHZhclZhbHVlLCBjb252ZXJ0LT50eXBlKTsKLSAgICByZXR1cm4gVUFfU1RBVFVTQ09ERV9CQURVTkVYUEVDVEVERVJST1I7Ci0gIH0KLQotICBVQV9WYXJpYW50X3NldFNjYWxhckNvcHkobm9kZVZhbHVlLCB2YXJWYWx1ZSwgY29udmVydC0+dHlwZSk7Ci0gIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU2VydmVyX3dyaXRlVmFsdWUodWFTZXJ2ZXIsICpub2RlSWQsICpub2RlVmFsdWUpOwotICBVQV9kZWxldGUodmFyVmFsdWUsIGNvbnZlcnQtPnR5cGUpOwotICBVQV9WYXJpYW50X2RlbGV0ZShub2RlVmFsdWUpOwotICByZXR1cm4gcmV0VmFsOwotfQotCi0KLVVBX1N0YXR1c0NvZGUgQ09QQ19VQV9IYW5kbGVyOjpyZWdpc3Rlck5vZGVDYWxsQmFjayhjb25zdCBVQV9Ob2RlSWQgKm5vZGVJZCwgZm9ydGU6OmNvbV9pbmZyYTo6Q0NvbUxheWVyICpjb21MYXllciwgY29uc3Qgc3RydWN0IFVBX1R5cGVDb252ZXJ0ICpjb252ZXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcG9ydEluZGV4KSB7Ci0gIC8vIG5lZWRzIG5ldywgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgcmVtb3ZlZCBhcyBzb29uIGFzIHJlZ2lzdGVyTm9kZWNhbGxCYWNrIGV4aXRzLCBhbmQgdGh1cyBoYW5kbGUgaXMgbm90IHZhbGlkIGluIHRoZSBjYWxsYmFjawotICBzdHJ1Y3QgVUFfTm9kZUNhbGxiYWNrX0hhbmRsZSAqaGFuZGxlID0gc3RhdGljX2Nhc3Q8VUFfTm9kZUNhbGxiYWNrX0hhbmRsZSAqPihmb3J0ZV9tYWxsb2Moc2l6ZW9mKHN0cnVjdCBVQV9Ob2RlQ2FsbGJhY2tfSGFuZGxlKSkpOwotCi0gIGhhbmRsZS0+Y29udmVydCA9IGNvbnZlcnQ7Ci0gIGhhbmRsZS0+Y29tTGF5ZXIgPSBjb21MYXllcjsKLSAgaGFuZGxlLT5wb3J0SW5kZXggPSBwb3J0SW5kZXg7Ci0gIC8vIHN0b3JlIGl0IGluIHRoZSBsaXN0IHNvIHdlIGNhbiBkZWxldGUgaXQgdG8gYXZvaWQgbWVtIGxlYWtzCi0gIG5vZGVDYWxsYmFja0hhbmRsZXMucHVzaEJhY2soaGFuZGxlKTsKLSAgVUFfVmFsdWVDYWxsYmFjayBjYWxsYmFjayA9IHtOVUxMLCB0aGlzLT5vbldyaXRlfTsKLSAgVUFfU2VydmVyX3NldE5vZGVDb250ZXh0KHVhU2VydmVyLCAqbm9kZUlkLCBoYW5kbGUpOwotICByZXR1cm4gVUFfU2VydmVyX3NldFZhcmlhYmxlTm9kZV92YWx1ZUNhbGxiYWNrKHVhU2VydmVyLCAqbm9kZUlkLCBjYWxsYmFjayk7Ci19Ci0KLXZvaWQgQ09QQ19VQV9IYW5kbGVyOjpvbldyaXRlKFVBX1NlcnZlciAqLCBjb25zdCBVQV9Ob2RlSWQgKiwKLSAgICAgICAgICAgICAgICB2b2lkICosIGNvbnN0IFVBX05vZGVJZCAqLAotICAgICAgICAgICAgICAgIHZvaWQgKm5vZGVDb250ZXh0LCBjb25zdCBVQV9OdW1lcmljUmFuZ2UgKiwKLSAgICAgICAgICAgICAgICBjb25zdCBVQV9EYXRhVmFsdWUgKmRhdGEpIHsKLQotICBzdHJ1Y3QgVUFfTm9kZUNhbGxiYWNrX0hhbmRsZSAqaGFuZGxlID0gc3RhdGljX2Nhc3Q8c3RydWN0IFVBX05vZGVDYWxsYmFja19IYW5kbGUgKj4obm9kZUNvbnRleHQpOwotCi0gIENDb21MYXllciAqbGF5ZXIgPSBoYW5kbGUtPmNvbUxheWVyOwotCi0gIEVDb21SZXNwb25zZSByZXRWYWw7Ci0KLSAgc3RydWN0IHsKLSAgICBjb25zdCBzdHJ1Y3QgVUFfVHlwZUNvbnZlcnQgKmNvbnZlcnQ7Ci0gICAgdW5zaWduZWQgaW50IHBvcnRJbmRleDsKLSAgICBjb25zdCBVQV9WYXJpYW50ICpkYXRhOwotICB9IGhhbmRsZVJlY3Y7Ci0KLSAgaGFuZGxlUmVjdi5kYXRhID0gZGF0YS0+aGFzVmFsdWUgPyAmZGF0YS0+dmFsdWUgOiBOVUxMOwotICBoYW5kbGVSZWN2LnBvcnRJbmRleCA9IGhhbmRsZS0+cG9ydEluZGV4OwotICBoYW5kbGVSZWN2LmNvbnZlcnQgPSBoYW5kbGUtPmNvbnZlcnQ7Ci0KLSAgcmV0VmFsID0gbGF5ZXItPnJlY3ZEYXRhKHN0YXRpY19jYXN0PGNvbnN0IHZvaWQgKj4oJmhhbmRsZVJlY3YpLCAwKTsgICAgLy9UT0RPOiBhZGQgbXVsdGlkaW1lbnNpb25hbCBkYXRhIGhhbmRsaW5nIHdpdGggJ3JhbmdlJy4KLQotICAvKiBIYW5kbGUgcmV0dXJuIG9mIHJlY2VpdmUgZGF0YSAqLwotICBpZiAoZV9Qcm9jZXNzRGF0YU9rID09IHJldFZhbCkgewotICAgIC8vb25seSB1cGRhdGUgZGF0YSBpbiBpdGVtIGlmIGRhdGEgY291bGQgYmUgcmVhZAotICB9Ci0KLSAgaWYgKGVfTm90aGluZyAhPSByZXRWYWwpIHsKLSAgICA6OmdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCpsYXllci0+Z2V0Q29tbUZCKCkpLnN0YXJ0TmV3RXZlbnRDaGFpbihsYXllci0+Z2V0Q29tbUZCKCkpOwotICB9Ci0KLX0KLQotdm9pZCBDT1BDX1VBX0hhbmRsZXI6OnJlZmVyZW5jZWROb2Rlc0luY3JlbWVudChjb25zdCBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj4gKm5vZGVzLCBjb25zdCBDT1BDX1VBX0xheWVyICpsYXllcikgewotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obU5vZGVMYXllck11dGV4KTsKLSAgZm9yIChDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj46Okl0ZXJhdG9yIGl0ZXJOb2RlID0gbm9kZXMtPmJlZ2luKCk7IGl0ZXJOb2RlICE9IG5vZGVzLT5lbmQoKTsgKytpdGVyTm9kZSkgewotICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKLSAgICBmb3IgKENTaW5nbHlMaW5rZWRMaXN0PHN0cnVjdCBSZWZlcmVuY2VkTm9kZUJ5TGF5ZXIgKj46Okl0ZXJhdG9yIGl0ZXJSZWYgPSBub2RlTGF5ZXJSZWZlcmVuY2VzLmJlZ2luKCk7IGl0ZXJSZWYgIT0gbm9kZUxheWVyUmVmZXJlbmNlcy5lbmQoKTsgKytpdGVyUmVmKSB7Ci0gICAgICBpZiAoVUFfTm9kZUlkX2VxdWFsKCgqaXRlclJlZiktPm5vZGVJZCwgKCppdGVyTm9kZSkpKSB7Ci0gICAgICAgIGZvdW5kID0gdHJ1ZTsKLSAgICAgICAgKCppdGVyUmVmKS0+cmVmZXJlbmNlZEJ5TGF5ZXIucHVzaEZyb250KGxheWVyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgfQotICAgIGlmICghZm91bmQpIHsKLSAgICAgIHN0cnVjdCBSZWZlcmVuY2VkTm9kZUJ5TGF5ZXIgKm5ld1JlZiA9IHN0YXRpY19jYXN0PHN0cnVjdCBSZWZlcmVuY2VkTm9kZUJ5TGF5ZXIgKj4oZm9ydGVfbWFsbG9jKHNpemVvZihzdHJ1Y3QgUmVmZXJlbmNlZE5vZGVCeUxheWVyKSkpOwotICAgICAgVUFfTm9kZUlkICpuZXdOb2RlID0gVUFfTm9kZUlkX25ldygpOwotICAgICAgVUFfTm9kZUlkX2NvcHkoKCppdGVyTm9kZSksIG5ld05vZGUpOwotICAgICAgbmV3UmVmLT5ub2RlSWQgPSBuZXdOb2RlOwotICAgICAgbmV3UmVmLT5yZWZlcmVuY2VkQnlMYXllciA9IENTaW5nbHlMaW5rZWRMaXN0PGNvbnN0IENPUENfVUFfTGF5ZXIqPigpOwotICAgICAgbmV3UmVmLT5yZWZlcmVuY2VkQnlMYXllci5wdXNoRnJvbnQobGF5ZXIpOwotICAgICAgbm9kZUxheWVyUmVmZXJlbmNlcy5wdXNoRnJvbnQobmV3UmVmKTsKLSAgICB9Ci0gIH0KLX0KLQotdm9pZCBDT1BDX1VBX0hhbmRsZXI6OnJlZmVyZW5jZWROb2Rlc0RlY3JlbWVudChjb25zdCBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj4gKm5vZGVzLCBjb25zdCBDT1BDX1VBX0xheWVyICpsYXllciwgYm9vbCBkZWxldGVJZkxhc3RSZWZlcmVuY2UpIHsKLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1Ob2RlTGF5ZXJNdXRleCk7Ci0gIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkICo+OjpJdGVyYXRvciBpdGVyTm9kZSA9IG5vZGVzLT5iZWdpbigpOyBpdGVyTm9kZSAhPSBub2Rlcy0+ZW5kKCk7ICsraXRlck5vZGUpIHsKLSAgICBmb3IgKENTaW5nbHlMaW5rZWRMaXN0PHN0cnVjdCBSZWZlcmVuY2VkTm9kZUJ5TGF5ZXIgKj46Okl0ZXJhdG9yIGl0ZXJSZWYgPSBub2RlTGF5ZXJSZWZlcmVuY2VzLmJlZ2luKCk7IGl0ZXJSZWYgIT0gbm9kZUxheWVyUmVmZXJlbmNlcy5lbmQoKTsgKytpdGVyUmVmKSB7Ci0gICAgICBpZiAoVUFfTm9kZUlkX2VxdWFsKCgqaXRlclJlZiktPm5vZGVJZCwgKCppdGVyTm9kZSkpKSB7Ci0KLSAgICAgICAgd2hpbGUgKCgqaXRlclJlZiktPnJlZmVyZW5jZWRCeUxheWVyLnBlZWtGcm9udCgpID09IGxheWVyKQotICAgICAgICAgICgqaXRlclJlZiktPnJlZmVyZW5jZWRCeUxheWVyLnBvcEZyb250KCk7Ci0KLSAgICAgICAgQ1NpbmdseUxpbmtlZExpc3Q8Y29uc3QgQ09QQ19VQV9MYXllciAqPjo6SXRlcmF0b3IgaXRlckxheWVyUHJldiA9ICgqaXRlclJlZiktPnJlZmVyZW5jZWRCeUxheWVyLmJlZ2luKCk7Ci0gICAgICAgIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8Y29uc3QgQ09QQ19VQV9MYXllciAqPjo6SXRlcmF0b3IgaXRlckxheWVyID0gKCppdGVyUmVmKS0+cmVmZXJlbmNlZEJ5TGF5ZXIuYmVnaW4oKTsgaXRlckxheWVyICE9ICgqaXRlclJlZiktPnJlZmVyZW5jZWRCeUxheWVyLmVuZCgpOyArK2l0ZXJMYXllcikgewotICAgICAgICAgIGlmICgoKml0ZXJMYXllcikgPT0gbGF5ZXIpIHsKLSAgICAgICAgICAgICgqaXRlclJlZiktPnJlZmVyZW5jZWRCeUxheWVyLmVyYXNlQWZ0ZXIoaXRlckxheWVyUHJldik7Ci0gICAgICAgICAgICAvLyBkbyBub3QgYnJlYWssIG5vZGUgbWF5IGJlIHJlZmVyZW5jZWQgbXVsdGlwbGUgdGltZXMKLSAgICAgICAgICAgIGl0ZXJMYXllciA9IGl0ZXJMYXllclByZXY7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCgqaXRlclJlZiktPnJlZmVyZW5jZWRCeUxheWVyLmlzRW1wdHkoKSkgewotICAgICAgICAgIGlmIChkZWxldGVJZkxhc3RSZWZlcmVuY2UpIHsKLSAgICAgICAgICAgIFVBX1NlcnZlcl9kZWxldGVOb2RlKHVhU2VydmVyLCAqKCppdGVyUmVmKS0+bm9kZUlkLCBVQV9UUlVFKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgICB9Ci0gICAgfQotICB9Ci19Ci0KLXZvaWQgQ09QQ19VQV9IYW5kbGVyOjpmb3JjZUV2ZW50SGFuZGxpbmcoQ09QQ19VQV9MYXllciogbGF5ZXIpewotICBzdGFydE5ld0V2ZW50Q2hhaW4obGF5ZXItPmdldENvbW1GQigpKTsKLX0KLQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2hhbmRsZXIuaCBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oYW5kbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0ZjZiNzguLjAwMDAwMDAKLS0tIGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2hhbmRsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDI2MiArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTYgRmxvcmlhbiBGcm9zY2hlcm1laWVyIDxmbG9yaWFuLmZyb3NjaGVybWVpZXJAdHVtLmRlPiwKLSAqICAgICAgICAgICAgICAgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotICoKLSAqIENvbnRyaWJ1dG9yczoKLSAqICAgIEZsb3JpYW4gRnJvc2NoZXJtZWllcgotICogICAgICAtIGluaXRpYWwgaW50ZWdyYXRpb24gb2YgdGhlIE9QQy1VQSBwcm90b2NvbAotICogICAgU3RlZmFuIFByb2ZhbnRlcgotICogICAgICAtIHJlZmFjdG9yaW5nIGFuZCBhZGFwdGlvbiB0byBuZXcgY29uY2VwdAotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLQotI2lmbmRlZiBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFIQU5ETEVSX0hfCi0jZGVmaW5lIFNSQ19NT0RVTEVTX09QQ19VQV9PUENVQUhBTkRMRVJfSF8KLQotI2luY2x1ZGUgPGZvcnRlX3RocmVhZC5oPgotI2luY2x1ZGUgPGV4dGV2aGFuLmg+Ci0jaW5jbHVkZSA8Y29ubi5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSAiY29tbGF5ZXIuaCIKLSNpbmNsdWRlIDxmb3J0ZV9jb25maWcuaD4KLSNpbmNsdWRlICJvcGN1YV9oZWxwZXIuaCIKLSNpbmNsdWRlICJvcGN1YV9sYXllci5oIgotCi1zdHJ1Y3QgVUFfTm9kZUNhbGxiYWNrX0hhbmRsZSB7Ci0gIGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllciAqY29tTGF5ZXI7Ci0gIGNvbnN0IHN0cnVjdCBVQV9UeXBlQ29udmVydCAqY29udmVydDsKLSAgdW5zaWduZWQgaW50IHBvcnRJbmRleDsKLX07Ci0KLXN0cnVjdCBVQV9DbGllbnRFbmRwb2ludE1hcDsKLXR5cGVkZWYgc3RydWN0IFVBX0NsaWVudEVuZHBvaW50TWFwIFVBX0NsaWVudEVuZHBvaW50TWFwOwotCi0vLyBjcHBjaGVjay1zdXBwcmVzcyBub0NvbnN0cnVjdG9yCi1jbGFzcyBDT1BDX1VBX0hhbmRsZXIgOiBwdWJsaWMgQ0V4dGVybmFsRXZlbnRIYW5kbGVyLCBwdWJsaWMgQ1RocmVhZCB7Ci0gICAgREVDTEFSRV9IQU5ETEVSKENPUENfVUFfSGFuZGxlcikKLQotcHVibGljOgotCi0KLSAgLyogZnVuY3Rpb25zIG5lZWRlZCBmb3IgdGhlIGV4dGVybmFsIGV2ZW50IGhhbmRsZXIgaW50ZXJmYWNlICovCi0gIHZvaWQgZW5hYmxlSGFuZGxlcih2b2lkKTsKLQotICB2b2lkIGRpc2FibGVIYW5kbGVyKHZvaWQpOwotCi0gIHZvaWQgc2V0UHJpb3JpdHkoaW50IHBhX25Qcmlvcml0eSk7Ci0KLSAgaW50IGdldFByaW9yaXR5KHZvaWQpIGNvbnN0OwotCi0gIC8qKgotICAgKiBGb3IgYSBnaXZlbiBjb25uZWN0aW9uIFNvdXJjZVBvaW50IGJldHdlZW4gdHdvIDYxNDk5IEZCcyBhZGQgYSB2YXJpYWJsZSBOb2RlIHRvIHRoZSBPUEMgVUEgYWRkcmVzcyBzcGFjZS4KLSAgICogTm9kZSBpcyBkZXNjcmliZWQgYnkgdGhlIG5hbWUgb2YgdGhlIHBvcnQgYW5kIHRoZSBuYW1lIG9mIHRoZSBwYXJlbnQgZnVuY3Rpb24gYmxvY2suCi0gICAqIElmIGNyZWF0aW9uIHN1Y2Nlc3NmdWwgdGhlIE5vZGVJZCBpcyByZXR1cm5lZCBvdGhlcndpc2UKLSAgICogVUFfU3RhdHVzQ29kZSBmcm9tIG5vZGUgY3JlYXRpb24gd2l0aCBlcnJvciBtZXNzYWdlLgotICAgKiBAcGFyYW0gcGFyZW50Tm9kZSBQYXJlbnQgbm9kZSBmb3IgdGhlIHZhcmlhYmxlCi0gICAqIEBwYXJhbSB2YXJOYW1lIGJyb3dzZSBuYW1lIG9mIHRoZSB2YXJpYWJsZQotICAgKiBAcGFyYW0gdmFyVHlwZSBEYXRhdHlwZSBvZiB0aGUgdmFyaWFsYmUKLSAgICogQHBhcmFtIHZhclZhbHVlIGluaXRpYWwgdmFsdWUgb2YgdGhlIHZhcmlhYmxlCi0gICAqIEBwYXJhbSByZXR1cm5WYXJOb2RlSWQgdGhlIG5vZGUgSUQgb2YgdGhlIGNyZWF0ZWQgdmFyaWFibGUgbm9kZQotICAgKiBAcGFyYW0gYWxsb3dXcml0ZSBpZiBzZXQgdG8gZmFsc2UsIHdyaXRpbmcgdG8gdmFyaWFibGUgd2lsbCBiZSBkaXNhYmxlZAotICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXMsIHRoZSBlcnJvciBjb2RlIG90aGVyd2lzZQotICAgKi8KLSAgVUFfU3RhdHVzQ29kZSBjcmVhdGVWYXJpYWJsZU5vZGUoY29uc3QgVUFfTm9kZUlkICpwYXJlbnROb2RlLCBjb25zdCBjaGFyICp2YXJOYW1lLCBjb25zdCBVQV9EYXRhVHlwZSAqdmFyVHlwZSwgdm9pZCAqdmFyVmFsdWUsCi0gICAgICAgICAgICAgICAgICAgVUFfTm9kZUlkICpyZXR1cm5WYXJOb2RlSWQsIGJvb2wgYWxsb3dXcml0ZSk7Ci0KLSAgLyoqCi0gICAqIFNldHMgdGhlIHVzZXIgYWNjZXNzIGxldmVsIGF0dHJpYnV0ZSBvZiB0aGUgbm9kZSB0byB0aGUgZ2l2ZW4gbmV3IHZhbHVlLgotICAgKiBAcGFyYW0gbm9kZUlkIHRoZSBub2RlIGZvciB3aGljaCB0byB1cGRhdGUgdGhlIGFjY2VzcyBsZXZlbAotICAgKiBAcGFyYW0gbmV3QWNjZXNzTGV2ZWwgbmV3IGFjY2VzcyBsZXZlbCBvZiB0aGUgbm9kZQotICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXMsIHRoZSBlcnJvciBjb2RlIG90aGVyd2lzZQotICAgKi8KLSAgVUFfU3RhdHVzQ29kZSB1cGRhdGVOb2RlVXNlckFjY2Vzc0xldmVsKGNvbnN0IFVBX05vZGVJZCAqbm9kZUlkLCBVQV9CeXRlIG5ld0FjY2Vzc0xldmVsKTsKLQotCi0gIC8qKgotICAgKiBDcmVhdGUgYSBuZXcgbWV0aG9kIG5vZGUgaW4gdGhlIE9QQyBVQSBpbmZvcm1hdGlvbiBtb2RlbC4KLSAgICoKLSAgICogQHBhcmFtIHBhcmVudE5vZGUgcGFyZW50IG5vZGUgd2hlcmUgdGhlIG1ldGhvZCBzaG91bGQgYmUgY3JlYXRlZAotICAgKiBAcGFyYW0gbmFtZXNwYWNlSWR4IG5hbWVzcGFjZSBpbmRleCBmb3IgdGhlIG5ldyBtZXRob2QKLSAgICogQHBhcmFtIG1ldGhvZE5hbWUgYnJvd3NlIG5hbWUgYW5kIGRpc3BsYXkgbmFtZSBvZiB0aGUgbWV0aG9kCi0gICAqIEBwYXJhbSBjYWxsYmFjayBDYWxsYmFjayB3aGljaCBpcyBjYWxsZWQgd2hlbiB0aGUgbWV0aG9kIGlzIGludm9rZWQKLSAgICogQHBhcmFtIGNhbGxiYWNrSGFuZGxlIGhhbmRsZSBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrCi0gICAqIEBwYXJhbSBpbnB1dEFyZ3VtZW50c1NpemUgc2l6ZSBvZiB0aGUgaW5wdXRBcmd1bWVudHMgYXJyYXkKLSAgICogQHBhcmFtIGlucHV0QXJndW1lbnRzIGxpc3Qgb2YgaW5wdXQgYXJndW1lbnRzIGZvciB0aGUgbWV0aG9kLiBUaGVzZSBhcmUgbm9ybWFsbHkgdGhlIFJEIHBvcnRzCi0gICAqIEBwYXJhbSBvdXRwdXRBcmd1bWVudHNTaXplIHNpemUgb2Ygb3V0cHV0QXJndW1lbnRzIGFycmF5Ci0gICAqIEBwYXJhbSBvdXRwdXRBcmd1bWVudHMgbGlzdCBvZiBvdXRwdXQgYXJndW1lbnRzIGZvciB0aGUgbWV0aG9kLiBUaGVzZSBhcmUgbm9ybWFsbHkgdGhlIFNEIHBvcnRzCi0gICAqIEBwYXJhbSByZXR1cm5Ob2RlSWQgbm9kZSBpZCBvZiB0aGUgbmV3bHkgY3JlYXRlZCBtZXRob2QKLSAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0Qgb24gc3VjY2Vzcy4gRXJyb3Igb3RoZXJ3aXNlCi0gICAqLwotICBVQV9TdGF0dXNDb2RlIGNyZWF0ZU1ldGhvZE5vZGUoY29uc3QgVUFfTm9kZUlkICpwYXJlbnROb2RlLCBVQV9VSW50MTYgbmFtZXNwYWNlSWR4LCBjb25zdCBjaGFyICptZXRob2ROYW1lLCBVQV9NZXRob2RDYWxsYmFjayBjYWxsYmFjaywKLSAgICAgICAgICAgICAgICAgICB2b2lkICpjYWxsYmFja0hhbmRsZSwgdW5zaWduZWQgaW50IGlucHV0QXJndW1lbnRzU2l6ZSwgY29uc3QgVUFfQXJndW1lbnQgKmlucHV0QXJndW1lbnRzLAotICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvdXRwdXRBcmd1bWVudHNTaXplLCBjb25zdCBVQV9Bcmd1bWVudCAqb3V0cHV0QXJndW1lbnRzLCBVQV9Ob2RlSWQgKnJldHVybk5vZGVJZCk7Ci0KLQotICAvKioKLSAgICogVXBkYXRlIFVBIEFkZHJlc3MgU3BhY2Ugbm9kZSB2YWx1ZSBnaXZlbiBieSB0aGUgZGF0YSBwb2ludGVyIHRvIGFuIElFQzYxNDk5IGRhdGEgb2JqZWN0LgotICAgKgotICAgKiBAcGFyYW0gbm9kZUlkIG5vZGUgaWQgb2YgdGhlIHZhcmlhYmxlIHRvIGJlIHVwZGF0ZWQKLSAgICogQHBhcmFtIGRhdGEgbmV3IHZhbHVlIGZvciB0aGUgdmFyaWFibGUKLSAgICogQHBhcmFtIGNvbnZlcnQgY29udmVydGVyIG9iamVjdCB0byBjb252ZXJ0IElFQzYxNDk5IHRvIE9QQyBVQSBkYXRhIHZhbHVlCi0gICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIG9uIHN1Y2Nlc3MuIEVycm9yIG90aGVyd2lzZQotICAgKi8KLSAgVUFfU3RhdHVzQ29kZSB1cGRhdGVOb2RlVmFsdWUoY29uc3QgVUFfTm9kZUlkICpub2RlSWQsIGNvbnN0IENJRUNfQU5ZICpkYXRhLCBjb25zdCBVQV9UeXBlQ29udmVydCAqY29udmVydCk7Ci0KLSAgLyoqCi0gICAqIFJlZ2lzdGVyIGEgY2FsbGJhY2sgcm91dGluZSB0byBhIE5vZGUgaW4gdGhlIEFkZHJlc3MgU3BhY2UgdGhhdCBpcyBleGVjdXRlZAotICAgKiBvbiBlaXRoZXIgd3JpdGUgb3IgcmVhZCBhY2Nlc3Mgb24gdGhlIG5vZGUuIEEgaGFuZGxlIHRvIHRoZSBjYWxsZXIgY29tbXVuaWNhdGlvbiBsYXllcgotICAgKiBpcyBwYXNzZWQgdG9vLiBUaGlzIGFsbGV2aWF0ZXMgZm9yIHRoZSBwcm9jZXNzIG9mIHNlYXJjaGluZyB0aGUKLSAgICogb3JpZ2luYXRpbmcgbGF5ZXIgb2YgdGhlIGV4dGVybmFsIGV2ZW50LgotICAgKgotICAgKiBAcGFyYW0gbm9kZUlkCi0gICAqIEBwYXJhbSBjb21MYXllcgotICAgKiBAcGFyYW0gY29udmVydAotICAgKiBAcmV0dXJuCi0gICAqLwotICBVQV9TdGF0dXNDb2RlCi0gIHJlZ2lzdGVyTm9kZUNhbGxCYWNrKGNvbnN0IFVBX05vZGVJZCAqbm9kZUlkLCBmb3J0ZTo6Y29tX2luZnJhOjpDQ29tTGF5ZXIgKmNvbUxheWVyLCBjb25zdCBzdHJ1Y3QgVUFfVHlwZUNvbnZlcnQgKmNvbnZlcnQsIHVuc2lnbmVkIGludCBwb3J0SW5kZXgpOwotCi0gIC8qKgotICAgKiBDYWxsYmFjayB3aGVuIGFuIGV4dGVybmFsIGNsaWVudCB3cml0ZXMgdG8gYSB2YXJpYWJsZSBvbiB0aGlzIHNlcnZlci4KLSAgICoKLSAgICogQHBhcmFtIGggaGFuZGxlIHBhc3NlZCB0byB0aGUgd3JpdGUgbWV0aG9kLgotICAgKiBAcGFyYW0gbm9kZWlkIG5vZGUgaWQgb2YgdGhlIGNoYW5nZWQgdmFyaWFibGUKLSAgICogQHBhcmFtIGRhdGEgdGhlIG5ldyBkYXRhIGZvciB0aGUgdmFyaWFibGUKLSAgICogQHBhcmFtIHJhbmdlIHJhbmdlIGluZGljYXRpbmcgdGhlIHNpemUgb2YgdGhlIGRhdGEgdmFyaWFudC4KLSAgICovCi0gIHN0YXRpYyB2b2lkIG9uV3JpdGUoVUFfU2VydmVyICpzZXJ2ZXIsIGNvbnN0IFVBX05vZGVJZCAqc2Vzc2lvbklkLAotICAgICAgICAgICAgdm9pZCAqc2Vzc2lvbkNvbnRleHQsIGNvbnN0IFVBX05vZGVJZCAqbm9kZUlkLAotICAgICAgICAgICAgdm9pZCAqbm9kZUNvbnRleHQsIGNvbnN0IFVBX051bWVyaWNSYW5nZSAqcmFuZ2UsCi0gICAgICAgICAgICBjb25zdCBVQV9EYXRhVmFsdWUgKmRhdGEpOwotCi0gIC8qKgotICAgKiBHZXQgdGhlIG5vZGUgaWQgb2YgdGhlIG5vZGUgd2hpY2ggaXMgcmVwcmVzZW50ZWQgYnkgdGhlIGdpdmVuIHBhdGguCi0gICAqIElmIGNyZWF0ZUlmTm90Rm91bmQgaXMgc2V0IHRvIHRydWUsIGFsbCBub2RlcyB3aGljaCBkbyBub3QgZXhpc3QgeWV0IHdpbGwgYmUgY3JlYXRlZC4KLSAgICoKLSAgICogQHBhcmFtIGZvdW5kTm9kZUlkIHRoZSBub2RlIElEIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBub2RlUGF0aCBvciBudWxsIGlmIGl0IGlzIG5vdCBmb3VuZCBhbmQgY3JlYXRlSWZOb3RGb3VuZCBpcyBmYWxzZS4KLSAgICogQHBhcmFtIG5vZGVQYXRoIEZ1bGwgcGF0aCB0byB0aGUgbm9kZSwgZS5nLiAnL09iamVjdHMvRmxpcEZsb3AnCi0gICAqIEBwYXJhbSBjcmVhdGVJZk5vdEZvdW5kIGlmIHRydWUgYWxsIHRoZSBtaXNzaW5nIG5vZGVzIHdpbGwgYmUgY3JlYXRlZCBhcyBGb2xkZXJUeXBlIG9iamVjdHMuCi0gICAqIEBwYXJhbSBzdGFydGluZ05vZGUgdGhlIG5vZGVJZCBmcm9tIHdoZXJlIHRoZSBnaXZlbiBicm93c2UgcGF0aCBzdGFydHMuIElmIE5VTEwsIHRoZSBzdGFydGluZyBOb2RlIGlzIFJvb3QgYW5kIHRoZSBwYXRoIGhhcyB0bwotICAgKiAgICAgICBzdGFydCB3aXRoICcvT2JqZWN0cycKLSAgICogQHBhcmFtIG5ld05vZGVUeXBlIHR5cGUgb2YgdGhlIG5ldyBub2RlIChvbmx5IHVzZWQgZm9yIHRoZSBsYXN0IG9uZSksIGlmIGl0IGhhcyB0byBiZSBjcmVhdGVkLgotICAgKiAgICAgICBEZWZhdWx0IGlzIEZvbGRlclR5cGUgd2hpY2ggaXMgYWxzbyB1c2VkIGZvciBpbnRlcm1lZGlhdGUgbm9kZXMsIGlmIHRoZXkgZG9uJ3QgZXhpc3QKLSAgICogQHBhcmFtIGNsaWVudEluaXRpYWxpemVkIG9wdGlvbmFsIGNsaWVudCB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBnZXQgdGhlIG5vZGUuIFRoZSBjbGllbnQgaGFzIHRvIGJlIGFscmVhZHkgY29ubmVjdGVkIGlmIGdpdmVuLgotICAgKiAgICAgICBJZiBubyBjbGllbnQgaXMgZ2l2ZW4sIGEgbmV3IHRlbXBvcmFyeSBjbGllbnQgd2lsbCBiZSBjcmVhdGVkIGFuZCBjb25uZWN0ZWQgdG8gbG9jYWxob3N0Ci0gICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIG9uIHN1Y2Nlc3Mgb3IgdGhlIGNvcnJlc3BvbmRpbmcgZXJyb3IgY29kZS4KLSAgICovCi0gIFVBX1N0YXR1c0NvZGUKLSAgZ2V0Tm9kZUZvclBhdGgoVUFfTm9kZUlkICoqZm91bmROb2RlSWQsIGNvbnN0IGNoYXIgKm5vZGVQYXRoLCBib29sIGNyZWF0ZUlmTm90Rm91bmQsCi0gICAgICAgICAgIGNvbnN0IFVBX05vZGVJZCAqc3RhcnRpbmdOb2RlID0gTlVMTCwgY29uc3QgVUFfTm9kZUlkICpuZXdOb2RlVHlwZSA9IE5VTEwsCi0gICAgICAgICAgIFVBX05vZGVJZCAqKnBhcmVudE5vZGVJZCA9IE5VTEwsIFVBX0NsaWVudCAqY2xpZW50SW5pdGlhbGl6ZWQgPSBOVUxMLAotICAgICAgICAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj4gKm5vZGVJZHNBbG9uZ1BhdGggPSBOVUxMKTsKLQotICAvKioKLSAgICogR2V0IHRoZSBvcGMgdWEgY2xpZW50IGZvciB0aGUgZ2l2ZW4gZW5kcG9pbnQgdXJsLiBJZiB0aGVyZSBleGlzdHMgYWxyZWFkeSBhbiBPUEMgVUEgY2xpZW50Ci0gICAqIHdoaWNoIGlzIGNvbm5lY3RlZCB0byB0aGUgZ2l2ZW4gVVJMLCB0aGF0IG9uZSB3aWxsIGJlIHJldHVybmVkLgotICAgKiBJZiBjcmVhdGVJZk5vdEZvdW5kIGlzIGZhbHNlIGFuZCB0aGVyZSBpcyBubyBjbGllbnQgeWV0LCBOVUxMIHdpbGwgYmUgcmV0dXJuZWQuIE90aGVyd2lzZQotICAgKiBhIG5ldyBjbGllbnQgaXMgaW5zdGFudGlhdGVkIGFuZCBjb25uZWN0ZWQuCi0gICAqCi0gICAqIEBwYXJhbSBlbmRwb2ludFVybCBUaGUgZW5kcG9pbnQgdXJsIGZvciB0aGUgY2xpZW50Ci0gICAqIEBwYXJhbSBjcmVhdGVJZk5vdEZvdW5kIGlmIHRydWUsIGEgbmV3IGNsaWVudCB3aWxsIGJlIGNyZWF0ZWQgaWYgbm90IGZvdW5kCi0gICAqIEByZXR1cm4gdGhlIChuZXcpIGNsaWVudCwgb3IgTlVMTCBvZiBub3QgZm91bmQgYW5kIG5vdCBjcmVhdGVkLgotICAgKi8KLSAgVUFfQ2xpZW50ICoKLSAgZ2V0Q2xpZW50Rm9yRW5kcG9pbnQoY29uc3QgY2hhciAqZW5kcG9pbnRVcmwsIGJvb2wgY3JlYXRlSWZOb3RGb3VuZCwgQ1N5bmNPYmplY3QgKipjbGllbnRNdXRleCk7Ci0KLQotICBDU3luY09iamVjdCAqCi0gIGdldE11dGV4Rm9yQ2xpZW50KGNvbnN0IFVBX0NsaWVudCAqY2xpZW50KTsKLQotCi0gIC8qKgotICAgKiBGb3JjZXMgZXZlbnQgaGFuZGxpbmcgYnkgY2FsbGluZyBzdGFydE5ld0V2ZW50Q2hhaW4uCi0gICAqCi0gICAqIEBwYXJhbSBsYXllciB0aGUgbGF5ZXIgZm9yIHdoaWNoIHRoZSBldmVudCBzaG91bGQgYmUgaGFuZGxlZAotICAgKi8KLSAgdm9pZCBmb3JjZUV2ZW50SGFuZGxpbmcoQ09QQ19VQV9MYXllciAqbGF5ZXIpOwotCi0gIHZvaWQgcmVmZXJlbmNlZE5vZGVzSW5jcmVtZW50KGNvbnN0IENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCAqPiAqbm9kZXMsIGNvbnN0IENPUENfVUFfTGF5ZXIqIGxheWVyKTsKLQotICB2b2lkIHJlZmVyZW5jZWROb2Rlc0RlY3JlbWVudChjb25zdCBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj4gKm5vZGVzLCBjb25zdCBDT1BDX1VBX0xheWVyKiBsYXllciwgYm9vbCBkZWxldGVJZkxhc3RSZWZlcmVuY2UpOwotCi0gIGNvbnN0IFVBX1N0cmluZyBnZXREaXNjb3ZlcnlVcmwoKSBjb25zdCB7Ci0gICAgaWYgKHVhU2VydmVyQ29uZmlnLT5uZXR3b3JrTGF5ZXJzU2l6ZSA9PSAwKQotICAgICAgcmV0dXJuIFVBX1NUUklOR19OVUxMOwotICAgIHJldHVybiB1YVNlcnZlckNvbmZpZy0+bmV0d29ya0xheWVyc1swXS5kaXNjb3ZlcnlVcmw7Ci0gIH0KLQotI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTVVMVElDQVNUCi0gIHZvaWQgcmVnaXN0ZXJXaXRoTGRzKGNvbnN0IFVBX1N0cmluZyAqZGlzY292ZXJ5VXJsKTsKLSAgdm9pZCByZW1vdmVMZHNSZWdpc3Rlcihjb25zdCBVQV9TdHJpbmcgKmRpc2NvdmVyeVVybCk7Ci0jZW5kaWYKLXByb3RlY3RlZDoKLQotcHJpdmF0ZToKLSAgLy8gT1BDIFVBIFNlcnZlciBhbmQgY29uZmlndXJhdGlvbgotICBVQV9TZXJ2ZXIgKnVhU2VydmVyOwotICBVQV9TZXJ2ZXJDb25maWcgKnVhU2VydmVyQ29uZmlnOwotCi0gIC8vIE9QQyBVQSBDbGllbnQgYW5kIGNvbmZpZ3VyYXRpb24KLSAgdm9sYXRpbGUgVUFfQm9vbGVhbiB1YVNlcnZlclJ1bm5pbmdGbGFnOwotCi0gIC8qKgotICAgKiBTdGFydHMgdGhlIE9QQyBVQSBzZXJ2ZXIsIGlmIGl0IGlzIG5vdCBhbHJlYWR5IHJ1bm5pbmcKLSAgICovCi0gIHZvaWQgc3RhcnRTZXJ2ZXIoKTsKLQotICAvKioKLSAgICogU2V0cyB0aGUgdWFTZXJ2ZXJSdW5uaW5nRmxhZyB0byBmYWxzZSB3aGljaCBjYXVzZXMgdGhlIFVBIFNlcnZlciB0byBzdG9wLgotICAgKi8KLSAgdm9pZCBzdG9wU2VydmVyKCk7Ci0KLSAgLyoqCi0gICAqIENyZWF0ZXMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBPUEMgVUEgU2VydmVyLgotICAgKiBAcGFyYW0gVUFTZXJ2ZXJQb3J0IHBvcnQgd2hlcmUgdGhlIE9QQyBVQSBTZXJ2ZXIgc2hvdWxkIGxpc3Rlbi4KLSAgICovCi0gIHZvaWQgY29uZmlndXJlVUFTZXJ2ZXIoVEZvcnRlVUludDE2IFVBU2VydmVyUG9ydCk7Ci0KLSAgLyoqCi0gICAqIE92ZXJyaWRkZW4gcnVuKCkgZnJvbSBDVGhyZWFkIHdoaWNoIGxvb3BzIHRoZSBVQSBTZXJ2ZXIuCi0gICAqLwotICB2aXJ0dWFsIHZvaWQgcnVuKCk7Ci0KLSAgLyoqCi0gICAqIE11dGV4IGZvciBtYWtpbmcgc3VyZSB0aGF0IGdldE5vZGVGb3JQYXRoIGlzIG9ubHkgY2FsbGVkIGJ5IG9uZSBsYXllciBhdCBhIHRpbWUuCi0gICAqIElmIGEgcmFjZSBjb25kaXRpb24gd291bGQgb2NjdXIsIHR3byBsYXllcnMgbWF5IHRyeSB0byBjcmVhdGUgdGhlIHNhbWUgbm9kZSBhdCB0aGUgc2FtZSB0aW1lLgotICAgKi8KLSAgQ1N5bmNPYmplY3QgZ2V0Tm9kZUZvclBhdGhNdXRleDsKLQotICAvKioKLSAgICogQ29sbGVjdG9yIGxpc3QgZm9yIGNhbGxiYWNrIGhhbmRsZXMgdG8gYmUgYWJsZSB0byBjbGVhbiB0aGVtIHVwIG9uIGRlc3Ryb3kuCi0gICAqLwotICBDU2luZ2x5TGlua2VkTGlzdDxzdHJ1Y3QgVUFfTm9kZUNhbGxiYWNrX0hhbmRsZSAqPiBub2RlQ2FsbGJhY2tIYW5kbGVzOwotCi0gIC8qKgotICAgKiBDb2xsZWN0b3IgbGlzdCBmb3IgY2FsbGJhY2sgaGFuZGxlcyB0byBiZSBhYmxlIHRvIGNsZWFuIHRoZW0gdXAgb24gZGVzdHJveS4KLSAgICovCi0gIENTaW5nbHlMaW5rZWRMaXN0PHN0cnVjdCBVQV9DbGllbnRFbmRwb2ludE1hcCAqPiBjbGllbnRzOwotCi0KLSNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01VTFRJQ0FTVAotCi0gIC8qKgotICAgKiBMaXN0IG9mIExEUyBzZXJ2ZXJzIHdoZXJlIHRoaXMgaW5zdGFuY2UgaXMgYWxyZWFkeSByZWdpc3RlcmVkLgotICAgKi8KLSAgQ1NpbmdseUxpbmtlZExpc3Q8Y29uc3QgY2hhciAqPiByZWdpc3RlcmVkV2l0aExkczsKLSNlbmRpZgotCi0gIHN0cnVjdCBSZWZlcmVuY2VkTm9kZUJ5TGF5ZXIgewotICAgIGNvbnN0IFVBX05vZGVJZCAqbm9kZUlkOwotICAgIENTaW5nbHlMaW5rZWRMaXN0PGNvbnN0IENPUENfVUFfTGF5ZXIqPiByZWZlcmVuY2VkQnlMYXllcjsKLSAgfTsKLSAgQ1NpbmdseUxpbmtlZExpc3Q8c3RydWN0IFJlZmVyZW5jZWROb2RlQnlMYXllcio+IG5vZGVMYXllclJlZmVyZW5jZXM7Ci0gIENTeW5jT2JqZWN0IG1Ob2RlTGF5ZXJNdXRleDsKLSAgQ1NlbWFwaG9yZSBtU2VydmVyU3RhcnRlZDsKLQotfTsKLQotI2VuZGlmIC8qIFNSQ19NT0RVTEVTX09QQ19VQV9PUENVQUhBTkRMRVJfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oYW5kbGVyX2Fic3RyYWN0LmNwcCBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oYW5kbGVyX2Fic3RyYWN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWMwZjdlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2hhbmRsZXJfYWJzdHJhY3QuY3BwCkBAIC0wLDAgKzEsOTcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2luY2x1ZGUgIm9wY3VhX2hhbmRsZXJfYWJzdHJhY3QuaCIKKyNpbmNsdWRlIDxmb3J0ZV9wcmludGVyLmg+CisjaW5jbHVkZSA8ZGV2bG9nLmg+CisjaW5jbHVkZSA8cGFyYW1ldGVyUGFyc2VyLmg+CisKKy8vd2UgdHJpZWQgdG8gdXNlIHRoZSBsb2dMZXZlbE5hbWVzIGFuZCBsb2dDYXRlZ29yeU5hbWVzIGFzIGV4dGVybiBmcm9tIG9wZW42MjU0MSBidXQgaXQgZmFpbGVkIHdoZW4gdXNpbmcgd2l0aCBzaGFyZWQgbGlicmF5Citjb25zdCBjaGFyICpMb2dMZXZlbE5hbWVzWzZdID0geyAidHJhY2UiLCAiZGVidWciLCAiaW5mbyIsICJ3YXJuaW5nIiwgImVycm9yIiwgImZhdGFsIiB9OworY29uc3QgY2hhciAqTG9nQ2F0ZWdvcnlOYW1lc1s3XSA9IHsgIm5ldHdvcmsiLCAiY2hhbm5lbCIsICJzZXNzaW9uIiwgInNlcnZlciIsICJjbGllbnQiLCAidXNlcmxhbmQiIH07CisKKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gKK2NvbnN0IFVBX0xvZ2dlciBDT1BDX1VBX0hhbmRsZXJBYnN0cmFjdDo6VUFfRm9ydGVfbG9nZ2VyID0ge1VBX0xvZ19Gb3J0ZSwgMCwgVUFfTG9nX0ZvcnRlX2NsZWFyfTsKKyNlbmRpZiAvL0ZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorCitDT1BDX1VBX0hhbmRsZXJBYnN0cmFjdDo6Q09QQ19VQV9IYW5kbGVyQWJzdHJhY3QoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pIDoKKyAgICBDRXh0ZXJuYWxFdmVudEhhbmRsZXIocGFEZXZpY2VFeGVjdXRpb24pIHsKK30KKworQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3Q6On5DT1BDX1VBX0hhbmRsZXJBYnN0cmFjdCgpIHsKKyAgLy9kbyBub3RoaW5nCit9CisKK3ZvaWQgQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3Q6OnRyaWdnZXJOZXdFdmVudChDRXZlbnRTb3VyY2VGQiAmcGFMYXllcikgeworICBzdGFydE5ld0V2ZW50Q2hhaW4oJnBhTGF5ZXIpOworfQorCit2b2lkIENPUENfVUFfSGFuZGxlckFic3RyYWN0OjpzZXRQcmlvcml0eShpbnQpIHsKKyAgLy9jdXJyZW50bHkgd2UgYXJlIGRvaW5nIG5vdGhpbmcgaGVyZS4KK30KKworaW50IENPUENfVUFfSGFuZGxlckFic3RyYWN0OjpnZXRQcmlvcml0eSgpIGNvbnN0IHsKKyAgLy90aGUgc2FtZSBhcyBmb3Igc2V0UHJpb3JpdHkKKyAgcmV0dXJuIDA7Cit9CisKK1VBX0xvZ2dlciBDT1BDX1VBX0hhbmRsZXJBYnN0cmFjdDo6Z2V0TG9nZ2VyKCkgeworI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorICByZXR1cm4gVUFfRm9ydGVfbG9nZ2VyOworI2Vsc2UgLy9GT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gKKyAgcmV0dXJuIFVBX0xvZ19Gb3J0ZTsKKyNlbmRpZiAvL0ZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorfQorCit2b2lkIENPUENfVUFfSGFuZGxlckFic3RyYWN0OjpVQV9Mb2dfRm9ydGUoCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNICisgICAgdm9pZCosCisjZW5kaWYgLy9GT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gKKyAgICBVQV9Mb2dMZXZlbCBwYUxldmVsLCBVQV9Mb2dDYXRlZ29yeSBwYUNhdGVnb3J5LCBjb25zdCBjaGFyICpwYU1zZywgdmFfbGlzdCBwYUFyZ3MpIHsKKworICBjaGFyIHRtcFN0clttTWF4TG9nTGVuZ3RoXTsKKyAgZm9ydGVfc25wcmludGYodG1wU3RyLCBtTWF4TG9nTGVuZ3RoLCAiW09QQyBVQSBMT0dHRVJdICVzLyVzXHQiLCBMb2dMZXZlbE5hbWVzW3BhTGV2ZWxdLCBMb2dDYXRlZ29yeU5hbWVzW3BhQ2F0ZWdvcnldKTsKKyAgY2hhciAqc3RhcnQgPSAmdG1wU3RyW3N0cmxlbih0bXBTdHIpXTsKKworICBmb3J0ZV92c25wcmludGYoc3RhcnQsIG1NYXhMb2dMZW5ndGgsIHBhTXNnLCBwYUFyZ3MpOworCisgIHNpemVfdCBsZW4gPSBzdHJsZW4odG1wU3RyKTsKKyAgdG1wU3RyW2xlbl0gPSAnXG4nOworICB0bXBTdHJbbGVuICsgMV0gPSAnXDAnOworCisgIHN3aXRjaChwYUxldmVsKXsKKyAgICBjYXNlIFVBX0xPR0xFVkVMX1RSQUNFOgorICAgIGNhc2UgVUFfTE9HTEVWRUxfREVCVUc6CisgICAgICBERVZMT0dfREVCVUcodG1wU3RyKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgVUFfTE9HTEVWRUxfSU5GTzoKKyAgICAgIERFVkxPR19JTkZPKHRtcFN0cik7CisgICAgICBicmVhazsKKyAgICBjYXNlIFVBX0xPR0xFVkVMX1dBUk5JTkc6CisgICAgICBERVZMT0dfV0FSTklORyh0bXBTdHIpOworICAgICAgYnJlYWs7CisgICAgY2FzZSBVQV9MT0dMRVZFTF9FUlJPUjoKKyAgICBjYXNlIFVBX0xPR0xFVkVMX0ZBVEFMOgorICAgICAgREVWTE9HX0VSUk9SKHRtcFN0cik7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgYnJlYWs7CisgIH0KK30KKworI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAordm9pZCBDT1BDX1VBX0hhbmRsZXJBYnN0cmFjdDo6VUFfTG9nX0ZvcnRlX2NsZWFyKHZvaWQgKikgeworICAvL2RvIG5vdGhpbmcKK30KKyNlbmRpZiAvL0ZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oYW5kbGVyX2Fic3RyYWN0LmggYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfaGFuZGxlcl9hYnN0cmFjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlY2RlNWIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfaGFuZGxlcl9hYnN0cmFjdC5oCkBAIC0wLDAgKzEsOTggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFfSEFORExFUl9BQlNUUkFDVF9IXworI2RlZmluZSBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFfSEFORExFUl9BQlNUUkFDVF9IXworCisjaW5jbHVkZSA8ZXh0ZXZoYW4uaD4KKyNpbmNsdWRlIDxlc2ZiLmg+CisjaW5jbHVkZSA8b3BjdWFfYWN0aW9uX2luZm8uaD4KKworLyoqCisgKiBCYXNlIGNsYXNzIGZvciB0aGUgbG9jYWwgYW5kIHJlbW90ZSBoYW5kbGVyLiBJdCBkZWZpbmVzIHRoZSB0aHJlZSBtYWpvciBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBpbiBhbiBhY3Rpb24gKGluaXRpYWxpemUsIGV4ZWN1dGUsIHVuaW5pdGlhbGl6ZSkKKyAqLworY2xhc3MgQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3QgOiBwdWJsaWMgQ0V4dGVybmFsRXZlbnRIYW5kbGVyIHsKKyAgcHVibGljOgorCisgICAgLyoqCisgICAgICogQ29uc3RydWN0b3Igb2YgdGhlIGNsYXNzCisgICAgICovCisgICAgZXhwbGljaXQgQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3QoQ0RldmljZUV4ZWN1dGlvbiAmcGFEZXZpY2VFeGVjdXRpb24pOworCisgICAgLyoqCisgICAgICogRGVzdHJ1Y3RvciBvZiB0aGUgY2xhc3MKKyAgICAgKi8KKyAgICB2aXJ0dWFsIH5DT1BDX1VBX0hhbmRsZXJBYnN0cmFjdCgpOworCisgICAgLyoqCisgICAgICogVHJpZ2dlciBhIG5ldyBpbmNvbWluZyBldmVudCBpbiB0aGUgRkIKKyAgICAgKiBAcGFyYW0gcGFMYXllciBUaGUgY29tbXVuaWNhdGlvbiBGQiBvZiB0aGUgbGF5ZXIgd2hpY2ggcmVjZWl2ZWQgZGF0YQorICAgICAqLworICAgIHZvaWQgdHJpZ2dlck5ld0V2ZW50KENFdmVudFNvdXJjZUZCICZwYUxheWVyKTsKKworICAgIC8qKgorICAgICAqIFBlcmZvcm0gYWxsIHRoZSBuZWVkZWQgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIGluaXRpYWxpemVkCisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0QgaXMgbm8gcHJvYmxlbSBvY2N1cnJlZCwgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgdmlydHVhbCBVQV9TdGF0dXNDb2RlIGluaXRpYWxpemVBY3Rpb24oQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbykgPSAwOworCisgICAgLyoqCisgICAgICogRXhlY3V0ZSB0aGUgYWN0aW9uCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgZXhlY3V0ZWQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICB2aXJ0dWFsIFVBX1N0YXR1c0NvZGUgZXhlY3V0ZUFjdGlvbihDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKSA9IDA7CisKKyAgICAvKioKKyAgICAgKiBVbmluaXRpYWxpemUgdGhlIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIFVuaW5pdGlhbGl6ZWQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICB2aXJ0dWFsIFVBX1N0YXR1c0NvZGUgdW5pbml0aWFsaXplQWN0aW9uKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pID0gMDsKKworICAgIC8qKgorICAgICAqIE5vdCB1c2VkCisgICAgICovCisgICAgdm9pZCBzZXRQcmlvcml0eShpbnQgcGFQcmlvcml0eSk7CisKKyAgICAvKioKKyAgICAgKiBOb3QgdXNlZAorICAgICAqLworICAgIGludCBnZXRQcmlvcml0eSgpIGNvbnN0OworCisgICAgLyoqCisgICAgICogR2V0IHRoZSBsb2dnZXIgdXNlZCBieSB0aGUgdGhlIE9QQyBVQSBzdGFjaworICAgICAqIEByZXR1cm4gTG9nZ2VyIHVzZWQgYnkgdGhlIE9QQyBVQSBzdGFjaworICAgICAqLworICAgIHN0YXRpYyBVQV9Mb2dnZXIgZ2V0TG9nZ2VyKCk7CisKKyAgcHJpdmF0ZToKKworI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSAorICAgIHN0YXRpYyB2b2lkIFVBX0xvZ19Gb3J0ZV9jbGVhcih2b2lkICpwYUxvZ0NvbnRleHQpOworICAgIHN0YXRpYyBjb25zdCBVQV9Mb2dnZXIgVUFfRm9ydGVfbG9nZ2VyOworI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNICisKKyAgICBzdGF0aWMgdm9pZCBVQV9Mb2dfRm9ydGUoCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNICisgICAgICAgIHZvaWQqLAorI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNICisgICAgICAgIFVBX0xvZ0xldmVsIHBhTGV2ZWwsIFVBX0xvZ0NhdGVnb3J5IHBhQ2F0ZWdvcnksIGNvbnN0IGNoYXIgKnBhTXNnLCB2YV9saXN0IHBhQXJncyk7CisKKyAgICAvKioKKyAgICAgKiBNYXhpbXVtIHNpemUgb2YgdGhlIGxvZ2dpbmcgYnVmZmVyCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtTWF4TG9nTGVuZ3RoID0gNDAwOworfTsKKworI2VuZGlmIC8qIFNSQ19NT0RVTEVTX09QQ19VQV9PUENVQV9IQU5ETEVSX0FCU1RSQUNUX0hfICovCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfaGVscGVyLmNwcCBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oZWxwZXIuY3BwCmluZGV4IDQ3ZmI2NTkuLjk5ODYzYzkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oZWxwZXIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oZWxwZXIuY3BwCkBAIC0xLDE2NCArMSwzNTIgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgU3RlZmFuIFByb2ZhbnRlcgotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE5IGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgU3RlZmFuIFByb2ZhbnRlcgorICogICAgICAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjaW5jbHVkZSAib3BjdWFfaGVscGVyLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAib3BjdWFfaGVscGVyX2dlbi5jcHAiCisjZW5kaWYKKyNpbmNsdWRlICIuLi8uLi9jb3JlL3V0aWxzL3BhcmFtZXRlclBhcnNlci5oIgorI2luY2x1ZGUgIi4uLy4uL2FyY2gvZGV2bG9nLmgiCiAjaW5jbHVkZSAiY29udmVydF9mdW5jdGlvbnMuaCIKKyNpbmNsdWRlIDxmb3J0ZV9zdHJ1Y3QuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hcnJheS5oPgogCi0jZGVmaW5lIFVBX1N0cmluZ190b19jaGFyX2FsbG9jKHN0ciwgY2hhcnMpIHsgXAotICAgICAgICBjaGFycyA9IHN0YXRpY19jYXN0PGNoYXIqPihmb3J0ZV9tYWxsb2Moc3RyLT5sZW5ndGgrMSkpOyBcCi0gICAgICAgIG1lbWNweShjaGFycywgc3RyLT5kYXRhLCBzdHItPmxlbmd0aCk7IFwKLSAgICAgICAgY2hhcnNbc3RyLT5sZW5ndGhdID0gMDsgXAordGVtcGxhdGU8dHlwZW5hbWUgVF9GT1JURV9UWVBFLCB0eXBlbmFtZSBUX09QQ1VBX1RZUEU+CitzaXplX3QgY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWMoY29uc3QgQ0lFQ19BTlkgJnBhU3JjLCB2b2lkICpwYURlc3QpIHsKKyAgKnN0YXRpY19jYXN0PFRfT1BDVUFfVFlQRSAqPihwYURlc3QpID0gc3RhdGljX2Nhc3Q8Y29uc3QgVF9GT1JURV9UWVBFICY+KHBhU3JjKTsKKyAgcmV0dXJuIHNpemVvZihUX09QQ1VBX1RZUEUpOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUX0ZPUlRFX1RZUEUsIHR5cGVuYW1lIFRfT1BDVUFfVFlQRT4KK3NpemVfdCBjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYyhjb25zdCB2b2lkICpwYVNyYywgQ0lFQ19BTlkgJnBhRGVzdCkgeworICBzdGF0aWNfY2FzdDxUX0ZPUlRFX1RZUEUgJj4ocGFEZXN0KSA9ICpzdGF0aWNfY2FzdDxjb25zdCBUX09QQ1VBX1RZUEUgKj4ocGFTcmMpOworICByZXR1cm4gc2l6ZW9mKFRfT1BDVUFfVFlQRSk7Cit9CisKK3RlbXBsYXRlPD4KK3NpemVfdCBjb252ZXJ0RnJvbUlFQ1RvT1BDVUFTcGVjaWZpYzxDSUVDX0RBVEUsIFVBX0RhdGVUaW1lPihjb25zdCBDSUVDX0FOWSAmIHBhU3JjLCB2b2lkICpwYURlc3QpIHsKKyAgKnN0YXRpY19jYXN0PFVBX0RhdGVUaW1lICo+KHBhRGVzdCkgPSBEQVRFX1RPX0RUKHN0YXRpY19jYXN0PGNvbnN0IENJRUNfREFURSY+KHBhU3JjKSk7CisgIHJldHVybiBzaXplb2YoVUFfRGF0ZVRpbWUpOworfQorCit0ZW1wbGF0ZTw+CitzaXplX3QgY29udmVydEZyb21PUENVQVRvSUVDU3BlY2lmaWM8Q0lFQ19EQVRFLCBVQV9EYXRlVGltZT4oY29uc3Qgdm9pZCAqcGFTcmMsIENJRUNfQU5ZICZwYURlc3QpIHsKKyAgc3RhdGljX2Nhc3Q8Q0lFQ19EQVRFICY+KHBhRGVzdCkgPSBEVF9UT19EQVRFKCpyZWludGVycHJldF9jYXN0PGNvbnN0IFRGb3J0ZVVJbnQ2NCo+KHN0YXRpY19jYXN0PGNvbnN0IFVBX0RhdGVUaW1lKj4ocGFTcmMpKSk7CisgIHJldHVybiBzaXplb2YoVUFfRGF0ZVRpbWUpOworfQorCit0ZW1wbGF0ZTw+CitzaXplX3QgY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19USU1FX09GX0RBWSwgVUFfRGF0ZVRpbWU+KGNvbnN0IENJRUNfQU5ZICYgcGFTcmMsIHZvaWQgKnBhRGVzdCkgeworICAvL1RPRE8gaG93IGNvbnZlcnQgVE9EIHRvIFVBX0RhdGVUaW1lPworICByZXR1cm4gMDsKK30KKwordGVtcGxhdGU8Pgorc2l6ZV90IGNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfVElNRV9PRl9EQVksIFVBX0RhdGVUaW1lPihjb25zdCB2b2lkICpwYVNyYywgQ0lFQ19BTlkgJnBhRGVzdCkgeworICAvL1RPRE8gaG93IGNvbnZlcnQgVUFfRGF0ZVRpbWUgdG8gVE9EPworICByZXR1cm4gMDsKK30KKwordGVtcGxhdGU8Pgorc2l6ZV90IGNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfU1RSSU5HLCBVQV9TdHJpbmc+KGNvbnN0IENJRUNfQU5ZICZwYVNyYywgdm9pZCAqcGFEZXN0KSB7CisgICpzdGF0aWNfY2FzdDxVQV9TdHJpbmcgKj4ocGFEZXN0KSA9IFVBX1N0cmluZ19mcm9tQ2hhcnMoc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19TVFJJTkcgJj4ocGFTcmMpLmdldFZhbHVlKCkpOworICByZXR1cm4gc2l6ZW9mKFVBX1N0cmluZyk7Cit9CisKK3RlbXBsYXRlPD4KK3NpemVfdCBjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYzxDSUVDX1NUUklORywgVUFfU3RyaW5nPihjb25zdCB2b2lkICpwYVNyYywgQ0lFQ19BTlkgJnBhRGVzdCkgeworICBjb25zdCBVQV9TdHJpbmcgKnN0ciA9IHN0YXRpY19jYXN0PGNvbnN0IFVBX1N0cmluZyAqPihwYVNyYyk7CisgIHN0YXRpY19jYXN0PENJRUNfU1RSSU5HICY+KHBhRGVzdCkuYXNzaWduKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHN0ci0+ZGF0YSksIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oc3RyLT5sZW5ndGgpKTsKKyAgcmV0dXJuIHNpemVvZihVQV9TdHJpbmcpOworfQorCit0ZW1wbGF0ZTw+CitzaXplX3QgY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19XU1RSSU5HLCBVQV9TdHJpbmc+KGNvbnN0IENJRUNfQU5ZICZwYVNyYywgdm9pZCAqcGFEZXN0KSB7CisgIENJRUNfU1RSSU5HIHN0ciA9IFdTVFJJTkdfVE9fU1RSSU5HKHN0YXRpY19jYXN0PGNvbnN0IENJRUNfV1NUUklORyAmPihwYVNyYykpOworICByZXR1cm4gY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19TVFJJTkcsIFVBX1N0cmluZz4oc3RyLCBwYURlc3QpOworfQorCit0ZW1wbGF0ZTw+CitzaXplX3QgY29udmVydEZyb21PUENVQVRvSUVDU3BlY2lmaWM8Q0lFQ19XU1RSSU5HLCBVQV9TdHJpbmc+KGNvbnN0IHZvaWQgKnBhU3JjLCBDSUVDX0FOWSAmcGFEZXN0KSB7CisgIGNvbnN0IFVBX1N0cmluZyAqc3RyID0gc3RhdGljX2Nhc3Q8Y29uc3QgVUFfU3RyaW5nICo+KHBhU3JjKTsKKyAgc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HICY+KHBhRGVzdCkuYXNzaWduKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHN0ci0+ZGF0YSksIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oc3RyLT5sZW5ndGgpKTsKKyAgcmV0dXJuIHNpemVvZihVQV9TdHJpbmcpOworfQorCitjb25zdCBDT1BDX1VBX0hlbHBlcjo6VUFfVHlwZUNvbnZlcnQgQ09QQ19VQV9IZWxwZXI6OnNjbU1hcEZvcnRlVHlwZUlkVG9PcGNVYVtdID0geworICBVQV9UeXBlQ29udmVydCgwLCAwLCAwKSwgLy8gZHVtbXkgZm9yIGVfQU5ZCisgIFVBX1R5cGVDb252ZXJ0KCZVQV9UWVBFU1tVQV9UWVBFU19CT09MRUFOXSwgJmNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfQk9PTCwgVUFfQm9vbGVhbj4sICZjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYzxDSUVDX0JPT0wsIFVBX0Jvb2xlYW4+KSwKKyAgVUFfVHlwZUNvbnZlcnQoJlVBX1RZUEVTW1VBX1RZUEVTX1NCWVRFXSwgJmNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfU0lOVCwgVUFfU0J5dGU+LCAmY29udmVydEZyb21PUENVQVRvSUVDU3BlY2lmaWM8Q0lFQ19TSU5ULCBVQV9TQnl0ZT4pLAorICBVQV9UeXBlQ29udmVydCgmVUFfVFlQRVNbVUFfVFlQRVNfSU5UMTZdLCAmY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19JTlQsIFVBX0ludDE2PiwgJmNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfSU5ULCBVQV9JbnQxNj4pLAorICBVQV9UeXBlQ29udmVydCgmVUFfVFlQRVNbVUFfVFlQRVNfSU5UMzJdLCAmY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19ESU5ULCBVQV9JbnQzMj4sICZjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYzxDSUVDX0RJTlQsIFVBX0ludDMyPiksCisgIFVBX1R5cGVDb252ZXJ0KCZVQV9UWVBFU1tVQV9UWVBFU19JTlQ2NF0sICZjb252ZXJ0RnJvbUlFQ1RvT1BDVUFTcGVjaWZpYzxDSUVDX0xJTlQsIFVBX0ludDY0PiwgJmNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfTElOVCwgVUFfSW50NjQ+KSwKKyAgVUFfVHlwZUNvbnZlcnQoJlVBX1RZUEVTW1VBX1RZUEVTX0JZVEVdLCAmY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19VU0lOVCwgVUFfQnl0ZT4sICZjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYzxDSUVDX1VTSU5ULCBVQV9CeXRlPiksCisgIFVBX1R5cGVDb252ZXJ0KCZVQV9UWVBFU1tVQV9UWVBFU19VSU5UMTZdLCAmY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19VSU5ULCBVQV9VSW50MTY+LCAmY29udmVydEZyb21PUENVQVRvSUVDU3BlY2lmaWM8Q0lFQ19VSU5ULCBVQV9VSW50MTY+KSwKKyAgVUFfVHlwZUNvbnZlcnQoJlVBX1RZUEVTW1VBX1RZUEVTX1VJTlQzMl0sICZjb252ZXJ0RnJvbUlFQ1RvT1BDVUFTcGVjaWZpYzxDSUVDX1VESU5ULCBVQV9VSW50MzI+LCAmY29udmVydEZyb21PUENVQVRvSUVDU3BlY2lmaWM8Q0lFQ19VRElOVCwgVUFfVUludDMyPiksCisgIFVBX1R5cGVDb252ZXJ0KCZVQV9UWVBFU1tVQV9UWVBFU19VSU5UNjRdLCAmY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19VTElOVCwgVUFfVUludDY0PiwgJmNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfVUxJTlQsIFVBX1VJbnQ2ND4pLAorICBVQV9UeXBlQ29udmVydCgmVUFfVFlQRVNbVUFfVFlQRVNfQllURV0sICZjb252ZXJ0RnJvbUlFQ1RvT1BDVUFTcGVjaWZpYzxDSUVDX0JZVEUsIFVBX0J5dGU+LCAmY29udmVydEZyb21PUENVQVRvSUVDU3BlY2lmaWM8Q0lFQ19VTElOVCwgVUFfQnl0ZT4pLAorICBVQV9UeXBlQ29udmVydCgmVUFfVFlQRVNbVUFfVFlQRVNfVUlOVDE2XSwgJmNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfV09SRCwgVUFfVUludDE2PiwgJmNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfV09SRCwgVUFfVUludDE2PiksCisgIFVBX1R5cGVDb252ZXJ0KCZVQV9UWVBFU1tVQV9UWVBFU19VSU5UMzJdLCAmY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19EV09SRCwgVUFfVUludDMyPiwgJmNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfRFdPUkQsIFVBX1VJbnQzMj4pLAorICBVQV9UeXBlQ29udmVydCgmVUFfVFlQRVNbVUFfVFlQRVNfVUlOVDY0XSwgJmNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfTFdPUkQsIFVBX1VJbnQ2ND4sICZjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYzxDSUVDX0xXT1JELCBVQV9VSW50NjQ+KSwKKyAgVUFfVHlwZUNvbnZlcnQoJlVBX1RZUEVTW1VBX1RZUEVTX0RBVEVUSU1FXSwgJmNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfREFURSwgVUFfRGF0ZVRpbWU+LCAmY29udmVydEZyb21PUENVQVRvSUVDU3BlY2lmaWM8Q0lFQ19EQVRFLCBVQV9EYXRlVGltZT4pLAorICBVQV9UeXBlQ29udmVydCgmVUFfVFlQRVNbVUFfVFlQRVNfREFURVRJTUVdLCAmY29udmVydEZyb21JRUNUb09QQ1VBU3BlY2lmaWM8Q0lFQ19USU1FX09GX0RBWSwgVUFfRGF0ZVRpbWU+LAorICAgICZjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYzxDSUVDX1RJTUVfT0ZfREFZLCBVQV9EYXRlVGltZT4pLAorICBVQV9UeXBlQ29udmVydCgmVUFfVFlQRVNbVUFfVFlQRVNfVUlOVDY0XSwgJmNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfTFdPUkQsIFVBX1VJbnQ2ND4sICZjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYzxDSUVDX0xXT1JELCBVQV9VSW50NjQ+KSwKKyAgVUFfVHlwZUNvbnZlcnQoJlVBX1RZUEVTW1VBX1RZUEVTX0RBVEVUSU1FXSwgJmNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfREFURV9BTkRfVElNRSwgVUFfRGF0ZVRpbWU+LAorICAgICZjb252ZXJ0RnJvbU9QQ1VBVG9JRUNTcGVjaWZpYzxDSUVDX0RBVEVfQU5EX1RJTUUsIFVBX0RhdGVUaW1lPiksCisgIFVBX1R5cGVDb252ZXJ0KCZVQV9UWVBFU1tVQV9UWVBFU19GTE9BVF0sICZjb252ZXJ0RnJvbUlFQ1RvT1BDVUFTcGVjaWZpYzxDSUVDX1JFQUwsIFVBX0Zsb2F0PiwgJmNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfUkVBTCwgVUFfRmxvYXQ+KSwKKyAgVUFfVHlwZUNvbnZlcnQoJlVBX1RZUEVTW1VBX1RZUEVTX0RPVUJMRV0sICZjb252ZXJ0RnJvbUlFQ1RvT1BDVUFTcGVjaWZpYzxDSUVDX0xSRUFMLCBVQV9Eb3VibGU+LCAmY29udmVydEZyb21PUENVQVRvSUVDU3BlY2lmaWM8Q0lFQ19MUkVBTCwgVUFfRG91YmxlPiksCisgICAgVUFfVHlwZUNvbnZlcnQoJlVBX1RZUEVTW1VBX1RZUEVTX1NUUklOR10sICZjb252ZXJ0RnJvbUlFQ1RvT1BDVUFTcGVjaWZpYzxDSUVDX1NUUklORywgVUFfU3RyaW5nPiwgJmNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfU1RSSU5HLCBVQV9TdHJpbmc+KSwKKyAgICBVQV9UeXBlQ29udmVydCgmVUFfVFlQRVNbVUFfVFlQRVNfU1RSSU5HXSwgJmNvbnZlcnRGcm9tSUVDVG9PUENVQVNwZWNpZmljPENJRUNfV1NUUklORywgVUFfU3RyaW5nPiwgJmNvbnZlcnRGcm9tT1BDVUFUb0lFQ1NwZWNpZmljPENJRUNfV1NUUklORywgVUFfU3RyaW5nPiksIH07CisKKworY29uc3QgVUFfRGF0YVR5cGUgKkNPUENfVUFfSGVscGVyOjpnZXRPUENVQVR5cGVGcm9tQW55KGNvbnN0IENJRUNfQU5ZJiBwYUFueVR5cGUpIHsKKyAgQ0lFQ19BTlk6OkVEYXRhVHlwZUlEIHR5cGVJZCA9IHBhQW55VHlwZS5nZXREYXRhVHlwZUlEKCk7CisgIGlmKHR5cGVJZCA+PSBDSUVDX0FOWTo6ZV9CT09MICYmIHR5cGVJZCA8PSBDSUVDX0FOWTo6ZV9XU1RSSU5HKSB7IC8vYmFzaWMgdHlwZQorICAgIHJldHVybiBzY21NYXBGb3J0ZVR5cGVJZFRvT3BjVWFbdHlwZUlkXS5tVHlwZTsKKyAgfSBlbHNlIGlmKENJRUNfQU5ZOjplX0FSUkFZID09IHR5cGVJZCkgeworICAgIHJldHVybiBnZXRPUENVQVR5cGVGcm9tQW55KCpzdGF0aWNfY2FzdDxjb25zdCBDSUVDX0FSUkFZJj4ocGFBbnlUeXBlKVswXSk7CisgIH0gZWxzZSB7CisgICAgcmV0dXJuIGdldEV4dGVybmFsT1BDVUFUeXBlRnJvbUFueShwYUFueVR5cGUpOworICB9CisgIHJldHVybiAwOworfQorCitzaXplX3QgQ09QQ19VQV9IZWxwZXI6OmNvbnZlcnRUb09QQ1VBVHlwZShjb25zdCBDSUVDX0FOWSYgcGFTcmNBbnksIHZvaWQgKnBhRGVzdCkgeworICBzaXplX3QgcmV0VmFsID0gMDsKKworICBDSUVDX0FOWTo6RURhdGFUeXBlSUQgdHlwZUlkID0gcGFTcmNBbnkuZ2V0RGF0YVR5cGVJRCgpOworICBpZih0eXBlSWQgPj0gQ0lFQ19BTlk6OmVfQk9PTCAmJiB0eXBlSWQgPD0gQ0lFQ19BTlk6OmVfV1NUUklORykgeyAvL2Jhc2ljIHR5cGUKKyAgICByZXRWYWwgPSBzY21NYXBGb3J0ZVR5cGVJZFRvT3BjVWFbdHlwZUlkXS5tVG9PUENVQShwYVNyY0FueSwgcGFEZXN0KTsKKyAgfSBlbHNlIGlmKENJRUNfQU5ZOjplX0FSUkFZID09IHR5cGVJZCkgeworICAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBzdGF0aWNfY2FzdDxjb25zdCBDSUVDX0FSUkFZJj4ocGFTcmNBbnkpLnNpemUoKTsgaSsrKSB7CisgICAgICByZXRWYWwgKz0gY29udmVydFRvT1BDVUFUeXBlKCpzdGF0aWNfY2FzdDxjb25zdCBDSUVDX0FSUkFZJj4ocGFTcmNBbnkpW3N0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oaSldLCBzdGF0aWNfY2FzdDxjaGFyKj4ocGFEZXN0KSArIHJldFZhbCk7CisgICAgfQorICB9IGVsc2UgaWYoQ0lFQ19BTlk6OmVfU1RSVUNUID09IHR5cGVJZCkgeworICAgIGNvbnN0IENJRUNfQU5ZICptZW1iZXJzID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19TVFJVQ1QmPihwYVNyY0FueSkuZ2V0TWVtYmVycygpOworICAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBzdGF0aWNfY2FzdDxjb25zdCBDSUVDX1NUUlVDVCY+KHBhU3JjQW55KS5nZXRTdHJ1Y3RTaXplKCk7IGkrKykgeworICAgICAgcmV0VmFsICs9IGNvbnZlcnRUb09QQ1VBVHlwZShtZW1iZXJzW2ldLCBzdGF0aWNfY2FzdDxjaGFyKj4ocGFEZXN0KSArIHJldFZhbCk7CisgICAgfQorICB9CisgIHJldHVybiByZXRWYWw7Cit9CisKK3NpemVfdCBDT1BDX1VBX0hlbHBlcjo6Y29udmVydEZyb21PUENVQVR5cGUoY29uc3Qgdm9pZCAqcGFTcmMsIENJRUNfQU5ZICZwYURlc3RBbnkpIHsKKyAgc2l6ZV90IHJldFZhbCA9IDA7CisKKyAgQ0lFQ19BTlk6OkVEYXRhVHlwZUlEIHR5cGVJZCA9IHBhRGVzdEFueS5nZXREYXRhVHlwZUlEKCk7CisgIGlmKHR5cGVJZCA+PSBDSUVDX0FOWTo6ZV9CT09MICYmIHR5cGVJZCA8PSBDSUVDX0FOWTo6ZV9XU1RSSU5HKSB7IC8vYmFzaWMgdHlwZQorICAgIHJldFZhbCA9IHNjbU1hcEZvcnRlVHlwZUlkVG9PcGNVYVt0eXBlSWRdLm1Gcm9tT1BDVUEocGFTcmMsIHBhRGVzdEFueSk7CisgIH0gZWxzZSBpZihDSUVDX0FOWTo6ZV9BUlJBWSA9PSB0eXBlSWQpIHsKKyAgICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSY+KHBhRGVzdEFueSkuc2l6ZSgpOyBpKyspIHsKKyAgICAgIHJldFZhbCArPSBjb252ZXJ0RnJvbU9QQ1VBVHlwZShzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4ocGFTcmMpICsgcmV0VmFsLCAqc3RhdGljX2Nhc3Q8Q0lFQ19BUlJBWSY+KHBhRGVzdEFueSlbc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PihpKV0pOworICAgIH0KKyAgfSBlbHNlIGlmKENJRUNfQU5ZOjplX1NUUlVDVCA9PSB0eXBlSWQpIHsKKyAgICBDSUVDX0FOWSAqbWVtYmVycyA9IHN0YXRpY19jYXN0PENJRUNfU1RSVUNUJj4ocGFEZXN0QW55KS5nZXRNZW1iZXJzKCk7CisgICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHN0YXRpY19jYXN0PENJRUNfU1RSVUNUJj4ocGFEZXN0QW55KS5nZXRTdHJ1Y3RTaXplKCk7IGkrKykgeworICAgICAgcmV0VmFsICs9IGNvbnZlcnRGcm9tT1BDVUFUeXBlKHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihwYVNyYykgKyByZXRWYWwsIG1lbWJlcnNbaV0pOworICAgIH0KKyAgfQorICByZXR1cm4gcmV0VmFsOworfQorCit2b2lkIENPUENfVUFfSGVscGVyOjpmaWxsVmFyaWFudChVQV9WYXJpYW50ICZwYVZhcmlhbnQsIGNvbnN0IENJRUNfQU5ZICZwYURhdGFTb3VyY2UpIHsKKyAgVUFfVmFyaWFudF9pbml0KCZwYVZhcmlhbnQpOworICBwYVZhcmlhbnQudHlwZSA9IENPUENfVUFfSGVscGVyOjpnZXRPUENVQVR5cGVGcm9tQW55KHBhRGF0YVNvdXJjZSk7CisgIHZvaWQgKnZhclZhbHVlID0gVUFfbmV3KHBhVmFyaWFudC50eXBlKTsKKyAgVUFfaW5pdCh2YXJWYWx1ZSwgcGFWYXJpYW50LnR5cGUpOworICBDT1BDX1VBX0hlbHBlcjo6Y29udmVydFRvT1BDVUFUeXBlKHBhRGF0YVNvdXJjZSwgdmFyVmFsdWUpOworICBVQV9WYXJpYW50X3NldFNjYWxhckNvcHkoJnBhVmFyaWFudCwgdmFyVmFsdWUsIHBhVmFyaWFudC50eXBlKTsKKyAgcGFWYXJpYW50LnN0b3JhZ2VUeXBlID0gVUFfVkFSSUFOVF9EQVRBOworICBVQV9kZWxldGUodmFyVmFsdWUsIHBhVmFyaWFudC50eXBlKTsKK30KKworYm9vbCBDT1BDX1VBX0hlbHBlcjo6aXNCcm93c2VQYXRoVmFsaWQoY29uc3QgY2hhciAqcGFCcm93c2VwYXRoKSB7CisgIGJvb2wgcmV0VmFsID0gZmFsc2U7CisKKyAgaWYoJy8nID09ICpwYUJyb3dzZXBhdGgpIHsKKyAgICBzaXplX3QgbGVuZ2h0T2ZCcm93c2VuYW1lID0gc3RybGVuKHBhQnJvd3NlcGF0aCk7CisgICAgaWYoJy8nID09ICoocGFCcm93c2VwYXRoICsgbGVuZ2h0T2ZCcm93c2VuYW1lIC0gMSkpIHsgLy9yZW1vdmUgdHJhaWxpbmcgc2xhc2gKKyAgICAgIGxlbmdodE9mQnJvd3NlbmFtZS0tOwogICAgIH0KIAotdGVtcGxhdGU8Q0lFQ19BTlk6OkVEYXRhVHlwZUlEIFRfRk9SVEVfRSwgdHlwZW5hbWUgVF9GT1JURV9ULCB0eXBlbmFtZSBUX0M+Ci1ib29sIG1hcF9jb252ZXJ0X2dldChjb25zdCBDSUVDX0FOWSAqc3JjLCB2b2lkICpkc3QpIHsKLSAgaWYgKHNyYy0+Z2V0RGF0YVR5cGVJRCgpICE9IFRfRk9SVEVfRSkKLSAgICByZXR1cm4gZmFsc2U7Ci0gIFRfQyAqZHN0VHlwZSA9IHN0YXRpY19jYXN0PFRfQyAqPihkc3QpOwotICAqZHN0VHlwZSA9ICooVF9GT1JURV9UICopIChzcmMpOwotICByZXR1cm4gdHJ1ZTsKLX07CisgICAgaWYoMSA8IGxlbmdodE9mQnJvd3NlbmFtZSkgeworICAgICAgcmV0VmFsID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIEhFTFBFUl06IEJyb3dzZXBhdGggJXMgZG9lc24ndCBwcm92aWRlICBhIHZhbGlkIG5vZGVuYW1lXG4iLCBwYUJyb3dzZXBhdGgpOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgSEVMUEVSXTogQnJvd3NlcGF0aCAlcyBzaG91bGQgc3RhcnQgd2l0aCBhIHNsYXNoXG4iLCBwYUJyb3dzZXBhdGgpOworICB9CiAKLXRlbXBsYXRlPENJRUNfQU5ZOjpFRGF0YVR5cGVJRCBUX0ZPUlRFX0UsIHR5cGVuYW1lIFRfRk9SVEVfVCwgdHlwZW5hbWUgVF9DPgotYm9vbCBtYXBfY29udmVydF9zZXQoY29uc3Qgdm9pZCAqc3JjLCBDSUVDX0FOWSAqZHN0KSB7Ci0gIGlmIChkc3QtPmdldERhdGFUeXBlSUQoKSAhPSBUX0ZPUlRFX0UpCi0gICAgcmV0dXJuIGZhbHNlOwotICBUX0ZPUlRFX1QgKmRzdFR5cGUgPSBzdGF0aWNfY2FzdDxUX0ZPUlRFX1QgKj4oZHN0KTsKLSAgKmRzdFR5cGUgPSAqKFRfQyAqKSAoc3JjKTsKLSAgcmV0dXJuIHRydWU7Ci19OwotCi0jZGVmaW5lIE1BUF9JTlNFUlRfQ09OVkVSVChUX0ZPUlRFX0UsIFRfRk9SVEVfVCwgVF9VQSwgVF9DKSBcCi0gICAgeyBcCi0gICAgICAgIFRfVUEsIFwKLSAgICAgICAgJm1hcF9jb252ZXJ0X2dldDxUX0ZPUlRFX0UsIFRfRk9SVEVfVCwgVF9DPiwgXAotICAgICAgICAmbWFwX2NvbnZlcnRfc2V0PFRfRk9SVEVfRSwgVF9GT1JURV9ULCBUX0M+IFwKLSAgICB9IFwKLQotI2RlZmluZSBNQVBfSU5TRVJUX0NPTlZFUlRfU1BFQ0lGSUMoVF9GT1JURV9ULCBUX1VBKSBcCi0gICAgeyBcCi0gICAgICAgIFRfVUEsIFwKLSAgICAgICAgJm1hcF9jb252ZXJ0X2dldF8jI1RfRk9SVEVfVCwgXAotICAgICAgICAmbWFwX2NvbnZlcnRfc2V0XyMjVF9GT1JURV9UIFwKLSAgICB9IFwKLQotCi0KLWJvb2wgbWFwX2NvbnZlcnRfZ2V0X0NJRUNfREFURShjb25zdCBDSUVDX0FOWSAqc3JjLCB2b2lkICpkc3QpIHsKLSAgaWYgKHNyYy0+Z2V0RGF0YVR5cGVJRCgpICE9IENJRUNfQU5ZOjplX0RBVEUpCi0gICAgcmV0dXJuIGZhbHNlOwotICBVQV9EYXRlVGltZSAqZHN0VHlwZSA9IHN0YXRpY19jYXN0PFVBX0RhdGVUaW1lICo+KGRzdCk7Ci0gICpkc3RUeXBlID0gREFURV9UT19EVCgqKENJRUNfREFURSAqKSAoc3JjKSk7Ci0gIHJldHVybiB0cnVlOworICByZXR1cm4gcmV0VmFsOwogfQogCi1ib29sIG1hcF9jb252ZXJ0X3NldF9DSUVDX0RBVEUoY29uc3Qgdm9pZCAqc3JjLCBDSUVDX0FOWSAqZHN0KSB7Ci0gIGlmIChkc3QtPmdldERhdGFUeXBlSUQoKSAhPSBDSUVDX0FOWTo6ZV9EQVRFKQotICAgIHJldHVybiBmYWxzZTsKLSAgQ0lFQ19EQVRFICpkc3RUeXBlID0gc3RhdGljX2Nhc3Q8Q0lFQ19EQVRFICo+KGRzdCk7Ci0gICpkc3RUeXBlID0gRFRfVE9fREFURSgqKFRGb3J0ZVVJbnQ2NCAqKSAoKGNvbnN0IFVBX0RhdGVUaW1lICopIChzcmMpKSk7Ci0gIHJldHVybiB0cnVlOworVUFfU3RhdHVzQ29kZSBDT1BDX1VBX0hlbHBlcjo6Z2V0UmVtb3RlTm9kZUZvclBhdGgoVUFfQ2xpZW50ICZwYUNsaWVudCwgY29uc3QgY2hhciAqcGFOb2RlUGF0aENvbnN0LCBVQV9Ob2RlSWQgKipwYVBhcmVudE5vZGVJZCwgVUFfTm9kZUlkICoqcGFGb3VuZE5vZGVJZCkgeworICAqcGFGb3VuZE5vZGVJZCA9IE5VTEw7CisgIFVBX0Jyb3dzZVBhdGggKmJyb3dzZVBhdGhzID0gMDsKKyAgc2l6ZV90IGZvbGRlckNudCA9IDA7CisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gcHJlcGFyZUJyb3dzZUFyZ3VtZW50KHBhTm9kZVBhdGhDb25zdCwgJmJyb3dzZVBhdGhzLCAmZm9sZGVyQ250KTsKKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgeworCisgICAgVUFfVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IHJlcXVlc3Q7CisgICAgVUFfVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSByZXNwb25zZTsKKworICAgIFVBX1RyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdF9pbml0KCZyZXF1ZXN0KTsKKworICAgIHJlcXVlc3QuYnJvd3NlUGF0aHMgPSBicm93c2VQYXRoczsKKyAgICByZXF1ZXN0LmJyb3dzZVBhdGhzU2l6ZSA9IGZvbGRlckNudCAqIDI7CisKKyAgICByZXNwb25zZSA9IFVBX0NsaWVudF9TZXJ2aWNlX3RyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzKCZwYUNsaWVudCwgcmVxdWVzdCk7CisKKyAgICByZXRWYWwgPSByZXNwb25zZS5yZXNwb25zZUhlYWRlci5zZXJ2aWNlUmVzdWx0OworICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWwpIHsKKyAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHNTaXplID09IGZvbGRlckNudCAqIDIpIHsKKyAgICAgICAgaW50IGZvdW5kRm9sZGVyT2Zmc2V0ID0gZ2V0Rm9sZGVyT2Zmc2V0KHJlc3BvbnNlLnJlc3VsdHMsIGZvbGRlckNudCk7CisKKyAgICAgICAgaWYoZm91bmRGb2xkZXJPZmZzZXQgPj0gMCkgeworICAgICAgICAgIC8vIGFsbCBub2RlcyBleGlzdCwgc28ganVzdCBjb3B5IHRoZSBub2RlIGlkcworICAgICAgICAgIGNvcHlOb2RlSWRzKHJlc3BvbnNlLnJlc3VsdHMsIGZvbGRlckNudCwgZm91bmRGb2xkZXJPZmZzZXQsIHBhUGFyZW50Tm9kZUlkLCBwYUZvdW5kTm9kZUlkKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgSEVMUEVSXTogQ291bGQgbm90IHRyYW5zbGF0ZSBicm93c2UgcGF0aHMgZm9yICclcycgdG8gbm9kZSBJRHMuIE5vdCBhbGwgbm9kZXMgZXhpc3RcbiIsIHBhTm9kZVBhdGhDb25zdCk7CisgICAgICAgICAgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURVTkVYUEVDVEVERVJST1I7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSB7CisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBIRUxQRVJdOiBDb3VsZCBub3QgdHJhbnNsYXRlIGJyb3dzZSBwYXRocyBmb3IgJyVzJyB0byBub2RlIElEcy4gcmVzdWx0U2l6ZSAoJWQpICE9IGV4cGVjdGVkIGNvdW50ICglZClcbiIsIHBhTm9kZVBhdGhDb25zdCwKKyAgICAgICAgICByZXNwb25zZS5yZXN1bHRzU2l6ZSwgZm9sZGVyQ250KTsKKyAgICAgICAgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURVTkVYUEVDVEVERVJST1I7CisgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBIRUxQRVJdOiBDb3VsZCBub3QgdHJhbnNsYXRlIGJyb3dzZSBwYXRocyBmb3IgJyVzJyB0byBub2RlIElEcy4gRXJyb3I6ICVzXG4iLCBwYU5vZGVQYXRoQ29uc3QsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKKyAgICB9CisKKyAgICAvL2Jyb3dzZVBhdGhzIGlzIGRlbGV0ZWQgaW5zaWRlCisgICAgVUFfVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0X2RlbGV0ZU1lbWJlcnMoJnJlcXVlc3QpOworICAgIFVBX1RyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2VfZGVsZXRlTWVtYmVycygmcmVzcG9uc2UpOworICB9CisKKyAgcmV0dXJuIHJldFZhbDsKIH0KIAotYm9vbCBtYXBfY29udmVydF9nZXRfQ0lFQ19USU1FX09GX0RBWShjb25zdCBDSUVDX0FOWSAqc3JjLCB2b2lkICopIHsKLSAgaWYgKHNyYy0+Z2V0RGF0YVR5cGVJRCgpICE9IENJRUNfQU5ZOjplX1RJTUVfT0ZfREFZKQotICAgIHJldHVybiBmYWxzZTsKLSAgLy9UT0RPIGhvdyBjb252ZXJ0IFRPRCB0byBEVD8KLSAgcmV0dXJuIGZhbHNlOworVUFfU3RhdHVzQ29kZSBDT1BDX1VBX0hlbHBlcjo6cHJlcGFyZUJyb3dzZUFyZ3VtZW50KGNvbnN0IGNoYXIgKnBhTm9kZVBhdGhDb25zdCwgVUFfQnJvd3NlUGF0aCAqKnBhQnJvd3NlUGF0aHMsIHNpemVfdCAqcGFGb2xkZXJDb3VudCkgeworCisgIGlmKCFpc0Jyb3dzZVBhdGhWYWxpZChwYU5vZGVQYXRoQ29uc3QpKSB7CisgICAgcmV0dXJuIFVBX1NUQVRVU0NPREVfQkFESU5WQUxJREFSR1VNRU5UOworICB9CisKKyAgQ0lFQ19TVFJJTkcgY29weU9mT3JpZ2luYWwocGFOb2RlUGF0aENvbnN0KTsKKworICBjaGFyICpub2RlUGF0aCA9IGNvcHlPZk9yaWdpbmFsLmdldFZhbHVlKCk7CisKKyAgaWYoJy8nID09IG5vZGVQYXRoW2NvcHlPZk9yaWdpbmFsLmxlbmd0aCgpIC0gMV0pIHsgLy8gcmVtb3ZlIHRhaWxpbmcgc2xhc2gKKyAgICBub2RlUGF0aFtjb3B5T2ZPcmlnaW5hbC5sZW5ndGgoKSAtIDFdID0gJ1wwJzsKKyAgfQorCisgIENQYXJhbWV0ZXJQYXJzZXIgZm9sZGVyUGFyc2VyKG5vZGVQYXRoICsgMSwgJy8nKTsgLy8gKyAxIHRvIHNraXAgdGhlIGZpcnN0IHNsYXNoCisKKyAgKCpwYUZvbGRlckNvdW50KSA9IGZvbGRlclBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKTsKKworICBVQV9Ob2RlSWQgc3RhcnRpbmdOb2RlID0gVUFfTk9ERUlEX05VTUVSSUMoMCwgVUFfTlMwSURfUk9PVEZPTERFUik7CisKKyAgLy8gZm9yIGV2ZXJ5IGZvbGRlciAod2hpY2ggaXMgYSBCcm93c2VQYXRoKSB3ZSB3YW50IHRvIGdldCB0aGUgbm9kZSBpZAorICAqcGFCcm93c2VQYXRocyA9IHN0YXRpY19jYXN0PFVBX0Jyb3dzZVBhdGggKj4oVUFfQXJyYXlfbmV3KCgqcGFGb2xkZXJDb3VudCkgKiAyLCAmVUFfVFlQRVNbVUFfVFlQRVNfQlJPV1NFUEFUSF0pKTsKKyAgVUFfQnJvd3NlUGF0aCAqYnJvd3NlUGF0aHMgPSAqcGFCcm93c2VQYXRoczsKKworICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgKCpwYUZvbGRlckNvdW50KTsgaSsrKSB7CisgICAgY29uc3QgY2hhciAqdG9rID0gZm9sZGVyUGFyc2VyW2ldOworICAgIFVBX0Jyb3dzZVBhdGhfaW5pdCgmYnJvd3NlUGF0aHNbaV0pOworICAgIGJyb3dzZVBhdGhzW2ldLnN0YXJ0aW5nTm9kZSA9IHN0YXJ0aW5nTm9kZTsKKyAgICBicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNTaXplID0gaSArIDE7CisKKyAgICBicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHMgPSBzdGF0aWNfY2FzdDxVQV9SZWxhdGl2ZVBhdGhFbGVtZW50ICo+KFVBX0FycmF5X25ldyhicm93c2VQYXRoc1tpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNTaXplLAorICAgICAgJlVBX1RZUEVTW1VBX1RZUEVTX1JFTEFUSVZFUEFUSEVMRU1FTlRdKSk7CisKKyAgICBmb3Ioc2l6ZV90IGogPSAwOyBqIDw9IGk7IGorKykgeworICAgICAgaWYoaiA8IGkpIHsKKyAgICAgICAgLy8ganVzdCBjb3B5IGZyb20gYmVmb3JlCisgICAgICAgIFVBX1JlbGF0aXZlUGF0aEVsZW1lbnRfY29weSgmYnJvd3NlUGF0aHNbaSAtIDFdLnJlbGF0aXZlUGF0aC5lbGVtZW50c1tqXSwgJmJyb3dzZVBhdGhzW2ldLnJlbGF0aXZlUGF0aC5lbGVtZW50c1tqXSk7CisgICAgICAgIGNvbnRpbnVlOworICAgICAgfQorICAgICAgLy8gdGhlIGxhc3QgZWxlbWVudCBpcyBhIG5ldyBvbmUKKyAgICAgIFVBX1JlbGF0aXZlUGF0aEVsZW1lbnRfaW5pdCgmYnJvd3NlUGF0aHNbaV0ucmVsYXRpdmVQYXRoLmVsZW1lbnRzW2pdKTsKKyAgICAgIGJyb3dzZVBhdGhzW2ldLnJlbGF0aXZlUGF0aC5lbGVtZW50c1tqXS5pc0ludmVyc2UgPSBVQV9GQUxTRTsKKworICAgICAgaWYoIWdldEJyb3dzZW5hbWVGcm9tTm9kZU5hbWUodG9rLCBpID8gMSA6IDAsIGJyb3dzZVBhdGhzW2ldLnJlbGF0aXZlUGF0aC5lbGVtZW50c1tqXS50YXJnZXROYW1lKSkgeyAvL3VzZSB0aGUgZml4IDAgb25seSBmb3IgdGhlIGZpcnN0IG9uZSBhbmQgdGhlbiB0YWtlIGl0IGZyb20gdGhlIHNlcnZlcgorICAgICAgICBVQV9BcnJheV9kZWxldGUoYnJvd3NlUGF0aHMsICpwYUZvbGRlckNvdW50ICogMiwgJlVBX1RZUEVTW1VBX1RZUEVTX0JST1dTRVBBVEhdKTsKKyAgICAgICAgcmV0dXJuIFVBX1NUQVRVU0NPREVfQkFESU5WQUxJREFSR1VNRU5UOworICAgICAgfQorICAgIH0KKyAgfQorCisgIC8vIHNhbWUgYnJvd3NlIHBhdGhzLCBidXQgaW52ZXJzZSByZWZlcmVuY2UsIHRvIGNoZWNrIGJvdGggZGlyZWN0aW9ucworICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgKCpwYUZvbGRlckNvdW50KTsgaSsrKSB7CisgICAgVUFfQnJvd3NlUGF0aF9jb3B5KCZicm93c2VQYXRoc1tpXSwgJmJyb3dzZVBhdGhzWygqcGFGb2xkZXJDb3VudCkgKyBpXSk7CisgICAgZm9yKHVuc2lnbmVkIGludCBqID0gMDsgaiA8IGJyb3dzZVBhdGhzWygqcGFGb2xkZXJDb3VudCkgKyBpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNTaXplOyBqKyspIHsKKyAgICAgIGJyb3dzZVBhdGhzWygqcGFGb2xkZXJDb3VudCkgKyBpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNbal0uaXNJbnZlcnNlID0gIWJyb3dzZVBhdGhzWygqcGFGb2xkZXJDb3VudCkgKyBpXS5yZWxhdGl2ZVBhdGguZWxlbWVudHNbal0uaXNJbnZlcnNlOworICAgIH0KKyAgfQorICByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EOwogfQogCi1ib29sIG1hcF9jb252ZXJ0X3NldF9DSUVDX1RJTUVfT0ZfREFZKGNvbnN0IHZvaWQgKiwgQ0lFQ19BTlkgKmRzdCkgewotICBpZiAoZHN0LT5nZXREYXRhVHlwZUlEKCkgIT0gQ0lFQ19BTlk6OmVfVElNRV9PRl9EQVkpCi0gICAgcmV0dXJuIGZhbHNlOwotICAvL1RPRE8gaG93IGNvbnZlcnQgVUFfRGF0ZVRpbWUgdG8gVE9EPwotICByZXR1cm4gZmFsc2U7CitVQV9TdGF0dXNDb2RlIENPUENfVUFfSGVscGVyOjpyZWxlYXNlQnJvd3NlQXJndW1lbnQoVUFfQnJvd3NlUGF0aCAmcGFCcm93c2VQYXRocywgc2l6ZV90IHBhUGF0aExlbmd0aCkgeworICBVQV9BcnJheV9kZWxldGUoJnBhQnJvd3NlUGF0aHMsIHBhUGF0aExlbmd0aCAqIDIsICZVQV9UWVBFU1tVQV9UWVBFU19CUk9XU0VQQVRIXSk7CisgIHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0Q7CiB9CiAKK2Jvb2wgQ09QQ19VQV9IZWxwZXI6OmdldEJyb3dzZW5hbWVGcm9tTm9kZU5hbWUoY29uc3QgY2hhciAqcGFOb2RlTmFtZSwgVUFfVUludDE2IHBhRGVmYXVsdE5hbWVzcGFjZSwgVUFfUXVhbGlmaWVkTmFtZSAmcGFCcm93c2VOYW1lKSB7CisgIGJvb2wgcmV0VmFsID0gdHJ1ZTsKIAotYm9vbCBtYXBfY29udmVydF9nZXRfQ0lFQ19TVFJJTkcoY29uc3QgQ0lFQ19BTlkgKnNyYywgdm9pZCAqZHN0KSB7Ci0gIGlmIChzcmMtPmdldERhdGFUeXBlSUQoKSAhPSBDSUVDX0FOWTo6ZV9TVFJJTkcpCi0gICAgcmV0dXJuIGZhbHNlOwotICBVQV9TdHJpbmcgKmRzdFR5cGUgPSBzdGF0aWNfY2FzdDxVQV9TdHJpbmcgKj4oZHN0KTsKLSAgKmRzdFR5cGUgPSBVQV9TdHJpbmdfZnJvbUNoYXJzKHN0YXRpY19jYXN0PGNvbnN0IENJRUNfU1RSSU5HICo+KHNyYyktPmdldFZhbHVlKCkpOwotICByZXR1cm4gdHJ1ZTsKKyAgVUFfVUludDE2IGJyb3dzZW5hbWVOYW1lc3BhY2UgPSBwYURlZmF1bHROYW1lc3BhY2U7CisgIENJRUNfU1RSSU5HIHRhcmdldE5hbWU7CisgIENQYXJhbWV0ZXJQYXJzZXIgYnJvd3NlTmFtZVBhcnNlcihwYU5vZGVOYW1lLCAnOicpOworICBzaXplX3QgcGFyc2luZ1Jlc3VsdCA9IGJyb3dzZU5hbWVQYXJzZXIucGFyc2VQYXJhbWV0ZXJzKCk7CisgIGlmKHNjbU1heE5vT2ZQYXJhbWV0ZXJzSW5Ccm93c2VOYW1lID09IHBhcnNpbmdSZXN1bHQpIHsKKyAgICBicm93c2VuYW1lTmFtZXNwYWNlID0gc3RhdGljX2Nhc3Q8VUFfVUludDE2Pihmb3J0ZTo6Y29yZTo6dXRpbDo6c3RydG9sKGJyb3dzZU5hbWVQYXJzZXJbMF0sIDAsIDEwKSk7CisgICAgdGFyZ2V0TmFtZSA9IGJyb3dzZU5hbWVQYXJzZXJbMV07CisgIH0gZWxzZSBpZigxID09IHBhcnNpbmdSZXN1bHQpIHsKKyAgICB0YXJnZXROYW1lID0gYnJvd3NlTmFtZVBhcnNlclswXTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgSEVMUEVSXTogRXJyb3IgYnkgcGFyc2luZyBGQiBicm93c2UgcGF0aCAlc1xuIiwgcGFOb2RlTmFtZSk7CisgICAgcmV0VmFsID0gZmFsc2U7CisgIH0KKworICBpZihyZXRWYWwpIHsKKyAgICBwYUJyb3dzZU5hbWUgPSBVQV9RVUFMSUZJRUROQU1FX0FMTE9DKGJyb3dzZW5hbWVOYW1lc3BhY2UsIHRhcmdldE5hbWUuZ2V0VmFsdWUoKSk7CisgIH0KKyAgcmV0dXJuIHJldFZhbDsKIH0KIAotYm9vbCBtYXBfY29udmVydF9zZXRfQ0lFQ19TVFJJTkcoY29uc3Qgdm9pZCAqc3JjLCBDSUVDX0FOWSAqZHN0KSB7Ci0gIGlmIChkc3QtPmdldERhdGFUeXBlSUQoKSAhPSBDSUVDX0FOWTo6ZV9TVFJJTkcpCi0gICAgcmV0dXJuIGZhbHNlOwotICBDSUVDX1NUUklORyAqZHN0VHlwZSA9IHN0YXRpY19jYXN0PENJRUNfU1RSSU5HICo+KGRzdCk7Ci0KLSAgY29uc3QgVUFfU3RyaW5nICpzdHIgPSBzdGF0aWNfY2FzdDxjb25zdCBVQV9TdHJpbmcgKj4oc3JjKTsKLSAgY2hhciAqY2hhcnM7Ci0gIFVBX1N0cmluZ190b19jaGFyX2FsbG9jKHN0ciwgY2hhcnMpOwotICBkc3RUeXBlLT5mcm9tU3RyaW5nKGNoYXJzKTsKLSAgZm9ydGVfZnJlZShjaGFycyk7Ci0gIHJldHVybiB0cnVlOworaW50IENPUENfVUFfSGVscGVyOjpnZXRGb2xkZXJPZmZzZXQoVUFfQnJvd3NlUGF0aFJlc3VsdCAqcGFCcm93c2VQYXRoc1Jlc3VsdHMsIHNpemVfdCBwYUZvbGRlckNudCkgeworICBpbnQgZm91bmRGb2xkZXJPZmZzZXQgPSAtMTsKKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHBhQnJvd3NlUGF0aHNSZXN1bHRzW3BhRm9sZGVyQ250IC0gMV0uc3RhdHVzQ29kZSkgeworICAgIGZvdW5kRm9sZGVyT2Zmc2V0ID0gMDsKKyAgfSBlbHNlIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSBwYUJyb3dzZVBhdGhzUmVzdWx0c1twYUZvbGRlckNudCAqIDIgLSAxXS5zdGF0dXNDb2RlKSB7CisgICAgZm91bmRGb2xkZXJPZmZzZXQgPSBzdGF0aWNfY2FzdDxpbnQ+KHBhRm9sZGVyQ250KTsKKyAgfQorICByZXR1cm4gZm91bmRGb2xkZXJPZmZzZXQ7CiB9CiAKLWJvb2wgbWFwX2NvbnZlcnRfZ2V0X0NJRUNfV1NUUklORyhjb25zdCBDSUVDX0FOWSAqc3JjLCB2b2lkICpkc3QpIHsKLSAgaWYgKHNyYy0+Z2V0RGF0YVR5cGVJRCgpICE9IENJRUNfQU5ZOjplX1dTVFJJTkcpCi0gICAgcmV0dXJuIGZhbHNlOwotICBVQV9UeXBlQ29udmVydCBjb252ID0gQ09QQ19VQV9IZWxwZXI6Om1hcEZvcnRlVHlwZUlkVG9PcGNVYVtDSUVDX0FOWTo6ZV9TVFJJTkddOwotICBDSUVDX1NUUklORyBzdHIgPSBXU1RSSU5HX1RPX1NUUklORygqc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19XU1RSSU5HICo+KHNyYykpOwotICByZXR1cm4gY29udi5nZXQoJnN0ciwgZHN0KTsKK3ZvaWQgQ09QQ19VQV9IZWxwZXI6OmNvcHlOb2RlSWRzKFVBX0Jyb3dzZVBhdGhSZXN1bHQgKnBhQnJvd3NlUGF0aHNSZXN1bHRzLCBzaXplX3QgcGFGb2xkZXJDbnQsIGludCBwYUZvdW5kRm9sZGVyT2Zmc2V0LCBVQV9Ob2RlSWQgKipwYVBhcmVudE5vZGVJZCwKKyAgICBVQV9Ob2RlSWQgKipwYUZvdW5kTm9kZUlkKSB7CisgICpwYUZvdW5kTm9kZUlkID0gVUFfTm9kZUlkX25ldygpOworICBVQV9Ob2RlSWRfY29weSgmcGFCcm93c2VQYXRoc1Jlc3VsdHNbcGFGb3VuZEZvbGRlck9mZnNldCArIHBhRm9sZGVyQ250IC0gMV0udGFyZ2V0c1swXS50YXJnZXRJZC5ub2RlSWQsICpwYUZvdW5kTm9kZUlkKTsKKyAgaWYocGFQYXJlbnROb2RlSWQgJiYgcGFGb2xkZXJDbnQgPj0gMikgeworICAgICpwYVBhcmVudE5vZGVJZCA9IFVBX05vZGVJZF9uZXcoKTsKKyAgICBVQV9Ob2RlSWRfY29weSgmcGFCcm93c2VQYXRoc1Jlc3VsdHNbcGFGb3VuZEZvbGRlck9mZnNldCArIHBhRm9sZGVyQ250IC0gMl0udGFyZ2V0c1swXS50YXJnZXRJZC5ub2RlSWQsICpwYVBhcmVudE5vZGVJZCk7CisgIH0gZWxzZSBpZihwYVBhcmVudE5vZGVJZCkgeworICAgICpwYVBhcmVudE5vZGVJZCA9IFVBX05vZGVJZF9uZXcoKTsKKyAgICAqKnBhUGFyZW50Tm9kZUlkID0gVUFfTk9ERUlEX05VTUVSSUMoMCwgVUFfTlMwSURfUk9PVEZPTERFUik7CisgIH0KIH0KIAotYm9vbCBtYXBfY29udmVydF9zZXRfQ0lFQ19XU1RSSU5HKGNvbnN0IHZvaWQgKnNyYywgQ0lFQ19BTlkgKmRzdCkgewotICBpZiAoZHN0LT5nZXREYXRhVHlwZUlEKCkgIT0gQ0lFQ19BTlk6OmVfV1NUUklORykKLSAgICByZXR1cm4gZmFsc2U7Ci0gIENJRUNfV1NUUklORyAqZHN0VHlwZSA9IHN0YXRpY19jYXN0PENJRUNfV1NUUklORyAqPihkc3QpOwotCi0gIGNvbnN0IFVBX1N0cmluZyAqc3RyID0gc3RhdGljX2Nhc3Q8Y29uc3QgVUFfU3RyaW5nICo+KHNyYyk7Ci0gIGNoYXIgKmNoYXJzOwotICBVQV9TdHJpbmdfdG9fY2hhcl9hbGxvYyhzdHIsIGNoYXJzKTsKLSAgZHN0VHlwZS0+ZnJvbVN0cmluZyhjaGFycyk7Ci0gIGZvcnRlX2ZyZWUoY2hhcnMpOwotCi0gIHJldHVybiB0cnVlOwotfQotCi0vKioKLSAqIEFUVEVOVElPTjoKLSAqIFRoaXMgYXJyYXkgaGFzIHRvIG1hdGNoIHRoZSBlbnVtIENJRUNfQU5ZOjpFRGF0YVR5cGVJRC4KLSAqIEN1cnJlbnQgbWF4aW11bSBpbmRleCBpcyBXU1RSSU5HCi0gKi8KLWNvbnN0IFVBX1R5cGVDb252ZXJ0IENPUENfVUFfSGVscGVyOjptYXBGb3J0ZVR5cGVJZFRvT3BjVWFbQ0lFQ19BTlk6OmVfV1NUUklORyArIDFdID0gewotICAgIHsgLy8gZHVtbXkgZm9yIGVfQU5ZCi0gICAgICBOVUxMLAotICAgICAgTlVMTCwKLSAgICAgIE5VTEwKLSAgICB9LAotICAgIE1BUF9JTlNFUlRfQ09OVkVSVChDSUVDX0FOWTo6ZV9CT09MLCBDSUVDX0JPT0wsICZVQV9UWVBFU1tVQV9UWVBFU19CT09MRUFOXSwgVUFfQm9vbGVhbiksCi0gICAgTUFQX0lOU0VSVF9DT05WRVJUKENJRUNfQU5ZOjplX1NJTlQsIENJRUNfU0lOVCwgJlVBX1RZUEVTW1VBX1RZUEVTX1NCWVRFXSwgVUFfU0J5dGUpLAotICAgIE1BUF9JTlNFUlRfQ09OVkVSVChDSUVDX0FOWTo6ZV9JTlQsIENJRUNfSU5ULCAmVUFfVFlQRVNbVUFfVFlQRVNfSU5UMTZdLCBVQV9JbnQxNiksCi0gICAgTUFQX0lOU0VSVF9DT05WRVJUKENJRUNfQU5ZOjplX0RJTlQsIENJRUNfRElOVCwgJlVBX1RZUEVTW1VBX1RZUEVTX0lOVDMyXSwgVUFfSW50MzIpLAotICAgIE1BUF9JTlNFUlRfQ09OVkVSVChDSUVDX0FOWTo6ZV9MSU5ULCBDSUVDX0xJTlQsICZVQV9UWVBFU1tVQV9UWVBFU19JTlQ2NF0sIFVBX0ludDY0KSwKLSAgICBNQVBfSU5TRVJUX0NPTlZFUlQoQ0lFQ19BTlk6OmVfVVNJTlQsIENJRUNfVVNJTlQsICZVQV9UWVBFU1tVQV9UWVBFU19CWVRFXSwgVUFfQnl0ZSksCi0gICAgTUFQX0lOU0VSVF9DT05WRVJUKENJRUNfQU5ZOjplX1VJTlQsIENJRUNfVUlOVCwgJlVBX1RZUEVTW1VBX1RZUEVTX1VJTlQxNl0sIFVBX1VJbnQxNiksCi0gICAgTUFQX0lOU0VSVF9DT05WRVJUKENJRUNfQU5ZOjplX1VESU5ULCBDSUVDX1VESU5ULCAmVUFfVFlQRVNbVUFfVFlQRVNfVUlOVDMyXSwgVUFfVUludDMyKSwKLSAgICBNQVBfSU5TRVJUX0NPTlZFUlQoQ0lFQ19BTlk6OmVfVUxJTlQsIENJRUNfVUxJTlQsICZVQV9UWVBFU1tVQV9UWVBFU19VSU5UNjRdLCBVQV9VSW50NjQpLAotICAgIE1BUF9JTlNFUlRfQ09OVkVSVChDSUVDX0FOWTo6ZV9CWVRFLCBDSUVDX0JZVEUsICZVQV9UWVBFU1tVQV9UWVBFU19CWVRFXSwgVUFfQnl0ZSksCi0gICAgTUFQX0lOU0VSVF9DT05WRVJUKENJRUNfQU5ZOjplX1dPUkQsIENJRUNfV09SRCwgJlVBX1RZUEVTW1VBX1RZUEVTX1VJTlQxNl0sIFVBX1VJbnQxNiksCi0gICAgTUFQX0lOU0VSVF9DT05WRVJUKENJRUNfQU5ZOjplX0RXT1JELCBDSUVDX0RXT1JELCAmVUFfVFlQRVNbVUFfVFlQRVNfVUlOVDMyXSwgVUFfVUludDMyKSwKLSAgICBNQVBfSU5TRVJUX0NPTlZFUlQoQ0lFQ19BTlk6OmVfTFdPUkQsIENJRUNfTFdPUkQsICZVQV9UWVBFU1tVQV9UWVBFU19VSU5UNjRdLCBVQV9VSW50NjQpLAotICAgIE1BUF9JTlNFUlRfQ09OVkVSVF9TUEVDSUZJQyhDSUVDX0RBVEUsICZVQV9UWVBFU1tVQV9UWVBFU19EQVRFVElNRV0pLAotICAgIE1BUF9JTlNFUlRfQ09OVkVSVF9TUEVDSUZJQyhDSUVDX1RJTUVfT0ZfREFZLCAmVUFfVFlQRVNbVUFfVFlQRVNfREFURVRJTUVdKSwKLSAgICBNQVBfSU5TRVJUX0NPTlZFUlQoQ0lFQ19BTlk6OmVfREFURV9BTkRfVElNRSwgQ0lFQ19EQVRFX0FORF9USU1FLCAmVUFfVFlQRVNbVUFfVFlQRVNfREFURVRJTUVdLCBVQV9EYXRlVGltZSksCi0gICAgTUFQX0lOU0VSVF9DT05WRVJUKENJRUNfQU5ZOjplX1RJTUUsIENJRUNfVElNRSwgJlVBX1RZUEVTW1VBX1RZUEVTX0RPVUJMRV0sIFVBX0ludDY0KSwKLSAgICBNQVBfSU5TRVJUX0NPTlZFUlQoQ0lFQ19BTlk6OmVfUkVBTCwgQ0lFQ19SRUFMLCAmVUFfVFlQRVNbVUFfVFlQRVNfRkxPQVRdLCBVQV9GbG9hdCksCi0gICAgTUFQX0lOU0VSVF9DT05WRVJUKENJRUNfQU5ZOjplX0xSRUFMLCBDSUVDX0xSRUFMLCAmVUFfVFlQRVNbVUFfVFlQRVNfRE9VQkxFXSwgVUFfRG91YmxlKSwKLSAgICBNQVBfSU5TRVJUX0NPTlZFUlRfU1BFQ0lGSUMoQ0lFQ19TVFJJTkcsICZVQV9UWVBFU1tVQV9UWVBFU19TVFJJTkddKSwKLSAgICBNQVBfSU5TRVJUX0NPTlZFUlRfU1BFQ0lGSUMoQ0lFQ19XU1RSSU5HLCAmVUFfVFlQRVNbVUFfVFlQRVNfU1RSSU5HXSkKLX07Ci0KLQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2hlbHBlci5oIGIvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2hlbHBlci5oCmluZGV4IGViYjZkNDAuLmFkYjdiNmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9oZWxwZXIuaAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfaGVscGVyLmgKQEAgLTEsMTQgKzEsMTYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gICoKLSAgKiBDb250cmlidXRvcnM6Ci0gICogICAgU3RlZmFuIFByb2ZhbnRlcgotICAqICAgICAgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYsIDIwMTkgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBTdGVmYW4gUHJvZmFudGVyCisgKiAgICAgIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNpZm5kZWYgRk9SVEVfT1BDVUFfSEVMUEVSX0gKICNkZWZpbmUgRk9SVEVfT1BDVUFfSEVMUEVSX0gKQEAgLTE2LDU3ICsxOCwyMjEgQEAKICNpbmNsdWRlIDxvcGVuNjI1NDEuaD4KICNpbmNsdWRlICJmb3J0ZV9hbnkuaCIKIAotc3RydWN0IFVBX1R5cGVDb252ZXJ0IHsKLSAgY29uc3QgVUFfRGF0YVR5cGUgKnR5cGU7Ci0KLSAgYm9vbCAoKmdldCkoY29uc3QgQ0lFQ19BTlkgKnNyYywgdm9pZCAqZHN0KTsKLQotICBib29sICgqc2V0KShjb25zdCB2b2lkICpzcmMsIENJRUNfQU5ZICpkc3QpOwotfTsKLQogY2xhc3MgQ09QQ19VQV9IZWxwZXIgewotcHVibGljOgotICAvKioKLSAgICogTWFwcyBFRGF0YVR5cGVJRCB0byBPUEMgVUEgZGF0YSB0eXBlcwotICAgKi8KLSAgc3RhdGljIGNvbnN0IFVBX1R5cGVDb252ZXJ0IG1hcEZvcnRlVHlwZUlkVG9PcGNVYVtDSUVDX0FOWTo6ZV9XU1RSSU5HICsgMV07CisgIHB1YmxpYzoKIAotICAvKioKLSAgICogQ2hlY2sgaWYgZ2l2ZW4gdHlwZSBJRCBpcyB2YWxpZCBhbiB3aXRoaW4gdGhlIHJhbmdlIG9mIHRoZSBhcnJheS4KLSAgICogQHBhcmFtIHR5cGVJZCB0aGUgdHlwZSBJRCB0byBjaGVjawotICAgKiBAcmV0dXJuIHRydWUgaWYgdmFsaWQKLSAgICovCi0gIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1R5cGVJZFZhbGlkKENJRUNfQU5ZOjpFRGF0YVR5cGVJRCB0eXBlSWQpIHsKLSAgICByZXR1cm4gdHlwZUlkID49IENJRUNfQU5ZOjplX0JPT0wgJiYgdHlwZUlkIDw9IENJRUNfQU5ZOjplX1dTVFJJTkc7Ci0gIH0KKyAgICAvKioKKyAgICAgKiBSZXR1cm5zIHRoZSBPUEMgVUEgZGF0YSB0eXBlIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgSUVDIDYxMTMxLTMgdHlwZQorICAgICAqIEBwYXJhbSBwYUFueVR5cGUgSUVDIDYxMTMxLTMgdHlwZQorICAgICAqIEByZXR1cm4gVGhlIE9QQyBVQSB0eXBlIHBvaW50ZXIsIG9yIDAgaWYgbm90IGZvdW5kCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IFVBX0RhdGFUeXBlICpnZXRPUENVQVR5cGVGcm9tQW55KGNvbnN0IENJRUNfQU5ZJiBwYUFueVR5cGUpOwogCi0gIC8qKgotICAgKiBDb252ZXJ0IGZvcnRlIERhdGFUeXBlIChDSUVDXy4uLikgdG8gdGhlIGNvcnJlc3BvbmRpbmcgT1BDIFVBIGRhdGF0eXBlLgotICAgKgotICAgKiBAcGFyYW0gdHlwZUlkIHR5cGUgaWQgb2YgdGhlIGZvcnRlIGRhdGF0eXBlCi0gICAqIEBwYXJhbSBzcmMgc291cmNlIGRhdGEKLSAgICogQHBhcmFtIGRzdCB0aGUgdmFsdWUgb2Ygc3JjIHdpbGwgYmUgY29udmVydGVkIGFuZCBzdG9yZWQgaW4gZHN0LiBJdCBoYXMgdG8gYmUgaW5pdGlhbGl6ZWQgYmVmb3JlLgotICAgKiBAcmV0dXJuIGZhbHNlIGlmIHR5cGUgaXMgbm90IHN1cHBvcnRlZAotICAgKi8KLSAgc3RhdGljIGlubGluZSBib29sIGNvbnZlcnRUb09wY1VhX3R5cGVJZChDSUVDX0FOWTo6RURhdGFUeXBlSUQgdHlwZUlkLCBjb25zdCBDSUVDX0FOWSAqc3JjLCB2b2lkICpkc3QpIHsKLSAgICBpZiAoIUNPUENfVUFfSGVscGVyOjppc1R5cGVJZFZhbGlkKHR5cGVJZCkpCi0gICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIENPUENfVUFfSGVscGVyOjptYXBGb3J0ZVR5cGVJZFRvT3BjVWFbdHlwZUlkXS5nZXQoc3JjLCBkc3QpOwotICB9CisgICAgLyoqCisgICAgICogQ29udmVydHMgYW55IElFQyA2MTEzMS0zIHR5cGUgdG8gaXRzIE9QQyBVQSBUeXBlCisgICAgICogQHBhcmFtIHBhU3JjQW55IElucHV0IHRvIGJlIGNvbnZlcnRlZAorICAgICAqIEBwYXJhbSBwYURlc3QgQWxyZWFkeSBhbGxvY2F0ZWQgbWVtb3J5IHdoZXJlIHRvIHN0b3JlCisgICAgICogQHJldHVybiBUaGUgc2l6ZSBpbiB0aGUgZGVzdGluYXRpb24gaXQgd2FzIHVzZWQKKyAgICAgKi8KKyAgICBzdGF0aWMgc2l6ZV90IGNvbnZlcnRUb09QQ1VBVHlwZShjb25zdCBDSUVDX0FOWSYgcGFTcmNBbnksIHZvaWQqIHBhRGVzdCk7CiAKLSAgLyoqCi0gICAqIENvbnZlcnQgT1BDIFVBIERhdGFUeXBlIHRvIHRoZSBjb3JyZXNwb25kaW5nIGZvcnRlIERhdGFUeXBlIChDSUVDXy4uLikuCi0gICAqCi0gICAqIEBwYXJhbSB0eXBlSWQgdHlwZSBpZCBvZiB0aGUgZm9ydGUgZGF0YXR5cGUKLSAgICogQHBhcmFtIHNyYyBzb3VyY2UgZGF0YQotICAgKiBAcGFyYW0gZHN0IHRoZSB2YWx1ZSBvZiBzcmMgd2lsbCBiZSBjb252ZXJ0ZWQgYW5kIHN0b3JlZCBpbiBkc3QuIEl0IGhhcyB0byBiZSBpbml0aWFsaXplZCBiZWZvcmUuCi0gICAqIEByZXR1cm4gZmFsc2UgaWYgdHlwZSBpcyBub3Qgc3VwcG9ydGVkCi0gICAqLwotICBzdGF0aWMgaW5saW5lIGJvb2wgY29udmVydEZyb21VYV90eXBlSWQoQ0lFQ19BTlk6OkVEYXRhVHlwZUlEIHR5cGVJZCwgY29uc3Qgdm9pZCAqc3JjLCBDSUVDX0FOWSAqZHN0KSB7Ci0gICAgaWYgKCFDT1BDX1VBX0hlbHBlcjo6aXNUeXBlSWRWYWxpZCh0eXBlSWQpKQotICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBDT1BDX1VBX0hlbHBlcjo6bWFwRm9ydGVUeXBlSWRUb09wY1VhW3R5cGVJZF0uc2V0KHNyYywgZHN0KTsKLSAgfQorICAgIC8qKgorICAgICAqIENvbnZlcnRzIGFuIE9QQyBVQSBUeXBlIGludG8gaXRzIElFQyA2MTEzMS0zIHR5cGUKKyAgICAgKiBAcGFyYW0gcGFTcmMgSW5wdXQgdG8gYmUgY29udmVydGVkCisgICAgICogQHBhcmFtIHBhRGVzdEFueSBQbGFjZSB0byBzdG9yZQorICAgICAqIEByZXR1cm4gVGhlIHNpemUgb2YgdGhlIHNvdXJjZSB0aGF0IHdhcyB1c2VkCisgICAgICovCisgICAgc3RhdGljIHNpemVfdCBjb252ZXJ0RnJvbU9QQ1VBVHlwZShjb25zdCB2b2lkICpwYVNyYywgQ0lFQ19BTlkgJnBhRGVzdEFueSk7CisKKyAgICAvKioKKyAgICAgKiBGaWxscyBhIHZhcmlhbnQgdXNpbmcgdGhlIGluZm9ybWF0aW9uIGZyb20gYSBDSUVDX0FOWSB0eXBlCisgICAgICogQHBhcmFtIHBhRGF0YVZhbHVlIHZhcmlhbnQgdG8gZmlsbAorICAgICAqIEBwYXJhbSBwYURhdGFTb3VyY2Ugc291cmNlIG9mIGluZm9ybWF0aW9uCisgICAgICovCisgICAgc3RhdGljIHZvaWQgZmlsbFZhcmlhbnQoVUFfVmFyaWFudCAmcGFWYXJpYW50LCBjb25zdCBDSUVDX0FOWSAmcGFEYXRhU291cmNlKTsKKworICAgIC8qKgorICAgICAqIFBhcmVudCBjbGFzcyB3aXRoIHRoZSBpbmZvcm1hdGlvbiBmb3IgZXhjaGFuZ2luZyBkYXRhIGJldHdlZW4gdGhlIGxheWVyIGFuZCB0aGUgaGFuZGxlcnMuCisgICAgICogVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgdHdvIGNoaWxkcywgc2VuZCBhbmQgcmVjZWl2ZSBkaWZmZXJzIGluIHRoZSBmYWN0IHRoYXQgdGhlIGRhdGEgaXMKKyAgICAgKiBjb25zdCBvciBubyBhbmQgc29tZSB1Z2x5IGNhc3Qgd2lsbCBiZSBuZWVkZWQuIElmIHRoZXNlIGlzIG5vdCBhIHByb2JsZW0sIHRoZSB0d28gY2hpbGRzIGNvdWxkIGJlCisgICAgICogZGVsZXRlZCBhbmQgdXNlIGp1c3QgdGhlIHBhcmVudAorICAgICAqLworICAgIGNsYXNzIFVBX1ZhcmlhYmxlc19oYW5kbGUgeworICAgICAgcHVibGljOgorICAgICAgICBleHBsaWNpdCBVQV9WYXJpYWJsZXNfaGFuZGxlKHNpemVfdCBwYVNpemUpIDoKKyAgICAgICAgICAgIG1GYWlsZWQoZmFsc2UpLCBtT2Zmc2V0KDApLCBtU2l6ZShwYVNpemUpIHsKKyAgICAgICAgfQorCisgICAgICAgIHZpcnR1YWwgflVBX1ZhcmlhYmxlc19oYW5kbGUoKSB7CisgICAgICAgIH0KKworICAgICAgICBib29sIG1GYWlsZWQ7CisgICAgICAgIHNpemVfdCBtT2Zmc2V0OworICAgICAgICBzaXplX3QgbVNpemU7CisgICAgICBwcml2YXRlOgorICAgICAgICBVQV9WYXJpYWJsZXNfaGFuZGxlKGNvbnN0IFVBX1ZhcmlhYmxlc19oYW5kbGUgJnBhT2JqKTsKKyAgICAgICAgVUFfVmFyaWFibGVzX2hhbmRsZSYgb3BlcmF0b3I9KGNvbnN0IFVBX1ZhcmlhYmxlc19oYW5kbGUmIG90aGVyKTsKKworICAgIH07CisKKyAgICAvKioKKyAgICAgKiBDb250ZXh0IGdpdmVuIHRvIHRoZSBsYXllciBieSB0aGUgaGFuZGxlciBpbmNsdWRpbmcgdGhlIG5ldyBkYXRhIHRoYXQgaGFzIGFycml2ZQorICAgICAqLworICAgIGNsYXNzIFVBX1JlY3ZWYXJpYWJsZV9oYW5kbGUgOiBwdWJsaWMgVUFfVmFyaWFibGVzX2hhbmRsZSB7CisgICAgICBwdWJsaWM6CisgICAgICAgIGV4cGxpY2l0IFVBX1JlY3ZWYXJpYWJsZV9oYW5kbGUoc2l6ZV90IHBhU2l6ZSkgOgorICAgICAgICAgICAgVUFfVmFyaWFibGVzX2hhbmRsZShwYVNpemUpIHsKKyAgICAgICAgICBtRGF0YSA9IG5ldyBjb25zdCBVQV9WYXJpYW50KlttU2l6ZV07CisgICAgICAgIH0KKworICAgICAgICB2aXJ0dWFsIH5VQV9SZWN2VmFyaWFibGVfaGFuZGxlKCkgeworICAgICAgICAgIGRlbGV0ZVtdIG1EYXRhOworICAgICAgICB9CisKKyAgICAgICAgY29uc3QgVUFfVmFyaWFudCAqKm1EYXRhOworICAgICAgcHJpdmF0ZToKKyAgICAgICAgVUFfUmVjdlZhcmlhYmxlX2hhbmRsZShjb25zdCBVQV9SZWN2VmFyaWFibGVfaGFuZGxlICZwYU9iaik7CisgICAgICAgIFVBX1JlY3ZWYXJpYWJsZV9oYW5kbGUmIG9wZXJhdG9yPShjb25zdCBVQV9SZWN2VmFyaWFibGVfaGFuZGxlJiBvdGhlcik7CisgICAgfTsKKworICAgIC8qKgorICAgICAqIENvbnRleHQgZ2l2ZW4gdG8gdGhlIGhhbmRsZXIgYnkgdGhlIGxheWVyIGluY2x1ZGluZyB0aGUgbmV3IGRhdGEgdG8gYmUgc2VudAorICAgICAqLworICAgIGNsYXNzIFVBX1NlbmRWYXJpYWJsZV9oYW5kbGUgOiBwdWJsaWMgVUFfVmFyaWFibGVzX2hhbmRsZSB7CisgICAgICBwdWJsaWM6CisgICAgICAgIGV4cGxpY2l0IFVBX1NlbmRWYXJpYWJsZV9oYW5kbGUoc2l6ZV90IHBhU2l6ZSkgOgorICAgICAgICAgICAgVUFfVmFyaWFibGVzX2hhbmRsZShwYVNpemUpIHsKKyAgICAgICAgICBtRGF0YSA9IG5ldyBVQV9WYXJpYW50KlttU2l6ZV07CisgICAgICAgIH0KKworICAgICAgICB+VUFfU2VuZFZhcmlhYmxlX2hhbmRsZSgpIHsKKyAgICAgICAgICBkZWxldGVbXSBtRGF0YTsKKyAgICAgICAgfQorCisgICAgICAgIFVBX1ZhcmlhbnQgKiptRGF0YTsKKyAgICAgIHByaXZhdGU6CisgICAgICAgIFVBX1NlbmRWYXJpYWJsZV9oYW5kbGUoY29uc3QgVUFfU2VuZFZhcmlhYmxlX2hhbmRsZSAmcGFPYmopOworICAgICAgICBVQV9TZW5kVmFyaWFibGVfaGFuZGxlJiBvcGVyYXRvcj0oY29uc3QgVUFfU2VuZFZhcmlhYmxlX2hhbmRsZSYgb3RoZXIpOworICAgIH07CisKKworICAgIC8qKgorICAgICAqIENoZWNrIGlmIGEgYnJvd3NlcGF0aCBpcyB2YWxpZAorICAgICAqIEBwYXJhbSBwYUJyb3dzZXBhdGggYnJvd3NlcGF0aCB0byBiZSBjaGVja2VkCisgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSBicm93c2VwYXRoIGlzIHZhbGlkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBzdGF0aWMgYm9vbCBpc0Jyb3dzZVBhdGhWYWxpZChjb25zdCBjaGFyICpwYUJyb3dzZXBhdGgpOworCisgICAgLyoqCisgICAgICogR2V0IHRoZSBub2RlIGlkIG9mIHRoZSBub2RlIHdoaWNoIGlzIHJlcHJlc2VudGVkIGJ5IHRoZSBnaXZlbiBwYXRoIGluIGEgcmVtb3RlIHNlcnZlcgorICAgICAqIEBwYXJhbSBwYUNsaWVudCBDbGllbnQgdG8gdXNlIHRvIGxvb2sgZm9yIHRoZSBub2RlIElECisgICAgICogQHBhcmFtIHBhTm9kZVBhdGhDb25zdCBCcm93c2VwYXRoIG9mIHRoZSByZW1vdGUgbm9kZQorICAgICAqIEBwYXJhbSBwYVBhcmVudE5vZGVJZCBQbGFjZSB0byBzdG9yZSB0aGUgcGFyZW50IG5vZGUgSUQgb2YgdGhlIHJlcXVlc3RlZCBub2RlCisgICAgICogQHBhcmFtIHBhRm91bmROb2RlSWQgUGxhY2UgdG8gc3RvcmUgdGhlIG5vZGUgSUQgb2YgdGhlIHJlcXVlc3RlZCBub2RlCisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0QgaXMgbm8gcHJvYmxlbSBvY2N1cnJlZCwgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgc3RhdGljIFVBX1N0YXR1c0NvZGUgZ2V0UmVtb3RlTm9kZUZvclBhdGgoVUFfQ2xpZW50ICZwYUNsaWVudCwgY29uc3QgY2hhciAqcGFOb2RlUGF0aENvbnN0LCBVQV9Ob2RlSWQgKipwYVBhcmVudE5vZGVJZCwgVUFfTm9kZUlkICoqcGFGb3VuZE5vZGVJZCk7CisKKyAgICAvKioKKyAgICAgKiBQcmVwYXJlIHRoZSBicm93c2UgcmVxdWVzdCBmcm9tIGEgYnJvd3NlcGF0aAorICAgICAqIEBwYXJhbSBwYU5vZGVQYXRoQ29uc3QgQnJvd3NlcGF0aCB0byBiZSBsb29rZWQgZm9yCisgICAgICogQHBhcmFtIHBhQnJvd3NlUGF0aHMgUGxhY2UgdG8gc3RvcmUgdGhlIGJyb3dzZSByZXF1ZXN0CisgICAgICogQHBhcmFtIHBhRm9sZGVyQ291bnQgUGxhY2UgdG8gc3RvcmUgdGhlIGFtb3VudCBvZiBmb2xkZXJzIGluIHRoZSBicm93c2UgcmVxdWVzdAorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIGlzIG5vIHByb2JsZW0gb2NjdXJyZWQsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIHN0YXRpYyBVQV9TdGF0dXNDb2RlIHByZXBhcmVCcm93c2VBcmd1bWVudChjb25zdCBjaGFyICpwYU5vZGVQYXRoQ29uc3QsIFVBX0Jyb3dzZVBhdGggKipwYUJyb3dzZVBhdGhzLCBzaXplX3QgKnBhRm9sZGVyQ291bnQpOworCisgICAgLyoqCisgICAgICogUmVsZWFzZSBhbGwgbWVtb3J5IGFsbG9hY3RlZCBpbiBwcmVwYXJlQnJvd3NlQXJndW1lbnQuIEl0IHNob3VsZCBiZSBjYWxsZWQgd2hlbiBwYUJyb3dzZVBhdGhzIGluIHByZXBhcmVCcm93c2VBcmd1bWVudCBpcyBub3QgdXNlZCBhbnltb3JlCisgICAgICogQHBhcmFtIHBhQnJvd3NlUGF0aHMgQnJvd3NlIHJlcXVlc3QgcmV0dXJuZWQgYnkgcHJlcGFyZUJyb3dzZUFyZ3VtZW50CisgICAgICogQHBhcmFtIHBhUGF0aExlbmd0aCBBbW91bnQgb2YgZm9sZGVycyByZXR1cm5lZCBieSBwcmVwYXJlQnJvd3NlQXJndW1lbnQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBzdGF0aWMgVUFfU3RhdHVzQ29kZSByZWxlYXNlQnJvd3NlQXJndW1lbnQoVUFfQnJvd3NlUGF0aCAmcGFCcm93c2VQYXRocywgc2l6ZV90IHBhUGF0aExlbmd0aCk7CisKKyAgICAvKioKKyAgICAgKiBBbGxvY2F0ZWQgYSBVQV9RdWFsaWZpZWROYW1lIGZyb20gYSBub2RlbmFtZSB3aGljaCBjYW4gaGF2ZSBhIHNlbWljb2xvbiB0byBkZWZpbmUgdGhlIG5hbWVzcGFjZS4gSWYgbm8gc2VtaWNvbG9uIGlzIGZvdW5kCisgICAgICogdGhlIHBhc3NlZCBkZWFmdWx0IG5hbWVzcGFjZSBpcyB1c2VkCisgICAgICogQHBhcmFtIHBhTm9kZU5hbWUgU3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5vZGVuYW1lCisgICAgICogQHBhcmFtIHBhQnJvd3NlTmFtZSBQbGFjZSB0byBzdG9yZSB0aGUgcXVhbGlmaWVkIG5hbWUKKyAgICAgKiBAcGFyYW0gcGFEZWZhdWx0TmFtZXNwYWNlIERlZmF1bHQgbmFtZXNwYWNlIHRvIGJlIHVzZWQgaWYgbm90IHByZXNlbnQgaW4gcGFOb2RlTmFtZQorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBubyBlcnJvciBvY2N1cnJlZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgc3RhdGljIGJvb2wgZ2V0QnJvd3NlbmFtZUZyb21Ob2RlTmFtZShjb25zdCBjaGFyICpwYU5vZGVOYW1lLCBVQV9VSW50MTYgcGFEZWZhdWx0TmFtZXNwYWNlLCBVQV9RdWFsaWZpZWROYW1lICZwYUJyb3dzZU5hbWUpOworCisgICAgLyoqCisgICAgICogTWF4aW11bSBudW1iZXIgb2YgcGFyYW1ldGVycyBpbiBhIGJyb3dzZW5hbWUgc2VwYXJhdGVkIGJ5IGEgc2VtaWNvbG9uCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBzY21NYXhOb09mUGFyYW1ldGVyc0luQnJvd3NlTmFtZSA9IDI7CisKKyAgcHJpdmF0ZToKKworICAgIC8qKgorICAgICAqIEZ1bmN0aW9uIHBvaW50ZXIgZGVmaW5pdGlvbiB0byBjb252ZXJ0IGEgSUVDIDYxMTMxLTMgdHlwZSB0byBhbiBPUEMgVUEgVHlwZQorICAgICAqLworICAgIHR5cGVkZWYgc2l6ZV90ICgqY29udmVydEZyb21JRUNUb09QQ1VBKShjb25zdCBDSUVDX0FOWSAmLCB2b2lkICopOworCisgICAgLyoqCisgICAgICogRnVuY3Rpb24gcG9pbnRlciBkZWZpbml0aW9uIHRvIGNvbnZlcnQgYW4gT1BDIFVBIHR5cGUgdG8gYW4gSUVDIDYxMTMxLTMgVHlwZQorICAgICAqLworICAgIHR5cGVkZWYgc2l6ZV90ICgqY29udmVydEZyb21PUENVQVRvSUVDKShjb25zdCB2b2lkICosIENJRUNfQU5ZICYpOworCisgICAgLyoqCisgICAgICogQ2xhc3MgdGhhdCBlbmNhcHN1bGF0ZXMsIGZvciBlYWNoIDYxMTMxLTMgdHlwZSwgdGhlIG1hcCB0byB0aGUgT1BDIFVBIHR5cGUsIGFuZCBhIHRyYW5zZm9ybSB0byBhbmQgZnJvbSBmdW5jdGlvbnMKKyAgICAgKi8KKyAgICBjbGFzcyBVQV9UeXBlQ29udmVydCB7CisgICAgICBwdWJsaWM6CisgICAgICAgIFVBX1R5cGVDb252ZXJ0KGNvbnN0IFVBX0RhdGFUeXBlICpwYVR5cGUsIGNvbnZlcnRGcm9tSUVDVG9PUENVQSBwYVRvT1BDVUEsIGNvbnZlcnRGcm9tT1BDVUFUb0lFQyBwYUZyb21PUENVQSkgOgorICAgICAgICAgICAgbVR5cGUocGFUeXBlKSwgbVRvT1BDVUEocGFUb09QQ1VBKSwgbUZyb21PUENVQShwYUZyb21PUENVQSkgeworICAgICAgICB9CisgICAgICAgIGNvbnN0IFVBX0RhdGFUeXBlICptVHlwZTsKKyAgICAgICAgY29udmVydEZyb21JRUNUb09QQ1VBIG1Ub09QQ1VBOworICAgICAgICBjb252ZXJ0RnJvbU9QQ1VBVG9JRUMgbUZyb21PUENVQTsKKyAgICB9OworICAgIGNsYXNzIFVBX1R5cGVDb252ZXJ0X2V4dGVybmFsIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgVUFfVHlwZUNvbnZlcnRfZXh0ZXJuYWwoY29uc3QgVUFfRGF0YVR5cGUgKnBhVHlwZSwgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYVN0cmluZ0lkKSA6CisgICAgICAgICAgICBtVHlwZShwYVR5cGUpLCBtU3RyaW5nSWQocGFTdHJpbmdJZCkgeworICAgICAgICB9CisgICAgICAgIGNvbnN0IFVBX0RhdGFUeXBlICptVHlwZTsKKyAgICAgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBtU3RyaW5nSWQ7CisgICAgfTsKKworICAgIC8qKgorICAgICAqIEFycmF5IG9mIGFsbCBjb252ZXJzaW9uIGZ1bmN0aW9ucyBmb3IgdGhlIGJhc2ljIHR5cGVzCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IFVBX1R5cGVDb252ZXJ0IHNjbU1hcEZvcnRlVHlwZUlkVG9PcGNVYVtdOworCisgICAgLyoqCisgICAgICogQXJyYXkgb2YgY29udmVyc2lvbiBmdW5jdGlvbnMgZm9yIGFkZGVkIHR5cGVzCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IFVBX1R5cGVDb252ZXJ0X2V4dGVybmFsIHNjbUV4dGVybmFsTWFwRm9ydGVUeXBlSWRUb09wY1VhW107CisKKyAgICAvKioKKyAgICAgKiBJZiB0aGUgdHlwZSBiZWluZyBsb29rZWQgZm9yIGlzIG5vdCBhIGJhc2ljIG9uZSwgaXQgd2lsbCBsb29rIGluIHRoZSBleHRlcm5hbGx5IGFkZGVkIHR5cGVzCisgICAgICogQHBhcmFtIHBhQW55VHlwZSBJRUMgNjExMzEtMyBjb250YWluZXIgd2hpY2ggaXMgdXNlZCB0byBsb29rIGZvciB0aGUgY29ycmVzcG9uZGluZyBPUEMgVUEgdHlwZQorICAgICAqIEByZXR1cm4gVGhlIE9QQyBVQSB0eXBlIHBvaW50ZXIsIG9yIDAgaWYgbm90IGZvdW5kCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IFVBX0RhdGFUeXBlICpnZXRFeHRlcm5hbE9QQ1VBVHlwZUZyb21BbnkoY29uc3QgQ0lFQ19BTlkmIHBhQW55VHlwZSk7CisKKyAgICAvKioKKyAgICAgKiBMb29rIGZvciB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBhbiBleGlzdGluZyBub2RlIGZyb20gYSBicm93c2UgcGF0aCByZXN1bHQKKyAgICAgKiBAcGFyYW0gcGFCcm93c2VQYXRoc1Jlc3VsdHMgUmVzdWx0IG9mIGJyb3dzZSBwYXRoIHNlcnZpY2UKKyAgICAgKiBAcGFyYW0gZm9sZGVyQ250IE51bWJlciBvZiBmb2xkZXJzIGluIHRoZSBwYUJyb3dzZVBhdGhzUmVzdWx0cworICAgICAqIEByZXR1cm4gVGhlIG9mZnNldCB0byBmaXJzdCBleGlzdGluZyBmb2xkZXIsIC0xIGlmIG5vIGZvbGRlciBleGlzdAorICAgICAqLworICAgIHN0YXRpYyBpbnQgZ2V0Rm9sZGVyT2Zmc2V0KFVBX0Jyb3dzZVBhdGhSZXN1bHQgKnBhQnJvd3NlUGF0aHNSZXN1bHRzLCBzaXplX3QgZm9sZGVyQ250KTsKKworICAgIC8qKgorICAgICAqIENvcHkgdGhlIGZvdW5kIG5vZGUgaWQgYW5kIGl0cyBwYXJlbnQgZnJvbSBhIGJyb3dzZSByZXN1bHQKKyAgICAgKiBAcGFyYW0gcGFGb3VuZE5vZGVJZCBQbGFjZSB0byBzdG9yZSB0aGUgZm91bmQgbm9kZSBJRAorICAgICAqIEBwYXJhbSBwYUJyb3dzZVBhdGhzUmVzdWx0cyBCcm93c2UgcGF0aCByZXN1bHRzIHdoZXJlIHRvIGxvb2sgZm9yCisgICAgICogQHBhcmFtIHBhQm91bmRGb2xkZXJPZmZzZXQgT2Zmc2V0IHRvIHVzZSB0byBjb3B5IHRoZSBub2RlIElEcworICAgICAqIEBwYXJhbSBwYVBhcmVudE5vZGVJZCBQbGFjZSB0byBzdG9yZSB0aGUgcGFyZW50IG5vZGUgSUQKKyAgICAgKiBAcGFyYW0gcGFGb2xkZXJDbnQgU2l6ZSBvZiB0aGUgYnJvd3NlIHJlc3VsdAorICAgICAqLworICAgIHN0YXRpYyB2b2lkIGNvcHlOb2RlSWRzKFVBX0Jyb3dzZVBhdGhSZXN1bHQgKnBhQnJvd3NlUGF0aHNSZXN1bHRzLCBzaXplX3QgcGFGb2xkZXJDbnQsIGludCBwYUZvdW5kRm9sZGVyT2Zmc2V0LCBVQV9Ob2RlSWQgKipwYVBhcmVudE5vZGVJZCwKKyAgICAgICAgVUFfTm9kZUlkICoqcGFGb3VuZE5vZGVJZCk7CiB9OwogCiAjZW5kaWYgLy9GT1JURV9PUENVQV9IRUxQRVJfSApkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2xheWVyLmNwcCBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9sYXllci5jcHAKaW5kZXggNTM1YzNlYi4uYTIzZTU2NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2xheWVyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfbGF5ZXIuY3BwCkBAIC0xLDEwNjQgKzEsMjI3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTYgRmxvcmlhbiBGcm9zY2hlcm1laWVyIDxmbG9yaWFuLmZyb3NjaGVybWVpZXJAdHVtLmRlPiwKKyAqIENvcHlyaWdodCAoYykgMjAxNS0yMDE5IEZsb3JpYW4gRnJvc2NoZXJtZWllciA8Zmxvcmlhbi5mcm9zY2hlcm1laWVyQHR1bS5kZT4sCiAgKiAgICAgICAgICAgICAgIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgRmxvcmlhbiBGcm9zY2hlcm1laWVyCiAgKiAgICAgIC0gaW5pdGlhbCBpbnRlZ3JhdGlvbiBvZiB0aGUgT1BDLVVBIHByb3RvY29sCiAgKiAgICBTdGVmYW4gUHJvZmFudGVyCiAgKiAgICAgIC0gcmVmYWN0b3JpbmcgYW5kIGFkYXB0aW9uIHRvIG5ldyBjb25jZXB0CisgKiAgICBKb3NlIENhYnJhbDoKKyAqICAgICAgLSByZWZhY3RvcmluZyB0byBjbGVhbmVyIGFyY2hpdGVjdHVyZQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNpbmNsdWRlICJvcGN1YV9sYXllci5oIgotI2luY2x1ZGUgIm9wY3VhX2hhbmRsZXIuaCIKLSNpbmNsdWRlICJvcGN1YV9jbGllbnRfaGFuZGxlci5oIgotI2luY2x1ZGUgIi4uLy4uL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX2RhdGVfYW5kX3RpbWUuaCIKKyNpbmNsdWRlICJvcGN1YV9oZWxwZXIuaCIKKyNpbmNsdWRlICJvcGN1YV9sb2NhbF9oYW5kbGVyLmgiCiAjaW5jbHVkZSAiLi4vLi4vY29yZS9jb21pbmZyYS9iYXNlY29tbWZiLmgiCiAjaW5jbHVkZSAiLi4vLi4vYXJjaC9kZXZsb2cuaCIKICNpbmNsdWRlIDxmb3J0ZV9zdHJpbmcuaD4KLSNpbmNsdWRlIDxmb3J0ZV9wcmludGVyLmg+CiAjaW5jbHVkZSA8Y3JpdGljYWxyZWdpb24uaD4KLSNpbmNsdWRlIDxzdHJpbmc+CisjaW5jbHVkZSAib3BjdWFfYWN0aW9uX2luZm8uaCIKKyNpbmNsdWRlICJvcGN1YV9yZW1vdGVfaGFuZGxlci5oIgogCiB1c2luZyBuYW1lc3BhY2UgZm9ydGU6OmNvbV9pbmZyYTsKIAotLy8gbWV0aG9kIGNhbGwgdGltZW91dCBpbiBzZWNvbmRzLiBXaXRoaW4gdGhpcyB0aW1lIHRoZSBtZXRob2QgY2FsbCBoYXMgdG8gcmV0dXJuIGEgdmFsdWUKLSNkZWZpbmUgTUVUSE9EX0NBTExfVElNRU9VVCA0Ci0KLXN0cnVjdCBBc3luY0NhbGxQYXlsb2FkIHsKLSAgVUFfVmFyaWFudCAqdmFyaWFudHM7Ci0gIHVuc2lnbmVkIGludCB2YXJpYW50c1NpemU7Ci19OwotCi1VQV9Cb29sZWFuIHJ1bm5pbmcgPSB0cnVlOwotVUFfQm9vbGVhbiBjbGllbnRSdW5uaW5nID0gZmFsc2U7Ci0KIENPUENfVUFfTGF5ZXI6OkNPUENfVUFfTGF5ZXIoQ0NvbUxheWVyICpwYVVwcGVyTGF5ZXIsIENCYXNlQ29tbUZCICpwYUNvbUZCKSA6Ci0gICAgQ0NvbUxheWVyQXN5bmMocGFVcHBlckxheWVyLCBwYUNvbUZCKSwgdXNlQ2xpZW50KGZhbHNlKSwgY2xpZW50U2RDb252ZXJ0ZXIoCi0gICAgTlVMTCksIGNsaWVudFJkQ29udmVydGVyKE5VTEwpLCBtSW50ZXJydXB0UmVzcChlX05vdGhpbmcpLCBmYk5vZGVJZCgKLSAgICBOVUxMKSwgZmJOb2RlSWRQYXJlbnQoTlVMTCksIG1ldGhvZE5vZGVJZChOVUxMKSwgcmVtb3RlTm9kZUNsYXNzKAotICAgICAgICBVQV9OT0RFQ0xBU1NfVU5TUEVDSUZJRUQpLCBzZW5kRGF0YU5vZGVJZHMoTlVMTCksIHJlYWREYXRhTm9kZUlkcygKLSAgICBOVUxMKSwgY2xpZW50RW5kcG9pbnRVcmwoTlVMTCksIGNsaWVudE5vZGVQYXRoKE5VTEwpLCBjbGllbnRNdXRleCgKLSAgICBOVUxMKSwgbXV0ZXhTZXJ2ZXJNZXRob2RDYWxsKCksIHNlcnZlck1ldGhvZENhbGxSZXN1bHRSZWFkeShmYWxzZSksIHJlZmVyZW5jZWROb2RlcygpIHsKLSAgLy8gY29uc3RydWN0b3IgbGlzdCBpbml0aWFsaXphdGlvbgotCisgICAgQ0NvbUxheWVyKHBhVXBwZXJMYXllciwgcGFDb21GQiksIG1JbnRlcnJ1cHRSZXNwKGVfTm90aGluZyksIG1IYW5kbGVyKDApLCBtQWN0aW9uSW5mbygwKSwgbURhdGFBbHJlYWR5UHJlc2VudChmYWxzZSkgewogfQogCiBDT1BDX1VBX0xheWVyOjp+Q09QQ19VQV9MYXllcigpIHsKLSAgLy8gYWxsIHRoZSBzdHVmZiBpcyBjbGVhbmVkIHVwIGluIGNsb3NlQ29ubmVjdGlvbigpCi19Ci0KLXZvaWQgQ09QQ19VQV9MYXllcjo6c3BsaXRVcmxBbmRQYXRoKGNvbnN0IGNoYXIgKmZ1bGxVcmwsIGNvbnN0IGNoYXIqKiBlbmRwb2ludCwKLSAgICBjb25zdCBjaGFyICoqbm9kZVBhdGgsIENJRUNfU1RSSU5HJiBwYVJlc3VsdCkgewotCi0gIHBhUmVzdWx0LmNsZWFyKCk7Ci0gIGlmIChzdHJsZW4oZnVsbFVybCkgPT0gMCkgewotICAgIHJldHVybjsKLSAgfQotCi0gIHBhUmVzdWx0ID0gZnVsbFVybDsKLSAgY2hhciAqaWRTdHIgPSBwYVJlc3VsdC5nZXRWYWx1ZSgpOwotCi0gIGNoYXIgKmVuZHBvaW50UHRyID0gc3RydG9rKGlkU3RyLCAiIyIpOwotCi0gIGlmIChlbmRwb2ludFB0ciA9PSBOVUxMKSB7Ci0gICAgcmV0dXJuOwotICB9Ci0KLSAgaWYgKGVuZHBvaW50KSB7Ci0gICAgKmVuZHBvaW50ID0gZW5kcG9pbnRQdHI7Ci0gIH0KLQotICBpZiAobm9kZVBhdGggIT0gTlVMTCkgewotICAgICpub2RlUGF0aCA9IHN0cnRvayhOVUxMLCAiIyIpOwotICB9Ci0gIGlmIChub2RlUGF0aCAhPSBOVUxMICYmICpub2RlUGF0aCA9PSBOVUxMKSB7Ci0gICAgLy8gIyBub3QgZm91bmQsIGNoZWNrIGlmIGl0IGlzIHBhdGggb3IgZW5kcG9pbnQKLSAgICBpZiAoaWRTdHJbMF0gPT0gJy8nKSB7Ci0gICAgICAvLyBmdWxsIHVybCBpcyBvbmx5IG5vZGUgcGF0aAotICAgICAgaWYgKGVuZHBvaW50KSB7Ci0gICAgICAgICplbmRwb2ludCA9IE5VTEw7Ci0gICAgICB9Ci0gICAgICAqbm9kZVBhdGggPSBpZFN0cjsKLSAgICB9IGVsc2UgewotICAgICAgLy8gZnVsbCB1cmwgaXMgb25seSBlbmRwb2ludAotICAgICAgaWYgKGVuZHBvaW50KSB7Ci0gICAgICAgICplbmRwb2ludCA9IGlkU3RyOwotICAgICAgfQotICAgICAgKm5vZGVQYXRoID0gTlVMTDsKLSAgICB9Ci0gIH0KIH0KIAogRUNvbVJlc3BvbnNlIENPUENfVUFfTGF5ZXI6Om9wZW5Db25uZWN0aW9uKGNoYXIgKnBhTGF5ZXJQYXJhbWV0ZXIpIHsKKyAgRUNvbVJlc3BvbnNlIHJlc3BvbnNlID0gZV9Jbml0VGVybWluYXRlZDsKIAotICBnZXRFeHRFdkhhbmRsZXI8Q09QQ19VQV9IYW5kbGVyPigpLnJlZmVyZW5jZWROb2Rlc0RlY3JlbWVudCgmcmVmZXJlbmNlZE5vZGVzLCB0aGlzLCB0cnVlKTsKLSAgZm9yIChDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj46Okl0ZXJhdG9yIGl0ZXIgPSByZWZlcmVuY2VkTm9kZXMuYmVnaW4oKTsgaXRlciAhPSByZWZlcmVuY2VkTm9kZXMuZW5kKCk7ICsraXRlcikgewotICAgIFVBX05vZGVJZF9kZWxldGUoKCppdGVyKSk7Ci0gIH0KLSAgcmVmZXJlbmNlZE5vZGVzLmNsZWFyQWxsKCk7CisgIGlmKGNoZWNrVHlwZXNGcm9tSW50ZXJmYWNlKCkpIHsKKyAgICBtQWN0aW9uSW5mbyA9IENBY3Rpb25JbmZvOjpnZXRBY3Rpb25JbmZvRnJvbVBhcmFtcyhwYUxheWVyUGFyYW1ldGVyLCAqdGhpcyk7CisgICAgaWYobUFjdGlvbkluZm8pIHsKKyAgICAgIG1IYW5kbGVyID0KKyAgICAgICAgICAobUFjdGlvbkluZm8tPmlzUmVtb3RlKCkpID8gc3RhdGljX2Nhc3Q8Q09QQ19VQV9IYW5kbGVyQWJzdHJhY3QqPigmZ2V0RXh0RXZIYW5kbGVyPENPUENfVUFfUmVtb3RlX0hhbmRsZXI+KCkpIDoKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PENPUENfVUFfSGFuZGxlckFic3RyYWN0Kj4oJmdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0xvY2FsX0hhbmRsZXI+KCkpOwogCi0gIGlmIChmYk5vZGVJZCAhPSBOVUxMKSB7Ci0gICAgREVWTE9HX1dBUk5JTkcoIk9QQyBVQTogQWxyZWFkeSBjb25uZWN0ZWQuIE5vdGhpbmcgdG8gZG8uXG4iKTsKLSAgICByZXR1cm4gZV9Jbml0VGVybWluYXRlZDsKLSAgfQotCi0gIGNvbnN0IGNoYXIgKmVuZHBvaW50ID0gTlVMTDsKLSAgY29uc3QgY2hhciAqbm9kZVBhdGggPSBOVUxMOwotICBDSUVDX1NUUklORyBsYXN0Tm9kZTsKLSAgQ0lFQ19TVFJJTkcgcmVzdWx0OwotICBzcGxpdFVybEFuZFBhdGgocGFMYXllclBhcmFtZXRlciwgJmVuZHBvaW50LCAmbm9kZVBhdGgsIHJlc3VsdCk7Ci0KLSAgdXNlQ2xpZW50ID0gZ2V0Q29tbUZCKCktPmdldENvbVNlcnZpY2VUeXBlKCkgPT0gZV9DbGllbnQgfHwKLSAgKChnZXRDb21tRkIoKS0+Z2V0Q29tU2VydmljZVR5cGUoKSA9PSBlX1N1YnNjcmliZXIgfHwgZ2V0Q29tbUZCKCktPmdldENvbVNlcnZpY2VUeXBlKCkgPT0gZV9QdWJsaXNoZXIpICYmIGVuZHBvaW50ICE9IE5VTEwpOwotCi0gIGlmICh1c2VDbGllbnQgJiYgIWVuZHBvaW50KSB7Ci0gICAgREVWTE9HX0VSUk9SKCJPUEMgVUE6IEludmFsaWQgY2xpZW50IGlkZW50aWZpZXIuIEVuZHBvaW50IFVSTCBtdXN0IGJlIHNlcGFyYXRlZCBieSBoYXNoICcjJyBmcm9tIHRoZSBub2RlIHBhdGguIEdpdmVuOiAlc1xuIiwgcGFMYXllclBhcmFtZXRlcik7Ci0gICAgcmV0dXJuIGVfSW5pdFRlcm1pbmF0ZWQ7Ci0gIH0KLQotICBpZiAodXNlQ2xpZW50ICYmICFub2RlUGF0aCkgewotICAgIERFVkxPR19FUlJPUigiT1BDIFVBOiBJbnZhbGlkIGNsaWVudCBpZGVudGlmaWVyLiBOb2RlIHBhdGggbXVzdCBiZSBnaXZlbiBhZnRlciB0aGUgaGFzaCAnIycuIEdpdmVuOiAlc1xuIiwgcGFMYXllclBhcmFtZXRlcik7Ci0gICAgcmV0dXJuIGVfSW5pdFRlcm1pbmF0ZWQ7Ci0gIH0KLQotICAvLyBDcmVhdGUgYWxsIHRoZSBub2RlcyB1cCB0byB0aGUgZ2l2ZW4gbm9kZSAoSUQgcGFyYW1ldGVyIG9mIHRoZSBGQikKLSAgaWYgKCF1c2VDbGllbnQpIHsKLSAgICBVQV9TdGF0dXNDb2RlIHJldFZhbDsKLSAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj4gbm9kZXNBbG9uZ1BhdGggPSBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj4oKTsKLSAgICBpZiAoKHJldFZhbCA9IGdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCkuZ2V0Tm9kZUZvclBhdGgoJmZiTm9kZUlkLCBwYUxheWVyUGFyYW1ldGVyLCB0cnVlLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCAmbm9kZXNBbG9uZ1BhdGgpKSAhPSBVQV9TVEFUVVNDT0RFX0dPT0QpIHsKLSAgICAgIERFVkxPR19FUlJPUigiT1BDIFVBOiBDb3VsZCBub3QgZ2V0IG5vZGUgZm9yIHBhdGg6ICclcyc6ICVzXG4iLCBwYUxheWVyUGFyYW1ldGVyLCBVQV9TdGF0dXNDb2RlX25hbWUocmV0VmFsKSk7Ci0gICAgICByZXR1cm4gZV9Jbml0VGVybWluYXRlZDsKLSAgICB9Ci0gICAgZ2V0RXh0RXZIYW5kbGVyPENPUENfVUFfSGFuZGxlcj4oKS5yZWZlcmVuY2VkTm9kZXNJbmNyZW1lbnQoJm5vZGVzQWxvbmdQYXRoLCB0aGlzKTsKLQotICAgIGZvciAoQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkICo+OjpJdGVyYXRvciBpdGVyID0gbm9kZXNBbG9uZ1BhdGguYmVnaW4oKTsgaXRlciAhPSBub2Rlc0Fsb25nUGF0aC5lbmQoKTsgKytpdGVyKSB7Ci0gICAgICByZWZlcmVuY2VkTm9kZXMucHVzaEJhY2soKCppdGVyKSk7Ci0gICAgfQotICB9Ci0KLSAgRUNvbVJlc3BvbnNlIHJlc3BvbnNlID0gZV9Jbml0T2s7Ci0gIHN3aXRjaCAoZ2V0Q29tbUZCKCktPmdldENvbVNlcnZpY2VUeXBlKCkpIHsKLSAgICBjYXNlIGVfUHVibGlzaGVyOgotICAgIGlmICh1c2VDbGllbnQpIHsKLSAgICAgIGlmIChnZXRDb21tRkIoKS0+Z2V0TnVtU0QoKSAhPSAxKSB7Ci0gICAgICAgIERFVkxPR19FUlJPUigiT1BDIFVBOiBBIFB1Ymxpc2hlciBmb3Igd3JpdGluZyBhbiBPUEMgVUEgdmFyaWFibGUgb25seSBzdXBwb3J0cyBvbmUgU0QuICVzXG4iLCBnZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCkpOwotICAgICAgICByZXNwb25zZSA9IGVfSW5pdFRlcm1pbmF0ZWQ7Ci0gICAgICAgIGJyZWFrOworICAgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IG1IYW5kbGVyLT5pbml0aWFsaXplQWN0aW9uKCptQWN0aW9uSW5mbykpIHsKKyAgICAgICAgcmVzcG9uc2UgPSBlX0luaXRPazsKICAgICAgIH0KLSAgICAgIERFVkxPR19ERUJVRygiT1BDIFVBOiBDcmVhdGluZyBPUEMgVUEgQ2xpZW50ICVzXG4iLCBnZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCkpOwotICAgICAgcmVzcG9uc2UgPSB0aGlzLT5jcmVhdGVDbGllbnQoZW5kcG9pbnQsIG5vZGVQYXRoLCBmYWxzZSk7Ci0gICAgfSBlbHNlIHsKLSAgICAgIC8vIE1ha2Ugc3VyZSBhbGwgdGhlIG5vZGVzIGV4aXN0IGFuZCBoYXZlIHRoZSBjb3JyZXNwb25kaW5nIHZhcmlhYmxlCi0gICAgICBERVZMT0dfREVCVUcoIk9QQyBVQTogQ3JlYXRpbmcgT1BDIFVBIE5vZGVzIGZvciBwdWJsaXNoZXIgJXNcbiIsIGdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7Ci0gICAgICByZXNwb25zZSA9IHRoaXMtPmNyZWF0ZVB1YlN1Yk5vZGVzKCZ0aGlzLT5zZW5kRGF0YU5vZGVJZHMsIGdldENvbW1GQigpLT5nZXROdW1TRCgpLCB0cnVlKTsKICAgICB9Ci0gICAgYnJlYWs7Ci0gICAgY2FzZSBlX1N1YnNjcmliZXI6Ci0gICAgewotICAgICAgY2hhciogc3ViTm9kZVBhcmFtZXRlciA9IHN0cnJjaHIocGFMYXllclBhcmFtZXRlciwgJy8nKTsKLSAgICAgICpzdWJOb2RlUGFyYW1ldGVyPSdcMCc7Ci0gICAgICBzdWJOb2RlUGFyYW1ldGVyKys7Ci0gICAgICBsYXN0Tm9kZSA9IHN1Yk5vZGVQYXJhbWV0ZXI7Ci0gICAgICBpZiAodXNlQ2xpZW50KSB7Ci0gICAgICAgIGlmIChnZXRDb21tRkIoKS0+Z2V0TnVtUkQoKSAhPSAxKSB7Ci0gICAgICAgICAgREVWTE9HX0VSUk9SKCJPUEMgVUE6IEEgU3Vic2NyaWJlciBmb3Igc3Vic2NyaWJpbmcgb24gYW4gT1BDIFVBIHZhcmlhYmxlIG9ubHkgc3VwcG9ydHMgb25lIFJELiAlc1xuIiwgZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpKTsKLSAgICAgICAgICByZXNwb25zZSA9IGVfSW5pdFRlcm1pbmF0ZWQ7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgREVWTE9HX0RFQlVHKCJPUEMgVUE6IENyZWF0aW5nIHN1YnNjcmlwdGlvbi4gJXNcbiIsIGdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7Ci0gICAgICAgIHRoaXMtPmNyZWF0ZUNsaWVudChlbmRwb2ludCwgbm9kZVBhdGgsIHRydWUpOwotICAgICAgICBsYXN0Tm9kZSA9IG5vZGVQYXRoOwotICAgICAgICByZXNwb25zZSA9IHRoaXMtPmNyZWF0ZVN1YnNjcmlwdGlvbigmdGhpcy0+c2VuZERhdGFOb2RlSWRzLCBnZXRDb21tRkIoKS0+Z2V0TnVtU0QoKSwgZmFsc2UsIGxhc3ROb2RlLmdldFZhbHVlKCkpOwotICAgICAgfSBlbHNlIHsKLSAgICAgICAgREVWTE9HX0RFQlVHKCJPUEMgVUE6IENyZWF0aW5nIE9QQyBVQSBOb2RlcyBmb3Igc3Vic2NyaWJlciAlc1xuIiwgZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpKTsKLSAgICAgICAgcmVzcG9uc2UgPSB0aGlzLT5jcmVhdGVQdWJTdWJOb2RlcygmdGhpcy0+cmVhZERhdGFOb2RlSWRzLCBnZXRDb21tRkIoKS0+Z2V0TnVtUkQoKSwgZmFsc2UpOwotICAgICAgfQotICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgZV9TZXJ2ZXI6Ci0gICAgREVWTE9HX0RFQlVHKCJPUEMgVUE6IENyZWF0aW5nIE9QQyBVQSBNZXRob2QgZm9yIHNlcnZlciAlc1xuIiwgZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpKTsKLSAgICByZXNwb25zZSA9IHRoaXMtPmNyZWF0ZU1ldGhvZE5vZGUoKTsKLSAgICBicmVhazsKLSAgICBjYXNlIGVfQ2xpZW50OgotICAgIERFVkxPR19ERUJVRygiT1BDIFVBOiBDcmVhdGluZyBPUEMgVUEgQ2xpZW50ICVzXG4iLCBnZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCkpOwotICAgIHJlc3BvbnNlID0gdGhpcy0+Y3JlYXRlQ2xpZW50KGVuZHBvaW50LCBub2RlUGF0aCwgZmFsc2UpOwotICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgREVWTE9HX1dBUk5JTkcoIk9QQyBVQTogSW52YWxpZCBDb21tIFNlcnZpY2UgVHlwZSBmb3IgRnVuY3Rpb24gQmxvY2tcbiIpOwogICB9CiAKICAgcmV0dXJuIHJlc3BvbnNlOwogfQogCiB2b2lkIENPUENfVUFfTGF5ZXI6OmNsb3NlQ29ubmVjdGlvbigpIHsKLQotICBnZXRFeHRFdkhhbmRsZXI8Q09QQ19VQV9IYW5kbGVyPigpLnJlZmVyZW5jZWROb2Rlc0RlY3JlbWVudCgmcmVmZXJlbmNlZE5vZGVzLCB0aGlzLCB0cnVlKTsKLSAgZm9yIChDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj46Okl0ZXJhdG9yIGl0ZXIgPSByZWZlcmVuY2VkTm9kZXMuYmVnaW4oKTsgaXRlciAhPSByZWZlcmVuY2VkTm9kZXMuZW5kKCk7ICsraXRlcikgewotICAgIFVBX05vZGVJZF9kZWxldGUoKCppdGVyKSk7Ci0gIH0KLSAgcmVmZXJlbmNlZE5vZGVzLmNsZWFyQWxsKCk7Ci0KLSAgaWYgKGZiTm9kZUlkICE9IE5VTEwpIHsKLSAgICBVQV9Ob2RlSWRfZGVsZXRlKGZiTm9kZUlkKTsKLSAgICBmYk5vZGVJZCA9IE5VTEw7Ci0gIH0KLSAgaWYgKG1ldGhvZE5vZGVJZCAhPSBOVUxMKSB7Ci0gICAgVUFfTm9kZUlkX2RlbGV0ZShtZXRob2ROb2RlSWQpOwotICAgIG1ldGhvZE5vZGVJZCA9IE5VTEw7Ci0gIH0KLSAgdGhpcy0+ZGVsZXRlTm9kZUlkcygmc2VuZERhdGFOb2RlSWRzLCBnZXRDb21tRkIoKS0+Z2V0TnVtU0QoKSk7Ci0gIHRoaXMtPmRlbGV0ZU5vZGVJZHMoJnJlYWREYXRhTm9kZUlkcywgZ2V0Q29tbUZCKCktPmdldE51bVJEKCkpOwotICBpZiAoY2xpZW50U2RDb252ZXJ0ZXIpIHsKLSAgICBmb3J0ZV9mcmVlKGNsaWVudFNkQ29udmVydGVyKTsKLSAgICBjbGllbnRTZENvbnZlcnRlciA9IE5VTEw7Ci0gIH0KLSAgaWYgKGNsaWVudFJkQ29udmVydGVyKSB7Ci0gICAgZm9ydGVfZnJlZShjbGllbnRSZENvbnZlcnRlcik7Ci0gICAgY2xpZW50UmRDb252ZXJ0ZXIgPSBOVUxMOwotICB9Ci0gIGlmIChjbGllbnRFbmRwb2ludFVybCkgewotICAgIGZvcnRlX2ZyZWUoY2xpZW50RW5kcG9pbnRVcmwpOwotICAgIGNsaWVudEVuZHBvaW50VXJsID0gTlVMTDsKLSAgfQotICBpZiAoY2xpZW50Tm9kZVBhdGgpIHsKLSAgICBmb3J0ZV9mcmVlKGNsaWVudE5vZGVQYXRoKTsKLSAgICBjbGllbnROb2RlUGF0aCA9IE5VTEw7Ci0gIH0KLSAgaWYgKGZiTm9kZUlkUGFyZW50KSB7Ci0gICAgVUFfTm9kZUlkX2RlbGV0ZShmYk5vZGVJZFBhcmVudCk7Ci0gICAgZmJOb2RlSWRQYXJlbnQgPSBOVUxMOworICBpZihtSGFuZGxlcikgeworICAgIG1IYW5kbGVyLT51bmluaXRpYWxpemVBY3Rpb24oKm1BY3Rpb25JbmZvKTsKKyAgICBtSGFuZGxlciA9IDA7CisgICAgZGVsZXRlIG1BY3Rpb25JbmZvOwogICB9CiB9CiAKLS8qKgotICogVGhpcyBtZXRob2QgaXMgcmVxdWlyZWQgdG8gaW5saW5lIGluaXRpYWxpemUgdGhlIGNvbm5lY3Rpb24gcG9pbnQuCi0gKi8KLXN0YXRpYyBjb25zdCBTQ29ubmVjdGlvblBvaW50JiBnZXRGaXJzdExpc3RFbnRyeSgKLSAgICBjb25zdCBDU2luZ2x5TGlua2VkTGlzdDxTQ29ubmVjdGlvblBvaW50PiYgbGlzdCkgewotICBDU2luZ2x5TGlua2VkTGlzdDxTQ29ubmVjdGlvblBvaW50Pjo6SXRlcmF0b3IgaXQgPSBsaXN0LmJlZ2luKCk7Ci0gIHJldHVybiAqaXQ7Ci19CitFQ29tUmVzcG9uc2UgQ09QQ19VQV9MYXllcjo6cmVjdkRhdGEoY29uc3Qgdm9pZCAqcGFEYXRhLCB1bnNpZ25lZCBpbnQpIHsKKyAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhT2s7CiAKLXZvaWQgQ09QQ19VQV9MYXllcjo6ZGVsZXRlTm9kZUlkcyhzdHJ1Y3QgRkJfTm9kZUlkcyAqKm5vZGVJZHMsCi0gICAgdW5zaWduZWQgaW50IGN1cnJlbnRTaXplKSB7Ci0gIGlmICgqbm9kZUlkcyA9PSBOVUxMKQotICAgIHJldHVybjsKLSAgZm9yICh1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBjdXJyZW50U2l6ZTsgaisrKSB7Ci0gICAgaWYgKCgqbm9kZUlkcylbal0uZnVuY3Rpb25CbG9ja0lkICE9IE5VTEwpCi0gICAgICBVQV9Ob2RlSWRfZGVsZXRlKCgqbm9kZUlkcylbal0uZnVuY3Rpb25CbG9ja0lkKTsKLSAgICBpZiAoKCpub2RlSWRzKVtqXS5mdW5jdGlvbkJsb2NrSWQgIT0gTlVMTCkKLSAgICAgIFVBX05vZGVJZF9kZWxldGUoKCpub2RlSWRzKVtqXS52YXJpYWJsZUlkKTsKLSAgfQotICBmb3J0ZV9mcmVlKCpub2RlSWRzKTsKLSAgKCpub2RlSWRzKSA9IE5VTEw7Ci19CisgIGNvbnN0IENPUENfVUFfSGVscGVyOjpVQV9SZWN2VmFyaWFibGVfaGFuZGxlICpoYW5kbGVSZWN2ID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ09QQ19VQV9IZWxwZXI6OlVBX1JlY3ZWYXJpYWJsZV9oYW5kbGUgKj4ocGFEYXRhKTsKIAotYm9vbCBDT1BDX1VBX0xheWVyOjpnZXRQb3J0Q29ubmVjdGlvbkluZm8odW5zaWduZWQgaW50IHBvcnRJbmRleCwgYm9vbCBpc1NELAotICAgIGNvbnN0IENGdW5jdGlvbkJsb2NrICoqY29ubmVjdGVkVG9GYiwgY29uc3QgY2hhciAqKmNvbm5lY3RlZFRvUG9ydE5hbWUsCi0gICAgY29uc3QgVUFfVHlwZUNvbnZlcnQgKipjb252ZXJ0KSBjb25zdCB7Ci0gIGludCBwb3J0SWQgPSBwb3J0SW5kZXggKyAyOwotICAvKiBSZXRyaWV2ZSBQdWJsaXNoZXIsIENvbm5lY3Rpb24gYW5kIFNpZ25hbHMgU291cmNlIEZ1bmN0aW9uIEJsb2NrIEluZm9ybWF0aW9uICovCi0gIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKmludGVyZmFjZVNwZWMgPSBnZXRDb21tRkIoKS0+Z2V0RkJJbnRlcmZhY2VTcGVjKCk7Ci0gIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcG9ydE5hbWVJZCA9Ci0gICAgICBpc1NEID8KLSAgICAgICAgICBpbnRlcmZhY2VTcGVjLT5tX2F1bkRJTmFtZXNbcG9ydElkXSA6Ci0gICAgICAgICAgaW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzW3BvcnRJZF07Ci0KLSAgREVWTE9HX0RFQlVHKCJPUEMgVUE6IFByb2Nlc3NpbmcgJXMgc2lnbmFsICVzIGF0IHBvcnQgJWkuXG4iLAotICAgICAgaXNTRCA/ICJwdWJsaXNoIiA6ICJzdWJzY3JpYmUiLAotICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KHBvcnROYW1lSWQpLCBwb3J0SWQpOwotCi0gIGNvbnN0IENEYXRhQ29ubmVjdGlvbiAqcG9ydENvbm5lY3Rpb24gPQotICAgICAgaXNTRCA/Ci0gICAgICAgICAgZ2V0Q29tbUZCKCktPmdldERJQ29ubmVjdGlvbihwb3J0TmFtZUlkKSA6Ci0gICAgICAgICAgZ2V0Q29tbUZCKCktPmdldERPQ29ubmVjdGlvbihwb3J0TmFtZUlkKTsKLSAgaWYgKHBvcnRDb25uZWN0aW9uID09IE5VTEwpIHsKLSAgICBERVZMT0dfRVJST1IoCi0gICAgICAgICJPUEMgVUE6IEdvdCBpbnZhbGlkIHBvcnQgY29ubmVjdGlvbiBvbiBGQiAlcyBhdCBwb3J0ICVzLiBJdCBtdXN0IGJlIGNvbm5lY3RlZCB0byBhbm90aGVyIEZCLlxuIiwKLSAgICAgICAgdGhpcy0+Z2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLAotICAgICAgICBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQocG9ydE5hbWVJZCkpOwotICAgIHJldHVybiBmYWxzZTsKLSAgfQotCi0gIC8vVE9ETyBmb3Igbm93IHdlIGFzc3VtZSB0aGF0IHRoZSBzdWJzY3JpYmVyIGNvbm5lY3Rpb24gb25seSBoYXMgb25lIGRlc3RpbmF0aW9uLiBOZWVkcyBmaXghCi0KLSAgaWYgKCFpc1NEICYmIHBvcnRDb25uZWN0aW9uLT5nZXREZXN0aW5hdGlvbkxpc3QoKS5pc0VtcHR5KCkpIHsKLSAgICBERVZMT0dfV0FSTklORygiT1BDIFVBOiBTdWJzY3JpYmVyIGRvZXMgbm90IGhhdmUgYW55IGNvbm5lY3Rpb24uXG4iKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0gIH0KLQotICBjb25zdCBTQ29ubmVjdGlvblBvaW50IHJlbW90ZUNvbm5lY3Rpb25Qb2ludCA9Ci0gICAgICBpc1NEID8KLSAgICAgICAgICBwb3J0Q29ubmVjdGlvbi0+Z2V0U291cmNlSWQoKSA6Ci0gICAgICAgICAgZ2V0Rmlyc3RMaXN0RW50cnkocG9ydENvbm5lY3Rpb24tPmdldERlc3RpbmF0aW9uTGlzdCgpKTsKLSAgaWYgKCgqY29ubmVjdGVkVG9GYiA9IHJlbW90ZUNvbm5lY3Rpb25Qb2ludC5tRkIpID09IE5VTEwpIHsKLSAgICByZXR1cm4gZmFsc2U7Ci0gIH0KLSAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqc291cmNlSW50ZXJmYWNlU3BlYyA9Ci0gICAgICAoKmNvbm5lY3RlZFRvRmIpLT5nZXRGQkludGVyZmFjZVNwZWMoKTsKLSAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzb3VyY2VOYW1lSWQgPQotICAgICAgaXNTRCA/Ci0gICAgICAgICAgc291cmNlSW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzW3JlbW90ZUNvbm5lY3Rpb25Qb2ludC5tUG9ydElkXSA6Ci0gICAgICAgICAgc291cmNlSW50ZXJmYWNlU3BlYy0+bV9hdW5ESU5hbWVzW3JlbW90ZUNvbm5lY3Rpb25Qb2ludC5tUG9ydElkXTsKLSAgKmNvbm5lY3RlZFRvUG9ydE5hbWUgPSBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoc291cmNlTmFtZUlkKTsKLQotICBjb25zdCBDSUVDX0FOWSAqcmVtb3RlUG9ydCA9Ci0gICAgICBpc1NEID8KLSAgICAgICAgICAoKmNvbm5lY3RlZFRvRmIpLT5nZXRET0Zyb21Qb3J0SWQocmVtb3RlQ29ubmVjdGlvblBvaW50Lm1Qb3J0SWQpIDoKLSAgICAgICAgICAoKmNvbm5lY3RlZFRvRmIpLT5nZXRESUZyb21Qb3J0SWQocmVtb3RlQ29ubmVjdGlvblBvaW50Lm1Qb3J0SWQpOwotCi0gIGlmICghQ09QQ19VQV9IZWxwZXI6OmlzVHlwZUlkVmFsaWQocmVtb3RlUG9ydC0+Z2V0RGF0YVR5cGVJRCgpKSkgewotICAgIERFVkxPR19FUlJPUl9WQVIoCi0gICAgICAgIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgY29ubmVjdGVkVG9UeXBlID0gaXNTRCA/IHNvdXJjZUludGVyZmFjZVNwZWMtPm1fYXVuRE9EYXRhVHlwZU5hbWVzW3JlbW90ZUNvbm5lY3Rpb25Qb2ludC5tUG9ydElkXSA6IHNvdXJjZUludGVyZmFjZVNwZWMtPm1fYXVuRElEYXRhVHlwZU5hbWVzW3JlbW90ZUNvbm5lY3Rpb25Qb2ludC5tUG9ydElkXSk7Ci0gICAgREVWTE9HX0VSUk9SKCJPUEMgVUE6IE1hcHBpbmcgb2YgdHlwZSAlcyB0byBPUEMgVUEgbm90IGRlZmluZWQuXG4iLAotICAgICAgICBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoY29ubmVjdGVkVG9UeXBlKSk7Ci0gICAgcmV0dXJuIGZhbHNlOwotICB9Ci0gICpjb252ZXJ0ID0KLSAgICAgICZDT1BDX1VBX0hlbHBlcjo6bWFwRm9ydGVUeXBlSWRUb09wY1VhW3JlbW90ZVBvcnQtPmdldERhdGFUeXBlSUQoKV07Ci0KLSAgcmV0dXJuIHRydWU7Ci19Ci0KLWZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBDT1BDX1VBX0xheWVyOjpjcmVhdGVTdWJzY3JpcHRpb24oCi0gICAgc3RydWN0IEZCX05vZGVJZHMgKipub2RlSWRzLCB1bnNpZ25lZCBpbnQgbnVtUG9ydHMsIGJvb2wgaXNTRCwKLSAgICBjaGFyKiBzdWJub2RlUGF0aCkgewotICBVQV9Ob2RlSWQgb2JqZWN0c0ZvbGRlciA9IFVBX05PREVJRF9OVU1FUklDKDAsIFVBX05TMElEX09CSkVDVFNGT0xERVIpOwotCi0gIGNvbnN0IFVBX1R5cGVDb252ZXJ0ICpjb252OwotICBjb25zdCBDRnVuY3Rpb25CbG9jayAqY29ubmVjdGVkVG9GYiA9IE5VTEw7Ci0gIGNvbnN0IGNoYXIgKmNvbm5lY3RlZFRvTmFtZSA9IE5VTEw7Ci0KLSAgaWYgKCFnZXRQb3J0Q29ubmVjdGlvbkluZm8oMCwgaXNTRCwgJmNvbm5lY3RlZFRvRmIsICZjb25uZWN0ZWRUb05hbWUsCi0gICAgICAmY29udikpIHsKLSAgICBkZWxldGVOb2RlSWRzKG5vZGVJZHMsIDApOwotICAgIHJldHVybiBlX0luaXRJbnZhbGlkSWQ7Ci0gIH0KLQotICBzaXplX3QgbGVuID0gc3RybGVuKHN1Ym5vZGVQYXRoKSArIDE7IC8vIGluY2x1ZGUgbnVsbGJ5dGUKLSAgY2hhciAqc291cmNlVmFyQnJvd3NlTmFtZSA9IHN0YXRpY19jYXN0PGNoYXIgKj4oZm9ydGVfbWFsbG9jKAotICAgICAgc2l6ZW9mKGNoYXIpICogbGVuKSk7Ci0gIGZvcnRlX3NucHJpbnRmKHNvdXJjZVZhckJyb3dzZU5hbWUsIGxlbiwgIiVzIiwgc3Vibm9kZVBhdGgpOwotICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IGdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCkuZ2V0Tm9kZUZvclBhdGgoJmZiTm9kZUlkLCBzb3VyY2VWYXJCcm93c2VOYW1lLCBmYWxzZSwKLSAgICAgICZvYmplY3RzRm9sZGVyKTsKLSAgZm9ydGVfZnJlZShzb3VyY2VWYXJCcm93c2VOYW1lKTsKLQotICBjb25zdCBVQV9UeXBlQ29udmVydCAqY29udmVydCA9IGNvbnY7Ci0gIHZvaWQgKnZhclZhbHVlID0gVUFfbmV3KGNvbnYtPnR5cGUpOwotICBVQV9pbml0KHZhclZhbHVlLCBjb252LT50eXBlKTsKLQotICBVQV9Ob2RlSWQgbW9uSXRlbSA9IFVBX05PREVJRF9OVU1FUklDKDEsIDUwMjE3KTsKLSAgZ2V0RXh0RXZIYW5kbGVyPENPUENfVUFfQ2xpZW50X0hhbmRsZXI+KCkuYWRkTW9uaXRvcmluZ0l0ZW0odWFDbGllbnQsIHRoaXMsIG1vbkl0ZW0sIGNvbnYgLDApOwotCi0gIHJldHVybiBlX0luaXRPazsKLX0KLQotZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIENPUENfVUFfTGF5ZXI6OmNyZWF0ZVB1YlN1Yk5vZGVzKAotICAgIHN0cnVjdCBGQl9Ob2RlSWRzICoqbm9kZUlkcywgdW5zaWduZWQgaW50IG51bVBvcnRzLCBib29sIGlzU0QpIHsKLSAgaWYgKCpub2RlSWRzICE9IE5VTEwpIHsKLSAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogUHVibGlzaC9TdWJzY3JpYmUgTm9kZXMgYWxyZWFkeSBpbml0aWFsaXplZC5cbiIpOwotICAgIHJldHVybiBlX0luaXRJbnZhbGlkSWQ7Ci0gIH0KLQotICBpZiAobnVtUG9ydHMgPT0gMCkgewotICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgIk9QQyBVQTogT1BDIFVBIFB1Ymxpc2hlci9TdWJzY3JpYmVyIHdpdGhvdXQgU0QvUkQgU2lnbmFsLCBwdXJlIGV2ZW50IGhhbmRsaW5nXG4iKTsKLSAgICByZXR1cm4gZV9Jbml0SW52YWxpZElkOwotICB9Ci0KLSAgKm5vZGVJZHMgPSBzdGF0aWNfY2FzdDxzdHJ1Y3QgRkJfTm9kZUlkcyAqPihmb3J0ZV9tYWxsb2MoCi0gICAgICBzaXplb2Yoc3RydWN0IEZCX05vZGVJZHMpICogbnVtUG9ydHMpKTsKLQotICBjb25zdCBDSUVDX0FOWSAqaW5pdERhdGEgPQotICAgICAgaXNTRCA/IGdldENvbW1GQigpLT5nZXRTRHMoKSA6IGdldENvbW1GQigpLT5nZXRSRHMoKTsKLQotICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG51bVBvcnRzOyBpKyspIHsKLQotICAgIGNvbnN0IENGdW5jdGlvbkJsb2NrICpjb25uZWN0ZWRUb0ZiID0gTlVMTDsKLSAgICBjb25zdCBjaGFyICpjb25uZWN0ZWRUb05hbWUgPSBOVUxMOwotICAgIGNvbnN0IFVBX1R5cGVDb252ZXJ0ICpjb252OwotCi0gICAgaWYgKCFnZXRQb3J0Q29ubmVjdGlvbkluZm8oaSwgaXNTRCwgJmNvbm5lY3RlZFRvRmIsICZjb25uZWN0ZWRUb05hbWUsCi0gICAgICAgICZjb252KSkgewotICAgICAgZGVsZXRlTm9kZUlkcyhub2RlSWRzLCBpKTsKLSAgICAgIHJldHVybiBlX0luaXRJbnZhbGlkSWQ7Ci0gICAgfQotCi0gICAgVUFfU3RhdHVzQ29kZSByZXRWYWw7Ci0KLSAgICB7Ci0gICAgICBjb25zdCBjaGFyICpzdWJub2RlUGF0aCA9IGNvbm5lY3RlZFRvRmItPmdldEluc3RhbmNlTmFtZSgpOwotICAgICAgLy8gY3JlYXRlL2dldCBub2RlIGZvciBjb25uZWN0ZWQgRkIKLSAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4oc3Vibm9kZVBhdGgpICsgMjsgLy8gaW5jbHVkZSBzbGFzaCBhbmQgbnVsbGJ5dGUKLSAgICAgIGNoYXIgKmZiQnJvd3NlTmFtZSA9IHN0YXRpY19jYXN0PGNoYXIgKj4oZm9ydGVfbWFsbG9jKHNpemVvZihjaGFyKSAqIGxlbikpOwotICAgICAgZm9ydGVfc25wcmludGYoZmJCcm93c2VOYW1lLCBsZW4sICIvJXMiLCBzdWJub2RlUGF0aCk7Ci0gICAgICBVQV9Ob2RlSWQgbmV3Tm9kZVR5cGUgPSBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9CQVNFT0JKRUNUVFlQRSk7Ci0gICAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj4gbm9kZXNBbG9uZ1BhdGggPSBDU2luZ2x5TGlua2VkTGlzdDwKLSAgICAgICAgICBVQV9Ob2RlSWQgKj4oKTsKLSAgICAgIHJldFZhbCA9IGdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCkuZ2V0Tm9kZUZvclBhdGgoJigqbm9kZUlkcylbaV0uZnVuY3Rpb25CbG9ja0lkLCBmYkJyb3dzZU5hbWUsIHRydWUsIGZiTm9kZUlkLCAmbmV3Tm9kZVR5cGUsIE5VTEwsIE5VTEwsCi0gICAgICAgICAgJm5vZGVzQWxvbmdQYXRoKTsKLSAgICAgIGZvcnRlX2ZyZWUoZmJCcm93c2VOYW1lKTsKLQotICAgICAgZ2V0RXh0RXZIYW5kbGVyPENPUENfVUFfSGFuZGxlcj4oKS5yZWZlcmVuY2VkTm9kZXNJbmNyZW1lbnQoJm5vZGVzQWxvbmdQYXRoLCB0aGlzKTsKLQotICAgICAgZm9yIChDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj46Okl0ZXJhdG9yIGl0ZXIgPQotICAgICAgICAgIG5vZGVzQWxvbmdQYXRoLmJlZ2luKCk7IGl0ZXIgIT0gbm9kZXNBbG9uZ1BhdGguZW5kKCk7ICsraXRlcikgewotICAgICAgICByZWZlcmVuY2VkTm9kZXMucHVzaEJhY2soKCppdGVyKSk7Ci0gICAgICB9Ci0gICAgfQotCi0gICAgaWYgKHJldFZhbCA9PSBVQV9TVEFUVVNDT0RFX0dPT0QpIHsKLSAgICAgIC8vIGNyZWF0ZS9nZXQgdmFyaWFibGUgbm9kZSBmb3IgcG9ydCBvbiBjb25uZWN0ZWQgRkIKLSAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4oY29ubmVjdGVkVG9OYW1lKSArIDI7IC8vIGluY2x1ZGUgc2xhc2ggYW5kIG51bGxieXRlCi0gICAgICBjaGFyICpzb3VyY2VWYXJCcm93c2VOYW1lID0gc3RhdGljX2Nhc3Q8Y2hhciAqPihmb3J0ZV9tYWxsb2MoCi0gICAgICAgICAgc2l6ZW9mKGNoYXIpICogbGVuKSk7Ci0gICAgICBmb3J0ZV9zbnByaW50Zihzb3VyY2VWYXJCcm93c2VOYW1lLCBsZW4sICIvJXMiLCBjb25uZWN0ZWRUb05hbWUpOwotICAgICAgcmV0VmFsID0gZ2V0RXh0RXZIYW5kbGVyPENPUENfVUFfSGFuZGxlcj4oKS5nZXROb2RlRm9yUGF0aCgmKCpub2RlSWRzKVtpXS52YXJpYWJsZUlkLCBzb3VyY2VWYXJCcm93c2VOYW1lLCBmYWxzZSwKLSAgICAgICAgICAoKm5vZGVJZHMpW2ldLmZ1bmN0aW9uQmxvY2tJZCk7Ci0gICAgICBmb3J0ZV9mcmVlKHNvdXJjZVZhckJyb3dzZU5hbWUpOwotICAgICAgaWYgKHJldFZhbCA9PSBVQV9TVEFUVVNDT0RFX0dPT0QpIHsKLSAgICAgICAgaWYgKCgqbm9kZUlkcylbaV0udmFyaWFibGVJZCA9PSBOVUxMKSB7Ci0gICAgICAgICAgLy8gd2UgbmVlZCB0byBjcmVhdGUgdGhlIHZhcmlhYmxlCi0KLSAgICAgICAgICAoKm5vZGVJZHMpW2ldLmNvbnZlcnQgPSBjb252OwotICAgICAgICAgIHZvaWQgKnZhclZhbHVlID0gVUFfbmV3KGNvbnYtPnR5cGUpOwotICAgICAgICAgIFVBX2luaXQodmFyVmFsdWUsIGNvbnYtPnR5cGUpOwotICAgICAgICAgICgqbm9kZUlkcylbaV0udmFyaWFibGVJZCA9IFVBX05vZGVJZF9uZXcoKTsKLSAgICAgICAgICBpZiAoIWNvbnYtPmdldCgmaW5pdERhdGFbaV0sIHZhclZhbHVlKSkgewotICAgICAgICAgICAgREVWTE9HX1dBUk5JTkcoCi0gICAgICAgICAgICAgICAgIk9QQyBVQTogQ2Fubm90IGNvbnZlcnQgdmFsdWUgb2YgcG9ydCAlZCBmb3IgaW5pdGlhbGl6YXRpb24iLAotICAgICAgICAgICAgICAgIGkpOworICBpZighaGFuZGxlUmVjdi0+bUZhaWxlZCkgeworICAgIGlmKGhhbmRsZVJlY3YtPm1TaXplKSB7CisgICAgICBpZihoYW5kbGVSZWN2LT5tU2l6ZSArIGhhbmRsZVJlY3YtPm1PZmZzZXQgPD0gZ2V0Q29tbUZCKCktPmdldE51bVJEKCkpIHsKKyAgICAgICAgQ0lFQ19BTlkgKlJEcyA9IGdldENvbW1GQigpLT5nZXRSRHMoKSArIGhhbmRsZVJlY3YtPm1PZmZzZXQ7CisgICAgICAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBoYW5kbGVSZWN2LT5tU2l6ZTsgaSsrKSB7CisgICAgICAgICAgaWYoVUFfVmFyaWFudF9pc1NjYWxhcihoYW5kbGVSZWN2LT5tRGF0YVtpXSkgJiYgaGFuZGxlUmVjdi0+bURhdGFbaV0tPmRhdGEKKyAgICAgICAgICAgICYmIGhhbmRsZVJlY3YtPm1EYXRhW2ldLT50eXBlID09IENPUENfVUFfSGVscGVyOjpnZXRPUENVQVR5cGVGcm9tQW55KFJEc1tpXSkpIHsKKyAgICAgICAgICAgIENPUENfVUFfSGVscGVyOjpjb252ZXJ0RnJvbU9QQ1VBVHlwZShoYW5kbGVSZWN2LT5tRGF0YVtpXS0+ZGF0YSwgUkRzW2ldKTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIExBWUVSXTogUkRfJWQgb2YgRkIgJXMgaGFzIG5vIGRhdGEsIGlzIG5vdCBhIHNjYWxhciBvciB0aGVyZSBpcyBhIHR5cGUgbWlzbWF0Y2hcbiIsIGhhbmRsZVJlY3YtPm1PZmZzZXQgKyBpLAorICAgICAgICAgICAgICBnZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCkpOworICAgICAgICAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhUmVjdkZhaWxkOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgfQotICAgICAgICAgIHJldFZhbCA9IGdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCkuY3JlYXRlVmFyaWFibGVOb2RlKCgqbm9kZUlkcylbaV0uZnVuY3Rpb25CbG9ja0lkLCBjb25uZWN0ZWRUb05hbWUsIGNvbnYtPnR5cGUsCi0gICAgICAgICAgICAgIHZhclZhbHVlLCAoKm5vZGVJZHMpW2ldLnZhcmlhYmxlSWQsICFpc1NEKTsKLSAgICAgICAgICBVQV9kZWxldGUodmFyVmFsdWUsIGNvbnYtPnR5cGUpOwotICAgICAgICAgIGlmIChyZXRWYWwgPT0gVUFfU1RBVFVTQ09ERV9HT09EICYmICFpc1NEKSB7Ci0gICAgICAgICAgICBnZXRFeHRFdkhhbmRsZXI8Q09QQ19VQV9IYW5kbGVyPigpLnJlZ2lzdGVyTm9kZUNhbGxCYWNrKCgqbm9kZUlkcylbaV0udmFyaWFibGVJZCwgdGhpcywgY29udiwgaSk7Ci0gICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKCFpc1NEKSB7Ci0gICAgICAgICAgLy8gdGhlIG5vZGUgYWxyZWFkeSBleGlzdHMuIEl0IGNvdWxkIGJlIHRoZSBjYXNlIHRoYXQgdGhlIG5vZGUgd2FzIHByZXZpb3VzbHkgY3JlYXRlZAotICAgICAgICAgIC8vIGZvciBhIHN1YnNjcmliZSBGQiwgd2hpY2ggc2V0cyB0aGUgYWNjZXNzIHRvIHJlYWQgb25seS4gU2luY2UgdGhpcyBpcyBub3cgYSBwdWJsaXNoIEZCCi0gICAgICAgICAgLy8gd2UgbmVlZCB0byBjaGFuZ2UgdGhlIGFjY2VzcyB0byByZWFkICYgd3JpdGUKLSAgICAgICAgICBpZiAoVUFfU1RBVFVTQ09ERV9HT09EICE9IGdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCkudXBkYXRlTm9kZVVzZXJBY2Nlc3NMZXZlbCgoKm5vZGVJZHMpW2ldLnZhcmlhYmxlSWQsCi0gICAgICAgICAgICAgICAgICBVQV9BQ0NFU1NMRVZFTE1BU0tfUkVBRCAmIFVBX0FDQ0VTU0xFVkVMTUFTS19XUklURSkpIHsKLSAgICAgICAgICAgIERFVkxPR19XQVJOSU5HKCJPUEMgVUE6IENhbm5vdCBzZXQgd3JpdGUgcGVybWlzc2lvbiBvZiBub2RlIGZvciBwb3J0ICVkIiwgaSk7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9IC8vIGVsc2UgaWYgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EIHRoZSBub2RlIGFscmVhZHkgZXhpc3RzCi0KLSAgICB9Ci0KLSAgICBpZiAocmV0VmFsICE9IFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgICAgZGVsZXRlTm9kZUlkcyhub2RlSWRzLCBpICsgMSk7Ci0gICAgICByZXR1cm4gZV9Jbml0SW52YWxpZElkOwotICAgIH0KLSAgfQotICByZXR1cm4gZV9Jbml0T2s7Ci19Ci0KLWZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBDT1BDX1VBX0xheWVyOjpjcmVhdGVNZXRob2ROb2RlKCkgewotCi0gIERFVkxPR19ERUJVRygiT1BDIFVBOiBPUEMgVUEgY3JlYXRpbmcgbWV0aG9kIGZvciAlc1xuIiwKLSAgICAgIGdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7Ci0KLSAgaWYgKHNlbmREYXRhTm9kZUlkcyAhPSBOVUxMIHx8IHJlYWREYXRhTm9kZUlkcyAhPSBOVUxMKSB7Ci0gICAgREVWTE9HX0VSUk9SKCJPUEMgVUE6IE1ldGhvZCBub2RlIGFscmVhZHkgaW5pdGlhbGl6ZWQuXG4iKTsKLSAgICByZXR1cm4gZV9Jbml0SW52YWxpZElkOwotICB9Ci0KLSAgaWYgKHRoaXMtPmdldENvbW1GQigpLT5nZXROdW1SRCgpID09IDAKLSAgICAgICYmIHRoaXMtPmdldENvbW1GQigpLT5nZXROdW1TRCgpID09IDApIHsKLSAgICBERVZMT0dfSU5GTygKLSAgICAgICAgIk9QQyBVQTogT1BDIFVBIE1ldGhvZCB3aXRob3V0IFNEL1JEIFNpZ25hbCwgcHVyZSBldmVudCBoYW5kbGluZ1xuIik7Ci0gIH0KLQotICAvLyBjcmVhdGUgdGhlIGxpc3Qgb2YgaW5wdXQgYXJndW1lbnRzIG9mIHRoZSBtZXRob2Qgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIFJEIHBvcnRzIChpLmUuIG91dHB1dCBvZiB0aGUgRkIpCi0gIFVBX0FyZ3VtZW50ICppbnB1dEFyZ3VtZW50czsKLSAgaWYgKGNyZWF0ZU1ldGhvZEFyZ3VtZW50cygmaW5wdXRBcmd1bWVudHMsIGdldENvbW1GQigpLT5nZXROdW1SRCgpLCBmYWxzZSkKLSAgICAgICE9IGVfSW5pdE9rKSB7Ci0gICAgcmV0dXJuIGVfSW5pdEludmFsaWRJZDsKLSAgfQotCi0gIFVBX0FyZ3VtZW50ICpvdXRwdXRBcmd1bWVudHM7Ci0gIGlmIChjcmVhdGVNZXRob2RBcmd1bWVudHMoJm91dHB1dEFyZ3VtZW50cywgZ2V0Q29tbUZCKCktPmdldE51bVNEKCksIHRydWUpCi0gICAgICAhPSBlX0luaXRPaykgewotICAgIFVBX0FycmF5X2RlbGV0ZShpbnB1dEFyZ3VtZW50cywgZ2V0Q29tbUZCKCktPmdldE51bVJEKCksCi0gICAgICAgICZVQV9UWVBFU1tVQV9UWVBFU19BUkdVTUVOVF0pOwotICAgIHJldHVybiBlX0luaXRJbnZhbGlkSWQ7Ci0gIH0KLQotICBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgcmVzdWx0ID0gZV9Jbml0T2s7Ci0KLSAgVUFfU3RhdHVzQ29kZSByZXRWYWw7Ci0gIGNvbnN0IGNoYXIqIHN1Ym5vZGVQYXRoID0gZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpOwotICBpZiAoKHJldFZhbCA9IGdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCkuY3JlYXRlTWV0aG9kTm9kZShmYk5vZGVJZCwgMSwgc3Vibm9kZVBhdGgsIENPUENfVUFfTGF5ZXI6Om9uU2VydmVyTWV0aG9kQ2FsbCwgdGhpcywKLSAgICAgIGdldENvbW1GQigpLT5nZXROdW1SRCgpLAotICAgICAgaW5wdXRBcmd1bWVudHMsIGdldENvbW1GQigpLT5nZXROdW1TRCgpLCBvdXRwdXRBcmd1bWVudHMsIG1ldGhvZE5vZGVJZCkpICE9Ci0gIFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgIERFVkxPR19FUlJPUigiT1BDIFVBOiBPUEMgVUEgY291bGQgbm90IGNyZWF0ZSBtZXRob2Qgbm9kZTogJXNcbiIsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKLSAgICByZXN1bHQgPSBlX0luaXRJbnZhbGlkSWQ7Ci0gIH0KLSAgVUFfQXJyYXlfZGVsZXRlKGlucHV0QXJndW1lbnRzLCBnZXRDb21tRkIoKS0+Z2V0TnVtUkQoKSwKLSAgICAgICZVQV9UWVBFU1tVQV9UWVBFU19BUkdVTUVOVF0pOwotICBVQV9BcnJheV9kZWxldGUob3V0cHV0QXJndW1lbnRzLCBnZXRDb21tRkIoKS0+Z2V0TnVtU0QoKSwKLSAgICAgICZVQV9UWVBFU1tVQV9UWVBFU19BUkdVTUVOVF0pOwotCi0gIHJldHVybiByZXN1bHQ7Ci19Ci0KLWZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBDT1BDX1VBX0xheWVyOjpjcmVhdGVNZXRob2RBcmd1bWVudHMoCi0gICAgVUFfQXJndW1lbnQgKiphcmd1bWVudHMsIHVuc2lnbmVkIGludCBudW1Qb3J0cywgYm9vbCBpc1NEKSB7Ci0gICphcmd1bWVudHMgPSBzdGF0aWNfY2FzdDxVQV9Bcmd1bWVudCAqPihVQV9BcnJheV9uZXcobnVtUG9ydHMsCi0gICAgICAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKSk7Ci0KLSAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1Qb3J0czsgaSsrKSB7Ci0KLSAgICBVQV9Bcmd1bWVudCAqYXJnID0gJigqYXJndW1lbnRzKVtpXTsKLSAgICBVQV9Bcmd1bWVudF9pbml0KGFyZyk7Ci0gICAgYXJnLT5hcnJheURpbWVuc2lvbnNTaXplID0gMDsKLSAgICBhcmctPmFycmF5RGltZW5zaW9ucyA9IE5VTEw7Ci0KLSAgICBjb25zdCBDRnVuY3Rpb25CbG9jayAqY29ubmVjdGVkVG9GYiA9IE5VTEw7Ci0gICAgY29uc3QgY2hhciAqY29ubmVjdGVkVG9OYW1lID0gTlVMTDsKLSAgICBjb25zdCBVQV9UeXBlQ29udmVydCAqY29udjsKLQotICAgIGlmICghZ2V0UG9ydENvbm5lY3Rpb25JbmZvKGksIGlzU0QsICZjb25uZWN0ZWRUb0ZiLCAmY29ubmVjdGVkVG9OYW1lLAotICAgICAgICAmY29udikpIHsKLSAgICAgIFVBX0FycmF5X2RlbGV0ZSgqYXJndW1lbnRzLCBudW1Qb3J0cywgJlVBX1RZUEVTW1VBX1RZUEVTX0FSR1VNRU5UXSk7Ci0gICAgICByZXR1cm4gZV9Jbml0SW52YWxpZElkOwotICAgIH0KLQotICAgIGFyZy0+ZGF0YVR5cGUgPSBjb252LT50eXBlLT50eXBlSWQ7Ci0gICAgYXJnLT5kZXNjcmlwdGlvbiA9IFVBX0xPQ0FMSVpFRFRFWFRfQUxMT0MoImVuLVVTIiwgIk1ldGhvZCBwYXJhbWV0ZXIiKTsKLSAgICBhcmctPm5hbWUgPSBVQV9TVFJJTkdfQUxMT0MoY29ubmVjdGVkVG9GYi0+Z2V0SW5zdGFuY2VOYW1lKCkpOwotICAgIGFyZy0+dmFsdWVSYW5rID0gLTE7Ci0KLSAgfQotCi0gIHJldHVybiBlX0luaXRPazsKLX0KLQotZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIENPUENfVUFfTGF5ZXI6OmNsaWVudENyZWF0ZUNvbnZlcnRlcigKLSAgICBjb25zdCBVQV9UeXBlQ29udmVydCAqKmNvbnZlcnRlckxpc3RbXSwgdW5zaWduZWQgaW50IG51bVBvcnRzLCBib29sIGlzU0QpIHsKLSAgaWYgKCpjb252ZXJ0ZXJMaXN0ICE9IE5VTEwpIHsKLSAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogQ29udmVydGVyIGxpc3QgYWxyZWFkeSBpbml0aWFsaXplZC5cbiIpOwotICAgIHJldHVybiBlX0luaXRJbnZhbGlkSWQ7Ci0gIH0KLQotICBpZiAobnVtUG9ydHMgPT0gMCkKLSAgICByZXR1cm4gZV9Jbml0T2s7Ci0KLSAgKmNvbnZlcnRlckxpc3QgPSBzdGF0aWNfY2FzdDxjb25zdCBVQV9UeXBlQ29udmVydCAqKj4oZm9ydGVfbWFsbG9jKAotICAgICAgc2l6ZW9mKFVBX1R5cGVDb252ZXJ0ICopICogbnVtUG9ydHMpKTsKLQotICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG51bVBvcnRzOyBpKyspIHsKLQotICAgIGNvbnN0IENGdW5jdGlvbkJsb2NrICpjb25uZWN0ZWRUb0ZiID0gTlVMTDsKLSAgICBjb25zdCBjaGFyICpjb25uZWN0ZWRUb05hbWUgPSBOVUxMOwotCi0gICAgaWYgKCFnZXRQb3J0Q29ubmVjdGlvbkluZm8oaSwgaXNTRCwgJmNvbm5lY3RlZFRvRmIsICZjb25uZWN0ZWRUb05hbWUsCi0gICAgICAgICYoKmNvbnZlcnRlckxpc3QpW2ldKSkgewotICAgICAgZm9ydGVfZnJlZSgqY29udmVydGVyTGlzdCk7Ci0gICAgICByZXR1cm4gZV9Jbml0SW52YWxpZElkOwotICAgIH0KLSAgfQotICByZXR1cm4gZV9Jbml0T2s7Ci19Ci0KLWZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBDT1BDX1VBX0xheWVyOjpjbGllbnRDb25uZWN0KCkgewotICBVQV9DbGllbnRTdGF0ZSBzdGF0ZSA9IFVBX0NsaWVudF9nZXRTdGF0ZSh1YUNsaWVudCk7Ci0KLSAgaWYgKHN0YXRlCi0gICAgICA9PSBVQV9DTElFTlRTVEFURV9DT05ORUNURUQmJiBmYk5vZGVJZCAhPSBOVUxMICYmIGZiTm9kZUlkUGFyZW50ICE9IE5VTEwpCi0gICAgLy8gcmVhZHkuIE5vdGhpbmcgdG8gZG8KLSAgICByZXR1cm4gZV9Jbml0T2s7Ci0KLSAgLy8gb3RoZXIgdGhyZWFkIG1heSBjdXJyZW50bHkgY3JlYXRlIG5vZGVzIGZvciB0aGUgc2FtZSBwYXRoLCB0aHVzIG11dGV4Ci0gIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbigqdGhpcy0+Y2xpZW50TXV0ZXgpOwotCi0gIGlmIChzdGF0ZSAhPSBVQV9DTElFTlRTVEFURV9DT05ORUNURUQpIHsKLSAgICBpZiAoZmJOb2RlSWQgIT0gTlVMTCkgewotICAgICAgVUFfTm9kZUlkX2RlbGV0ZShmYk5vZGVJZCk7Ci0gICAgICBmYk5vZGVJZCA9IE5VTEw7Ci0gICAgfQotICAgIGlmIChmYk5vZGVJZFBhcmVudCAhPSBOVUxMKSB7Ci0gICAgICBVQV9Ob2RlSWRfZGVsZXRlKGZiTm9kZUlkUGFyZW50KTsKLSAgICAgIGZiTm9kZUlkUGFyZW50ID0gTlVMTDsKLSAgICB9Ci0KLSAgICBERVZMT0dfSU5GTygiT1BDIFVBOiBDbGllbnQgY29ubmVjdGluZyB0byAlc1xuIiwgY2xpZW50RW5kcG9pbnRVcmwpOwotICAgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfQ2xpZW50X2Nvbm5lY3QodWFDbGllbnQsIGNsaWVudEVuZHBvaW50VXJsKTsKLQotICAgIGlmIChyZXRWYWwgIT0gVUFfU1RBVFVTQ09ERV9HT09EKSB7Ci0gICAgICBERVZMT0dfRVJST1IoCi0gICAgICAgICAgIk9QQyBVQTogQ291bGQgbm90IGNvbm5lY3QgY2xpZW50IHRvIGVuZHBvaW50ICVzLiBFcnJvcjogJXNcbiIsCi0gICAgICAgICAgY2xpZW50RW5kcG9pbnRVcmwsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKLSAgICAgIHJldHVybiBlX0luaXRUZXJtaW5hdGVkOwotICAgIH0KLSAgfQotCi0gIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gZ2V0RXh0RXZIYW5kbGVyPENPUENfVUFfSGFuZGxlcj4oKS5nZXROb2RlRm9yUGF0aCgmZmJOb2RlSWQsIGNsaWVudE5vZGVQYXRoLCBmYWxzZSwgTlVMTCwgTlVMTCwgJmZiTm9kZUlkUGFyZW50LCB0aGlzLT51YUNsaWVudCk7Ci0gIGlmIChyZXRWYWwgIT0gVUFfU1RBVFVTQ09ERV9HT09EKSB7Ci0gICAgREVWTE9HX0VSUk9SKAotICAgICAgICAiT1BDIFVBOiBDb3VsZCBub3QgZ2V0IG5vZGUgZm9yIHBhdGggZnJvbSBzZXJ2ZXIgJyVzJzogJyVzJy4gJXNcbiIsCi0gICAgICAgIGNsaWVudEVuZHBvaW50VXJsLCBjbGllbnROb2RlUGF0aCwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOwotICAgIHJldHVybiBlX0luaXRUZXJtaW5hdGVkOwotICB9Ci0KLSAgaWYgKGZiTm9kZUlkID09IE5VTEwpIHsKLSAgICBERVZMT0dfRVJST1IoCi0gICAgICAgICJPUEMgVUE6IENvdWxkIG5vdCBmaW5kIHRoZSBtZXRob2Qgbm9kZSBvbiB0aGUgc2VydmVyICclcyc6ICclcydcbiIsCi0gICAgICAgIGNsaWVudEVuZHBvaW50VXJsLCBjbGllbnROb2RlUGF0aCk7Ci0gICAgcmV0dXJuIGVfSW5pdFRlcm1pbmF0ZWQ7Ci0gIH0KLQotICBpZiAoZmJOb2RlSWRQYXJlbnQgPT0gTlVMTCkgewotICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgIk9QQyBVQTogQ291bGQgbm90IGZpbmQgdGhlIHBhcmVudCBub2RlIG9mIHRoZSBtZXRob2Qgb24gdGhlIHNlcnZlciAnJXMnOiAnJXMnXG4iLAotICAgICAgICBjbGllbnRFbmRwb2ludFVybCwgY2xpZW50Tm9kZVBhdGgpOwotICAgIHJldHVybiBlX0luaXRUZXJtaW5hdGVkOwotICB9Ci0KLSAgcmV0dXJuIGVfSW5pdE9rOwotfQotCi1mb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgQ09QQ19VQV9MYXllcjo6Y3JlYXRlQ2xpZW50KGNvbnN0IGNoYXIqIGVuZHBvaW50LAotICAgIGNvbnN0IGNoYXIqIG5vZGVQYXRoLCBib29sIHN1YnNjcmlwdGlvbikgewotCi0gIGlmIChjbGllbnRFbmRwb2ludFVybCAhPSBOVUxMIHx8IGNsaWVudE5vZGVQYXRoICE9IE5VTEwpIHsKLSAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogQ2xpZW50IGFscmVhZHkgaW5pdGlhbGl6ZWQuIik7Ci0gICAgcmV0dXJuIGVfSW5pdFRlcm1pbmF0ZWQ7Ci0gIH0KLQotICAvLyBzdGFydCB0aGUgYXN5bmMgY2FsbCB0aHJlYWQKLSAgdGhpcy0+c3RhcnQoKTsKLQotICB0aGlzLT51YUNsaWVudCA9IGdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0NsaWVudF9IYW5kbGVyPigpLmdldENsaWVudEZvckVuZHBvaW50KGVuZHBvaW50LCB0cnVlLCBzdWJzY3JpcHRpb24sICZjbGllbnRNdXRleCk7Ci0gIGlmICghdGhpcy0+dWFDbGllbnQpIHsKLSAgICByZXR1cm4gZV9Jbml0VGVybWluYXRlZDsKLSAgfQotCi0gIHNpemVfdCBub2RlUGF0aExlbiA9IHN0cmxlbihub2RlUGF0aCk7Ci0gIHRoaXMtPmNsaWVudE5vZGVQYXRoID0gKGNoYXIqKSBmb3J0ZV9tYWxsb2Mobm9kZVBhdGhMZW4gKyAxKTsKLSAgc3RyY3B5KHRoaXMtPmNsaWVudE5vZGVQYXRoLCBub2RlUGF0aCk7Ci0gIHdoaWxlIChub2RlUGF0aExlbiAmJiB0aGlzLT5jbGllbnROb2RlUGF0aFtub2RlUGF0aExlbiAtIDFdID09ICcvJykgewotICAgIHRoaXMtPmNsaWVudE5vZGVQYXRoW25vZGVQYXRoTGVuIC0gMV0gPSAwOwotICAgIG5vZGVQYXRoTGVuLS07Ci0gIH0KLQotICB0aGlzLT5jbGllbnRFbmRwb2ludFVybCA9IChjaGFyKikgZm9ydGVfbWFsbG9jKHN0cmxlbihlbmRwb2ludCkgKyAxKTsKLSAgc3RyY3B5KHRoaXMtPmNsaWVudEVuZHBvaW50VXJsLCBlbmRwb2ludCk7Ci0KLSAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIHJlc3AgPSBjbGllbnRDcmVhdGVDb252ZXJ0ZXIoCi0gICAgICAmY2xpZW50UmRDb252ZXJ0ZXIsIGdldENvbW1GQigpLT5nZXROdW1SRCgpLCBmYWxzZSk7Ci0gIGlmIChyZXNwICE9IGVfSW5pdE9rKQotICAgIHJldHVybiByZXNwOwotCi0gIHJldHVybiBjbGllbnRDcmVhdGVDb252ZXJ0ZXIoJmNsaWVudFNkQ29udmVydGVyLCBnZXRDb21tRkIoKS0+Z2V0TnVtU0QoKSwKLSAgICAgIHRydWUpOwotCi19Ci0KLUVDb21SZXNwb25zZSBDT1BDX1VBX0xheWVyOjpzZW5kRGF0YSh2b2lkICpwYURhdGEsIHVuc2lnbmVkIGludCBwYVNpemUpIHsKLQotICBFQ29tUmVzcG9uc2UgcmV0VmFsID0gZV9Qcm9jZXNzRGF0YU9rOwotCi0gIGlmIChnZXRDb21tRkIoKS0+Z2V0Q29tU2VydmljZVR5cGUoKSA9PSBlX1NlcnZlcikgewotICAgIC8vIGNvbnRpbnVlIG1ldGhvZCBjYWxsCi0gICAgc2VydmVyTWV0aG9kQ2FsbFJlc3VsdFJlYWR5LmluYygpOwotICAgIHJldHVybiByZXRWYWw7Ci0gIH0KLQotICBpZiAoZ2V0Q29tbUZCKCktPmdldENvbVNlcnZpY2VUeXBlKCkgPT0gZV9DbGllbnQpIHsKLSAgICByZXR1cm4gdGhpcy0+Y2xpZW50Q2FsbEFzeW5jKAotICAgICAgICBwYVNpemUgPyBzdGF0aWNfY2FzdDxDSUVDX0FOWSAqPihwYURhdGEpIDogTlVMTCwgcGFTaXplKTsKLSAgfQotCi0gIGlmIChwYVNpemUgPT0gMCkgewotICB9IGVsc2UgewotICAgIGNvbnN0IENJRUNfQU5ZICpTRHMoc3RhdGljX2Nhc3Q8Q0lFQ19BTlkgKj4ocGFEYXRhKSk7Ci0KLSAgICBpZiAodXNlQ2xpZW50KSB7Ci0gICAgICAvLyB3cml0ZSB2YXJpYWJsZSB2YWx1ZSB0byByZW1vdGUgc2VydmVyCi0gICAgICBpZiAoZ2V0Q29tbUZCKCktPmdldENvbVNlcnZpY2VUeXBlKCkgPT0gZV9QdWJsaXNoZXIpCi0gICAgICAgIHJldHVybiB0aGlzLT5jbGllbnRDYWxsQXN5bmMoc3RhdGljX2Nhc3Q8Q0lFQ19BTlkgKj4ocGFEYXRhKSwgcGFTaXplKTsKLSAgICB9IGVsc2UgewotICAgICAgLy8gY2hhbmdlIHZhcmlhYmxlIHZhbHVlIGluIGxvY2FsZSBzZXJ2ZXIKLSAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgcGFTaXplOyBpKyspIHsKLSAgICAgICAgRkJfTm9kZUlkcyAqbmkgPSAmdGhpcy0+c2VuZERhdGFOb2RlSWRzW2ldOwotICAgICAgICBpZiAoZ2V0RXh0RXZIYW5kbGVyPENPUENfVUFfSGFuZGxlcj4oKS51cGRhdGVOb2RlVmFsdWUobmktPnZhcmlhYmxlSWQsICZTRHNbaV0sIG5pLT5jb252ZXJ0KSAhPSBVQV9TVEFUVVNDT0RFX0dPT0QpIHsKLSAgICAgICAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogQ291bGQgbm90IGNvbnZlcnQgcHVibGlzaGVyIHZhbHVlIGZvciBwb3J0ICVkIHRvIE9QQyBVQS5cbiIsIGkpOwotICAgICAgICAgIHJldFZhbCA9IGVfUHJvY2Vzc0RhdGFEYXRhVHlwZUVycm9yOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgfQotICB9Ci0gIHJldHVybiByZXRWYWw7Ci19Ci0KLUVDb21SZXNwb25zZSBDT1BDX1VBX0xheWVyOjpyZWN2RGF0YShjb25zdCB2b2lkICpwYV9wdkRhdGEsIHVuc2lnbmVkIGludCkgewotICBtSW50ZXJydXB0UmVzcCA9IGVfUHJvY2Vzc0RhdGFSZWN2RmFpbGQ7Ci0KLSAgc3RydWN0IHJlY3ZEYXRhX2hhbmRsZSB7Ci0gICAgY29uc3Qgc3RydWN0IFVBX1R5cGVDb252ZXJ0ICpjb252ZXJ0OwotICAgIHVuc2lnbmVkIGludCBwb3J0SW5kZXg7Ci0gICAgY29uc3QgVUFfVmFyaWFudCAqZGF0YTsKLSAgfTsKLQotICB0aGlzLT5zdGFydCgpOwotCi0vLyAgaWYgKGdldENvbW1GQigpLT5nZXROdW1SRCgpID09IDApIHsKLS8vICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YU9rOwotLy8gIH0gZWxzZSB7Ci0gIGNvbnN0IHN0cnVjdCByZWN2RGF0YV9oYW5kbGUgKmhhbmRsZVJlY3YgPQotICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgcmVjdkRhdGFfaGFuZGxlICo+KHBhX3B2RGF0YSk7Ci0gIGlmICghdXNlQ2xpZW50KSB7Ci0KLSAgICBpZiAoZ2V0Q29tbUZCKCktPmdldE51bVJEKCkgPT0gMCkgewotICAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhT2s7Ci0gICAgfSBlbHNlIHsKLSAgICAgIGNvbnN0IHN0cnVjdCByZWN2RGF0YV9oYW5kbGUgKmhhbmRsZVJlY3YgPQotICAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IHJlY3ZEYXRhX2hhbmRsZSAqPihwYV9wdkRhdGEpOwotICAgICAgLy8gbWFwIHZhcmlhYmxlIHZhbHVlIGZyb20gbG9jYWwgb3BjIHVhIHNlcnZlciB0byB0aGUgRkIKLSAgICAgIGlmIChVQV9WYXJpYW50X2lzU2NhbGFyKGhhbmRsZVJlY3YtPmRhdGEpCi0gICAgICAgICAgJiYgaGFuZGxlUmVjdi0+ZGF0YS0+dHlwZSA9PSBoYW5kbGVSZWN2LT5jb252ZXJ0LT50eXBlCi0gICAgICAgICAgJiYgaGFuZGxlUmVjdi0+ZGF0YS0+ZGF0YSkgewotICAgICAgICBpZiAoaGFuZGxlUmVjdi0+Y29udmVydC0+c2V0KGhhbmRsZVJlY3YtPmRhdGEtPmRhdGEsCi0gICAgICAgICAgICAmZ2V0Q29tbUZCKCktPmdldFJEcygpW2hhbmRsZVJlY3YtPnBvcnRJbmRleF0pKSB7Ci0gICAgICAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhT2s7Ci0gICAgICAgICAgZ2V0Q29tbUZCKCktPmludGVycnVwdENvbW1GQih0aGlzKTsKICAgICAgICAgfQogICAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKFVBX1ZhcmlhbnRfaXNTY2FsYXIoaGFuZGxlUmVjdi0+ZGF0YSkgJiYgaGFuZGxlUmVjdi0+ZGF0YS0+ZGF0YSkgewotICAgICAgICAgIGlmIChoYW5kbGVSZWN2LT5jb252ZXJ0LT5zZXQoaGFuZGxlUmVjdi0+ZGF0YS0+ZGF0YSwKLSAgICAgICAgICAgICAgJmdldENvbW1GQigpLT5nZXRSRHMoKVtoYW5kbGVSZWN2LT5wb3J0SW5kZXhdKSkgewotICAgICAgICAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhT2s7Ci0gICAgICAgICAgICBoYW5kbGVBc3luY0V2ZW50KCk7Ci0gICAgICAgICAgfQotCi0gICAgICAgIH0KKyAgICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIExBWUVSXTogUmVjZWl2aW5nIGRhdGEgZm9yIEZCICVzIGZhaWxlZCBiZWNhdXNlIHRoZSByZXNwb25zZSBzaXplIGlzICV1IHdpdGggYW4gb2Zmc2V0IG9mICV1IGJ1dCB0aGUgRkIgaGFzICV1IFJEc1xuIiwKKyAgICAgICAgICBnZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIGhhbmRsZVJlY3YtPm1TaXplLCBoYW5kbGVSZWN2LT5tT2Zmc2V0LCBnZXRDb21tRkIoKS0+Z2V0TnVtUkQoKSk7CisgICAgICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YVJlY3ZGYWlsZDsKICAgICAgIH0KKyAgICB9IGVsc2UgeyAvL25vIGRhdGEgcmVjZWl2ZWQuIFdoZW4gcmVtb3RlIHdyaXRpbmcgdGhpcyB3aWxsIGhhcHBlbgorICAgICAgbUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhT2s7CiAgICAgfQotICB9IGVsc2UgewotICAgIGlmIChVQV9WYXJpYW50X2lzU2NhbGFyKGhhbmRsZVJlY3YtPmRhdGEpICYmIGhhbmRsZVJlY3YtPmRhdGEtPmRhdGEpIHsKLSAgICAgIGlmIChoYW5kbGVSZWN2LT5jb252ZXJ0LT5zZXQoaGFuZGxlUmVjdi0+ZGF0YS0+ZGF0YSwKLSAgICAgICAgICAmZ2V0Q29tbUZCKCktPmdldFJEcygpW2hhbmRsZVJlY3YtPnBvcnRJbmRleF0pKSB7Ci0gICAgICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YU9rOwotICAgICAgICBoYW5kbGVBc3luY0V2ZW50KCk7Ci0gICAgICB9CisgIH0gZWxzZSB7IC8vdGhpcyBmYWlsIGlzIGxvZ2dlZCBpbiB0aGUgaGFuZGxlcgorICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YVJlY3ZGYWlsZDsKKyAgfQorCisgIGlmKGVfUHJvY2Vzc0RhdGFPayA9PSBtSW50ZXJydXB0UmVzcCkgeworICAgIGlmKGdldERhdGFBbHJlYWR5UHJlc2VudFJlYWQoKSkgeworICAgICAgcmV0dXJuIGVfTm90aGluZzsgLy93b24ndCB0cmlnZ2VyIGFub3RoZXIgZXh0ZXJuYWwgZXZlbnQgb24gc3Vic2NyaXB0aW9uCisgICAgfSBlbHNlIHsKKyAgICAgIHNldERhdGFBbHJlYWR5UHJlc2VudFJlYWQodHJ1ZSk7CisgICAgICByZXR1cm4gZV9Qcm9jZXNzRGF0YU9rOyAvL3dpbGwgdHJpZ2dlciBhbiBleHRlcm5hbCBldmVudCBvbiBzdWJzY3JpcHRpb24KICAgICB9CiAgIH0KKwogICByZXR1cm4gbUludGVycnVwdFJlc3A7CiB9CiAKLWZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBDT1BDX1VBX0xheWVyOjpjbGllbnRDYWxsQXN5bmMoCi0gICAgY29uc3QgQ0lFQ19BTlkgKnNkLCB1bnNpZ25lZCBpbnQgc2RTaXplKSB7Ci0KLSAgVUFfVmFyaWFudCAqaW5wdXRzID0gTlVMTDsKLQotICBpZiAoc2RTaXplID4gMCkgewotICAgIGlucHV0cyA9IHN0YXRpY19jYXN0PFVBX1ZhcmlhbnQgKj4oVUFfQXJyYXlfbmV3KHNkU2l6ZSwKLSAgICAgICAgJlVBX1RZUEVTW1VBX1RZUEVTX1ZBUklBTlRdKSk7Ci0KLSAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHNkU2l6ZTsgaSsrKSB7Ci0gICAgICBVQV9WYXJpYW50X2luaXQoJmlucHV0c1tpXSk7Ci0gICAgICB2b2lkICp2YXJWYWx1ZSA9IFVBX25ldyhjbGllbnRTZENvbnZlcnRlcltpXS0+dHlwZSk7Ci0gICAgICBVQV9pbml0KHZhclZhbHVlLCBjbGllbnRTZENvbnZlcnRlcltpXS0+dHlwZSk7Ci0gICAgICBpZiAoIWNsaWVudFNkQ29udmVydGVyW2ldLT5nZXQoJnNkW2ldLCB2YXJWYWx1ZSkpIHsKLSAgICAgICAgREVWTE9HX0VSUk9SKAotICAgICAgICAgICAgIk9QQyBVQTogQ2xpZW50IGNvdWxkIG5vdCBjb252ZXJ0IGlucHV0IFNEXyVkIHRvIE9QQyBVQS5cbiIsIGkgKyAxKTsKLSAgICAgICAgVUFfZGVsZXRlKHZhclZhbHVlLCBjbGllbnRTZENvbnZlcnRlcltpXS0+dHlwZSk7Ci0gICAgICAgIFVBX0FycmF5X2RlbGV0ZShpbnB1dHMsIHNkU2l6ZSwgJlVBX1RZUEVTW1VBX1RZUEVTX1ZBUklBTlRdKTsKLSAgICAgICAgcmV0dXJuIGVfUHJvY2Vzc0RhdGFEYXRhVHlwZUVycm9yOwotICAgICAgfQotICAgICAgVUFfVmFyaWFudF9zZXRTY2FsYXJDb3B5KCZpbnB1dHNbaV0sIHZhclZhbHVlLAotICAgICAgICAgIGNsaWVudFNkQ29udmVydGVyW2ldLT50eXBlKTsKLSAgICAgIFVBX2RlbGV0ZSh2YXJWYWx1ZSwgY2xpZW50U2RDb252ZXJ0ZXJbaV0tPnR5cGUpOwotICAgIH0KLSAgfQotCi0gIHN0cnVjdCBBc3luY0NhbGxQYXlsb2FkICpwYXlsb2FkID0KLSAgICAgIHN0YXRpY19jYXN0PHN0cnVjdCBBc3luY0NhbGxQYXlsb2FkICo+KGZvcnRlX21hbGxvYygKLSAgICAgICAgICBzaXplb2YoQXN5bmNDYWxsUGF5bG9hZCkpKTsKLSAgcGF5bG9hZC0+dmFyaWFudHMgPSBpbnB1dHM7Ci0gIHBheWxvYWQtPnZhcmlhbnRzU2l6ZSA9IHNkU2l6ZTsKLSAgaWYgKGNhbGxBc3luYyhwYXlsb2FkKSA9PSAwKQotICAgIHJldHVybiBlX1Byb2Nlc3NEYXRhU2VuZEZhaWxlZDsKLSAgZWxzZQotICAgIHJldHVybiBlX05vdGhpbmc7CitFQ29tUmVzcG9uc2UgQ09QQ19VQV9MYXllcjo6c2VuZERhdGEodm9pZCAqLCB1bnNpZ25lZCBpbnQpIHsKKyAgcmV0dXJuIChVQV9TVEFUVVNDT0RFX0dPT0QgPT0gbUhhbmRsZXItPmV4ZWN1dGVBY3Rpb24oKm1BY3Rpb25JbmZvKSA/IGVfUHJvY2Vzc0RhdGFPayA6IGVfUHJvY2Vzc0RhdGFEYXRhVHlwZUVycm9yKTsKIH0KIAotRUNvbVJlc3BvbnNlIENPUENfVUFfTGF5ZXI6OnByb2Nlc3NJbnRlcnJ1cHRDaGlsZCgpIHsKKworRUNvbVJlc3BvbnNlIENPUENfVUFfTGF5ZXI6OnByb2Nlc3NJbnRlcnJ1cHQoKSB7CisgIHNldERhdGFBbHJlYWR5UHJlc2VudFJlYWQoZmFsc2UpOwogICByZXR1cm4gbUludGVycnVwdFJlc3A7CiB9CiAKLVVBX1N0YXR1c0NvZGUgQ09QQ19VQV9MYXllcjo6b25TZXJ2ZXJNZXRob2RDYWxsKFVBX1NlcnZlciAqLCBjb25zdCBVQV9Ob2RlSWQgKiwKLSAgICB2b2lkICosIGNvbnN0IFVBX05vZGVJZCAqLCB2b2lkICptZXRob2RDb250ZXh0LCBjb25zdCBVQV9Ob2RlSWQgKiwgdm9pZCAqLAotICAgIHNpemVfdCBpbnB1dFNpemUsIGNvbnN0IFVBX1ZhcmlhbnQgKmlucHV0LCBzaXplX3Qgb3V0cHV0U2l6ZSwKLSAgICBVQV9WYXJpYW50ICpvdXRwdXQpIHsKLSAgQ09QQ19VQV9MYXllciAqc2VsZiA9IHN0YXRpY19jYXN0PENPUENfVUFfTGF5ZXIgKj4obWV0aG9kQ29udGV4dCk7Cit2b2lkIENPUENfVUFfTGF5ZXI6OnRyaWdnZXJOZXdFdmVudCgpIHsKKyAgbUhhbmRsZXItPnRyaWdnZXJOZXdFdmVudCgqdGhpcy0+Z2V0Q29tbUZCKCkpOworfQogCi0gIC8vIG90aGVyIHRocmVhZCBtYXkgY3VycmVudGx5IGNyZWF0ZSBub2RlcyBmb3IgdGhlIHNhbWUgcGF0aCwgdGh1cyBtdXRleAotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24oc2VsZi0+bXV0ZXhTZXJ2ZXJNZXRob2RDYWxsKTsKLQotICBkbyB7Ci0gIH0gd2hpbGUgKHNlbGYtPnNlcnZlck1ldGhvZENhbGxSZXN1bHRSZWFkeS50cnlOb1dhaXQoKSk7IC8vZ2V0IHNlbWFwaG9yZSB0byB6ZXJvIGJlZm9yZSBzdGFydCBtZXRob2QsIHNpbmNlIGFwcGxpY2F0aW9uIGNhbiB0cmlnZ2VyIHdyb25nbHkgUlNQIG1hbnkgdGltZXMgaW5jcmVhc2luZyB0aGUgc2VtYXBob3JlCi0KLSAgaWYgKGlucHV0U2l6ZSAhPSBzZWxmLT5nZXRDb21tRkIoKS0+Z2V0TnVtUkQoKQotICAgICAgfHwgb3V0cHV0U2l6ZSAhPSBzZWxmLT5nZXRDb21tRkIoKS0+Z2V0TnVtU0QoKSkgewotICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgIk9QQyBVQTogbWV0aG9kIGNhbGwgZ290IGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cy4gSW46ICVkPT0lZCwgT3V0OiAlZD09JWRcbiIsCi0gICAgICAgIHNlbGYtPmdldENvbW1GQigpLT5nZXROdW1SRCgpLCBpbnB1dFNpemUsIHNlbGYtPmdldENvbW1GQigpLT5nZXROdW1TRCgpLAotICAgICAgICBvdXRwdXRTaXplKTsKLSAgICByZXR1cm4gVUFfU1RBVFVTQ09ERV9CQURJTlZBTElEQVJHVU1FTlQ7Citib29sIENPUENfVUFfTGF5ZXI6OmNoZWNrVHlwZXNGcm9tSW50ZXJmYWNlKCkgeworICBib29sIHNvbWV0aGluZ0ZhaWxlZCA9IGZhbHNlOworICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZ2V0Q29tbUZCKCktPmdldE51bVNEKCk7IGkrKykgeworICAgIGlmKCFjaGVja1BvcnRDb25uZWN0aW9uSW5mbyhpICsgMiwgdHJ1ZSkpIHsKKyAgICAgIHNvbWV0aGluZ0ZhaWxlZCA9IHRydWU7CisgICAgICBicmVhazsKKyAgICB9CiAgIH0KLQotICBzZWxmLT5tSW50ZXJydXB0UmVzcCA9IGVfUHJvY2Vzc0RhdGFPazsKLQotICAvLyBwdXQgdGhlIGlucHV0IHZhbHVlcyBvbiB0aGUgd2lyZSwgaS5lLiBvbiB0aGUgUkQgcG9ydHMKLSAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBzZWxmLT5nZXRDb21tRkIoKS0+Z2V0TnVtUkQoKTsgaSsrKSB7Ci0gICAgaWYgKFVBX1ZhcmlhbnRfaXNTY2FsYXIoJmlucHV0W2ldKSAmJiBpbnB1dFtpXS5kYXRhICE9IE5VTEwpIHsKLSAgICAgIGlmICghQ09QQ19VQV9IZWxwZXI6OmNvbnZlcnRGcm9tVWFfdHlwZUlkKAotICAgICAgICAgIHNlbGYtPmdldENvbW1GQigpLT5nZXRSRHMoKVtpXS5nZXREYXRhVHlwZUlEKCksIGlucHV0W2ldLmRhdGEsCi0gICAgICAgICAgJnNlbGYtPmdldENvbW1GQigpLT5nZXRSRHMoKVtpXSkpIHsKLSAgICAgICAgc2VsZi0+bUludGVycnVwdFJlc3AgPSBlX1Byb2Nlc3NEYXRhUmVjdkZhaWxkOwotICAgICAgICBERVZMT0dfRVJST1IoCi0gICAgICAgICAgICAiT1BDIFVBOiBjYW4gbm90IGNvbnZlcnQgbWV0aG9kIGlucHV0QXJndW1lbnQgYXQgaWR4ICVkIHRvIGZvcnRlIHR5cGVcbiIsCi0gICAgICAgICAgICBpKTsKKyAgaWYoIXNvbWV0aGluZ0ZhaWxlZCkgeworICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBnZXRDb21tRkIoKS0+Z2V0TnVtUkQoKTsgaSsrKSB7CisgICAgICBpZighY2hlY2tQb3J0Q29ubmVjdGlvbkluZm8oaSArIDIsIGZhbHNlKSkgeworICAgICAgICBzb21ldGhpbmdGYWlsZWQgPSB0cnVlOwogICAgICAgICBicmVhazsKICAgICAgIH0KICAgICB9CiAgIH0KIAotICBpZiAoc2VsZi0+bUludGVycnVwdFJlc3AgPT0gZV9Qcm9jZXNzRGF0YU9rKSB7Ci0gICAgc2VsZi0+Z2V0Q29tbUZCKCktPmludGVycnVwdENvbW1GQihzZWxmKTsKLSAgICA6OmdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCpzZWxmLT5nZXRDb21tRkIoKSkuZm9yY2VFdmVudEhhbmRsaW5nKHNlbGYpOworICByZXR1cm4gIXNvbWV0aGluZ0ZhaWxlZDsKK30KKworYm9vbCBDT1BDX1VBX0xheWVyOjpjaGVja1BvcnRDb25uZWN0aW9uSW5mbyh1bnNpZ25lZCBpbnQgcGFQb3J0SW5kZXgsIGJvb2wgcGFJc1NEKSBjb25zdCB7CisgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKmxvY2FsSW50ZXJmYWNlU3BlYyA9IGdldENvbW1GQigpLT5nZXRGQkludGVyZmFjZVNwZWMoKTsKKyAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBsb2NhbFBvcnROYW1lSWQgPSBwYUlzU0QgPyBsb2NhbEludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1twYVBvcnRJbmRleF0gOiBsb2NhbEludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lc1twYVBvcnRJbmRleF07CisKKyAgY29uc3QgQ0RhdGFDb25uZWN0aW9uICpsb2NhbFBvcnRDb25uZWN0aW9uID0gcGFJc1NEID8gZ2V0Q29tbUZCKCktPmdldERJQ29ubmVjdGlvbihsb2NhbFBvcnROYW1lSWQpIDogZ2V0Q29tbUZCKCktPmdldERPQ29ubmVjdGlvbihsb2NhbFBvcnROYW1lSWQpOworICBpZighbG9jYWxQb3J0Q29ubmVjdGlvbikgeworICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMQVlFUl06IEdvdCBpbnZhbGlkIHBvcnQgY29ubmVjdGlvbiBvbiBGQiAlcyBhdCBwb3J0ICVzLiBJdCBtdXN0IGJlIGNvbm5lY3RlZCB0byBhbm90aGVyIEZCLlxuIiwgZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLAorICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KGxvY2FsUG9ydE5hbWVJZCkpOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIGlmKCFsb2NhbFBvcnRDb25uZWN0aW9uLT5pc0Nvbm5lY3RlZCgpKSB7CisgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIExBWUVSXTogQ29ubmVjdGlvbiAlcyBvZiBGQiAlcyBpcyBub3QgY29ubmVjdGVkIHRvIGFueXRoaW5nLlxuIiwgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KGxvY2FsUG9ydE5hbWVJZCksCisgICAgICBnZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCkpOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIENJRUNfQU5ZICpyZW1vdGVUeXBlID0gMDsKKyAgaWYocGFJc1NEKSB7CisgICAgY29uc3QgQ0Nvbm5lY3Rpb25Qb2ludCAmcmVtb3RlQ29ubmVjdGlvblBvaW50ID0gbG9jYWxQb3J0Q29ubmVjdGlvbi0+Z2V0U291cmNlSWQoKTsKKyAgICBpZighZ2V0UmVtb3RlQW55KCZyZW1vdGVUeXBlLCByZW1vdGVDb25uZWN0aW9uUG9pbnQsIHBhSXNTRCkpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAgIH0gZWxzZSB7Ci0gICAgcmV0dXJuIFVBX1NUQVRVU0NPREVfQkFESU5WQUxJREFSR1VNRU5UOworICAgIGlmKCFjaGVja0Zhbk91dFR5cGVzKCpsb2NhbFBvcnRDb25uZWN0aW9uLCAmcmVtb3RlVHlwZSkpIHsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAgIH0KIAotICBpZiAoIXNlbGYtPnNlcnZlck1ldGhvZENhbGxSZXN1bHRSZWFkeS50aW1lZFdhaXQoTUVUSE9EX0NBTExfVElNRU9VVCAqIDFFOSkpIHsKKyAgaWYoIUNPUENfVUFfSGVscGVyOjpnZXRPUENVQVR5cGVGcm9tQW55KCpyZW1vdGVUeXBlKSkgeworICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMQVlFUl06IEludmFsaWQgIHR5cGUgJWQgaW4gRkIgJXMgYXQgY29ubmVjdGlvbiAlc1xuIiwgcmVtb3RlVHlwZSwgZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLAorICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KGxvY2FsUG9ydE5hbWVJZCkpOworICAgIHJldHVybiBmYWxzZTsKKyAgfQorCisgIHJldHVybiB0cnVlOworfQorCitib29sIENPUENfVUFfTGF5ZXI6OmdldFJlbW90ZUFueShDSUVDX0FOWSAqKnBhUmVzdWx0LCBjb25zdCBDQ29ubmVjdGlvblBvaW50ICZwYVJlbW90ZUNvbm5lY3Rpb25Qb2ludCwgYm9vbCBwYUlzU0QpIGNvbnN0IHsKKyAgaWYoIXBhUmVtb3RlQ29ubmVjdGlvblBvaW50Lm1GQikgewogICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgIk9QQyBVQTogbWV0aG9kIGNhbGwgZGlkIG5vdCBnZXQgcmVzdWx0IHZhbHVlcyB3aXRoaW4gdGltZW91dC5cbiIpOwotICAgIHJldHVybiBVQV9TVEFUVVNDT0RFX0JBRFRJTUVPVVQ7CisgICAgICAiW09QQyBVQSBMQVlFUl06IEZCICVzIGhhcyBhIHByb2JsZW0uIFRoZSBjb25uZWN0ZWQgRkIgaW4gdGhlIGN1cnJlbnQgZGF0YSBpbnB1dCBpcyBhIG51bGwgcG9pbnRlci4gQ2hlY2sgbGFzdCBkZWJ1ZyBsb2dnaW5nIGZvciBtb3JlIGluZm9ybWF0aW9uXG4iLAorICAgICAgZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpKTsKKyAgICByZXR1cm4gZmFsc2U7CiAgIH0KIAotICAvLyBjb3B5IFNEIHZhbHVlcyB0byBvdXRwdXQKLSAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBzZWxmLT5nZXRDb21tRkIoKS0+Z2V0TnVtU0QoKTsgaSsrKSB7CisgICpwYVJlc3VsdCA9CisgICAgICBwYUlzU0QgPyBwYVJlbW90ZUNvbm5lY3Rpb25Qb2ludC5tRkItPmdldERPRnJvbVBvcnRJZChwYVJlbW90ZUNvbm5lY3Rpb25Qb2ludC5tUG9ydElkKSA6CisgICAgICAgIHBhUmVtb3RlQ29ubmVjdGlvblBvaW50Lm1GQi0+Z2V0RElGcm9tUG9ydElkKHBhUmVtb3RlQ29ubmVjdGlvblBvaW50Lm1Qb3J0SWQpOwogCi0gICAgaWYgKCFDT1BDX1VBX0hlbHBlcjo6aXNUeXBlSWRWYWxpZCgKLSAgICAgICAgc2VsZi0+Z2V0Q29tbUZCKCktPmdldFNEcygpW2ldLmdldERhdGFUeXBlSUQoKSkpIHsKLSAgICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgICAiT1BDIFVBOiBjYW4gbm90IGNvbnZlcnQgZm9ydGUgdHlwZSB0byBtZXRob2Qgb3V0cHV0QXJndW1lbnQgYXQgaWR4ICVkXG4iLAotICAgICAgICAgIGkpOwotICAgICAgYnJlYWs7Ci0gICAgfQorICByZXR1cm4gdHJ1ZTsKK30KIAotICAgIGNvbnN0IFVBX1R5cGVDb252ZXJ0ICpjb252ZXJ0ID0KLSAgICAgICAgJkNPUENfVUFfSGVscGVyOjptYXBGb3J0ZVR5cGVJZFRvT3BjVWFbc2VsZi0+Z2V0Q29tbUZCKCktPmdldFNEcygpW2ldLmdldERhdGFUeXBlSUQoKV07Citib29sIENPUENfVUFfTGF5ZXI6OmNoZWNrRmFuT3V0VHlwZXMoY29uc3QgQ0RhdGFDb25uZWN0aW9uICZwYVBvcnRDb25uZWN0aW9uLCBDSUVDX0FOWSAqKnBhUmVzdWx0KSBjb25zdCB7CiAKLSAgICB2b2lkICp2YXJWYWx1ZSA9IFVBX25ldyhjb252ZXJ0LT50eXBlKTsKLSAgICBpZiAoIWNvbnZlcnQtPmdldCgmc2VsZi0+Z2V0Q29tbUZCKCktPmdldFNEcygpW2ldLCB2YXJWYWx1ZSkpIHsKLSAgICAgIHNlbGYtPm1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YVJlY3ZGYWlsZDsKLSAgICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgICAiT1BDIFVBOiBjYW4gbm90IGNvbnZlcnQgZm9ydGUgdHlwZSB0byBtZXRob2Qgb3V0cHV0QXJndW1lbnQgYXQgaWR4ICVkXG4iLAotICAgICAgICAgIGkpOworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q0Nvbm5lY3Rpb25Qb2ludD46Okl0ZXJhdG9yIGl0ID0gcGFQb3J0Q29ubmVjdGlvbi5nZXREZXN0aW5hdGlvbkxpc3QoKS5iZWdpbigpOyBpdCAhPSBwYVBvcnRDb25uZWN0aW9uLmdldERlc3RpbmF0aW9uTGlzdCgpLmVuZCgpOworICAgICAgKytpdCkgeworICAgIGlmKHBhUG9ydENvbm5lY3Rpb24uZ2V0RGVzdGluYXRpb25MaXN0KCkuYmVnaW4oKSA9PSBpdCkgeyAvL2ZpcnN0IG9uZQorICAgICAgaWYoIWdldFJlbW90ZUFueShwYVJlc3VsdCwgKml0LCBmYWxzZSkpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgfQogICAgIH0gZWxzZSB7Ci0gICAgICBVQV9WYXJpYW50X3NldFNjYWxhckNvcHkoJm91dHB1dFtpXSwgdmFyVmFsdWUsIGNvbnZlcnQtPnR5cGUpOwotICAgIH0KLQotICAgIFVBX2RlbGV0ZSh2YXJWYWx1ZSwgY29udmVydC0+dHlwZSk7Ci0KLSAgICBpZiAoc2VsZi0+bUludGVycnVwdFJlc3AgIT0gZV9Qcm9jZXNzRGF0YU9rKQotICAgICAgYnJlYWs7Ci0gIH0KLQotICByZXR1cm4KLSAgICAgIHNlbGYtPm1JbnRlcnJ1cHRSZXNwID09IGVfUHJvY2Vzc0RhdGFPayA/Ci0gICAgICAgICAgVUFfU1RBVFVTQ09ERV9HT09EIDogVUFfU1RBVFVTQ09ERV9CQURVTkVYUEVDVEVERVJST1I7Ci19Ci0KLVVBX05vZGVDbGFzcyBDT1BDX1VBX0xheWVyOjpnZXROb2RlQ2xhc3MoY29uc3QgVUFfTm9kZUlkIG5vZGVJZCkgewotCi0gIFVBX05vZGVDbGFzcyBub2RlQ2xhc3MgPSBVQV9OT0RFQ0xBU1NfVU5TUEVDSUZJRUQ7Ci0KLSAgY2xpZW50TXV0ZXgtPmxvY2soKTsKLSAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9DbGllbnRfcmVhZE5vZGVDbGFzc0F0dHJpYnV0ZSh0aGlzLT51YUNsaWVudCwKLSAgICAgIG5vZGVJZCwgJm5vZGVDbGFzcyk7Ci0gIGNsaWVudE11dGV4LT51bmxvY2soKTsKLQotICBpZiAocmV0VmFsICE9IFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgIERFVkxPR19FUlJPUigiT1BDIFVBOiBDb3VsZCBub3QgZGV0ZXJtaW5lIE5vZGVDbGFzcy4gJXNcbiIsCi0gICAgICAgIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsKLSAgICByZXR1cm4gVUFfTk9ERUNMQVNTX1VOU1BFQ0lGSUVEOwotICB9Ci0KLSAgcmV0dXJuIG5vZGVDbGFzczsKLX0KLQotdm9pZCAqQ09QQ19VQV9MYXllcjo6aGFuZGxlQXN5bmNDYWxsKGNvbnN0IHVuc2lnbmVkIGludCAvKmNhbGxJZCovLAotICAgIHZvaWQgKnBheWxvYWQpIHsKLQotICBzdHJ1Y3QgQXN5bmNDYWxsUGF5bG9hZCAqY2FsbFBheWxvYWQgPQotICAgICAgc3RhdGljX2Nhc3Q8c3RydWN0IEFzeW5jQ2FsbFBheWxvYWQgKj4ocGF5bG9hZCk7Ci0KLSAgaWYgKHRoaXMtPmNsaWVudENvbm5lY3QoKSAhPSBlX0luaXRPaykgewotICAgIHJldHVybiBOVUxMOwotICB9Ci0KLSAgaWYgKHRoaXMtPnJlbW90ZU5vZGVDbGFzcyA9PSBVQV9OT0RFQ0xBU1NfVU5TUEVDSUZJRUQpIHsKLSAgICB0aGlzLT5yZW1vdGVOb2RlQ2xhc3MgPSBnZXROb2RlQ2xhc3MoKnRoaXMtPmZiTm9kZUlkKTsKLSAgICBpZiAodGhpcy0+cmVtb3RlTm9kZUNsYXNzID09IFVBX05PREVDTEFTU19VTlNQRUNJRklFRCkKLSAgICAgIHJldHVybiBOVUxMOwotICB9Ci0KLSAgaWYgKGdldENvbW1GQigpLT5nZXRDb21TZXJ2aWNlVHlwZSgpID09IGVfQ2xpZW50KSB7Ci0KLSAgICBpZiAodGhpcy0+cmVtb3RlTm9kZUNsYXNzID09IFVBX05PREVDTEFTU19NRVRIT0QpIHsKLSAgICAgIHNpemVfdCBvdXRwdXRTaXplOwotICAgICAgVUFfVmFyaWFudCAqb3V0cHV0OwotICAgICAgY2xpZW50TXV0ZXgtPmxvY2soKTsKLQotICAgICAgVUFfU3RhdHVzQ29kZSByZXR2YWwgPSBVQV9TVEFUVVNDT0RFX0JBRENPTk5FQ1RJT05DTE9TRUQ7Ci0gICAgICAvLyBpZiB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGlzIGJyb2tlbiBiZXR3ZWVuIGxhc3QgY2FsbCBhbmQgbm93LCB0cnkgYSBzZWNvbmQgdGltZQotICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyICYmIHJldHZhbCA9PSBVQV9TVEFUVVNDT0RFX0JBRENPTk5FQ1RJT05DTE9TRUQ7Ci0gICAgICAgICAgaSsrKSB7Ci0gICAgICAgIHJldHZhbCA9IFVBX0NsaWVudF9jYWxsKHRoaXMtPnVhQ2xpZW50LCAqdGhpcy0+ZmJOb2RlSWRQYXJlbnQsCi0gICAgICAgICAgICAqdGhpcy0+ZmJOb2RlSWQsIGNhbGxQYXlsb2FkLT52YXJpYW50c1NpemUsIGNhbGxQYXlsb2FkLT52YXJpYW50cywKLSAgICAgICAgICAgICZvdXRwdXRTaXplLCAmb3V0cHV0KTsKLSAgICAgICAgaWYgKHJldHZhbCA9PSBVQV9TVEFUVVNDT0RFX0JBRENPTk5FQ1RJT05DTE9TRUQpIHsKLSAgICAgICAgICAvLyB0cnkgdG8gcmVjb25uZWN0Ci0gICAgICAgICAgaWYgKHRoaXMtPmNsaWVudENvbm5lY3QoKSAhPSBlX0luaXRPaykgewotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICBjbGllbnRNdXRleC0+dW5sb2NrKCk7Ci0gICAgICBpZiAocmV0dmFsID09IFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgICAgICBERVZMT0dfREVCVUcoCi0gICAgICAgICAgICAiT1BDIFVBOiBNZXRob2QgY2FsbCB3YXMgc3VjY2Vzc2Z1bGwsIGFuZCAlbHUgcmV0dXJuZWQgdmFsdWVzIGF2YWlsYWJsZS5cbiIsCi0gICAgICAgICAgICAodW5zaWduZWQgbG9uZyApIG91dHB1dFNpemUpOwotCi0gICAgICAgIGlmIChnZXRDb21tRkIoKS0+Z2V0TnVtUkQoKSAhPSBvdXRwdXRTaXplKSB7Ci0gICAgICAgICAgREVWTE9HX0VSUk9SKAotICAgICAgICAgICAgICAiT1BDIFVBOiBUaGUgbnVtYmVyIG9mIFJEIGNvbm5lY3RvcnMgb2YgdGhlIGNsaWVudCBkb2VzIG5vdCBtYXRjaCB0aGUgbnVtYmVyIG9mIHJldHVybmVkIHZhbHVlcyBmcm9tIHRoZSBtZXRob2QgY2FsbC5cbiIpOwotICAgICAgICB9IGVsc2UgewotCi0gICAgICAgICAgc3RydWN0IEFzeW5jQ2FsbFBheWxvYWQgKm91dHB1dERhdGEgPQotICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxzdHJ1Y3QgQXN5bmNDYWxsUGF5bG9hZCAqPihmb3J0ZV9tYWxsb2MoCi0gICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IEFzeW5jQ2FsbFBheWxvYWQpKSk7Ci0KLSAgICAgICAgICBvdXRwdXREYXRhLT52YXJpYW50cyA9IG91dHB1dDsKLSAgICAgICAgICBvdXRwdXREYXRhLT52YXJpYW50c1NpemUgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG91dHB1dFNpemUpOwotCi0gICAgICAgICAgcmV0dXJuIG91dHB1dERhdGE7Ci0gICAgICAgIH0KLQotICAgICAgfQotCi0gICAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogQ291bGQgbm90IGNhbGwgbWV0aG9kLiBFcnJvcjogJXNcbiIsCi0gICAgICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKHJldHZhbCkpOwotICAgIH0gZWxzZSBpZiAodGhpcy0+cmVtb3RlTm9kZUNsYXNzID09IFVBX05PREVDTEFTU19WQVJJQUJMRSkgewotICAgICAgaWYgKGNhbGxQYXlsb2FkLT52YXJpYW50c1NpemUgIT0gMCkgewotICAgICAgICBERVZMT0dfSU5GTygKLSAgICAgICAgICAgICJPUEMgVUE6IElnbm9yaW5nIHVuc3VwcG9ydGVkIFNEIGlucHV0IHZhbHVlcyBmb3IgQ0xJRU5UIEZCLiIpOwotICAgICAgfQotICAgICAgVUFfVmFyaWFudCAqb3V0cHV0ID0gVUFfVmFyaWFudF9uZXcoKTsKLSAgICAgIGNsaWVudE11dGV4LT5sb2NrKCk7Ci0gICAgICBVQV9TdGF0dXNDb2RlIHJldHZhbCA9IFVBX0NsaWVudF9yZWFkVmFsdWVBdHRyaWJ1dGUodGhpcy0+dWFDbGllbnQsCi0gICAgICAgICAgKnRoaXMtPmZiTm9kZUlkLCBvdXRwdXQpOwotICAgICAgY2xpZW50TXV0ZXgtPnVubG9jaygpOwotCi0gICAgICBpZiAocmV0dmFsICE9IFVBX1NUQVRVU0NPREVfR09PRCkgewotICAgICAgICBERVZMT0dfRVJST1IoIk9QQyBVQTogQ291bGQgbm90IHJlYWQgdmFyaWFibGUgbm9kZSB2YWx1ZS4gRXJyb3I6ICVzXG4iLAotICAgICAgICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKHJldHZhbCkpOworICAgICAgQ0lFQ19BTlkqIG5ld1JlbW90ZVR5cGU7CisgICAgICBpZighZ2V0UmVtb3RlQW55KCZuZXdSZW1vdGVUeXBlLCAqaXQsIGZhbHNlKSkgeworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9IGVsc2UgewotICAgICAgICBzdHJ1Y3QgQXN5bmNDYWxsUGF5bG9hZCAqb3V0cHV0RGF0YSA9Ci0gICAgICAgICAgICBzdGF0aWNfY2FzdDxzdHJ1Y3QgQXN5bmNDYWxsUGF5bG9hZCAqPihmb3J0ZV9tYWxsb2MoCi0gICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBBc3luY0NhbGxQYXlsb2FkKSkpOwotCi0gICAgICAgIG91dHB1dERhdGEtPnZhcmlhbnRzID0gb3V0cHV0OwotICAgICAgICBvdXRwdXREYXRhLT52YXJpYW50c1NpemUgPSAxOwotCi0gICAgICAgIHJldHVybiBvdXRwdXREYXRhOworICAgICAgICBpZihuZXdSZW1vdGVUeXBlLT5nZXREYXRhVHlwZUlEKCkgIT0gKCpwYVJlc3VsdCktPmdldERhdGFUeXBlSUQoKSkgeworICAgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMQVlFUl06IEZCICVzIGhhcyBvbmUgUkQgd2hpY2ggaXMgY29ubmVjdGVkIHRvIG1hbnkgZGF0YSBpbnB1dHMgYW5kIHRoZSB0eXBlcyBhcmUgbm90IHRoZSBzYW1lLlxuIiwKKyAgICAgICAgICAgIGdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7CisgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CiAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgIERFVkxPR19FUlJPUigKLSAgICAgICAgICAiT1BDIFVBOiBSZW1vdGUgbm9kZSBjbGFzcyBmb3IgY2xpZW50IG5lZWRzIHRvIGJlIG9mIGNsYXNzIFZBUklBQkxFIG9yIE1FVEhPRC5cbiIpOwotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gIH0gZWxzZSBpZiAoZ2V0Q29tbUZCKCktPmdldENvbVNlcnZpY2VUeXBlKCkgPT0gZV9QdWJsaXNoZXIpIHsKLQotICAgIGlmICh0aGlzLT5yZW1vdGVOb2RlQ2xhc3MgIT0gVUFfTk9ERUNMQVNTX1ZBUklBQkxFKSB7Ci0gICAgICBERVZMT0dfRVJST1IoCi0gICAgICAgICAgIk9QQyBVQTogUmVtb3RlIG5vZGUgY2xhc3MgZm9yIHB1Ymxpc2hlciBuZWVkcyB0byBiZSBvZiBjbGFzcyBWQVJJQUJMRS5cbiIpOwotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGlmIChjYWxsUGF5bG9hZC0+dmFyaWFudHNTaXplID09IDApIHsKLSAgICAgIERFVkxPR19FUlJPUigiT1BDIFVBOiBUaGUgUFVCTElTSCBGQiBuZWVkcyBhdCBsZWFzdCBvbmUgaW5wdXQgU0QuIik7Ci0gICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgaWYgKGNhbGxQYXlsb2FkLT52YXJpYW50c1NpemUgPiAxKSB7Ci0gICAgICBERVZMT0dfSU5GTygKLSAgICAgICAgICAiT1BDIFVBOiBJZ25vcmluZyB1bnN1cHBvcnRlZCBTRCBpbnB1dCB2YWx1ZXMgZm9yIFB1Ymxpc2ggRkIuIik7Ci0gICAgfQotCi0gICAgLy8gdGhpcyBpcyBhIFB1Ymxpc2ggRkIgYW5kIHdlIG5lZWQgYSB2YXJpYWJsZSB3cml0ZQotCi0gICAgY2xpZW50TXV0ZXgtPmxvY2soKTsKLSAgICBVQV9TdGF0dXNDb2RlIHJldHZhbCA9IFVBX0NsaWVudF93cml0ZVZhbHVlQXR0cmlidXRlKHRoaXMtPnVhQ2xpZW50LAotICAgICAgICAqdGhpcy0+ZmJOb2RlSWQsIGNhbGxQYXlsb2FkLT52YXJpYW50cyk7Ci0gICAgY2xpZW50TXV0ZXgtPnVubG9jaygpOwotCi0gICAgaWYgKHJldHZhbCAhPSBVQV9TVEFUVVNDT0RFX0dPT0QpIHsKLSAgICAgIERFVkxPR19FUlJPUigiT1BDIFVBOiBDb3VsZCBub3Qgd3JpdGUgdmFyaWFibGUgbm9kZSB2YWx1ZS4gRXJyb3I6ICVzXG4iLAotICAgICAgICAgIFVBX1N0YXR1c0NvZGVfbmFtZShyZXR2YWwpKTsKICAgICB9CiAgIH0KLSAgcmV0dXJuIE5VTEw7CisgIHJldHVybiB0cnVlOwogfQogCi12b2lkIENPUENfVUFfTGF5ZXI6OmhhbmRsZUFzeW5jQ2FsbFJlc3VsdChjb25zdCB1bnNpZ25lZCBpbnQgLypjYWxsSWQqLywKLSAgICB2b2lkICpwYXlsb2FkLCB2b2lkICpyZXN1bHQpIHsKLQotICBzdHJ1Y3QgQXN5bmNDYWxsUGF5bG9hZCAqaW5wdXREYXRhID0KLSAgICAgIHN0YXRpY19jYXN0PHN0cnVjdCBBc3luY0NhbGxQYXlsb2FkICo+KHBheWxvYWQpOwotICBVQV9BcnJheV9kZWxldGUoaW5wdXREYXRhLT52YXJpYW50cywgaW5wdXREYXRhLT52YXJpYW50c1NpemUsCi0gICAgICAmVUFfVFlQRVNbVUFfVFlQRVNfVkFSSUFOVF0pOwotICBmb3J0ZV9mcmVlKHBheWxvYWQpOwotCi0gIGlmIChyZXN1bHQgPT0gTlVMTCkKLSAgICByZXR1cm47Ci0KLSAgc3RydWN0IEFzeW5jQ2FsbFBheWxvYWQgKm91dHB1dERhdGEgPQotICAgICAgc3RhdGljX2Nhc3Q8c3RydWN0IEFzeW5jQ2FsbFBheWxvYWQgKj4ocmVzdWx0KTsKLSAgYm9vbCBmYWlsZWQgPSBmYWxzZTsKLSAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBvdXRwdXREYXRhLT52YXJpYW50c1NpemU7IGkrKykgewotICAgIGlmICghY2xpZW50UmRDb252ZXJ0ZXJbaV0tPnNldChvdXRwdXREYXRhLT52YXJpYW50c1tpXS5kYXRhLAotICAgICAgICAmZ2V0Q29tbUZCKCktPmdldFJEcygpW2ldKSkgewotICAgICAgREVWTE9HX0VSUk9SKAotICAgICAgICAgICJPUEMgVUE6IENsaWVudCBjb3VsZCBub3QgY29udmVydCByZXR1cm5lZCBkYXRhIGZyb20gT1BDIFVBIHRvIFJEXyVkLlxuIiwKLSAgICAgICAgICBpICsgMSk7Ci0gICAgICBmYWlsZWQgPSB0cnVlOwotICAgICAgYnJlYWs7Ci0gICAgfQotICB9Ci0gIFVBX0FycmF5X2RlbGV0ZShvdXRwdXREYXRhLT52YXJpYW50cywgb3V0cHV0RGF0YS0+dmFyaWFudHNTaXplLAotICAgICAgJlVBX1RZUEVTW1VBX1RZUEVTX1ZBUklBTlRdKTsKLSAgZm9ydGVfZnJlZShyZXN1bHQpOwotICBpZiAoIWZhaWxlZCkgewotICAgIG1JbnRlcnJ1cHRSZXNwID0gZV9Qcm9jZXNzRGF0YU9rOwotICB9Ci0KK2Jvb2wgQ09QQ19VQV9MYXllcjo6Z2V0RGF0YUFscmVhZHlQcmVzZW50UmVhZCgpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGRhdGFSZWFkUmVnaW9uKG1EYXRhQWxyZWFkeVByZXNlbnRNdXRleCk7CisgIHJldHVybiBtRGF0YUFscmVhZHlQcmVzZW50OwogfQotCi12b2lkIENPUENfVUFfTGF5ZXI6OmhhbmRsZUFzeW5jRXZlbnQoKSB7Ci0gIGdldENvbW1GQigpLT5pbnRlcnJ1cHRDb21tRkIodGhpcyk7Ci0gIGdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0hhbmRsZXI+KCkuZm9yY2VFdmVudEhhbmRsaW5nKHRoaXMpOwordm9pZCBDT1BDX1VBX0xheWVyOjpzZXREYXRhQWxyZWFkeVByZXNlbnRSZWFkKGJvb2wgcGFEYXRhUmVhZCkgeworICBDQ3JpdGljYWxSZWdpb24gZGF0YVJlYWRSZWdpb24obURhdGFBbHJlYWR5UHJlc2VudE11dGV4KTsKKyAgbURhdGFBbHJlYWR5UHJlc2VudCA9IHBhRGF0YVJlYWQ7CiB9CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfbGF5ZXIuaCBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9sYXllci5oCmluZGV4IDMzZmZlMmIuLmMyYTI1MWMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9sYXllci5oCisrKyBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9sYXllci5oCkBAIC0xLDIzNyArMSwxNDggQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTUtMjAxNiBGbG9yaWFuIEZyb3NjaGVybWVpZXIgPGZsb3JpYW4uZnJvc2NoZXJtZWllckB0dW0uZGU+LAorICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTkgRmxvcmlhbiBGcm9zY2hlcm1laWVyIDxmbG9yaWFuLmZyb3NjaGVybWVpZXJAdHVtLmRlPiwKICAqICAgICAgICAgICAgICAgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBGbG9yaWFuIEZyb3NjaGVybWVpZXIKICAqICAgICAgLSBpbml0aWFsIGludGVncmF0aW9uIG9mIHRoZSBPUEMtVUEgcHJvdG9jb2wKICAqICAgIFN0ZWZhbiBQcm9mYW50ZXIKICAqICAgICAgLSByZWZhY3RvcmluZyBhbmQgYWRhcHRpb24gdG8gbmV3IGNvbmNlcHQKKyAqICAgIEpvc2UgQ2FicmFsOgorICogICAgICAtIHJlZmFjdG9yaW5nIHRvIGNsZWFuZXIgYXJjaGl0ZWN0dXJlCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotCiAjaWZuZGVmIFNSQ19NT0RVTEVTX09QQ19VQV9PUENVQV9MQVlFUl9IXwogI2RlZmluZSBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFfTEFZRVJfSF8KIAotI2luY2x1ZGUgImNvbWxheWVyLmgiCi0jaW5jbHVkZSA8Zm9ydGVfYW55Lmg+Ci0jaW5jbHVkZSAiY29tbGF5ZXJfYXN5bmMuaCIKKyNpbmNsdWRlICIuLi8uLi9jb3JlL2NvbWluZnJhL2NvbWxheWVyLmgiCiAjaW5jbHVkZSAib3BjdWFfaGVscGVyLmgiCiAKLWNsYXNzIENJRUNfU1RSSU5HOworY2xhc3MgQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3Q7CitjbGFzcyBDQWN0aW9uSW5mbzsKIAorLyoqCisgKiBMYXllciBmb3IgdGhlIE9QQyBVQSBjb21tdW5pY2F0aW9uLiBJdCBpcyByZXNwb25zaWJsZSBmb3IgZ2V0dGluZyB0aGUgdHlwZSBjb252ZXJ0ZXJzIGZyb20gaXRzIFNEcy9SRHMsCisgKiBjcmVhdGluZyBhbiBhY3Rpb24gb3V0IG9mIGl0cyBwYXJhbWV0ZXIsIGFuZCBjYWxsaW5nIHRoZSBsb2NhbC9yZW1vdGUgaGFuZGxlciB3aGVuIHRoZSBhY3Rpb24gaXMgdG8gYmUgZXhlY3V0ZWQKKyBhbmQKKyAqLworY2xhc3MgQ09QQ19VQV9MYXllciA6IHB1YmxpYyBmb3J0ZTo6Y29tX2luZnJhOjpDQ29tTGF5ZXIgeworICBwdWJsaWM6CiAKLWNsYXNzIENPUENfVUFfTGF5ZXIgOiBwdWJsaWMgZm9ydGU6OmNvbV9pbmZyYTo6Q0NvbUxheWVyQXN5bmMgewotcHVibGljOgotICBDT1BDX1VBX0xheWVyKGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllciAqcGFfcG9VcHBlckxheWVyLCBmb3J0ZTo6Y29tX2luZnJhOjpDQmFzZUNvbW1GQiAqcGFfcG9Db21GQik7CisgICAgLyoqCisgICAgICogQ2xhc3MgY29uc3RydWN0b3IKKyAgICAgKiBAcGFyYW0gcGFVcHBlckxheWVyCisgICAgICogQHBhcmFtIHBhQ29tRkIKKyAgICAgKi8KKyAgICBDT1BDX1VBX0xheWVyKGZvcnRlOjpjb21faW5mcmE6OkNDb21MYXllciAqcGFVcHBlckxheWVyLCBmb3J0ZTo6Y29tX2luZnJhOjpDQmFzZUNvbW1GQiAqcGFDb21GQik7CiAKLSAgdmlydHVhbCB+Q09QQ19VQV9MYXllcigpOworICAgIC8qKgorICAgICAqIENsYXNzIGRlc3RydWN0b3IKKyAgICAgKi8KKyAgICB2aXJ0dWFsIH5DT1BDX1VBX0xheWVyKCk7CiAKLSAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIHNlbmREYXRhKHZvaWQgKnBhX3B2RGF0YSwgdW5zaWduZWQgaW50IHBhX3VuU2l6ZSk7CisgICAgLyoqCisgICAgICogVGhlIGhhbmRsZXIgdXNlcyB0aGlzIGZ1bmN0aW9ucyB0byBsZXQgdGhlIGxheWVyIGtub3cgdGhhdCBzb21lIGRhdGEgaGFzIGFycml2ZWQKKyAgICAgKiBAcGFyYW0gcGFEYXRhIERhdGEgb2YgdHlwZSBDT1BDX1VBX0hlbHBlcjo6VUFfUmVjdlZhcmlhYmxlX2hhbmRsZSBwYXNzZWQgZnJvbSB0aGUgaGFuZGxlcgorICAgICAqIEBwYXJhbSBwYVNpemUgbm90IHVzZWQKKyAgICAgKiBAcmV0dXJuCisgICAgICovCisgICAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIHJlY3ZEYXRhKGNvbnN0IHZvaWQgKnBhRGF0YSwgdW5zaWduZWQgaW50IHBhU2l6ZSk7CiAKLSAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIHJlY3ZEYXRhKGNvbnN0IHZvaWQgKnBhX3B2RGF0YSwgdW5zaWduZWQgaW50IHBhX3VuU2l6ZSk7CisgICAgLyoqCisgICAgICogRXhlY3V0ZXMgdGhlIGFjdGlvbiBpbiB0aGUgaGFuZGxlcgorICAgICAqIEBwYXJhbSBwYURhdGEgbm90IHVzZWQKKyAgICAgKiBAcGFyYW0gcGFTaXplIG5vdCB1c2VkCisgICAgICogQHJldHVybgorICAgICAqLworICAgIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBzZW5kRGF0YSh2b2lkICpwYURhdGEsIHVuc2lnbmVkIGludCBwYVNpemUpOwogCi0gIHZpcnR1YWwgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIHByb2Nlc3NJbnRlcnJ1cHRDaGlsZCgpOworICAgIC8qKgorICAgICAqIEZ1bmN0aW9uIGNhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBldmVudCAodHJpZ2dlcmVkIHdoZW4gZGF0YSBpcyByZWNlaXZlZCkgaXMgZXhlY3V0ZWQgaW4gdGhlIEZCCisgICAgICogQHJldHVybgorICAgICAqLworICAgIHZpcnR1YWwgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIHByb2Nlc3NJbnRlcnJ1cHQoKTsKIAotcHJpdmF0ZToKKyAgICAvKioKKyAgICAgKiBUcmlnZ2VyIGEgbmV3IGluY29taW5nIGV2ZW50LiBUaGlzIGlzIG5lZWRlZCBoZXJlIGJlY2F1c2UgdGhlIENVQV9DbGllbnRJbmZvcm1hdGlvbiBuZWVkcyB0byB0cmlnZ2VyLCBidXQgaXQgZG9lc24ndCBrbm93IHRoZSBoYW5kbGVyCisgICAgICovCisgICAgdm9pZCB0cmlnZ2VyTmV3RXZlbnQoKTsKIAotICBzdHJ1Y3QgRkJfTm9kZUlkcyB7Ci0gICAgVUFfTm9kZUlkICpmdW5jdGlvbkJsb2NrSWQ7Ci0gICAgVUFfTm9kZUlkICp2YXJpYWJsZUlkOwotICAgIGNvbnN0IFVBX1R5cGVDb252ZXJ0ICpjb252ZXJ0OwotICB9OworICBwcml2YXRlOgogCi0gIC8qKgotICAgKiBzZXQgdG8gdHJ1ZSBpZiB3ZSBhcmUgY29ubmVjdGluZyB0byBhIHJlbW90ZSBPUEMgVUEgc2VydmVyLCBpLmUuLCB3ZSBuZWVkIHRvIHVzZSBhIGNsaWVudAotICAgKi8KLSAgYm9vbCB1c2VDbGllbnQ7CisgICAgLyoqCisgICAgICogUmVzcG9uc2UgZm9yIHRoZSBwcm9jZXNzSW50ZXJydXB0KCkgbWV0aG9kCisgICAgICovCisgICAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIG1JbnRlcnJ1cHRSZXNwOwogCi0gIC8qKgotICAgKiBEZWxldGUvZnJlZSB0aGUgbm9kZSBpZHMgdXAgdG8gdGhlIGdpdmVuIG1heEluZGV4IGluZGV4LgotICAgKgotICAgKiBAcGFyYW0gbm9kZUlkcyBsaXN0IG9mIG5vZGUgaWRzCi0gICAqIEBwYXJhbSBtYXhJbmRleCBzaXplIG9mIHRoZSBub2RlSWRzIGFycmF5IHRvIGJlIGZyZWVkCi0gICAqLwotICB2b2lkIGRlbGV0ZU5vZGVJZHMoc3RydWN0IEZCX05vZGVJZHMgKipub2RlSWRzLCB1bnNpZ25lZCBpbnQgbWF4SW5kZXgpOworICAgIC8qKgorICAgICAqIFBvaW50ZXIgdG8gdGhlIGJhc2UgY2xhc3Mgb2YgdGhlIE9QQyBVQSBoYW5kbGVycy4gRGVwZW5kaW5nIG9uIHRoZSBhY3Rpb24sIHRoZSBsb2NhbCBvciByZW1vdGUgd2lsbCBiZSBzZXQsIGFuZCBsYXRlciB1c2VkIHRvIGV4ZWN1dGUgdGhlIGFjdGlvbgorICAgICAqLworICAgIENPUENfVUFfSGFuZGxlckFic3RyYWN0ICptSGFuZGxlcjsKIAotICBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2Ugb3BlbkNvbm5lY3Rpb24oY2hhciAqcGFMYXllclBhcmFtZXRlcik7CisgICAgLyoqCisgICAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIGFjdGlvbiB0aGF0J3MgcmV0dXJuZWQgZnJvbSB0aGUgQ0FjdGlvbkluZm8gZmFjdG9yeSwgYW5kIHdoaWNoIGlzIGxhdGVyIHBhc3NlZCB0byB0aGUgaGFuZGxlciB3aGVuIGluaXRpYWxpemluZywgZXhlY3V0aW5nIGFuZCB1bmluaXRpYWxpemluZyB0aGUgYWN0aW9uCisgICAgICovCisgICAgQ0FjdGlvbkluZm8gKm1BY3Rpb25JbmZvOwogCi0gIHZvaWQgY2xvc2VDb25uZWN0aW9uKCk7CisgICAgLyoqCisgICAgICogQ2FsbGVkIHdoZW4gSU5JVCBpcyB0cmlnZ2VyZWQgaW4gdGhlIEZCIGFuZCBRSSBpcyBzZXQgdG8gdHJ1ZQorICAgICAqIEBwYXJhbSBwYUxheWVyUGFyYW1ldGVyIFN0cmluZyBjb25hdGFpbmVkIGJldHdlZW4gdGhlIHNxdWFyZSBicmFja2V0cyBpbiB0aGUgSUQgZGF0YSBpbnB1dCAob3BjX3VhWy4uLl0pCisgICAgICogQHJldHVybiBlX0luaXRPayBpcyBpbml0aWFsaXphdGlvbiB3YXMgb2ssIGVfSW5pdFRlcm1pbmF0ZWQgb3RoZXJ3aXNlCisgICAgICovCisgICAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIG9wZW5Db25uZWN0aW9uKGNoYXIgKnBhTGF5ZXJQYXJhbWV0ZXIpOwogCi0gIC8qKgotICAgKiBHZXQgdGhlIGNvdW50ZXJwYXJ0IGZ1bmN0aW9uIGJsb2NrIGFuZCBwb3J0IGZvciBhIGdpdmVuIHBvcnQgaW5kZXguCi0gICAqCi0gICAqIFRoaXMgaXMgYWNoaWV2ZWQgYnkgZm9sbG93aW5nIHRoZSBjb25uZWN0aW9uIGFuZCByZWFkaW5nIG91dCB0aGUgaW50ZXJmYWNlIHNwZWNpZmljYXRpb24uCi0gICAqCi0gICAqIEBwYXJhbSBwb3J0SW5kZXggcG9ydCBpbmRleCBvZiB0aGUgbG9jYWwgcG9ydCBpbiB0aGUgU0QvUkQgYXJyYXkuCi0gICAqIEBwYXJhbSBpc1NEIGluZGljYXRlcyBpZiBwb3J0SW5kZXggaXMgZm9yIFNEIG9yIGZvciBSRCBhcnJheQotICAgKiBAcGFyYW0gY29ubmVjdGVkVG9GYiBmdW5jdGlvbiBibG9jayB0byB3aGljaCB0aGUgcG9ydCBpcyBjb25uZWN0ZWQgdG8KLSAgICogQHBhcmFtIGNvbm5lY3RlZFRvUG9ydE5hbWUgbmFtZSBvZiB0aGUgcmVtb3RlIHBvcnQKLSAgICogQHBhcmFtIGNvbnZlcnQgY29udmVydCBpbmZvcm1hdGlvbiB0byBjb252ZXJ0IElFQzYxNDk5IHRvIE9QQyBVQSBkYXRhIHR5cGUgYmFzZWQgb24gdGhlIGNvbm5lY3RlZCB0byBwb3J0IHR5cGUKLSAgICogQHJldHVybiB0cnVlIGlmIGFsbCB0aGUgaW5mb3JtYXRpb24gaXMgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZC4gZmFsc2Ugb3RoZXJ3aXNlLiBJZiBmYWxzZSwgc29tZSBvciBhbGwgb2YgdGhlIHBhc3NlZCBwb2ludGVycyBtYXkgYmUgbnVsbHB0cgotICAgKi8KLSAgYm9vbCBnZXRQb3J0Q29ubmVjdGlvbkluZm8odW5zaWduZWQgaW50IHBvcnRJbmRleCwgYm9vbCBpc1NELCBjb25zdCBDRnVuY3Rpb25CbG9jayAqKmNvbm5lY3RlZFRvRmIsIGNvbnN0IGNoYXIgKipjb25uZWN0ZWRUb1BvcnROYW1lLAotICAgICAgICAgICAgICAgICBjb25zdCBVQV9UeXBlQ29udmVydCAqKmNvbnZlcnQpIGNvbnN0OworICAgIC8qKgorICAgICAqIENhbGxlZCB3aGVuIElOSVQgaXMgdHJpZ2dlcmVkIGluIHRoZSBGQiBhbmQgUUkgaXMgc2V0IHRvIGZhbHNlCisgICAgICovCisgICAgdm9pZCBjbG9zZUNvbm5lY3Rpb24oKTsKIAotICAvKioKLSAgICogQ3JlYXRlIE9QQyBVQSBub2RlcyBpbiB0aGUgaW5mb3JtYXRpb24gbW9kZWwgb2YgdGhlIHNlcnZlciBmb3IgZXZlcnkgY29ubmVjdGVkIGZ1bmN0aW9uIGJsb2NrIGFuZCBwb3J0IGNvbWJpbmF0aW9uLgotICAgKgotICAgKiBAcGFyYW0gbm9kZUlkcyBsaXN0IG9mIG5vZGUgaWRzIG9mIHRoZSBuZXdseSBjcmVhdGVkIG5vZGVzCi0gICAqIEBwYXJhbSBudW1Qb3J0cyBudW1iZXIgb2YgUkQvU0QgcG9ydHMKLSAgICogQHBhcmFtIGlzU0Qgc2hvdWxkIHRoZSBub2RlcyBiZSBjcmVhdGVkIGZvciB0aGUgUkQgb3IgU0QgcG9ydHMKLSAgICogQHJldHVybiBlX0luaXRPayBvbiBzdWNjZXNzCi0gICAqLwotICBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgY3JlYXRlUHViU3ViTm9kZXMoc3RydWN0IEZCX05vZGVJZHMgKipub2RlSWRzLCB1bnNpZ25lZCBpbnQgbnVtUG9ydHMsIGJvb2wgaXNTRCk7CisgICAgLyoqCisgICAgICogQ2hlY2sgdGhhdCBhbGwgdHlwZXMgb2YgdGhlIFNEcy9SRHMgb2YgdGhlIEZCcyBhcmUgY29ycmVjdAorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBubyBwcm9ibGVtIG9jY3VycmVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGNoZWNrVHlwZXNGcm9tSW50ZXJmYWNlKCk7CiAKLSAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIGNyZWF0ZVN1YnNjcmlwdGlvbihzdHJ1Y3QgRkJfTm9kZUlkcyAqKm5vZGVJZHMsCi0gICAgICB1bnNpZ25lZCBpbnQgbnVtUG9ydHMsIGJvb2wgaXNTRCwgY2hhciogc3Vibm9kZVBhdGgpOworICAgIC8qKgorICAgICAqIENoZWNrIHRoZSB0eXBlIGZvciBhIHNwZWNpZmljIGRhdGEgaW5wdXQgb3Igb3V0cHV0IG9mIHRoZSBGQgorICAgICAqIEBwYXJhbSBwYVBvcnRJbmRleCBJbmRleCBvZiB0aGUgcG9ydCB0byBiZSBnb3R0ZW4KKyAgICAgKiBAcGFyYW0gcGFJc1NEIFRydWUgaWYgdGhlIHBvcnQgdG8gZ2V0IGlzIGFuIFNELCBmYWxzZSBvdGhld2lzZQorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBubyBlcnJvciBvY3VycmVkIHdoaWxlIGxvb2tpbmcgZm9yIHRoZSB0eXBlLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGNoZWNrUG9ydENvbm5lY3Rpb25JbmZvKHVuc2lnbmVkIGludCBwYVBvcnRJbmRleCwgYm9vbCBwYUlzU0QpIGNvbnN0OwogCi0gIC8qKgotICAgKiBDcmVhdGVzIHRoZSBPUEMgVUEgbWV0aG9kIG5vZGUgZm9yIHRoZSBTRVJWRVIgZnVuY3Rpb24gYmxvY2suCi0gICAqIFRoZSBtZXRob2QncyBuYW1lIGlzIHRoZSBzYW1lIGFzIHRoZSBuYW1lIG9mIHRoZSBTRVJWRVIgRkIuIFRoZSBpbnB1dCBhbmQgb3V0cHV0IGFyZ3VtZW50cyBhcmUgaW5pdGlhbGl6ZWQgYmFzZWQgb24gdGhlIFJEIChpbnB1dCkgYW5kIFNEIChvdXRwdXQpIHBvcnRzLgotICAgKgotICAgKiBAcmV0dXJuIGVfSW5pdE9rIG9uIHN1Y2Nlc3MKLSAgICogQHNlZSBjcmVhdGVNZXRob2RBcmd1bWVudHMKLSAgICovCi0gIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBjcmVhdGVNZXRob2ROb2RlKCk7CisgICAgLyoqCisgICAgICogR2V0IHRoZSByZW1vdGUgZGF0YSBpbnB1dC9vdXRwdXQKKyAgICAgKiBAcGFyYW0gcGFSZXN1bHQgUGxhY2UgdG8gc3RvcmUgdGhlIHBvaW50ZXIgdG8gdGhlIHJlc3VsdAorICAgICAqIEBwYXJhbSBwYVJlbW90ZUNvbm5lY3Rpb25Qb2ludCBDb25uZWN0aW9uIHBvaW50IG9mIHRoZSBvdGhlciBlbmQKKyAgICAgKiBAcGFyYW0gcGFJc1NEIHRydWUgaWYgdGhlIGxvY2FsIHBvcnQgaXMgYW4gU0QsIGZhbHNlIG90aGVyd2lzZQorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBubyBwcm9ibGVtIG9jY3VycmVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGdldFJlbW90ZUFueShDSUVDX0FOWSAqKnBhUmVzdWx0LCBjb25zdCBDQ29ubmVjdGlvblBvaW50ICZwYVJlbW90ZUNvbm5lY3Rpb25Qb2ludCwgYm9vbCBwYUlzU0QpIGNvbnN0OwogCi0gIC8qKgotICAgKiBDYWxsZWQgYnkgY3JlYXRlTWV0aG9kTm9kZSB0byBnZXQgdGhlIGxpc3Qgb2YgaW5wdXQvb3V0cHV0IGFyZ3VtZW50cyBiYXNlZCBvbiB0aGUgUkQgKGlucHV0KSBhbmQgU0QgKG91dHB1dCkgcG9ydHMuCi0gICAqIEBwYXJhbSBhcmd1bWVudHMgbmV3bHkgY3JlYXRlZCBhcnJheSBvZiBhcmd1bWVudHMKLSAgICogQHBhcmFtIG51bVBvcnRzIG51bWJlciBvZiBSRC9TRCBwb3J0cyB3aGljaCBpcyBhdCB0aGUgc2FtZSB0aW1lIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzCi0gICAqIEBwYXJhbSBpc1NEIGlmIHRydWUsIG91dHB1dCBhcmd1bWVudHMgYXJlIGNyZWF0ZWQsIGJhc2VkIG9uIFNEIHBvcnRzLiBJZiBmYWxzZSwgaW5wdXQgYXJndW1lbnRzIGJhc2VkIG9uIFJEIGFyZSBjcmVhdGVkLgotICAgKiBAcmV0dXJuIGVfSW5pdE9rIG9uIHN1Y2Nlc3MKLSAgICovCi0gIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBjcmVhdGVNZXRob2RBcmd1bWVudHMoVUFfQXJndW1lbnQgKiphcmd1bWVudHMsIHVuc2lnbmVkIGludCBudW1Qb3J0cywgYm9vbCBpc1NEKTsKKyAgICAvKioKKyAgICAgKiBSRHMgY2FuIGhhdmUgbWFueSBvdXRwdXQgY29ubmVjdGlvbnMgdG8gZGlmZmVyZW50IGRhdGEgaW5wdXQuIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGFsbCBvdXRwdXQgY29ubmVjdGlvbnMgaGF2ZSB0aGUgc2FtZSB0eXBlCisgICAgICogQHBhcmFtIHBhUG9ydENvbm5lY3Rpb24gTG9jYWwgcG9ydCBjb25uZWN0aW9uIHRvIGJlIGNoZWNrZWQKKyAgICAgKiBAcGFyYW0gcGFSZW1vdGVUeXBlIFR5cGUgb2YgdGhlIHJlbW90ZSBlbmQgaWYgYWxsIG91dHB1dCBjb25uZWN0aW9ucyBhcmUgdGhlIHNhbWUKKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgYWxsIG91dHB1dCBjb25uZWN0aW9ucyBhcmUgdGhlIHNhbWUgYW5kIHZhbGlkLCBmYWxsIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgY2hlY2tGYW5PdXRUeXBlcyhjb25zdCBDRGF0YUNvbm5lY3Rpb24gJnBhUG9ydENvbm5lY3Rpb24sIENJRUNfQU5ZICoqcGFSZW1vdGVUeXBlKSBjb25zdDsKIAotCi0gIGNvbnN0IFVBX1R5cGVDb252ZXJ0ICoqY2xpZW50U2RDb252ZXJ0ZXI7Ci0gIGNvbnN0IFVBX1R5cGVDb252ZXJ0ICoqY2xpZW50UmRDb252ZXJ0ZXI7Ci0gIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBjbGllbnRDcmVhdGVDb252ZXJ0ZXIoY29uc3QgVUFfVHlwZUNvbnZlcnQgKipjb252ZXJ0ZXJMaXN0W10sIHVuc2lnbmVkIGludCBudW1Qb3J0cywgYm9vbCBpc1NEKTsKLQotICAvKioKLSAgICogQ3JlYXRlcyB0aGUgT1BDIFVBIGNsaWVudCBmb3IgdGhlIENMSUVOVCBmdW5jdGlvbiBibG9jay4KLSAgICogVGhlIGNsaWVudCdzIGVuZHBvaW50IGlzIGRlZmluZWQgYnkgdGhlIElEIGZpZWxkIG9mIHRoZSBGQi4gQ2xpZW50cyB3aWxsIGJlIHJldXNlZCBpZiB0aGV5IGhhdmUgdGhlIHNhbWUgZW5kcG9pbnQgdXJsLgotICAgKgotICAgKiBAcmV0dXJuIGVfSW5pdE9rIG9uIHN1Y2Nlc3MKLSAgICovCi0gIGZvcnRlOjpjb21faW5mcmE6OkVDb21SZXNwb25zZSBjcmVhdGVDbGllbnQoY29uc3QgY2hhciogZW5kcG9pbnQsIGNvbnN0IGNoYXIqIG5vZGVQYXRoLCBib29sIHN1YnNjcmlwdGlvbik7Ci0KLSAgLyoqCi0gICAqIFJlc3BvbnNlIGZvciB0aGUgcHJvY2Vzc0ludGVycnVwdCgpIG1ldGhvZAotICAgKi8KLSAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIG1JbnRlcnJ1cHRSZXNwOwotCi0gIC8qKgotICAgKiBOb2RlIGlkIG9mIHRoZSBmb2xkZXIgbm9kZSByZXByZXNlbnRlZCBieSB0aGUgSUQgYnJvd3NlIHBhdGggc2V0dGluZyBvZiB0aGUgRkIuCi0gICAqLwotICBVQV9Ob2RlSWQgKmZiTm9kZUlkOwotCi0gIC8qKgotICAgKiBOb2RlIGlkIG9mIHRoZSBwYXJlbnQgZm9sZGVyIG5vZGUgcmVwcmVzZW50ZWQgYnkgdGhlIElEIGJyb3dzZSBwYXRoIHNldHRpbmcgb2YgdGhlIEZCLgotICAgKi8KLSAgVUFfTm9kZUlkICpmYk5vZGVJZFBhcmVudDsKLQotICAvKioKLSAgICogT24gU0VSVkVSIEZCIHRoaXMgaXMgc2V0IHRvIHRoZSBub2RlIGlkIG9mIHRoZSBtZXRob2Qgd2hpY2ggaXMgY3JlYXRlZCBpbiB0aGUgaW5mb3JtYXRpb24gbW9kZWwKLSAgICovCi0gIFVBX05vZGVJZCAqbWV0aG9kTm9kZUlkOwotCi0gIC8qKgotICAgKiBOb2RlIGNsYXNzIG9mIHRoZSBub2RlIG9uIHRoZSByZW1vdGUgc2VydmVyIGlkZW50aWZpZWQgYnkgdGhlIElEIGZpZWxkIG9mIHRoZSBGQi4KLSAgICogQ2FuIGJlIGVpdGhlciBWYXJpYWJsZSBvciBNZXRob2QKLSAgICovCi0gIFVBX05vZGVDbGFzcyByZW1vdGVOb2RlQ2xhc3M7Ci0KLSAgLyoqCi0gICAqIE9uIENMSUVOVCBGQiBhIGNsaWVudCBpcyBjcmVhdGVkIGZvciBjb21tdW5pY2F0aW9uIHdpdGggYSByZW1vdGUgT1BDIFVBIHNlcnZlci4KLSAgICovCi0gIFVBX0NsaWVudCAqdWFDbGllbnQ7Ci0KLSAgLyoqCi0gICAqIExpc3Qgb2Ygbm9kZSBpZHMgY3JlYXRlZCBmb3IgdGhlIFNEIHBvcnRzIChQVUJMSVNIRVIpCi0gICAqLwotICBzdHJ1Y3QgRkJfTm9kZUlkcyAqc2VuZERhdGFOb2RlSWRzOwotCi0gIC8qKgotICAgKiBMaXN0IG9mIG5vZGUgaWRzIGNyZWF0ZWQgZm9yIHRoZSBSRCBwb3J0cyAoU1VCU0NSSUJFUikKLSAgICovCi0gIHN0cnVjdCBGQl9Ob2RlSWRzICpyZWFkRGF0YU5vZGVJZHM7Ci0KLSAgLyoqCi0gICAqIENhbGxiYWNrIGZvciB0aGUgU0VSVkVSIEZCIG1ldGhvZCBmcm9tIE9QQyBVQS4KLSAgICogSWYgYSBjbGllbnQgY2FsbHMgdGhlIG1ldGhvZCwgdGhpcyBjYWxsYmFjayB3aWxsIGJlIGV4ZWN1dGVkLiBJdCB1c2VzIG11dGV4IHRvIG1ha2Ugc3VyZSBjbGllbnRzIGNhbiBjYWxsIHRoZSBtZXRob2Qgb25seSBzZXF1ZW50aWFsbHksIG5vdCBpbiBwYXJhbGxlbC4KLSAgICogVGhlIFJEIHBvcnRzIGFyZSBzZXQgdG8gdGhlIGlucHV0IGFyZ3VtZW50cywgSU5EIGlzIGZpcmVkIGFuZCB0aGVuIGl0IHdhaXRzIHVudGlsIFJTUCBpcyB0cmlnZ2VyZWQuIE5vdGUgdGhhdCB0aGUgZGVmYXVsdCB0aW1lb3V0IGZvciBPUEMgVUEgbWV0aG9kIGNhbGxzCi0gICAqIGlzIDUgc2Vjb25kcy4gVGhpcyBtZWFucyB0aGF0IHRoZSBSU1Agc2hvdWxkIGJlIHRyaWdnZXJlZCB3aXRoaW4gdGhpcyB0aW1lIHRvIGVuc3VyZSB0aGUgY2FsbCBkb2VzIG5vdCB0aW1lIG91dC4KLSAgICoKLSAgICogQHBhcmFtIG1ldGhvZEhhbmRsZSBwb2ludHMgdG8gdGhlIENPUENfVUFfTGF5ZXIKLSAgICogQHBhcmFtIG9iamVjdElkIHBhcmVudCBvYmplY3QsIG9uIHdoaWNoIHRoZSBtZXRob2Qgd2FzIGNhbGxlZC4gVGhpcyBzaG91bGQgYmUgaWRlbnRpY2FsIHRvIGZiTm9kZUlkLgotICAgKiBAcGFyYW0gaW5wdXRTaXplIG51bWJlciBvZiBpbnB1dCBhcmd1bWVudHMuIFNob3VsZCBiZSBpZGVudGljYWwgdG8gdGhlIG51bWJlciBvZiBSRCBwb3J0cwotICAgKiBAcGFyYW0gaW5wdXQgdmFsdWUgb2YgaW5wdXQgYXJndW1lbnRzLiBUaGUgUkQgcG9ydHMgYXJlIHNldCB0byB0aGVzZSB2YWx1ZXMuCi0gICAqIEBwYXJhbSBvdXRwdXRTaXplIG51bWJlciBvZiBvdXRwdXQgYXJndW1lbnRzLiBTaG91bGQgYmUgaWRlbnRpY2FsIHRvIHRoZSBudW1iZXIgb2YgU0QgcG9ydHMKLSAgICogQHBhcmFtIG91dHB1dCB2YWx1ZSBvZiBvdXRwdXQgYXJndW1lbnRzLiBUaGVzZSB3aWxsIGJlIHJlYWQgZnJvbSBTRCBwb3J0cwotICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXNzLiBUaGUgcmV0dXJuIHZhbHVlIGlzIHBhc3NlZCB0byB0aGUgY2FsbGVyLCBpLmUuLCB0aGUgY2xpZW50LgotICAgKi8KLSAgc3RhdGljIFVBX1N0YXR1c0NvZGUgb25TZXJ2ZXJNZXRob2RDYWxsKFVBX1NlcnZlciAqc2VydmVyLCBjb25zdCBVQV9Ob2RlSWQgKnNlc3Npb25JZCwKLSAgICAgICAgICAgICAgICAgICAgICB2b2lkICpzZXNzaW9uQ29udGV4dCwgY29uc3QgVUFfTm9kZUlkICptZXRob2RJZCwKLSAgICAgICAgICAgICAgICAgICAgICB2b2lkICptZXRob2RDb250ZXh0LCBjb25zdCBVQV9Ob2RlSWQgKm9iamVjdElkLAotICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9iamVjdENvbnRleHQsIHNpemVfdCBpbnB1dFNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgY29uc3QgVUFfVmFyaWFudCAqaW5wdXQsIHNpemVfdCBvdXRwdXRTaXplLAotICAgICAgICAgICAgICAgICAgICAgIFVBX1ZhcmlhbnQgKm91dHB1dCk7Ci0KLSAgY2hhciAqY2xpZW50RW5kcG9pbnRVcmw7Ci0gIGNoYXIgKmNsaWVudE5vZGVQYXRoOwotICBDU3luY09iamVjdCAqY2xpZW50TXV0ZXg7Ci0KLSAgZm9ydGU6OmNvbV9pbmZyYTo6RUNvbVJlc3BvbnNlIGNsaWVudENvbm5lY3QoKTsKLQotICBmb3J0ZTo6Y29tX2luZnJhOjpFQ29tUmVzcG9uc2UgY2xpZW50Q2FsbEFzeW5jKGNvbnN0IENJRUNfQU5ZICpzZCwgdW5zaWduZWQgaW50IHNkU2l6ZSk7Ci0KLSAgLyoqCi0gICAqIE11dGV4IHRvIGVuc3VyZSBjbGllbnRzIGNhbiBjYWxsIHRoZSBzZXJ2ZXIgbWV0aG9kIG5vdCBpbiBwYXJhbGxlbC4KLSAgICovCi0gIENTeW5jT2JqZWN0IG11dGV4U2VydmVyTWV0aG9kQ2FsbDsKLQotICAvKioKLSAgICogRmxhZyB1c2VkIGJ5IHRoZSBzZXJ2ZXIgbWV0aG9kIGNhbGwgdG8gd2FpdCBmb3IgdGhlIGRhdGEgdG8gYmUgcmVhZHkuCi0gICAqIEl0IGlzIHNldCB0byBmYWxzZSBpbiB0aGUgYmVnaW5uaW5nLiBBcyBzb29uIGFzIHRoZSBSU1AgcG9ydCBpcyB0cmlnZ2VyZWQsIGl0IGlzIHNldCB0byB0cnVlIGFuZCB0aGUgbWV0aG9kIGNhbGxiYWNrIGNhbiBwcm9jZXNzIFNEIHBvcnRzLgotICAgKi8KLSAgQ1NlbWFwaG9yZSBzZXJ2ZXJNZXRob2RDYWxsUmVzdWx0UmVhZHk7Ci0KLQotCi0gIHZpcnR1YWwgdm9pZCogaGFuZGxlQXN5bmNDYWxsKGNvbnN0IHVuc2lnbmVkIGludCBjYWxsSWQsIHZvaWQgKnBheWxvYWQpOwotCi0gIHZpcnR1YWwgdm9pZCBoYW5kbGVBc3luY0NhbGxSZXN1bHQoY29uc3QgdW5zaWduZWQgaW50IGNhbGxJZCwgdm9pZCAqcGF5bG9hZCwgdm9pZCAqcmVzdWx0KTsKLQotICB2aXJ0dWFsIHZvaWQgaGFuZGxlQXN5bmNFdmVudCgpOwotCi0gIENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCAqPiByZWZlcmVuY2VkTm9kZXM7Ci0KLSAgLyoqCi0gICAqIHNwbGl0IHRoZSBJRCBwYXJhbWV0ZXI6Ci0gICAqIG9wYy50Y3A6Ly8xMC4xMDAuMS4wOjQ4NDAjL09iamVjdHMvMTpBZGRlcgotICAgKiBiZXR3ZWVuIHRoZSBoYXNoIHNpZ24KLSAgICoKLSAgICogQHBhcmFtIGZ1bGxVcmwgVGhlIGZ1bGwgdXJsIHdoaWNoIGlzIHNwbGl0dGVkLiBUaGlzIHBhcmFtZXRlciB3aWxsIGJlIGNoYW5nZWQgZHVlIHRvIHRoZSB1c2Ugb2Ygc3RydG9rCi0gICAqIEBwYXJhbSBlbmRwb2ludCB0aGUgZW5kcG9pbnQgcGFydCBwb2ludGluZyBhdCB0aGUgYmVnaW5uaW5nIHdpdGhpbiB0aGUgcmV0dXJuZWQgY2hhciwgb3IgTlVMTCBpZiBubyBlbmRwb2ludCBwYXJ0Ci0gICAqIEBwYXJhbSBub2RlUGF0aCB0aGUgcGF0aCBwYXJ0IHBvaW50aW5nIGF0IHRoZSBiZWdpbm5pbmcgd2l0aGluIHRoZSByZXR1cm5lZCBjaGFyLCBvciBOVUxMIGlmIG5vIHBhdGggcGFydAotICAgKiBAcmV0dXJuIGR1cGxpY2F0ZWQgc3RyaW5nIG9mIGZ1bGxVcmwgd2hlcmUgZW5kcG9pbnQgYW5kIG5vZGVQYXRoIHBvaW50IHRvLiBOZWVkcyB0byBiZSBmcmVlZC4KLSAgICovCi0gIHN0YXRpYyB2b2lkIHNwbGl0VXJsQW5kUGF0aChjb25zdCBjaGFyICpmdWxsVXJsLCBjb25zdCBjaGFyKiogZW5kcG9pbnQsIGNvbnN0IGNoYXIgKipub2RlUGF0aCwgQ0lFQ19TVFJJTkcmIHBhUmVzdWx0KTsKLQotICAvKioKLSAgICogR2V0IHRoZSBub2RlIGNsYXNzIG9mIHRoZSBnaXZlbiBub2RlIGZyb20gdGhlIHJlbW90ZSBzZXJ2ZXIgdXNpbmcgdGhlIGFscmVhZHkgaW5pdGlhbGl6ZWQgdWFDbGllbnQgbWVtYmVyLgotICAgKgotICAgKi8KLSAgVUFfTm9kZUNsYXNzIGdldE5vZGVDbGFzcyhjb25zdCBVQV9Ob2RlSWQgbm9kZUlkKTsKKyAgICAvKioKKyAgICAgKiBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhbmQgdmFyaWFibGVzIGFyZSB1c2VkIGJlY2F1c2UgaWYgbWFueSBzdWJzY3JpcHRpb24gYXJlIHByZXNlbnQgaW4gb25lIEZCLCBhbmQgYWxsIG9mIHRoZW0gYXJlIHVwZGF0ZWQsCisgICAgICogd2UnbGwgZ2V0IG9uZSBleHRlcm5hbCBldmVudCBmb3IgZWFjaCwgd2hlbiBvbmx5IG9uZSBpcyBuZWVkZWQuCisgICAgICogVE9ETzogdGhpcyBpcyBhIHF1aWNrIGZpeC4gVGhpcyBpcyBhIHByb2JsZW0gZm9yIGFueSBGQiB3aGljaCBoYXMgbWFueSBSRHMsIG1lYW5pbmcgdGhhdCBpZiBhbnkgb2YgdGhlIFJEcyBjaGFuZ2VzLCBhbiBJTkQgaXMgdHJpZ2dlcmVkLiBJdCdzIG5vdCB3cm9uZywKKyAgICAgKiBidXQgdGhlIHRlc3RzIGxlYWQgdG8gYW4gb3ZlcmZsb3cgb2YgZXh0ZXJuYWwgZXZlbnRzLCBhbmQgdGhpcyByZWR1Y2VzIGEgbGl0dGxlLgorICAgICAqLworICAgIHZvaWQgc2V0RGF0YUFscmVhZHlQcmVzZW50UmVhZChib29sIHBhRGF0YVJlYWQpOworICAgIGJvb2wgZ2V0RGF0YUFscmVhZHlQcmVzZW50UmVhZCgpO0NTeW5jT2JqZWN0IG1EYXRhQWxyZWFkeVByZXNlbnRNdXRleDsKKyAgICBib29sIG1EYXRhQWxyZWFkeVByZXNlbnQ7CiAKIH07CiAKLQogI2VuZGlmIC8qIFNSQ19NT0RVTEVTX09QQ19VQV9PUENVQV9MQVlFUl9IXyAqLwogCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfbG9jYWxfaGFuZGxlci5jcHAgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfbG9jYWxfaGFuZGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMyZmM3NQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9sb2NhbF9oYW5kbGVyLmNwcApAQCAtMCwwICsxLDE0MTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorICogQ29weXJpZ2h0IChjKSAyMDE1LTIwMTkgRmxvcmlhbiBGcm9zY2hlcm1laWVyIDxmbG9yaWFuLmZyb3NjaGVybWVpZXJAdHVtLmRlPiwNCisgKiAgICAgICAgICAgICAgIGZvcnRpc3MgR21iSA0KKyAqDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlDQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdA0KKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4NCisgKg0KKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQorICoNCisgKiBDb250cmlidXRvcnM6DQorICogICAgRmxvcmlhbiBGcm9zY2hlcm1laWVyDQorICogICAgICAtIGluaXRpYWwgaW50ZWdyYXRpb24gb2YgdGhlIE9QQy1VQSBwcm90b2NvbA0KKyAqICAgIFN0ZWZhbiBQcm9mYW50ZXINCisgKiAgICAgIC0gcmVmYWN0b3JpbmcgYW5kIGFkYXB0aW9uIHRvIG5ldyBjb25jZXB0DQorICogICAgSm9zZSBDYWJyYWw6DQorICogICAgICAtIHJlZmFjdG9yaW5nIHRvIGNsZWFuZXIgYXJjaGl0ZWN0dXJlDQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorDQorI2luY2x1ZGUgIi4uLy4uL2NvcmUvZGV2ZXhlYy5oIg0KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2llYzYxMTMxX2Z1bmN0aW9ucy5oIg0KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2NvbWluZnJhL2Jhc2Vjb21tZmIuaCINCisjaW5jbHVkZSAiLi4vLi4vY29yZS91dGlscy9wYXJhbWV0ZXJQYXJzZXIuaCINCisjaW5jbHVkZSAiLi4vLi4vY29yZS91dGlscy9zdHJpbmdfdXRpbHMuaCINCisjaW5jbHVkZSA8Y3JpdGljYWxyZWdpb24uaD4NCisjaW5jbHVkZSA8Zm9ydGVfcHJpbnRlci5oPg0KKyNpbmNsdWRlICIuLi8uLi9hcmNoL3V0aWxzL21haW5wYXJhbV91dGlscy5oIg0KKyNpbmNsdWRlICJvcGN1YV9sb2NhbF9oYW5kbGVyLmgiDQorDQorI2lmbmRlZiBGT1JURV9DT01fT1BDX1VBX0NVU1RPTV9IT1NUTkFNRQ0KKyNpbmNsdWRlIDxzb2NraGFuZC5oPg0KKyNlbmRpZg0KKw0KK2NvbnN0IGNoYXIgKiBjb25zdCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6Om1FbmdsaXNoTG9jYWxlRm9yTm9kZXMgPSAiZW4tVVMiOw0KK2NvbnN0IGNoYXIgKiBjb25zdCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6Om1EZWZhdWx0RGVzY3JpcHRpb25Gb3JWYXJpYWJsZU5vZGVzID0gIkRpZ2l0YWwgcG9ydCBvZiBGdW5jdGlvbiBCbG9jayI7DQorDQorVEZvcnRlVUludDE2IGdPcGN1YVNlcnZlclBvcnQgPSBGT1JURV9DT01fT1BDX1VBX1BPUlQ7DQorDQordXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb21faW5mcmE7DQorDQorREVGSU5FX0hBTkRMRVIoQ09QQ19VQV9Mb2NhbF9IYW5kbGVyKTsNCisNCitDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OkNPUENfVUFfTG9jYWxfSGFuZGxlcihDRGV2aWNlRXhlY3V0aW9uICZwYURldmljZUV4ZWN1dGlvbikgOg0KKyAgICBDT1BDX1VBX0hhbmRsZXJBYnN0cmFjdChwYURldmljZUV4ZWN1dGlvbiksIG1VYVNlcnZlcigwKSwgbVVhU2VydmVyUnVubmluZ0ZsYWcoVUFfRkFMU0UpDQorI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTVVMVElDQVNUDQorIyBpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gNCisvL2RvIG5vdGhpbmcNCisjIGVsc2UgLy9GT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gNCissIG1TZXJ2ZXJDb25maWcoMCkNCisjIGVuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNIDQorI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QNCit7DQorfQ0KKw0KK0NPUENfVUFfTG9jYWxfSGFuZGxlcjo6fkNPUENfVUFfTG9jYWxfSGFuZGxlcigpIHsNCisgIHN0b3BTZXJ2ZXIoKTsNCisNCisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtTm9kZXNSZWZlcmVuY2VzTXV0ZXgpOw0KKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9ucyAqPjo6SXRlcmF0b3IgaXRlciA9IG1Ob2Rlc1JlZmVyZW5jZXMuYmVnaW4oKTsgaXRlciAhPSBtTm9kZXNSZWZlcmVuY2VzLmVuZCgpOyArK2l0ZXIpIHsNCisgICAgVUFfTm9kZUlkX2RlbGV0ZShjb25zdF9jYXN0PFVBX05vZGVJZCo+KCgqaXRlciktPm1Ob2RlSWQpKTsNCisgICAgZGVsZXRlICppdGVyOw0KKyAgfQ0KKyAgbU5vZGVzUmVmZXJlbmNlcy5jbGVhckFsbCgpOw0KKw0KKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01VTFRJQ0FTVA0KKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PFVBX1N0cmluZyo+OjpJdGVyYXRvciBpdGVyID0gbVJlZ2lzdGVyZWRXaXRoTGRzLmJlZ2luKCk7IGl0ZXIgIT0gbVJlZ2lzdGVyZWRXaXRoTGRzLmVuZCgpOyArK2l0ZXIpIHsNCisgICAgVUFfU3RyaW5nX2RlbGV0ZSgqaXRlcik7DQorICB9DQorI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QNCit9DQorDQordm9pZCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OmVuYWJsZUhhbmRsZXIodm9pZCkgew0KKyAgc3RhcnRTZXJ2ZXIoKTsNCit9DQorDQordm9pZCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OmRpc2FibGVIYW5kbGVyKHZvaWQpIHsNCisgIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6c3RvcFNlcnZlcigpOw0KKyAgZW5kKCk7DQorfQ0KKw0KK3ZvaWQgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpydW4oKSB7DQorICBERVZMT0dfSU5GTygiW09QQyBVQSBMT0NBTF06IFN0YXJ0aW5nIE9QQyBVQSBTZXJ2ZXI6IG9wYy50Y3A6Ly9sb2NhbGhvc3Q6JWRcbiIsIGdPcGN1YVNlcnZlclBvcnQpOw0KKw0KKyAgVUFfU2VydmVyQ29uZmlnICp1YVNlcnZlckNvbmZpZyA9IDA7DQorDQorICBVQV9TZXJ2ZXJTdHJpbmdzIHNlcnZlclN0cmluZ3M7DQorICBnZW5lcmF0ZVNlcnZlclN0cmluZ3MoZ09wY3VhU2VydmVyUG9ydCwgc2VydmVyU3RyaW5ncyk7DQorI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSA0KKyAgbVVhU2VydmVyID0gVUFfU2VydmVyX25ldygpOw0KKyAgaWYobVVhU2VydmVyKSB7DQorICAgIHVhU2VydmVyQ29uZmlnID0gVUFfU2VydmVyX2dldENvbmZpZyhtVWFTZXJ2ZXIpOw0KKyAgICBVQV9TZXJ2ZXJDb25maWdfc2V0TWluaW1hbCh1YVNlcnZlckNvbmZpZywgZ09wY3VhU2VydmVyUG9ydCwgMCk7DQorICAgIGNvbmZpZ3VyZVVBU2VydmVyKGdPcGN1YVNlcnZlclBvcnQsIHNlcnZlclN0cmluZ3MsICp1YVNlcnZlckNvbmZpZyk7DQorI2Vsc2UNCisgIHVhU2VydmVyQ29uZmlnID0gVUFfU2VydmVyQ29uZmlnX25ld19taW5pbWFsKGdPcGN1YVNlcnZlclBvcnQsIDApOw0KKyAgY29uZmlndXJlVUFTZXJ2ZXIoZ09wY3VhU2VydmVyUG9ydCwgc2VydmVyU3RyaW5ncywgKnVhU2VydmVyQ29uZmlnKTsNCisgIG1VYVNlcnZlciA9IFVBX1NlcnZlcl9uZXcodWFTZXJ2ZXJDb25maWcpOw0KKyAgaWYobVVhU2VydmVyKSB7DQorI2VuZGlmDQorDQorICAgIGlmKGluaXRpYWxpemVOb2Rlc2V0cygqbVVhU2VydmVyKSkgew0KKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01VTFRJQ0FTVA0KKyMgaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNIDQorICAgICAgLy9kbyBub3RoaW5nDQorIyBlbHNlDQorICAgICAgbVNlcnZlckNvbmZpZyA9IHVhU2VydmVyQ29uZmlnOw0KKyMgZW5kaWYNCisgICAgICBVQV9TZXJ2ZXJfc2V0U2VydmVyT25OZXR3b3JrQ2FsbGJhY2sobVVhU2VydmVyLCBzZXJ2ZXJPbk5ldHdvcmtDYWxsYmFjaywgdGhpcyk7DQorI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QNCisgICAgICBtVWFTZXJ2ZXJSdW5uaW5nRmxhZyA9IFVBX1RSVUU7DQorICAgICAgbVNlcnZlclN0YXJ0ZWQuaW5jKCk7DQorICAgICAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TZXJ2ZXJfcnVuKG1VYVNlcnZlciwgJm1VYVNlcnZlclJ1bm5pbmdGbGFnKTsgLy8gc2VydmVyIGtlZXBzIGl0ZXJhdGluZyBhcyBsb25nIGFzIHJ1bm5pbmcgaXMgdHJ1ZQ0KKyAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCAhPSByZXRWYWwpIHsNCisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IFNlcnZlciBleGl0ZWQuIEVycm9yOiAlc1xuIiwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgICAgIH0gZWxzZSB7DQorICAgICAgICBERVZMT0dfSU5GTygiW09QQyBVQSBMT0NBTF06IFNlcnZlciBzdWNjZXNzZnVsbHkgc3RvcHBlZFxuIik7DQorICAgICAgfQ0KKyAgICB9IGVsc2Ugew0KKyAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IENvdWxkbid0IGluaXRpYWxpemUgTm9kZXNldHNcbiIsIGdPcGN1YVNlcnZlclBvcnQpOw0KKyAgICB9DQorICAgIFVBX1NlcnZlcl9kZWxldGUobVVhU2VydmVyKTsNCisgICAgbVVhU2VydmVyID0gMDsNCisgIH0NCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNIDQorICAvL25vdGhpbmcgdG8gZG8gaW4gbWFzdGVyIGJyYW5jaC4gQ29uZmlnIGlzIGRlbGV0ZWQgd2l0aCB0aGUgc2VydmVyDQorI2Vsc2UNCisgIFVBX1NlcnZlckNvbmZpZ19kZWxldGUodWFTZXJ2ZXJDb25maWcpOw0KKyNlbmRpZg0KKyAgbVNlcnZlclN0YXJ0ZWQuaW5jKCk7IC8vdGhpcyB3aWxsIGF2b2lkIGxvY2tpbmcgc3RhcnRTZXJ2ZXIoKSBmb3IgYWxsIGNhc2VzIHdoZXJlIHRoZSBzdGFydGluZyBvZiBzZXJ2ZXIgZmFpbGVkDQorfQ0KKw0KK3ZvaWQgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpzdGFydFNlcnZlcigpIHsNCisgIGlmKCFpc0FsaXZlKCkpIHsNCisgICAgc3RhcnQoKTsNCisgICAgbVNlcnZlclN0YXJ0ZWQud2FpdEluZGVmaW5pdGVseSgpOw0KKyAgfQ0KK30NCisNCit2b2lkIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6c3RvcFNlcnZlcigpIHsNCisgIG1VYVNlcnZlclJ1bm5pbmdGbGFnID0gVUFfRkFMU0U7DQorICBlbmQoKTsNCit9DQorDQordm9pZCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OmdlbmVyYXRlU2VydmVyU3RyaW5ncyhURm9ydGVVSW50MTYgcGFVQVNlcnZlclBvcnQsIFVBX1NlcnZlclN0cmluZ3MgJnBhU2VydmVyU3RyaW5ncykgew0KKyAgY2hhciBoZWxwZXJCdWZmZXJbc2NtTWF4U2VydmVyTmFtZUxlbmd0aCArIDFdOw0KKyAgZm9ydGVfc25wcmludGYoaGVscGVyQnVmZmVyLCBzY21NYXhTZXJ2ZXJOYW1lTGVuZ3RoLCAiZm9ydGVfJWQiLCBwYVVBU2VydmVyUG9ydCk7DQorDQorICBjaGFyIGhvc3RuYW1lW3NjbU1heFNlcnZlck5hbWVMZW5ndGggKyAxXTsNCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9DVVNUT01fSE9TVE5BTUUNCisgIGZvcnRlX3NucHJpbnRmKGhvc3RuYW1lLCBzY21NYXhTZXJ2ZXJOYW1lTGVuZ3RoLCAiJXMtJXMiLCBGT1JURV9DT01fT1BDX1VBX0NVU1RPTV9IT1NUTkFNRSwgaGVscGVyQnVmZmVyKTsNCisjZWxzZQ0KKyAgaWYoZ2V0aG9zdG5hbWUoaG9zdG5hbWUsIHNjbU1heFNlcnZlck5hbWVMZW5ndGgpID09IDApIHsNCisgICAgc2l6ZV90IG9mZnNldCA9IHN0cmxlbihob3N0bmFtZSk7DQorICAgIHNpemVfdCBuYW1lTGVuID0gc3RybGVuKGhlbHBlckJ1ZmZlcik7DQorICAgIGlmKG9mZnNldCArIG5hbWVMZW4gKyAxID4gc2NtTWF4U2VydmVyTmFtZUxlbmd0aCkgew0KKyAgICAgIG9mZnNldCA9IE1BWChzY21NYXhTZXJ2ZXJOYW1lTGVuZ3RoIC0gbmFtZUxlbiAtIDEsIChzaXplX3QpIDApOw0KKyAgICB9DQorICAgIGZvcnRlX3NucHJpbnRmKGhvc3RuYW1lICsgb2Zmc2V0LCBzY21NYXhTZXJ2ZXJOYW1lTGVuZ3RoIC0gb2Zmc2V0LCAiLSVzIiwgaGVscGVyQnVmZmVyKTsNCisgIH0NCisjZW5kaWYNCisNCisgIGZvcnRlX3NucHJpbnRmKGhlbHBlckJ1ZmZlciwgc2NtTWF4U2VydmVyTmFtZUxlbmd0aCwgIm9yZy5lY2xpcHNlLjRkaWFjLiVzIiwgaG9zdG5hbWUpOw0KKw0KKyAgcGFTZXJ2ZXJTdHJpbmdzLm1BcHBVUkkgPSBoZWxwZXJCdWZmZXI7DQorICBwYVNlcnZlclN0cmluZ3MubUhvc3RuYW1lID0gaG9zdG5hbWU7DQorfQ0KKw0KK3ZvaWQgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpjb25maWd1cmVVQVNlcnZlcihURm9ydGVVSW50MTYgcGFVQVNlcnZlclBvcnQsIFVBX1NlcnZlclN0cmluZ3MgJnBhU2VydmVyU3RyaW5ncywgVUFfU2VydmVyQ29uZmlnICZwYVVhU2VydmVyQ29uZmlnKSB7DQorDQorICBwYVVhU2VydmVyQ29uZmlnLmxvZ2dlciA9IENPUENfVUFfSGFuZGxlckFic3RyYWN0OjpnZXRMb2dnZXIoKTsNCisNCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QNCisgIHBhVWFTZXJ2ZXJDb25maWcuYXBwbGljYXRpb25EZXNjcmlwdGlvbi5hcHBsaWNhdGlvblR5cGUgPSBVQV9BUFBMSUNBVElPTlRZUEVfRElTQ09WRVJZU0VSVkVSOw0KKyAgLy8gaG9zdG5hbWUgd2lsbCBiZSBhZGRlZCBieSBtZG5zIGxpYnJhcnkNCisjIGlmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSA0KKyAgVUFfU3RyaW5nX2RlbGV0ZU1lbWJlcnMoJnBhVWFTZXJ2ZXJDb25maWcuZGlzY292ZXJ5Lm1kbnMubWRuc1NlcnZlck5hbWUpOw0KKyAgcGFVYVNlcnZlckNvbmZpZy5kaXNjb3ZlcnkubWRucy5tZG5zU2VydmVyTmFtZSA9IFVBX1N0cmluZ19mcm9tQ2hhcnMoaGVscGVyQnVmZmVyKTsNCisjIGVsc2UgLy9GT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gNCisgIFVBX1N0cmluZ19kZWxldGVNZW1iZXJzKCZwYVVhU2VydmVyQ29uZmlnLm1kbnNTZXJ2ZXJOYW1lKTsNCisgIHBhVWFTZXJ2ZXJDb25maWcubWRuc1NlcnZlck5hbWUgPSBVQV9TdHJpbmdfZnJvbUNoYXJzKGhlbHBlckJ1ZmZlcik7DQorIyBlbmRpZi8vRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNIDQorI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QNCisNCisgIFVBX1N0cmluZyBjdXN0b21Ib3N0ID0gVUFfU1RSSU5HKHBhU2VydmVyU3RyaW5ncy5tSG9zdG5hbWUuZ2V0VmFsdWUoKSk7DQorI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSA0KKyAgVUFfU2VydmVyQ29uZmlnX3NldEN1c3RvbUhvc3RuYW1lKCZwYVVhU2VydmVyQ29uZmlnLCBjdXN0b21Ib3N0KTsNCisjZWxzZSAvL0ZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSA0KKyAgVUFfU2VydmVyQ29uZmlnX3NldF9jdXN0b21Ib3N0bmFtZSgmcGFVYVNlcnZlckNvbmZpZywgY3VzdG9tSG9zdCk7DQorI2VuZGlmLy9GT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gNCisNCisgIC8vIGRlbGV0ZSBwcmUtaW5pdGlhbGl6ZWQgdmFsdWVzDQorICBVQV9Mb2NhbGl6ZWRUZXh0X2RlbGV0ZU1lbWJlcnMoJnBhVWFTZXJ2ZXJDb25maWcuYXBwbGljYXRpb25EZXNjcmlwdGlvbi5hcHBsaWNhdGlvbk5hbWUpOw0KKyAgVUFfU3RyaW5nX2RlbGV0ZU1lbWJlcnMoJnBhVWFTZXJ2ZXJDb25maWcuYXBwbGljYXRpb25EZXNjcmlwdGlvbi5hcHBsaWNhdGlvblVyaSk7DQorDQorICBwYVVhU2VydmVyQ29uZmlnLmFwcGxpY2F0aW9uRGVzY3JpcHRpb24uYXBwbGljYXRpb25VcmkgPSBVQV9TdHJpbmdfZnJvbUNoYXJzKHBhU2VydmVyU3RyaW5ncy5tQXBwVVJJLmdldFZhbHVlKCkpOw0KKyAgcGFVYVNlcnZlckNvbmZpZy5hcHBsaWNhdGlvbkRlc2NyaXB0aW9uLmFwcGxpY2F0aW9uTmFtZS5sb2NhbGUgPSBVQV9TVFJJTkdfTlVMTDsNCisgIHBhVWFTZXJ2ZXJDb25maWcuYXBwbGljYXRpb25EZXNjcmlwdGlvbi5hcHBsaWNhdGlvbk5hbWUudGV4dCA9IFVBX1N0cmluZ19mcm9tQ2hhcnMocGFTZXJ2ZXJTdHJpbmdzLm1Ib3N0bmFtZS5nZXRWYWx1ZSgpKTsNCisgIHBhVWFTZXJ2ZXJDb25maWcucHVibGlzaGluZ0ludGVydmFsTGltaXRzLm1pbiA9IEZPUlRFX0NPTV9PUENfVUFfU0VSVkVSX1BVQl9JTlRFUlZBTDsNCisNCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBwYVVhU2VydmVyQ29uZmlnLmVuZHBvaW50c1NpemU7IGkrKykgew0KKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gNCisgICAgVUFfU3RyaW5nX2RlbGV0ZU1lbWJlcnMoJnBhVWFTZXJ2ZXJDb25maWcuZW5kcG9pbnRzW2ldLnNlcnZlci5hcHBsaWNhdGlvblVyaSk7DQorICAgIFVBX0xvY2FsaXplZFRleHRfZGVsZXRlTWVtYmVycygmcGFVYVNlcnZlckNvbmZpZy5lbmRwb2ludHNbaV0uc2VydmVyLmFwcGxpY2F0aW9uTmFtZSk7DQorICAgIFVBX1N0cmluZ19jb3B5KCZwYVVhU2VydmVyQ29uZmlnLmFwcGxpY2F0aW9uRGVzY3JpcHRpb24uYXBwbGljYXRpb25VcmksICZwYVVhU2VydmVyQ29uZmlnLmVuZHBvaW50c1tpXS5zZXJ2ZXIuYXBwbGljYXRpb25VcmkpOw0KKyAgICBVQV9Mb2NhbGl6ZWRUZXh0X2NvcHkoJnBhVWFTZXJ2ZXJDb25maWcuYXBwbGljYXRpb25EZXNjcmlwdGlvbi5hcHBsaWNhdGlvbk5hbWUsICZwYVVhU2VydmVyQ29uZmlnLmVuZHBvaW50c1tpXS5zZXJ2ZXIuYXBwbGljYXRpb25OYW1lKTsNCisjZWxzZSAvL0ZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSA0KKyAgICBVQV9TdHJpbmdfZGVsZXRlTWVtYmVycygmcGFVYVNlcnZlckNvbmZpZy5lbmRwb2ludHNbaV0uZW5kcG9pbnREZXNjcmlwdGlvbi5zZXJ2ZXIuYXBwbGljYXRpb25VcmkpOw0KKyAgICBVQV9Mb2NhbGl6ZWRUZXh0X2RlbGV0ZU1lbWJlcnMoJnBhVWFTZXJ2ZXJDb25maWcuZW5kcG9pbnRzW2ldLmVuZHBvaW50RGVzY3JpcHRpb24uc2VydmVyLmFwcGxpY2F0aW9uTmFtZSk7DQorICAgIFVBX1N0cmluZ19jb3B5KCZwYVVhU2VydmVyQ29uZmlnLmFwcGxpY2F0aW9uRGVzY3JpcHRpb24uYXBwbGljYXRpb25VcmksICZwYVVhU2VydmVyQ29uZmlnLmVuZHBvaW50c1tpXS5lbmRwb2ludERlc2NyaXB0aW9uLnNlcnZlci5hcHBsaWNhdGlvblVyaSk7DQorICAgIFVBX0xvY2FsaXplZFRleHRfY29weSgmcGFVYVNlcnZlckNvbmZpZy5hcHBsaWNhdGlvbkRlc2NyaXB0aW9uLmFwcGxpY2F0aW9uTmFtZSwgJnBhVWFTZXJ2ZXJDb25maWcuZW5kcG9pbnRzW2ldLmVuZHBvaW50RGVzY3JpcHRpb24uc2VydmVyLmFwcGxpY2F0aW9uTmFtZSk7DQorI2VuZGlmIC8vRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNIDQorICB9DQorfQ0KKw0KK3ZvaWQgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpyZWZlcmVuY2VkTm9kZXNJbmNyZW1lbnQoY29uc3QgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkICo+ICZwYU5vZGVzLCBDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKSB7DQorICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obU5vZGVzUmVmZXJlbmNlc011dGV4KTsNCisgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQgKj46Okl0ZXJhdG9yIGl0ZXJOb2RlID0gcGFOb2Rlcy5iZWdpbigpOyBpdGVyTm9kZSAhPSBwYU5vZGVzLmVuZCgpOyArK2l0ZXJOb2RlKSB7DQorICAgIGJvb2wgZm91bmQgPSBmYWxzZTsNCisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9ucyAqPjo6SXRlcmF0b3IgaXRlclJlZiA9IG1Ob2Rlc1JlZmVyZW5jZXMuYmVnaW4oKTsgaXRlclJlZiAhPSBtTm9kZXNSZWZlcmVuY2VzLmVuZCgpOyArK2l0ZXJSZWYpIHsNCisgICAgICBpZihVQV9Ob2RlSWRfZXF1YWwoKCppdGVyUmVmKS0+bU5vZGVJZCwgKCppdGVyTm9kZSkpKSB7DQorICAgICAgICBmb3VuZCA9IHRydWU7DQorICAgICAgICAoKml0ZXJSZWYpLT5tQWN0aW9uc1JlZmVyZW5jaW5nSXQucHVzaEZyb250KCZwYUFjdGlvbkluZm8pOw0KKyAgICAgICAgYnJlYWs7DQorICAgICAgfQ0KKyAgICB9DQorICAgIGlmKCFmb3VuZCkgew0KKyAgICAgIG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9ucyAqbmV3UmVmID0gbmV3IG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9ucygpOw0KKyAgICAgIFVBX05vZGVJZCAqbmV3Tm9kZSA9IFVBX05vZGVJZF9uZXcoKTsNCisgICAgICBVQV9Ob2RlSWRfY29weSgoKml0ZXJOb2RlKSwgbmV3Tm9kZSk7DQorICAgICAgbmV3UmVmLT5tTm9kZUlkID0gbmV3Tm9kZTsNCisgICAgICBuZXdSZWYtPm1BY3Rpb25zUmVmZXJlbmNpbmdJdCA9IENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvKj4oKTsNCisgICAgICBuZXdSZWYtPm1BY3Rpb25zUmVmZXJlbmNpbmdJdC5wdXNoRnJvbnQoJnBhQWN0aW9uSW5mbyk7DQorICAgICAgbU5vZGVzUmVmZXJlbmNlcy5wdXNoRnJvbnQobmV3UmVmKTsNCisgICAgfQ0KKyAgfQ0KK30NCisNCit2b2lkIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6cmVmZXJlbmNlZE5vZGVzRGVjcmVtZW50KGNvbnN0IENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pIHsNCisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtTm9kZXNSZWZlcmVuY2VzTXV0ZXgpOw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8Y29uc3QgVUFfTm9kZUlkICo+IG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9uOw0KKyAgZ2V0Tm9kZXNSZWZlcmVuY2VkQnlBY3Rpb24ocGFBY3Rpb25JbmZvLCBub2Rlc1JlZmVyZW5jZWRCeUFjdGlvbik7DQorDQorICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Y29uc3QgVUFfTm9kZUlkICo+OjpJdGVyYXRvciBpdGVyTm9kZSA9IG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9uLmJlZ2luKCk7IGl0ZXJOb2RlICE9IG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9uLmVuZCgpOyArK2l0ZXJOb2RlKSB7DQorICAgIENTaW5nbHlMaW5rZWRMaXN0PG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9ucyAqPjo6SXRlcmF0b3Igbm9kZVJlZmVyZW5jZWRUb0RlbGV0ZSA9IG1Ob2Rlc1JlZmVyZW5jZXMuZW5kKCk7DQorICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxub2Rlc1JlZmVyZW5jZWRCeUFjdGlvbnMgKj46Okl0ZXJhdG9yIGl0ZXJSZWYgPSBtTm9kZXNSZWZlcmVuY2VzLmJlZ2luKCk7IGl0ZXJSZWYgIT0gbU5vZGVzUmVmZXJlbmNlcy5lbmQoKTsgKytpdGVyUmVmKSB7DQorICAgICAgaWYoVUFfTm9kZUlkX2VxdWFsKCgqaXRlclJlZiktPm1Ob2RlSWQsICgqaXRlck5vZGUpKSkgew0KKw0KKyAgICAgICAgYm9vbCBzdGlsbFNvbWV0aGluZ1RoZXJlID0gdHJ1ZTsNCisgICAgICAgIHdoaWxlKHN0aWxsU29tZXRoaW5nVGhlcmUpIHsNCisgICAgICAgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm8gKj46Okl0ZXJhdG9yIGl0QWN0aW9uVG9EZWxldGUgPSAoKml0ZXJSZWYpLT5tQWN0aW9uc1JlZmVyZW5jaW5nSXQuZW5kKCk7DQorICAgICAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDQWN0aW9uSW5mbyAqPjo6SXRlcmF0b3IgaXRBY3Rpb24gPSAoKml0ZXJSZWYpLT5tQWN0aW9uc1JlZmVyZW5jaW5nSXQuYmVnaW4oKTsNCisgICAgICAgICAgICAgIGl0QWN0aW9uICE9ICgqaXRlclJlZiktPm1BY3Rpb25zUmVmZXJlbmNpbmdJdC5lbmQoKTsgKytpdEFjdGlvbikgew0KKyAgICAgICAgICAgIGlmKCgqaXRBY3Rpb24pID09ICZwYUFjdGlvbkluZm8pIHsNCisgICAgICAgICAgICAgIGl0QWN0aW9uVG9EZWxldGUgPSBpdEFjdGlvbjsNCisgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICBpZigoKml0ZXJSZWYpLT5tQWN0aW9uc1JlZmVyZW5jaW5nSXQuZW5kKCkgPT0gaXRBY3Rpb25Ub0RlbGV0ZSkgew0KKyAgICAgICAgICAgIHN0aWxsU29tZXRoaW5nVGhlcmUgPSBmYWxzZTsNCisgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAoKml0ZXJSZWYpLT5tQWN0aW9uc1JlZmVyZW5jaW5nSXQuZXJhc2UoKml0QWN0aW9uVG9EZWxldGUpOw0KKyAgICAgICAgICB9DQorICAgICAgICB9DQorDQorICAgICAgICBpZigoKml0ZXJSZWYpLT5tQWN0aW9uc1JlZmVyZW5jaW5nSXQuaXNFbXB0eSgpKSB7DQorICAgICAgICAgIG5vZGVSZWZlcmVuY2VkVG9EZWxldGUgPSBpdGVyUmVmOw0KKyAgICAgICAgICBpZigwICE9ICgqaXRlclJlZiktPm1Ob2RlSWQtPm5hbWVzcGFjZUluZGV4ICYmIG1VYVNlcnZlcikgew0KKyAgICAgICAgICAgIFVBX1NlcnZlcl9kZWxldGVOb2RlKG1VYVNlcnZlciwgKigqaXRlclJlZiktPm1Ob2RlSWQsIFVBX1RSVUUpOw0KKyAgICAgICAgICB9DQorICAgICAgICB9DQorICAgICAgICBicmVhazsNCisgICAgICB9DQorICAgIH0NCisgICAgaWYobU5vZGVzUmVmZXJlbmNlcy5lbmQoKSAhPSBub2RlUmVmZXJlbmNlZFRvRGVsZXRlKSB7DQorICAgICAgbm9kZXNSZWZlcmVuY2VkQnlBY3Rpb25zICp0b0RlbGV0ZSA9ICpub2RlUmVmZXJlbmNlZFRvRGVsZXRlOw0KKyAgICAgIG1Ob2Rlc1JlZmVyZW5jZXMuZXJhc2UodG9EZWxldGUpOw0KKyAgICAgIFVBX05vZGVJZF9kZWxldGUoY29uc3RfY2FzdDxVQV9Ob2RlSWQqPih0b0RlbGV0ZS0+bU5vZGVJZCkpOw0KKyAgICAgIGRlbGV0ZSB0b0RlbGV0ZTsNCisgICAgfQ0KKyAgfQ0KK30NCisNCit2b2lkIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6Z2V0Tm9kZXNSZWZlcmVuY2VkQnlBY3Rpb24oY29uc3QgQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbywgQ1NpbmdseUxpbmtlZExpc3Q8Y29uc3QgVUFfTm9kZUlkICo+ICZwYU5vZGVzKSB7DQorICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8bm9kZXNSZWZlcmVuY2VkQnlBY3Rpb25zICo+OjpJdGVyYXRvciBpdGVyUmVmID0gbU5vZGVzUmVmZXJlbmNlcy5iZWdpbigpOyBpdGVyUmVmICE9IG1Ob2Rlc1JlZmVyZW5jZXMuZW5kKCk7ICsraXRlclJlZikgew0KKyAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm8gKj46Okl0ZXJhdG9yIGl0ZXJBY3Rpb24gPSAoKml0ZXJSZWYpLT5tQWN0aW9uc1JlZmVyZW5jaW5nSXQuYmVnaW4oKTsNCisgICAgICAgIGl0ZXJBY3Rpb24gIT0gKCppdGVyUmVmKS0+bUFjdGlvbnNSZWZlcmVuY2luZ0l0LmVuZCgpOyArK2l0ZXJBY3Rpb24pIHsNCisgICAgICBpZigoKml0ZXJBY3Rpb24pID09ICZwYUFjdGlvbkluZm8pIHsNCisgICAgICAgIHBhTm9kZXMucHVzaEZyb250KCgqaXRlclJlZiktPm1Ob2RlSWQpOw0KKyAgICAgICAgYnJlYWs7DQorICAgICAgfQ0KKyAgICB9DQorICB9DQorfQ0KKw0KKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01VTFRJQ0FTVA0KKw0KK2NvbnN0IFVBX1N0cmluZyogQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpnZXREaXNjb3ZlcnlVcmwoKSBjb25zdCB7DQorDQorI2lmZGVmIEZPUlRFX0NPTV9PUENfVUFfTUFTVEVSX0JSQU5DSA0KKyAgVUFfU2VydmVyQ29uZmlnICptU2VydmVyQ29uZmlnID0gVUFfU2VydmVyX2dldENvbmZpZyhtVWFTZXJ2ZXIpOyAvL2NoYW5nZSBtU2VydmVyQ29uZmlnIHRvIHNlcnZlckNvbmZpZyB3aGVuIG9ubHkgbWFzdGVyIGJyYW5jaCBpcyBwcmVzZW50DQorI2Vsc2UNCisgIC8vZG8gbm90aGluZw0KKyNlbmRpZg0KKyAgaWYoMCA9PSBtU2VydmVyQ29uZmlnLT5uZXR3b3JrTGF5ZXJzU2l6ZSkgew0KKyAgICByZXR1cm4gMDsNCisgIH0NCisgIHJldHVybiAmbVNlcnZlckNvbmZpZy0+bmV0d29ya0xheWVyc1swXS5kaXNjb3ZlcnlVcmw7DQorfQ0KKw0KK3ZvaWQgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpzZXJ2ZXJPbk5ldHdvcmtDYWxsYmFjayhjb25zdCBVQV9TZXJ2ZXJPbk5ldHdvcmsgKnBhU2VydmVyT25OZXR3b3JrLCBVQV9Cb29sZWFuIHBhSXNTZXJ2ZXJBbm5vdW5jZSwgVUFfQm9vbGVhbiBwYUlzVHh0UmVjZWl2ZWQsDQorICAgIHZvaWQgKnBhRGF0YSkgeyAvL05PU09OQVINCisgIENPUENfVUFfTG9jYWxfSGFuZGxlciAqaGFuZGxlciA9IHN0YXRpY19jYXN0PENPUENfVUFfTG9jYWxfSGFuZGxlcio+KHBhRGF0YSk7DQorDQorICBjb25zdCBVQV9TdHJpbmcgKm93bkRpc2NvdmVyVXJsID0gaGFuZGxlci0+Z2V0RGlzY292ZXJ5VXJsKCk7DQorDQorICBpZighb3duRGlzY292ZXJVcmwgfHwgVUFfU3RyaW5nX2VxdWFsKCZwYVNlcnZlck9uTmV0d29yay0+ZGlzY292ZXJ5VXJsLCBvd25EaXNjb3ZlclVybCkpIHsNCisgICAgLy8gc2tpcCBzZWxmDQorICAgIHJldHVybjsNCisgIH0NCisNCisgIGlmKCFwYUlzVHh0UmVjZWl2ZWQpIHsNCisgICAgcmV0dXJuOyAvLyB3ZSB3YWl0IHVudGlsIHRoZSBjb3JyZXNwb25kaW5nIFRYVCByZWNvcmQgaXMgYW5ub3VuY2VkLg0KKyAgfQ0KKw0KKyAgREVWTE9HX0RFQlVHKCJbT1BDIFVBIExPQ0FMXTogbUROUyAlcyAnJS4qcycgd2l0aCB1cmwgJyUuKnMnXG4iLCBwYUlzU2VydmVyQW5ub3VuY2UgPyAiYW5ub3VuY2UiIDogInJlbW92ZSIsIHBhU2VydmVyT25OZXR3b3JrLT5zZXJ2ZXJOYW1lLmxlbmd0aCwNCisgICAgICBwYVNlcnZlck9uTmV0d29yay0+c2VydmVyTmFtZS5kYXRhLCBwYVNlcnZlck9uTmV0d29yay0+ZGlzY292ZXJ5VXJsLmxlbmd0aCwgcGFTZXJ2ZXJPbk5ldHdvcmstPmRpc2NvdmVyeVVybC5kYXRhKTsNCisNCisgIC8vIGNoZWNrIGlmIHNlcnZlciBpcyBMRFMsIGFuZCB0aGVuIHJlZ2lzdGVyDQorICBVQV9TdHJpbmcgbGRzU3RyID0gVUFfU3RyaW5nX2Zyb21DaGFycygiTERTIik7DQorICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgcGFTZXJ2ZXJPbk5ldHdvcmstPnNlcnZlckNhcGFiaWxpdGllc1NpemU7IGkrKykgew0KKyAgICBpZihVQV9TdHJpbmdfZXF1YWwoJnBhU2VydmVyT25OZXR3b3JrLT5zZXJ2ZXJDYXBhYmlsaXRpZXNbaV0sICZsZHNTdHIpKSB7DQorICAgICAgaWYocGFJc1NlcnZlckFubm91bmNlKSB7DQorICAgICAgICBoYW5kbGVyLT5yZWdpc3RlcldpdGhMZHMoJnBhU2VydmVyT25OZXR3b3JrLT5kaXNjb3ZlcnlVcmwpOw0KKyAgICAgIH0gZWxzZSB7DQorICAgICAgICBoYW5kbGVyLT5yZW1vdmVMZHNSZWdpc3RlcigmcGFTZXJ2ZXJPbk5ldHdvcmstPmRpc2NvdmVyeVVybCk7DQorICAgICAgfQ0KKyAgICAgIGJyZWFrOw0KKyAgICB9DQorICB9DQorICBVQV9TdHJpbmdfZGVsZXRlTWVtYmVycygmbGRzU3RyKTsNCit9DQorDQordm9pZCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OnJlZ2lzdGVyV2l0aExkcyhjb25zdCBVQV9TdHJpbmcgKnBhRGlzY292ZXJ5VXJsKSB7DQorICAvLyBjaGVjayBpZiBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCB0aGUgZ2l2ZW4gTERTDQorICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8VUFfU3RyaW5nKj46Okl0ZXJhdG9yIGl0ZXIgPSBtUmVnaXN0ZXJlZFdpdGhMZHMuYmVnaW4oKTsgaXRlciAhPSBtUmVnaXN0ZXJlZFdpdGhMZHMuZW5kKCk7ICsraXRlcikgew0KKyAgICBpZihVQV9TdHJpbmdfZXF1YWwocGFEaXNjb3ZlcnlVcmwsICppdGVyKSkgew0KKyAgICAgIHJldHVybjsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgLy8gd2lsbCBiZSBmcmVlZCB3aGVuIHJlbW92ZWQgZnJvbSBsaXN0DQorICBVQV9TdHJpbmcgKmRpc2NvdmVyeVVybENoYXIgPSAwOw0KKyAgVUFfU3RyaW5nX2NvcHkocGFEaXNjb3ZlcnlVcmwsIGRpc2NvdmVyeVVybENoYXIpOw0KKw0KKyAgbVJlZ2lzdGVyZWRXaXRoTGRzLnB1c2hGcm9udChkaXNjb3ZlcnlVcmxDaGFyKTsNCisgIERFVkxPR19JTkZPKCJbT1BDIFVBIExPQ0FMXTogUmVnaXN0ZXJpbmcgd2l0aCBMRFMgJyUuKnMnXG4iLCBwYURpc2NvdmVyeVVybC0+bGVuZ3RoLCBwYURpc2NvdmVyeVVybC0+ZGF0YSk7DQorICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NlcnZlcl9hZGRQZXJpb2RpY1NlcnZlclJlZ2lzdGVyQ2FsbGJhY2sobVVhU2VydmVyLA0KKyNpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gNCisgICAgICAwLA0KKyNlbHNlIC8vRk9SVEVfQ09NX09QQ19VQV9NQVNURVJfQlJBTkNIDQorICAgICAgLy9ub3RoaW5nIGhlcmUNCisjZW5kaWYgLy9GT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gNCisgICAgICByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihkaXNjb3ZlcnlVcmxDaGFyLT5kYXRhKSwgMTAgKiA2MCAqIDEwMDAsIDUwMCwgMCk7DQorICBpZiggVUFfU1RBVFVTQ09ERV9HT09EICE9IHJldFZhbCkgew0KKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBDb3VsZCBub3QgcmVnaXN0ZXIgd2l0aCBMRFMuIEVycm9yOiAlc1xuIiwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgfQ0KK30NCisNCit2b2lkIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6cmVtb3ZlTGRzUmVnaXN0ZXIoY29uc3QgVUFfU3RyaW5nICpwYURpc2NvdmVyeVVybCkgew0KKyAgVUFfU3RyaW5nICp0b0RlbGV0ZSA9IDA7DQorICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8VUFfU3RyaW5nKj46Okl0ZXJhdG9yIGl0ZXIgPSBtUmVnaXN0ZXJlZFdpdGhMZHMuYmVnaW4oKTsgaXRlciAhPSBtUmVnaXN0ZXJlZFdpdGhMZHMuZW5kKCk7ICsraXRlcikgew0KKyAgICBpZihVQV9TdHJpbmdfZXF1YWwocGFEaXNjb3ZlcnlVcmwsICppdGVyKSkgew0KKyAgICAgIHRvRGVsZXRlID0gKml0ZXI7DQorICAgICAgYnJlYWs7DQorICAgIH0NCisgIH0NCisgIGlmKHRvRGVsZXRlKSB7DQorICAgIG1SZWdpc3RlcmVkV2l0aExkcy5lcmFzZSh0b0RlbGV0ZSk7DQorICAgIFVBX1N0cmluZ19kZWxldGUodG9EZWxldGUpOw0KKyAgfQ0KK30NCisNCisjZW5kaWYgLy9GT1JURV9DT01fT1BDX1VBX01VTFRJQ0FTVA0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjppbml0aWFsaXplQWN0aW9uKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pIHsNCisgIGVuYWJsZUhhbmRsZXIoKTsNCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURJTlRFUk5BTEVSUk9SOw0KKyAgaWYobVVhU2VydmVyKSB7IC8vaWYgdGhlIHNlcnZlciBmYWlsZWQgYXQgc3RhcnRpbmcsIG5vdGhpbmcgd2lsbCBiZSBpbml0aWFsaXplZA0KKyAgICAvLyBvdGhlciB0aHJlYWQgbWF5IGN1cnJlbnRseSBjcmVhdGUgbm9kZXMsIHRodXMgbXV0ZXgNCisgICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1DcmVhdGVOb2Rlc011dGV4KTsNCisgICAgc3dpdGNoKHBhQWN0aW9uSW5mby5nZXRBY3Rpb24oKSl7DQorICAgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZVJlYWQ6DQorICAgICAgICByZXRWYWwgPSBpbml0aWFsaXplVmFyaWFibGUocGFBY3Rpb25JbmZvLCBmYWxzZSk7DQorICAgICAgICBicmVhazsNCisgICAgICBjYXNlIENBY3Rpb25JbmZvOjplV3JpdGU6DQorICAgICAgICByZXRWYWwgPSBpbml0aWFsaXplVmFyaWFibGUocGFBY3Rpb25JbmZvLCB0cnVlKTsNCisgICAgICAgIGJyZWFrOw0KKyAgICAgIGNhc2UgQ0FjdGlvbkluZm86OmVDcmVhdGVNZXRob2Q6DQorICAgICAgICByZXRWYWwgPSBpbml0aWFsaXplQ3JlYXRlTWV0aG9kKHBhQWN0aW9uSW5mbyk7DQorICAgICAgICBicmVhazsNCisgICAgICBjYXNlIENBY3Rpb25JbmZvOjplQ3JlYXRlT2JqZWN0Og0KKyAgICAgICAgcmV0VmFsID0gaW5pdGlhbGl6ZUNyZWF0ZU9iamVjdChwYUFjdGlvbkluZm8pOw0KKyAgICAgICAgYnJlYWs7DQorICAgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZURlbGV0ZU9iamVjdDoNCisgICAgICAgIHJldFZhbCA9IGluaXRpYWxpemVEZWxldGVPYmplY3QocGFBY3Rpb25JbmZvKTsNCisgICAgICAgIGJyZWFrOw0KKyAgICAgIGNhc2UgQ0FjdGlvbkluZm86OmVDYWxsTWV0aG9kOg0KKyAgICAgIGNhc2UgQ0FjdGlvbkluZm86OmVTdWJzY3JpYmU6DQorICAgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBDYW5ub3QgcGVyZm9ybSBhY3Rpb24gJXMgbG9jYWxseS4gSW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iLCBDQWN0aW9uSW5mbzo6bUFjdGlvbk5hbWVzW3BhQWN0aW9uSW5mby5nZXRBY3Rpb24oKV0pOw0KKyAgICAgICAgYnJlYWs7DQorICAgICAgZGVmYXVsdDoNCisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IFVua25vd24gYWN0aW9uICVkIHRvIGJlIGluaXRpYWxpemVkXG4iLCBwYUFjdGlvbkluZm8uZ2V0QWN0aW9uKCkpOw0KKyAgICAgICAgYnJlYWs7DQorICAgIH0NCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpleGVjdXRlQWN0aW9uKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pIHsNCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURJTlRFUk5BTEVSUk9SOw0KKw0KKyAgc3dpdGNoKHBhQWN0aW9uSW5mby5nZXRBY3Rpb24oKSl7DQorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVXcml0ZToNCisgICAgICByZXRWYWwgPSBleGVjdXRlV3JpdGUocGFBY3Rpb25JbmZvKTsNCisgICAgICBicmVhazsNCisgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZUNyZWF0ZU1ldGhvZDoNCisgICAgICByZXRWYWwgPSBleGVjdXRlQ3JlYXRlTWV0aG9kKHBhQWN0aW9uSW5mbyk7DQorICAgICAgYnJlYWs7DQorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVDcmVhdGVPYmplY3Q6DQorICAgICAgcmV0VmFsID0gZXhlY3V0ZUNyZWF0ZU9iamVjdChwYUFjdGlvbkluZm8pOw0KKyAgICAgIGJyZWFrOw0KKyAgICBjYXNlIENBY3Rpb25JbmZvOjplRGVsZXRlT2JqZWN0Og0KKyAgICAgIHJldFZhbCA9IGV4ZWN1dGVEZWxldGVPYmplY3QocGFBY3Rpb25JbmZvKTsNCisgICAgICBicmVhazsNCisgICAgZGVmYXVsdDogLy9lQ2FsbE1ldGhvZCwgZVN1YnNjcmliZSB3aWxsIG5ldmVyIHJlYWNoIGhlcmUgc2luY2UgdGhleSB3ZXJlbid0IGluaXRpYWxpemVkLiBlUmVhZCBpcyBhIFN1YnNjcmliZSBGQg0KKyAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IEFjdGlvbiAlZCB0byBiZSBleGVjdXRlZCBpcyB1bmtub3duIG9yIGludmFsaWRcbiIsIHBhQWN0aW9uSW5mby5nZXRBY3Rpb24oKSk7DQorICAgICAgYnJlYWs7DQorICB9DQorDQorICByZXR1cm4gcmV0VmFsOw0KK30NCisNCitVQV9TdGF0dXNDb2RlIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6dW5pbml0aWFsaXplQWN0aW9uKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pIHsNCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURJTlRFUk5BTEVSUk9SOw0KKyAgc3dpdGNoKHBhQWN0aW9uSW5mby5nZXRBY3Rpb24oKSl7DQorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVSZWFkOg0KKyAgICBjYXNlIENBY3Rpb25JbmZvOjplV3JpdGU6DQorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVDcmVhdGVNZXRob2Q6DQorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVDcmVhdGVPYmplY3Q6DQorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVEZWxldGVPYmplY3Q6DQorICAgICAgcmVmZXJlbmNlZE5vZGVzRGVjcmVtZW50KHBhQWN0aW9uSW5mbyk7DQorICAgICAgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOw0KKyAgICAgIGJyZWFrOw0KKyAgICBkZWZhdWx0Og0KKyAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IEFjdGlvbiAlZCB0byBiZSB1bmluaXRpYWxpemVkIGlzIHVua25vd24gb3IgaW52YWxpZFxuIiwgcGFBY3Rpb25JbmZvLmdldEFjdGlvbigpKTsNCisgICAgICBicmVhazsNCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjppbml0aWFsaXplVmFyaWFibGUoQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbywgYm9vbCBwYVdyaXRlKSB7DQorICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfR09PRDsNCisNCisgIHNpemVfdCBpbmRleE9mTm9kZVBhaXIgPSAwOw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gcmVmZXJlbmNlZE5vZGVzOw0KKyAgY29uc3QgQ0lFQ19BTlkgKnZhcmlhYmxlcyA9IHBhV3JpdGUgPyBwYUFjdGlvbkluZm8uZ2V0RGF0YVRvU2VuZCgpIDogcGFBY3Rpb25JbmZvLmdldERhdGFUb1JlY2VpdmUoKTsNCisgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyo+OjpJdGVyYXRvciBpdE1haW4gPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsNCisgICAgICBpdE1haW4gIT0gcGFBY3Rpb25JbmZvLmdldE5vZGVQYWlySW5mbygpLmVuZCgpICYmIFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWw7ICsraXRNYWluLCBpbmRleE9mTm9kZVBhaXIrKykgew0KKw0KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiBwcmVzZW50Tm9kZXM7DQorICAgIGJvb2wgaXNOb2RlUHJlc2VudCA9IGZhbHNlOw0KKyAgICByZXRWYWwgPSBnZXROb2RlKCoqaXRNYWluLCBwcmVzZW50Tm9kZXMsICZpc05vZGVQcmVzZW50KTsNCisNCisgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgew0KKyAgICAgIGlmKGlzTm9kZVByZXNlbnQpIHsNCisgICAgICAgIHJldFZhbCA9IGhhbmRsZUV4aXN0aW5nVmFyaWFibGUocGFBY3Rpb25JbmZvLCAqKml0TWFpbiwgdmFyaWFibGVzW2luZGV4T2ZOb2RlUGFpcl0sIGluZGV4T2ZOb2RlUGFpciwgcGFXcml0ZSk7DQorDQorICAgICAgICBoYW5kbGVQcmVzZW50Tm9kZXMocHJlc2VudE5vZGVzLCByZWZlcmVuY2VkTm9kZXMsIFVBX1NUQVRVU0NPREVfR09PRCAhPSByZXRWYWwpOw0KKyAgICAgIH0gZWxzZSB7IC8vbm9kZSBkb2VzIG5vdCBleGlzdA0KKyAgICAgICAgLy9wcmVzZW50Tm9kZXMgc2hvdWxkbid0IGhhdmUgYW55IGFsbG9jYXRlZCBOb2RlSWQgYXQgdGhpcyBwb2ludA0KKyAgICAgICAgcmV0VmFsID0gaGFuZGxlTm9uRXhpc3RpbmdWYXJpYWJsZShwYUFjdGlvbkluZm8sICoqaXRNYWluLCB2YXJpYWJsZXNbaW5kZXhPZk5vZGVQYWlyXSwgaW5kZXhPZk5vZGVQYWlyLCByZWZlcmVuY2VkTm9kZXMsIHBhV3JpdGUpOw0KKyAgICAgIH0NCisgICAgfQ0KKyAgfQ0KKw0KKyAgLy93ZSBhZGQgdGhlIHJlZmVyZW5jZXMgZmlyc3QgZXZlbiBpZiBpdCBmYWlscywgc2luY2Ugc29tZSBub2RlcyBtaWdodCBoYXZlIGJlZW4gY3JlYXRlZCwNCisgIC8vYW5kL29yIHNvbWUgbWlnaHQgaGF2ZSBiZWVuIGFscmVhZHkgdGhlcmUsIHNvIGRlbGV0aW5nIHRoZW0gd2lsbCBiZSB0YWtlbiBjYXJlIG9mIGJ5DQorICAvL3RoZSByZWZlcmVuY2VkTm9kZXNEZWNyZW1lbnQgZnVuY3Rpb24gbGF0ZXINCisgIHJlZmVyZW5jZWROb2Rlc0luY3JlbWVudChyZWZlcmVuY2VkTm9kZXMsIHBhQWN0aW9uSW5mbyk7DQorDQorICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKSB7DQorICAgIHJlZmVyZW5jZWROb2Rlc0RlY3JlbWVudChwYUFjdGlvbkluZm8pOw0KKyAgfQ0KKw0KKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+OjpJdGVyYXRvciBpdFJlcmVuY2VkTm9kZXMgPSByZWZlcmVuY2VkTm9kZXMuYmVnaW4oKTsgaXRSZXJlbmNlZE5vZGVzICE9IHJlZmVyZW5jZWROb2Rlcy5lbmQoKTsgKytpdFJlcmVuY2VkTm9kZXMpIHsNCisgICAgVUFfTm9kZUlkX2RlbGV0ZSgqaXRSZXJlbmNlZE5vZGVzKTsNCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpoYW5kbGVFeGlzdGluZ1ZhcmlhYmxlKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8sIENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvICZwYU5vZGVQYWlySW5mbywgY29uc3QgQ0lFQ19BTlkgJnBhVmFyaWFibGUsDQorICAgIHNpemVfdCBwYUluZGV4T2ZOb2RlUGFpciwgYm9vbCBwYVdyaXRlKSB7DQorDQorICBVQV9Ob2RlSWQgb3V0RGF0YVR5cGU7DQorICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NlcnZlcl9yZWFkRGF0YVR5cGUobVVhU2VydmVyLCAqcGFOb2RlUGFpckluZm8ubU5vZGVJZCwgJm91dERhdGFUeXBlKTsNCisNCisgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWwpIHsNCisgICAgaWYoVUFfTm9kZUlkX2VxdWFsKCZvdXREYXRhVHlwZSwgJkNPUENfVUFfSGVscGVyOjpnZXRPUENVQVR5cGVGcm9tQW55KHBhVmFyaWFibGUpLT50eXBlSWQpKSB7DQorICAgICAgaWYoIXBhV3JpdGUpIHsgLy9JZiB3ZSBhcmUgcmVhZGluZyBhIHZhcmlhYmxlLCBpdCBzaG91bGQgYmUgd3JpdGFibGUgZnJvbSB0aGUgb3V0c2lkZQ0KKyAgICAgICAgcmV0VmFsID0gYWRkV3JpdGVQZXJtaXNzaW9uKCpwYU5vZGVQYWlySW5mby5tTm9kZUlkKTsNCisgICAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWwpIHsNCisgICAgICAgICAgdm9pZCAqaGFuZGxlID0gMDsNCisgICAgICAgICAgcmV0VmFsID0gVUFfU2VydmVyX2dldE5vZGVDb250ZXh0KG1VYVNlcnZlciwgKnBhTm9kZVBhaXJJbmZvLm1Ob2RlSWQsICZoYW5kbGUpOw0KKyAgICAgICAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7DQorICAgICAgICAgICAgaWYoIWhhbmRsZSkgew0KKyAgICAgICAgICAgICAgcmV0VmFsID0gcmVnaXN0ZXJWYXJpYWJsZUNhbGxCYWNrKCpwYU5vZGVQYWlySW5mby5tTm9kZUlkLCBwYUFjdGlvbkluZm8sIHBhSW5kZXhPZk5vZGVQYWlyKTsNCisgICAgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIExPQ0FMXTogQXQgRkIgJXMgUkRfJWQgdGhlIG5vZGUgJXMgaGFzIGFscmVhZHkgYSBGQiB3aG8gaXMgcmVhZGluZyBmcm9tIGl0LiBDYW5ub3QgYWRkIGFub3RoZXIgb25lXG4iLA0KKyAgICAgICAgICAgICAgICBwYUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIHBhSW5kZXhPZk5vZGVQYWlyLCBwYU5vZGVQYWlySW5mby5tQnJvd3NlUGF0aC5nZXRWYWx1ZSgpKTsNCisgICAgICAgICAgICAgIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFEVU5FWFBFQ1RFREVSUk9SOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBBdCBGQiAlcyBSRF8lZCB0aGUgbm9kZSAlcyBjb3VsZCBub3QgcmV0cmlldmUgY29udGV4dC4gRXJyb3I6ICVzXG4iLA0KKyAgICAgICAgICAgICAgcGFBY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCBwYUluZGV4T2ZOb2RlUGFpciwgcGFOb2RlUGFpckluZm8ubUJyb3dzZVBhdGguZ2V0VmFsdWUoKSwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgICAgICAgICB9DQorICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBDYW5ub3Qgc2V0IHdyaXRlIHBlcm1pc3Npb24gb2Ygbm9kZSBmb3IgcG9ydCAlZC4gRXJyb3I6ICVzXG4iLCBwYUluZGV4T2ZOb2RlUGFpciwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgICAgICAgfQ0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsNCisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBBdCBGQiAlcyBpbmRleCAlZCB0aGVyZSB3YXMgdGhlIHR5cGUgb2YgdGhlIGV4aXN0aW5nIG5vZGUgZG9lc24ndCBtYXRjaCB0aGUgbmV3IG9uZVxuIiwNCisgICAgICAgIHBhQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwgcGFJbmRleE9mTm9kZVBhaXIpOw0KKyAgICAgIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFEVU5FWFBFQ1RFREVSUk9SOw0KKyAgICB9DQorICB9IGVsc2Ugew0KKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBBdCBGQiAlcyBpbmRleCAlZCB0aGVyZSB3YXMgYSBwcm9ibGVtIHJlYWRpbmcgdGhlIHR5cGUgb2YgdGhlIGV4aXN0aW5nIG5vZGUuIEVycm9yOiAlc1xuIiwNCisgICAgICBwYUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+Z2V0SW5zdGFuY2VOYW1lKCksIHBhSW5kZXhPZk5vZGVQYWlyLCBVQV9TdGF0dXNDb2RlX25hbWUocmV0VmFsKSk7DQorICB9DQorDQorICByZXR1cm4gcmV0VmFsOw0KK30NCisNCitVQV9TdGF0dXNDb2RlIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6aGFuZGxlTm9uRXhpc3RpbmdWYXJpYWJsZShDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvLCBDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyAmcGFOb2RlUGFpckluZm8sDQorICAgIGNvbnN0IENJRUNfQU5ZICZwYVZhcmlhYmxlLCBzaXplX3QgcGFJbmRleE9mTm9kZVBhaXIsIENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+ICZwYVJlZmVyZW5jZWROb2RlcywgYm9vbCBwYVdyaXRlKSB7DQorDQorICBDSUVDX1NUUklORyBub2RlTmFtZTsNCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gc3BsaXRBbmRDcmVhdGVGb2xkZXJzKHBhTm9kZVBhaXJJbmZvLm1Ccm93c2VQYXRoLCBub2RlTmFtZSwgcGFSZWZlcmVuY2VkTm9kZXMpOw0KKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgew0KKyAgICBDQ3JlYXRlVmFyaWFibGVJbmZvIHZhcmlhYmxlSW5mb3JtYXRpb247DQorICAgIGluaXRpYWxpemVDcmVhdGVJbmZvKG5vZGVOYW1lLCBwYU5vZGVQYWlySW5mbywgcGFSZWZlcmVuY2VkTm9kZXMuaXNFbXB0eSgpID8gMCA6ICoocGFSZWZlcmVuY2VkTm9kZXMuYmFjaygpKSwgdmFyaWFibGVJbmZvcm1hdGlvbik7DQorDQorICAgIHZhcmlhYmxlSW5mb3JtYXRpb24ubVR5cGVDb252ZXJ0ID0gQ09QQ19VQV9IZWxwZXI6OmdldE9QQ1VBVHlwZUZyb21BbnkocGFWYXJpYWJsZSk7DQorICAgIHZhcmlhYmxlSW5mb3JtYXRpb24ubUluaXREYXRhID0gJnBhVmFyaWFibGU7DQorICAgIHZhcmlhYmxlSW5mb3JtYXRpb24ubUFsbG93V3JpdGUgPSAhcGFXcml0ZTsgLy8gd3JpdGUgRkIgaGVyZSBtZWFucyB0aGF0IGZyb20gdGhlIG91dHNpZGUgc2hvdWxkIG5vdCBiZSBwb3NzaWJsZSB0byB3cml0ZSBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQgZm9yIHJlYWQNCisNCisgICAgcmV0VmFsID0gY3JlYXRlVmFyaWFibGVOb2RlKHZhcmlhYmxlSW5mb3JtYXRpb24pOw0KKyAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7DQorICAgICAgVUFfTm9kZUlkICp0bXAgPSBVQV9Ob2RlSWRfbmV3KCk7DQorICAgICAgVUFfTm9kZUlkX2NvcHkodmFyaWFibGVJbmZvcm1hdGlvbi5tUmV0dXJuZWROb2RlSWQsIHRtcCk7DQorICAgICAgcGFSZWZlcmVuY2VkTm9kZXMucHVzaEJhY2sodG1wKTsNCisgICAgICBpZighcGFXcml0ZSkgew0KKyAgICAgICAgcmV0VmFsID0gcmVnaXN0ZXJWYXJpYWJsZUNhbGxCYWNrKCp2YXJpYWJsZUluZm9ybWF0aW9uLm1SZXR1cm5lZE5vZGVJZCwgcGFBY3Rpb25JbmZvLCBwYUluZGV4T2ZOb2RlUGFpcik7DQorICAgICAgfQ0KKyAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWwpIHsNCisgICAgICAgIGlmKCFwYU5vZGVQYWlySW5mby5tTm9kZUlkKSB7DQorICAgICAgICAgIHBhTm9kZVBhaXJJbmZvLm1Ob2RlSWQgPSBVQV9Ob2RlSWRfbmV3KCk7DQorICAgICAgICAgIFVBX05vZGVJZF9jb3B5KHZhcmlhYmxlSW5mb3JtYXRpb24ubVJldHVybmVkTm9kZUlkLCBwYU5vZGVQYWlySW5mby5tTm9kZUlkKTsNCisgICAgICAgIH0NCisgICAgICB9DQorICAgIH0NCisgIH0NCisNCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpjcmVhdGVWYXJpYWJsZU5vZGUoQ0NyZWF0ZVZhcmlhYmxlSW5mbyAmcGFDcmVhdGVWYXJpYWJsZUluZm8pIHsNCisNCisgIFVBX05vZGVJZCByZXF1ZXN0ZWROb2RlSWQ7DQorICBpZihwYUNyZWF0ZVZhcmlhYmxlSW5mby5tUmVxdWVzdGVkTm9kZUlkKSB7DQorICAgIFVBX05vZGVJZF9jb3B5KHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1SZXF1ZXN0ZWROb2RlSWQsICZyZXF1ZXN0ZWROb2RlSWQpOw0KKyAgfSBlbHNlIHsNCisgICAgcmVxdWVzdGVkTm9kZUlkID0gVUFfTk9ERUlEX05VTUVSSUMocGFDcmVhdGVWYXJpYWJsZUluZm8ubUJyb3dzZU5hbWUtPm5hbWVzcGFjZUluZGV4LCAwKTsgLy9pZiBub3QgcHJvdmlkZWQsIGxldCB0aGUgc2VydmVyIGdlbmVyYXRlIHRoZSBOb2RlSWQgdXNpbmcgdGhlIG5hbWVzcGFjZSBmcm9tIHRoZSBicm93c2VuYW1lDQorICB9DQorICBVQV9Ob2RlSWQgcGFyZW50Tm9kZUlkOw0KKyAgaWYocGFDcmVhdGVWYXJpYWJsZUluZm8ubVBhcmVudE5vZGVJZCkgew0KKyAgICBVQV9Ob2RlSWRfY29weShwYUNyZWF0ZVZhcmlhYmxlSW5mby5tUGFyZW50Tm9kZUlkLCAmcGFyZW50Tm9kZUlkKTsNCisgIH0gZWxzZSB7DQorICAgIHBhcmVudE5vZGVJZCA9IFVBX05PREVJRF9OVU1FUklDKDAsIFVBX05TMElEX1JPT1RGT0xERVIpOw0KKyAgICBERVZMT0dfV0FSTklORygNCisgICAgICAiW09QQyBVQSBMT0NBTF06IFlvdSBhcmUgY3JlYXRpbmcgYSB2YXJpYWJsZSAlLipzIGluIHRoZSAvUm9vdCBmb2xkZXIuIFRoaXMgaXMgbm90IGEgZ29vZCBwcmFjdGljZS4gVHJ5IHRvIGNyZWF0ZSB0aGVtIGluIHRoZSAvUm9vdC9PYmplY3RzIGZvbGRlclxuIiwNCisgICAgICBwYUNyZWF0ZVZhcmlhYmxlSW5mby5tQnJvd3NlTmFtZS0+bmFtZS5sZW5ndGgsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1Ccm93c2VOYW1lLT5uYW1lLmRhdGEpKTsNCisgIH0NCisNCisgIHZvaWQgKnBhVmFyVmFsdWUgPSBVQV9uZXcocGFDcmVhdGVWYXJpYWJsZUluZm8ubVR5cGVDb252ZXJ0KTsNCisNCisgIFVBX2luaXQocGFWYXJWYWx1ZSwgcGFDcmVhdGVWYXJpYWJsZUluZm8ubVR5cGVDb252ZXJ0KTsNCisgIENPUENfVUFfSGVscGVyOjpjb252ZXJ0VG9PUENVQVR5cGUoKnBhQ3JlYXRlVmFyaWFibGVJbmZvLm1Jbml0RGF0YSwgcGFWYXJWYWx1ZSk7DQorDQorICAvLyBjcmVhdGUgdmFyaWFibGUgYXR0cmlidXRlcw0KKyAgVUFfVmFyaWFibGVBdHRyaWJ1dGVzIHZhcmlhYmxlQXR0cmlidXRlczsNCisgIFVBX1ZhcmlhYmxlQXR0cmlidXRlc19pbml0KCZ2YXJpYWJsZUF0dHJpYnV0ZXMpOw0KKyAgdmFyaWFibGVBdHRyaWJ1dGVzLmRhdGFUeXBlID0gcGFDcmVhdGVWYXJpYWJsZUluZm8ubVR5cGVDb252ZXJ0LT50eXBlSWQ7DQorICB2YXJpYWJsZUF0dHJpYnV0ZXMudmFsdWVSYW5rID0gLTE7IC8vIHZhbHVlIGlzIGEgc2NhbGFyDQorICB2YXJpYWJsZUF0dHJpYnV0ZXMuZGlzcGxheU5hbWUubG9jYWxlID0gVUFfU1RSSU5HX0FMTE9DKG1FbmdsaXNoTG9jYWxlRm9yTm9kZXMpOw0KKyAgVUFfU3RyaW5nX2NvcHkoJnBhQ3JlYXRlVmFyaWFibGVJbmZvLm1Ccm93c2VOYW1lLT5uYW1lLCAmdmFyaWFibGVBdHRyaWJ1dGVzLmRpc3BsYXlOYW1lLnRleHQpOw0KKyAgdmFyaWFibGVBdHRyaWJ1dGVzLmRlc2NyaXB0aW9uID0gVUFfTE9DQUxJWkVEVEVYVF9BTExPQyhtRW5nbGlzaExvY2FsZUZvck5vZGVzLCBtRGVmYXVsdERlc2NyaXB0aW9uRm9yVmFyaWFibGVOb2Rlcyk7DQorICB2YXJpYWJsZUF0dHJpYnV0ZXMudXNlckFjY2Vzc0xldmVsID0gVUFfQUNDRVNTTEVWRUxNQVNLX1JFQUQ7DQorICBpZihwYUNyZWF0ZVZhcmlhYmxlSW5mby5tQWxsb3dXcml0ZSkgew0KKyAgICB2YXJpYWJsZUF0dHJpYnV0ZXMudXNlckFjY2Vzc0xldmVsIHw9IFVBX0FDQ0VTU0xFVkVMTUFTS19XUklURTsNCisgIH0NCisgIHZhcmlhYmxlQXR0cmlidXRlcy5hY2Nlc3NMZXZlbCA9IHZhcmlhYmxlQXR0cmlidXRlcy51c2VyQWNjZXNzTGV2ZWw7DQorICBVQV9WYXJpYW50X3NldFNjYWxhcigmdmFyaWFibGVBdHRyaWJ1dGVzLnZhbHVlLCBwYVZhclZhbHVlLCBwYUNyZWF0ZVZhcmlhYmxlSW5mby5tVHlwZUNvbnZlcnQpOw0KKw0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TZXJ2ZXJfYWRkVmFyaWFibGVOb2RlKG1VYVNlcnZlciwgLy8gc2VydmVyDQorICAgIHJlcXVlc3RlZE5vZGVJZCwgLy8gcmVxdWVzdGVkTmV3Tm9kZUlkDQorICAgIHBhcmVudE5vZGVJZCwgLy8gcGFyZW50Tm9kZUlkDQorICAgIFVBX05PREVJRF9OVU1FUklDKDAsIFVBX05TMElEX0hBU0NPTVBPTkVOVCksIC8vIHJlZmVyZW5jZVR5cGVJZCAgIFJlZmVyZW5jZSB0byB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgdmFyaWFibGUgbm9kZQ0KKyAgICAqcGFDcmVhdGVWYXJpYWJsZUluZm8ubUJyb3dzZU5hbWUsIC8vIGJyb3dzZU5hbWUNCisgICAgVUFfTk9ERUlEX05VTUVSSUMoMCwgVUFfTlMwSURfQkFTRURBVEFWQVJJQUJMRVRZUEUpLCAvLyB0eXBlRGVmaW5pdGlvbg0KKyAgICB2YXJpYWJsZUF0dHJpYnV0ZXMsIC8vIFZhcmlhYmxlIGF0dHJpYnV0ZXMNCisgICAgMCwgLy8gaW5zdGFudGlhdGlvbiBjYWxsYmFjaw0KKyAgICBwYUNyZWF0ZVZhcmlhYmxlSW5mby5tUmV0dXJuZWROb2RlSWQpOyAvLyByZXR1cm4gTm9kZSBJZA0KKw0KKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EICE9IHJldFZhbCkgew0KKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBBZGRyZXNzU3BhY2UgYWRkaW5nIFZhcmlhYmxlIE5vZGUgJXMgZmFpbGVkLiBFcnJvcjogJXNcbiIsIHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1Ccm93c2VOYW1lLT5uYW1lLmRhdGEsDQorICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgfQ0KKyAgVUFfTm9kZUlkX2RlbGV0ZU1lbWJlcnMoJnBhcmVudE5vZGVJZCk7DQorICBVQV9Ob2RlSWRfZGVsZXRlTWVtYmVycygmcmVxdWVzdGVkTm9kZUlkKTsNCisgIFVBX1ZhcmlhYmxlQXR0cmlidXRlc19kZWxldGVNZW1iZXJzKCZ2YXJpYWJsZUF0dHJpYnV0ZXMpOw0KKyAgcmV0dXJuIHJldFZhbDsNCit9DQorDQorVUFfU3RhdHVzQ29kZSBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OnVwZGF0ZU5vZGVWYWx1ZShjb25zdCBVQV9Ob2RlSWQgJnBhTm9kZUlkLCBjb25zdCBDSUVDX0FOWSAqcGFEYXRhKSB7DQorICBVQV9WYXJpYW50ICpub2RlVmFsdWUgPSBVQV9WYXJpYW50X25ldygpOw0KKyAgVUFfVmFyaWFudF9pbml0KG5vZGVWYWx1ZSk7DQorDQorICBjb25zdCBVQV9EYXRhVHlwZSogZGF0YVR5cGUgPSBDT1BDX1VBX0hlbHBlcjo6Z2V0T1BDVUFUeXBlRnJvbUFueSgqcGFEYXRhKTsNCisgIHZvaWQgKnZhclZhbHVlID0gVUFfbmV3KGRhdGFUeXBlKTsNCisgIENPUENfVUFfSGVscGVyOjpjb252ZXJ0VG9PUENVQVR5cGUoKnBhRGF0YSwgdmFyVmFsdWUpOw0KKyAgVUFfVmFyaWFudF9zZXRTY2FsYXJDb3B5KG5vZGVWYWx1ZSwgdmFyVmFsdWUsIGRhdGFUeXBlKTsNCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU2VydmVyX3dyaXRlVmFsdWUobVVhU2VydmVyLCBwYU5vZGVJZCwgKm5vZGVWYWx1ZSk7DQorICBVQV9kZWxldGUodmFyVmFsdWUsIGRhdGFUeXBlKTsNCisgIFVBX1ZhcmlhbnRfZGVsZXRlKG5vZGVWYWx1ZSk7DQorICByZXR1cm4gcmV0VmFsOw0KK30NCisNCitVQV9TdGF0dXNDb2RlIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6cmVnaXN0ZXJWYXJpYWJsZUNhbGxCYWNrKGNvbnN0IFVBX05vZGVJZCAmcGFOb2RlSWQsIENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8sIHNpemVfdCBwYVBvcnRJbmRleCkgew0KKw0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TZXJ2ZXJfc2V0VmFyaWFibGVOb2RlX3ZhbHVlQ2FsbGJhY2sobVVhU2VydmVyLCBwYU5vZGVJZCwgeyAwLCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OkNVQV9Mb2NhbENhbGxiYWNrRnVuY3Rpb25zOjpvbldyaXRlIH0pOw0KKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgew0KKw0KKyAgICBVQV9WYXJpYWJsZUNvbnRleHRfSGFuZGxlIHZhcmlhYmxlQ29udGV4dChwYUFjdGlvbkluZm8sIHBhUG9ydEluZGV4KTsNCisgICAgbU5vZGVDYWxsYmFja0hhbmRsZXMucHVzaEZyb250KHZhcmlhYmxlQ29udGV4dCk7DQorICAgIENTaW5nbHlMaW5rZWRMaXN0PFVBX1ZhcmlhYmxlQ29udGV4dF9IYW5kbGU+OjpJdGVyYXRvciBjb250ZXh0SXRlcmF0b3IgPSBtTm9kZUNhbGxiYWNrSGFuZGxlcy5iZWdpbigpOw0KKw0KKyAgICByZXRWYWwgPSBVQV9TZXJ2ZXJfc2V0Tm9kZUNvbnRleHQobVVhU2VydmVyLCBwYU5vZGVJZCwgJigqY29udGV4dEl0ZXJhdG9yKSk7DQorICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCAhPSByZXRWYWwpIHsNCisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBDb3VsZCBub3Qgc2V0IGNhbGxiYWNrIGNvbnRleHQgZm9yIG5vZGUuIEVycm9yOiAlc1xuIiwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgICAgIG1Ob2RlQ2FsbGJhY2tIYW5kbGVzLnBvcEZyb250KCk7DQorICAgICAgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURVTkVYUEVDVEVERVJST1I7DQorICAgIH0NCisgIH0gZWxzZSB7DQorICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IENvdWxkIG5vdCBzZXQgY2FsbGJhY2sgZnVuY3Rpb24gZm9yIG5vZGUuIEVycm9yOiAlc1xuIiwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgICByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0JBRFVORVhQRUNURURFUlJPUjsNCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjphZGRXcml0ZVBlcm1pc3Npb24oY29uc3QgVUFfTm9kZUlkICZwYU5vZGVJZCkgew0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TZXJ2ZXJfd3JpdGVBY2Nlc3NMZXZlbChtVWFTZXJ2ZXIsIHBhTm9kZUlkLCBVQV9BQ0NFU1NMRVZFTE1BU0tfUkVBRCB8IFVBX0FDQ0VTU0xFVkVMTUFTS19XUklURSk7DQorICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKSB7DQorICAgIERFVkxPR19XQVJOSU5HKCJbT1BDIFVBIExPQ0FMXTogQ2Fubm90IHNldCB3cml0ZSBwZXJtaXNzaW9uIG9mIG5vZGUuIEVycm9yOiAlc1xuIiwgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgfQ0KKyAgcmV0dXJuIHJldFZhbDsNCit9DQorDQorVUFfU3RhdHVzQ29kZSBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OmluaXRpYWxpemVDcmVhdGVNZXRob2QoQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbykgew0KKw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gcmVmZXJlbmNlZE5vZGVzOw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gcHJlc2VudE5vZGVzOw0KKw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm86OkNOb2RlUGFpckluZm8qPjo6SXRlcmF0b3IgaXRNZXRob2ROb2RlUGFpckluZm8gPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsNCisNCisgIGJvb2wgaXNOb2RlUHJlc2VudCA9IGZhbHNlOw0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBnZXROb2RlKCoqaXRNZXRob2ROb2RlUGFpckluZm8sIHByZXNlbnROb2RlcywgJmlzTm9kZVByZXNlbnQpOw0KKw0KKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgew0KKyAgICBpZihpc05vZGVQcmVzZW50KSB7DQorDQorICAgICAgVUFfTm9kZUlkIHBhcmVudCA9IFVBX05PREVJRF9OVU1FUklDKDAsIFVBX05TMElEX1JPT1RGT0xERVIpOw0KKw0KKyAgICAgIC8vbG9vayBmb3IgcGFyZW50IG9iamVjdA0KKyAgICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPjo6SXRlcmF0b3IgaXRQcmVzZW50Tm9kZXMgPSBwcmVzZW50Tm9kZXMuYmVnaW4oKTsgaXRQcmVzZW50Tm9kZXMgIT0gcHJlc2VudE5vZGVzLmVuZCgpOykgew0KKyAgICAgICAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj46Okl0ZXJhdG9yIGN1cnJlbnRJdGVyYXRvciA9IGl0UHJlc2VudE5vZGVzOw0KKyAgICAgICAgKytpdFByZXNlbnROb2RlczsNCisgICAgICAgIGlmKGl0UHJlc2VudE5vZGVzID09IHByZXNlbnROb2Rlcy5iYWNrKCkpIHsNCisgICAgICAgICAgcGFyZW50ID0gKipjdXJyZW50SXRlcmF0b3I7DQorICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgfQ0KKyAgICAgIH0NCisNCisgICAgICByZXRWYWwgPSBoYW5kbGVFeGlzdGluZ01ldGhvZChwYUFjdGlvbkluZm8sIHBhcmVudCk7DQorDQorICAgICAgaGFuZGxlUHJlc2VudE5vZGVzKHByZXNlbnROb2RlcywgcmVmZXJlbmNlZE5vZGVzLCBVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKTsNCisgICAgfSBlbHNlIHsgLy9ub2RlIGRvZXMgbm90IGV4aXN0DQorICAgICAgLy9wcmVzZW50Tm9kZXMgc2hvdWxkbid0IGhhdmUgYW55IGFsbG9jYXRlZCBOb2RlSWQgYXQgdGhpcyBwb2ludA0KKw0KKyAgICAgIENJRUNfU1RSSU5HIG5vZGVOYW1lOw0KKyAgICAgIHJldFZhbCA9IHNwbGl0QW5kQ3JlYXRlRm9sZGVycygoKml0TWV0aG9kTm9kZVBhaXJJbmZvKS0+bUJyb3dzZVBhdGgsIG5vZGVOYW1lLCByZWZlcmVuY2VkTm9kZXMpOw0KKyAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWwpIHsNCisgICAgICAgIENDcmVhdGVNZXRob2RJbmZvIG1ldGhvZEluZm9ybWF0aW9uKHN0YXRpY19jYXN0PENMb2NhbE1ldGhvZEluZm8mPihwYUFjdGlvbkluZm8pKTsNCisgICAgICAgIGluaXRpYWxpemVDcmVhdGVJbmZvKG5vZGVOYW1lLCAoKippdE1ldGhvZE5vZGVQYWlySW5mbyksIHJlZmVyZW5jZWROb2Rlcy5pc0VtcHR5KCkgPyAwIDogKihyZWZlcmVuY2VkTm9kZXMuYmFjaygpKSwgbWV0aG9kSW5mb3JtYXRpb24pOw0KKw0KKyAgICAgICAgbWV0aG9kSW5mb3JtYXRpb24ubU91dHB1dFNpemUgPSBwYUFjdGlvbkluZm8uZ2V0U2VuZFNpemUoKTsNCisgICAgICAgIG1ldGhvZEluZm9ybWF0aW9uLm1JbnB1dFNpemUgPSBwYUFjdGlvbkluZm8uZ2V0UmVjZWl2ZVNpemUoKTsNCisNCisgICAgICAgIGNyZWF0ZU1ldGhvZEFyZ3VtZW50cyhwYUFjdGlvbkluZm8sIG1ldGhvZEluZm9ybWF0aW9uKTsNCisNCisgICAgICAgIHJldFZhbCA9IGNyZWF0ZU1ldGhvZE5vZGUobWV0aG9kSW5mb3JtYXRpb24sICYoKml0TWV0aG9kTm9kZVBhaXJJbmZvKS0+bU5vZGVJZCk7DQorICAgICAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7DQorICAgICAgICAgIFVBX05vZGVJZCAqdG1wID0gVUFfTm9kZUlkX25ldygpOw0KKyAgICAgICAgICBVQV9Ob2RlSWRfY29weShtZXRob2RJbmZvcm1hdGlvbi5tUmV0dXJuZWROb2RlSWQsIHRtcCk7DQorICAgICAgICAgIHJlZmVyZW5jZWROb2Rlcy5wdXNoQmFjayh0bXApOw0KKyAgICAgICAgfQ0KKyAgICAgIH0NCisgICAgfQ0KKyAgfQ0KKw0KKyAgLy93ZSBhZGQgdGhlIHJlZmVyZW5jZXMgZmlyc3QgZXZlbiBpZiBpdCBmYWlscywgc2luY2Ugc29tZSBub2RlcyBtaWdodCBoYXZlIGJlZW4gY3JlYXRlZCwNCisgIC8vYW5kL29yIHNvbWUgbWlnaHQgaGF2ZSBiZWVuIGFscmVhZHkgdGhlcmUsIHNvIGRlbGV0aW5nIHRoZW0gd2lsbCBiZSB0YWtlbiBjYXJlIG9mIGJ5DQorICAvL3RoZSByZWZlcmVuY2VkTm9kZXNEZWNyZW1lbnQgZnVuY3Rpb24gbGF0ZXINCisgIHJlZmVyZW5jZWROb2Rlc0luY3JlbWVudChyZWZlcmVuY2VkTm9kZXMsIHBhQWN0aW9uSW5mbyk7DQorDQorICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKSB7DQorICAgIHJlZmVyZW5jZWROb2Rlc0RlY3JlbWVudChwYUFjdGlvbkluZm8pOw0KKyAgfQ0KKw0KKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+OjpJdGVyYXRvciBpdFJlcmVuY2VkTm9kZXMgPSByZWZlcmVuY2VkTm9kZXMuYmVnaW4oKTsgaXRSZXJlbmNlZE5vZGVzICE9IHJlZmVyZW5jZWROb2Rlcy5lbmQoKTsgKytpdFJlcmVuY2VkTm9kZXMpIHsNCisgICAgVUFfTm9kZUlkX2RlbGV0ZSgqaXRSZXJlbmNlZE5vZGVzKTsNCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpoYW5kbGVFeGlzdGluZ01ldGhvZChDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvLCBVQV9Ob2RlSWQgJnBhUGFyZW50Tm9kZSkgew0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm86OkNOb2RlUGFpckluZm8qPjo6SXRlcmF0b3IgaXQgPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsNCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOw0KKw0KKyAgREVWTE9HX0lORk8oIltPUEMgVUEgTE9DQUxdOiBBZGRpbmcgYSBjYWxsYmFjayBmb3IgYW4gZXhpc3RpbmcgbWV0aG9kIGF0ICVzXG4iLCAoKml0KS0+bUJyb3dzZVBhdGguZ2V0VmFsdWUoKSk7DQorDQorICAvL2NoZWNrIGlmIHRoZSBtZXRob2Qgd2FzIGFscmVhZHkgcmVmZXJlbmNlZCBieSBhbm90aGVyIEZCDQorICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8VUFfUGFyZW50Tm9kZUhhbmRsZXI+OjpJdGVyYXRvciBpdGVyID0gbU1ldGhvZHNDb250ZXh0cy5iZWdpbigpOyBpdGVyICE9IG1NZXRob2RzQ29udGV4dHMuZW5kKCk7ICsraXRlcikgew0KKyAgICBpZihVQV9Ob2RlSWRfZXF1YWwoJnBhUGFyZW50Tm9kZSwgKCppdGVyKS5tUGFyZW50Tm9kZUlkKSAmJiBVQV9Ob2RlSWRfZXF1YWwoKCppdCktPm1Ob2RlSWQsICgqaXRlcikubU1ldGhvZE5vZGVJZCkpIHsNCisgICAgICBERVZMT0dfRVJST1IoDQorICAgICAgICAiW09QQyBVQSBMT0NBTF06IFRoZSBGQiAlcyBpcyB0cnlpbmcgdG8gcmVmZXJlbmNlIGEgbG9jYWwgbWV0aG9kIGF0ICVzIHdoaWNoIGhhcyBhbHJlYWR5IGEgRkIgd2hvIGlzIHJlZmVyZW5jaW5nIGl0LiBDYW5ub3QgYWRkIGFub3RoZXIgb25lXG4iLA0KKyAgICAgICAgcGFBY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCAoKml0KS0+bUJyb3dzZVBhdGguZ2V0VmFsdWUoKSk7DQorICAgICAgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURJTlRFUk5BTEVSUk9SOw0KKyAgICAgIGJyZWFrOw0KKyAgICB9DQorICB9DQorDQorICAvL1RPRE86IGNoZWNrIHR5cGVzIG9mIGV4aXN0aW5nIG1ldGhvZCB0byB0aGlzIGxheWVyDQorDQorICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7DQorICAgIHJldFZhbCA9IFVBX1NlcnZlcl9zZXRNZXRob2ROb2RlX2NhbGxiYWNrKG1VYVNlcnZlciwgKigqaXQpLT5tTm9kZUlkLCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OkNVQV9Mb2NhbENhbGxiYWNrRnVuY3Rpb25zOjpvblNlcnZlck1ldGhvZENhbGwpOw0KKyAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7DQorICAgICAgcmV0VmFsID0gVUFfU2VydmVyX3NldE5vZGVDb250ZXh0KG1VYVNlcnZlciwgKigqaXQpLT5tTm9kZUlkLCAmbU1ldGhvZHNDb250ZXh0cyk7DQorICAgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgew0KKyAgICAgICAgVUFfUGFyZW50Tm9kZUhhbmRsZXIgcGFyZW50Tm9kZUNvbnRleHQocGFQYXJlbnROb2RlLCAoKml0KS0+bU5vZGVJZCwgc3RhdGljX2Nhc3Q8Q0xvY2FsTWV0aG9kSW5mbyY+KHBhQWN0aW9uSW5mbykpOw0KKyAgICAgICAgbU1ldGhvZHNDb250ZXh0cy5wdXNoQmFjayhwYXJlbnROb2RlQ29udGV4dCk7DQorICAgICAgfSBlbHNlIHsNCisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IENvdWxkIG5vdCBzZXQgY29udGV4dCBmdW5jdGlvbiBmb3IgbWV0aG9kIGF0ICVzLiBFcnJvcjogJXNcbiIsIHBhQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSwNCisgICAgICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgICAgIH0NCisgICAgfSBlbHNlIHsNCisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBDb3VsZCBub3Qgc2V0IGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBtZXRob2QgYXQgJXMuIEVycm9yOiAlc1xuIiwgcGFBY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLA0KKyAgICAgICAgVUFfU3RhdHVzQ29kZV9uYW1lKHJldFZhbCkpOw0KKyAgICB9DQorICB9DQorICByZXR1cm4gcmV0VmFsOw0KK30NCisNCit2b2lkIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6Y3JlYXRlTWV0aG9kQXJndW1lbnRzKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8sIENDcmVhdGVNZXRob2RJbmZvICZwYUNyZWF0ZU1ldGhvZEluZm8pIHsNCisgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKmludGVyZmFjZUZCID0gcGFBY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEZCSW50ZXJmYWNlU3BlYygpOw0KKw0KKyAgY29uc3QgQ0lFQ19BTlkgKmRhdGFUb1NlbmQgPSBwYUFjdGlvbkluZm8uZ2V0RGF0YVRvU2VuZCgpOw0KKyAgQ0lFQ19BTlkgKmRhdGFUb1JlY2VpdmUgPSBwYUFjdGlvbkluZm8uZ2V0RGF0YVRvUmVjZWl2ZSgpOw0KKw0KKyAgcGFDcmVhdGVNZXRob2RJbmZvLm1PdXRwdXRBcmd1bWVudHMgPSBzdGF0aWNfY2FzdDxVQV9Bcmd1bWVudCAqPihVQV9BcnJheV9uZXcocGFDcmVhdGVNZXRob2RJbmZvLm1PdXRwdXRTaXplLCAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKSk7DQorICBwYUNyZWF0ZU1ldGhvZEluZm8ubUlucHV0QXJndW1lbnRzID0gc3RhdGljX2Nhc3Q8VUFfQXJndW1lbnQgKj4oVUFfQXJyYXlfbmV3KHBhQ3JlYXRlTWV0aG9kSW5mby5tSW5wdXRTaXplLCAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKSk7DQorDQorICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgcGFDcmVhdGVNZXRob2RJbmZvLm1PdXRwdXRTaXplICsgcGFDcmVhdGVNZXRob2RJbmZvLm1JbnB1dFNpemU7IGkrKykgew0KKyAgICBVQV9Bcmd1bWVudCAqYXJnOw0KKyAgICBpZihpIDwgcGFDcmVhdGVNZXRob2RJbmZvLm1PdXRwdXRTaXplKSB7DQorICAgICAgYXJnID0gJihwYUNyZWF0ZU1ldGhvZEluZm8ubU91dHB1dEFyZ3VtZW50cylbaV07DQorICAgICAgVUFfQXJndW1lbnRfaW5pdChhcmcpOw0KKyAgICAgIGFyZy0+bmFtZSA9IFVBX1NUUklOR19BTExPQyhDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoaW50ZXJmYWNlRkItPm1fYXVuRElOYW1lc1tpICsgMl0pKTsgLy93ZSBzdG9yZSB0aGUgbmFtZXMgb2YgdGhlIFNEcy9SRHMgYXMgbmFtZXMgZm9yIHRoZSBhcmd1bWVudHMgbmFtZXMuIE5vdCBzbyBuaWNlLiArIDIgc2tpcHMgdGhlIFFJIGFuZCBJRA0KKyAgICAgIGFyZy0+ZGF0YVR5cGUgPSBDT1BDX1VBX0hlbHBlcjo6Z2V0T1BDVUFUeXBlRnJvbUFueShkYXRhVG9TZW5kW2ldKS0+dHlwZUlkOw0KKyAgICB9IGVsc2Ugew0KKyAgICAgIGFyZyA9ICYocGFDcmVhdGVNZXRob2RJbmZvLm1JbnB1dEFyZ3VtZW50cylbaSAtIHBhQ3JlYXRlTWV0aG9kSW5mby5tT3V0cHV0U2l6ZV07DQorICAgICAgVUFfQXJndW1lbnRfaW5pdChhcmcpOw0KKyAgICAgIGFyZy0+bmFtZSA9IFVBX1NUUklOR19BTExPQyhDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoaW50ZXJmYWNlRkItPm1fYXVuRE9OYW1lc1tpIC0gcGFDcmVhdGVNZXRob2RJbmZvLm1PdXRwdXRTaXplICsgMl0pKTsgLy8gKyAyIHNraXBzIHRoZSBRTyBhbmQgU1RBVFVTDQorICAgICAgYXJnLT5kYXRhVHlwZSA9IENPUENfVUFfSGVscGVyOjpnZXRPUENVQVR5cGVGcm9tQW55KGRhdGFUb1JlY2VpdmVbaSAtIHBhQ3JlYXRlTWV0aG9kSW5mby5tT3V0cHV0U2l6ZV0pLT50eXBlSWQ7DQorICAgIH0NCisNCisgICAgYXJnLT5hcnJheURpbWVuc2lvbnNTaXplID0gMDsNCisgICAgYXJnLT5hcnJheURpbWVuc2lvbnMgPSAwOw0KKyAgICBhcmctPmRlc2NyaXB0aW9uID0gVUFfTE9DQUxJWkVEVEVYVF9BTExPQyhtRW5nbGlzaExvY2FsZUZvck5vZGVzLCAiTWV0aG9kIHBhcmFtZXRlciIpOw0KKyAgICBhcmctPnZhbHVlUmFuayA9IC0xOw0KKyAgfQ0KK30NCisNCitVQV9TdGF0dXNDb2RlIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6Y3JlYXRlTWV0aG9kTm9kZShDQ3JlYXRlTWV0aG9kSW5mbyAmcGFDcmVhdGVNZXRob2RJbmZvLCBVQV9Ob2RlSWQgKipwYU5vZGVJZCkgew0KKw0KKyAgVUFfTm9kZUlkIHJlcXVlc3RlZE5vZGVJZDsNCisgIGlmKHBhQ3JlYXRlTWV0aG9kSW5mby5tUmVxdWVzdGVkTm9kZUlkKSB7DQorICAgIFVBX05vZGVJZF9jb3B5KHBhQ3JlYXRlTWV0aG9kSW5mby5tUmVxdWVzdGVkTm9kZUlkLCAmcmVxdWVzdGVkTm9kZUlkKTsNCisgIH0gZWxzZSB7DQorICAgIHJlcXVlc3RlZE5vZGVJZCA9IFVBX05PREVJRF9OVU1FUklDKHBhQ3JlYXRlTWV0aG9kSW5mby5tQnJvd3NlTmFtZS0+bmFtZXNwYWNlSW5kZXgsIDApOyAvL2lmIG5vdCBwcm92aWRlZCwgbGV0IHRoZSBzZXJ2ZXIgZ2VuZXJhdGUgdGhlIE5vZGVJZCB1c2luZyB0aGUgbmFtZXNwYWNlIGZyb20gdGhlIGJyb3dzZW5hbWUNCisgIH0NCisNCisgIFVBX05vZGVJZCBwYXJlbnROb2RlSWQ7DQorICBpZihwYUNyZWF0ZU1ldGhvZEluZm8ubVBhcmVudE5vZGVJZCkgew0KKyAgICBVQV9Ob2RlSWRfY29weShwYUNyZWF0ZU1ldGhvZEluZm8ubVBhcmVudE5vZGVJZCwgJnBhcmVudE5vZGVJZCk7DQorICB9IGVsc2Ugew0KKyAgICBwYXJlbnROb2RlSWQgPSBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9ST09URk9MREVSKTsNCisgICAgREVWTE9HX1dBUk5JTkcoDQorICAgICAgIltPUEMgVUEgTE9DQUxdOiBZb3UgYXJlIGNyZWF0aW5nIGEgTWV0aG9kICUuKnMgaW4gdGhlIC9Sb290IGZvbGRlci4gVGhpcyBpcyBub3QgYSBnb29kIHByYWN0aWNlLiBUcnkgdG8gY3JlYXRlIHRoZW0gaW4gdGhlIC9Sb290L09iamVjdHMgZm9sZGVyXG4iLA0KKyAgICAgIHBhQ3JlYXRlTWV0aG9kSW5mby5tQnJvd3NlTmFtZS0+bmFtZS5sZW5ndGgsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHBhQ3JlYXRlTWV0aG9kSW5mby5tQnJvd3NlTmFtZS0+bmFtZS5kYXRhKSk7DQorICB9DQorDQorICBVQV9NZXRob2RBdHRyaWJ1dGVzIG1ldGhvZEF0dHJpYnV0ZXM7DQorICBVQV9NZXRob2RBdHRyaWJ1dGVzX2luaXQoJm1ldGhvZEF0dHJpYnV0ZXMpOw0KKyAgbWV0aG9kQXR0cmlidXRlcy5kZXNjcmlwdGlvbiA9IFVBX0xPQ0FMSVpFRFRFWFRfQUxMT0MobUVuZ2xpc2hMb2NhbGVGb3JOb2RlcywgIk1ldGhvZCB3aGljaCBjYW4gYmUgY2FsbGVkIik7DQorICBtZXRob2RBdHRyaWJ1dGVzLmV4ZWN1dGFibGUgPSB0cnVlOw0KKyAgbWV0aG9kQXR0cmlidXRlcy51c2VyRXhlY3V0YWJsZSA9IHRydWU7DQorICBtZXRob2RBdHRyaWJ1dGVzLmRpc3BsYXlOYW1lLmxvY2FsZSA9IFVBX1NUUklOR19BTExPQyhtRW5nbGlzaExvY2FsZUZvck5vZGVzKTsNCisgIFVBX1N0cmluZ19jb3B5KCZwYUNyZWF0ZU1ldGhvZEluZm8ubUJyb3dzZU5hbWUtPm5hbWUsICZtZXRob2RBdHRyaWJ1dGVzLmRpc3BsYXlOYW1lLnRleHQpOw0KKw0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TZXJ2ZXJfYWRkTWV0aG9kTm9kZShtVWFTZXJ2ZXIsIHJlcXVlc3RlZE5vZGVJZCwgcGFyZW50Tm9kZUlkLCBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9IQVNDT01QT05FTlQpLA0KKyAgICAqcGFDcmVhdGVNZXRob2RJbmZvLm1Ccm93c2VOYW1lLCBtZXRob2RBdHRyaWJ1dGVzLCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OkNVQV9Mb2NhbENhbGxiYWNrRnVuY3Rpb25zOjpvblNlcnZlck1ldGhvZENhbGwsIHBhQ3JlYXRlTWV0aG9kSW5mby5tSW5wdXRTaXplLA0KKyAgICBwYUNyZWF0ZU1ldGhvZEluZm8ubUlucHV0QXJndW1lbnRzLCBwYUNyZWF0ZU1ldGhvZEluZm8ubU91dHB1dFNpemUsIHBhQ3JlYXRlTWV0aG9kSW5mby5tT3V0cHV0QXJndW1lbnRzLCAmbU1ldGhvZHNDb250ZXh0cywNCisgICAgcGFDcmVhdGVNZXRob2RJbmZvLm1SZXR1cm5lZE5vZGVJZCk7DQorDQorICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7DQorICAgIGlmKCEqcGFOb2RlSWQpIHsNCisgICAgICAqcGFOb2RlSWQgPSBVQV9Ob2RlSWRfbmV3KCk7DQorICAgICAgVUFfTm9kZUlkX2NvcHkocGFDcmVhdGVNZXRob2RJbmZvLm1SZXR1cm5lZE5vZGVJZCwgKnBhTm9kZUlkKTsNCisgICAgfQ0KKw0KKyAgICBVQV9QYXJlbnROb2RlSGFuZGxlciBwYXJlbnROb2RlQ29udGV4dChwYXJlbnROb2RlSWQsICpwYU5vZGVJZCwgcGFDcmVhdGVNZXRob2RJbmZvLm1Mb2NhbE1ldGhvZEluZm8pOw0KKyAgICBtTWV0aG9kc0NvbnRleHRzLnB1c2hCYWNrKHBhcmVudE5vZGVDb250ZXh0KTsNCisgIH0gZWxzZSB7DQorICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IE9QQyBVQSBjb3VsZCBub3QgY3JlYXRlIG1ldGhvZCBhdCAlcy4gRXJyb3I6ICVzXG4iLA0KKyAgICAgIHBhQ3JlYXRlTWV0aG9kSW5mby5tTG9jYWxNZXRob2RJbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCBVQV9TdGF0dXNDb2RlX25hbWUocmV0VmFsKSk7DQorICB9DQorDQorICBVQV9Ob2RlSWRfZGVsZXRlTWVtYmVycygmcGFyZW50Tm9kZUlkKTsNCisgIFVBX05vZGVJZF9kZWxldGVNZW1iZXJzKCZyZXF1ZXN0ZWROb2RlSWQpOw0KKyAgVUFfTWV0aG9kQXR0cmlidXRlc19kZWxldGVNZW1iZXJzKCZtZXRob2RBdHRyaWJ1dGVzKTsNCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjppbml0aWFsaXplQ3JlYXRlT2JqZWN0KENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pIHsNCisgIC8vVGhlIG1haW4gcHJvY2VzcyBpcyBkb25lIGluIHRoZSBleGVjdXRpb24NCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOw0KKw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm86OkNOb2RlUGFpckluZm8qPjo6SXRlcmF0b3IgaXQgPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsNCisgICsraXQ7DQorDQorICBpZigiIiA9PSAoKml0KS0+bUJyb3dzZVBhdGgpIHsgLy90aGUgYnJvd3NlbmFtZSBvZiB0aGUgaW5zdGFuY2UgaXMgbWFuZGF0b3J5DQorICAgIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFESU5URVJOQUxFUlJPUjsNCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjppbml0aWFsaXplRGVsZXRlT2JqZWN0KENBY3Rpb25JbmZvICYpIHsNCisgIC8vbm90aGluZyB0byBkbyBoZXJlDQorICByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EOw0KK30NCisNCitVQV9TdGF0dXNDb2RlIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6ZXhlY3V0ZVdyaXRlKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pIHsNCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOw0KKyAgY29uc3QgQ0lFQ19BTlkgKmRhdGFUb1NlbmQgPSBwYUFjdGlvbkluZm8uZ2V0RGF0YVRvU2VuZCgpOw0KKyAgc2l6ZV90IGluZGV4T2ZOb2RlUGFpciA9IDA7DQorICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm86OkNOb2RlUGFpckluZm8qPjo6SXRlcmF0b3IgaXQgPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsgaXQgIT0gcGFBY3Rpb25JbmZvLmdldE5vZGVQYWlySW5mbygpLmVuZCgpOw0KKyAgICAgICsraXQsIGluZGV4T2ZOb2RlUGFpcisrKSB7DQorDQorICAgIHJldFZhbCA9IHVwZGF0ZU5vZGVWYWx1ZSgqKCppdCktPm1Ob2RlSWQsICZkYXRhVG9TZW5kW2luZGV4T2ZOb2RlUGFpcl0pOw0KKyAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKSB7DQorICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIExPQ0FMXTogQ291bGQgbm90IGNvbnZlcnQgdmFsdWUgdG8gd3JpdGUgZm9yIHBvcnQgJWQgYXQgRkIgJXMuIEVycm9yOiAlc1xuIiwgaW5kZXhPZk5vZGVQYWlyLA0KKyAgICAgICAgcGFBY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpLCBVQV9TdGF0dXNDb2RlX25hbWUocmV0VmFsKSk7DQorICAgICAgYnJlYWs7DQorICAgIH0NCisNCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpleGVjdXRlQ3JlYXRlTWV0aG9kKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pIHsNCisgIC8vVGhpcyBpcyB0aGUgcmV0dXJuIG9mIGEgbG9jYWwgbWV0aG9kIGNhbGwsIHdoZW4gUlNQIGlzIHRyaWdnZXJlZA0KKw0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0JBRFVORVhQRUNURURFUlJPUjsNCisgIENMb2NhbE1ldGhvZENhbGwgKmxvY2FsTWV0aG9kQ2FsbCA9IGdldExvY2FsTWV0aG9kQ2FsbChzdGF0aWNfY2FzdDxDTG9jYWxNZXRob2RJbmZvJj4ocGFBY3Rpb25JbmZvKSk7DQorICBpZihsb2NhbE1ldGhvZENhbGwpIHsNCisgICAgY29uc3QgQ0lFQ19BTlkgKmRhdGFUb1NlbmQgPSBwYUFjdGlvbkluZm8uZ2V0RGF0YVRvU2VuZCgpOw0KKyAgICAvLyBjb3B5IFNEIHZhbHVlcyB0byBvdXRwdXQNCisgICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IGxvY2FsTWV0aG9kQ2FsbC0+bVNlbmRIYW5kbGUubVNpemU7IGkrKykgew0KKyAgICAgIENPUENfVUFfSGVscGVyOjpmaWxsVmFyaWFudCgqbG9jYWxNZXRob2RDYWxsLT5tU2VuZEhhbmRsZS5tRGF0YVtpXSwgZGF0YVRvU2VuZFtpXSk7DQorICAgIH0NCisNCisgICAgbG9jYWxNZXRob2RDYWxsLT5tQWN0aW9uSW5mby5nZXRSZXN1bHRSZWFkeSgpLmluYygpOw0KKyAgICByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0dPT0Q7DQorICB9IGVsc2Ugew0KKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBUaGUgbWV0aG9kIGJlaW5nIHJldHVybmVkIGhhc24ndCBiZWVuIGNhbGxlZCBiZWZvcmUgb2YgRkIgJXNcbiIsIHBhQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7DQorICB9DQorDQorICByZXR1cm4gcmV0VmFsOw0KK30NCisNCitVQV9TdGF0dXNDb2RlIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6ZXhlY3V0ZUNyZWF0ZU9iamVjdChDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKSB7DQorICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFESU5URVJOQUxFUlJPUjsNCisNCisgIENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvKj46Okl0ZXJhdG9yIGl0VHlwZU5vZGVQYWlySW5mbyA9IHBhQWN0aW9uSW5mby5nZXROb2RlUGFpckluZm8oKS5iZWdpbigpOw0KKw0KKyAgLy9sb29rIGZvciB0eXBlIGZpcnN0DQorICBpZihpc1R5cGVPZk9iamVjdFByZXNlbnQoKippdFR5cGVOb2RlUGFpckluZm8pKSB7DQorDQorICAgIENTaW5nbHlMaW5rZWRMaXN0PENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvKj46Okl0ZXJhdG9yIGl0SW5zdGFuY2UgPSBwYUFjdGlvbkluZm8uZ2V0Tm9kZVBhaXJJbmZvKCkuYmVnaW4oKTsNCisgICAgKytpdEluc3RhbmNlOw0KKw0KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiByZWZlcmVuY2VkTm9kZXM7DQorICAgIGJvb2wgaXNOb2RlUHJlc2VudCA9IGZhbHNlOw0KKyAgICAvL2NoZWNrIGlmIGFuIGluc3RhbmNlIGlzIGFscmVhZHkgcHJlc2VudA0KKyAgICByZXRWYWwgPSBnZXROb2RlKCoqaXRJbnN0YW5jZSwgcmVmZXJlbmNlZE5vZGVzLCAmaXNOb2RlUHJlc2VudCk7DQorDQorICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWwpIHsNCisgICAgICBpZighaXNOb2RlUHJlc2VudCkgew0KKw0KKyAgICAgICAgQ0lFQ19TVFJJTkcgbm9kZU5hbWU7DQorICAgICAgICByZXRWYWwgPSBzcGxpdEFuZENyZWF0ZUZvbGRlcnMoKCppdEluc3RhbmNlKS0+bUJyb3dzZVBhdGgsIG5vZGVOYW1lLCByZWZlcmVuY2VkTm9kZXMpOw0KKyAgICAgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgew0KKyAgICAgICAgICBDQ3JlYXRlT2JqZWN0SW5mbyBjcmVhdGVJbmZvcm1hdGlvbjsNCisNCisgICAgICAgICAgaW5pdGlhbGl6ZUNyZWF0ZUluZm8obm9kZU5hbWUsICgqKml0SW5zdGFuY2UpLCByZWZlcmVuY2VkTm9kZXMuaXNFbXB0eSgpID8gMCA6ICoocmVmZXJlbmNlZE5vZGVzLmJhY2soKSksIGNyZWF0ZUluZm9ybWF0aW9uKTsNCisgICAgICAgICAgY3JlYXRlSW5mb3JtYXRpb24ubVR5cGVOb2RlSWQgPSAoKml0VHlwZU5vZGVQYWlySW5mbyktPm1Ob2RlSWQ7DQorDQorICAgICAgICAgIHJldFZhbCA9IGNyZWF0ZU9iamVjdE5vZGUoY3JlYXRlSW5mb3JtYXRpb24pOw0KKw0KKyAgICAgICAgICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7DQorICAgICAgICAgICAgVUFfTm9kZUlkICp0bXAgPSBVQV9Ob2RlSWRfbmV3KCk7DQorICAgICAgICAgICAgVUFfTm9kZUlkX2NvcHkoY3JlYXRlSW5mb3JtYXRpb24ubVJldHVybmVkTm9kZUlkLCB0bXApOw0KKyAgICAgICAgICAgIHJlZmVyZW5jZWROb2Rlcy5wdXNoQmFjayh0bXApOw0KKyAgICAgICAgICB9DQorICAgICAgICB9DQorICAgICAgfSBlbHNlIHsNCisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IFlvdSBhcmUgdHJ5aW5nIHRvIGNyZWF0ZSBhIG5vZGUgd2hpY2ggYWxyZWFkeSBleGlzdHMgYXQgRkIgJXNcbiIsIHBhQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7DQorICAgICAgICByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0JBRElOVEVSTkFMRVJST1I7DQorICAgICAgfQ0KKyAgICB9DQorDQorICAgIC8vd2UgYWRkIHRoZSByZWZlcmVuY2VzIGZpcnN0IGV2ZW4gaWYgaXRUeXBlIGZhaWxzLCBzaW5jZSBzb21lIG5vZGVzIG1pZ2h0IGhhdmUgYmVlbiBjcmVhdGVkLA0KKyAgICAvL2FuZC9vciBzb21lIG1pZ2h0IGhhdmUgYmVlbiBhbHJlYWR5IHRoZXJlLCBzbyBkZWxldGluZyB0aGVtIHdpbGwgYmUgdGFrZW4gY2FyZSBvZiBieQ0KKyAgICAvL3RoZSByZWZlcmVuY2VkTm9kZXNEZWNyZW1lbnQgZnVuY3Rpb24gbGF0ZXINCisgICAgcmVmZXJlbmNlZE5vZGVzSW5jcmVtZW50KHJlZmVyZW5jZWROb2RlcywgcGFBY3Rpb25JbmZvKTsNCisNCisgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EICE9IHJldFZhbCkgew0KKyAgICAgIHJlZmVyZW5jZWROb2Rlc0RlY3JlbWVudChwYUFjdGlvbkluZm8pOw0KKyAgICB9DQorDQorICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPjo6SXRlcmF0b3IgaXRSZXJlbmNlZE5vZGVzID0gcmVmZXJlbmNlZE5vZGVzLmJlZ2luKCk7IGl0UmVyZW5jZWROb2RlcyAhPSByZWZlcmVuY2VkTm9kZXMuZW5kKCk7ICsraXRSZXJlbmNlZE5vZGVzKSB7DQorICAgICAgVUFfTm9kZUlkX2RlbGV0ZSgqaXRSZXJlbmNlZE5vZGVzKTsNCisgICAgfQ0KKw0KKyAgfSBlbHNlIHsNCisgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIExPQ0FMXTogVGhlIHR5cGUgb2YgdGhlIG9iamVjdCB0byBjcmVhdGUgY291bGQgbm90IGJlIGZvdW5kIFxuIiwgcGFBY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmdldEluc3RhbmNlTmFtZSgpKTsNCisgIH0NCisNCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpjcmVhdGVPYmplY3ROb2RlKENDcmVhdGVPYmplY3RJbmZvICZwYUNyZWF0ZVZhcmlhYmxlSW5mbykgew0KKw0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0JBRElOVEVSTkFMRVJST1I7DQorDQorICBVQV9Ob2RlSWQgcmVxdWVzdGVkTm9kZUlkOw0KKyAgaWYocGFDcmVhdGVWYXJpYWJsZUluZm8ubVJlcXVlc3RlZE5vZGVJZCkgew0KKyAgICBVQV9Ob2RlSWRfY29weShwYUNyZWF0ZVZhcmlhYmxlSW5mby5tUmVxdWVzdGVkTm9kZUlkLCAmcmVxdWVzdGVkTm9kZUlkKTsNCisgIH0gZWxzZSB7DQorICAgIHJlcXVlc3RlZE5vZGVJZCA9IFVBX05PREVJRF9OVU1FUklDKHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1Ccm93c2VOYW1lLT5uYW1lc3BhY2VJbmRleCwgMCk7IC8vaWYgbm90IHByb3ZpZGVkLCBsZXQgdGhlIHNlcnZlciBnZW5lcmF0ZSB0aGUgTm9kZUlkIHVzaW5nIHRoZSBuYW1lc3BhY2UgZnJvbSB0aGUgYnJvd3NlbmFtZQ0KKyAgfQ0KKw0KKyAgVUFfTm9kZUlkIHBhcmVudE5vZGVJZDsNCisgIGlmKHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1QYXJlbnROb2RlSWQpIHsNCisgICAgVUFfTm9kZUlkX2NvcHkocGFDcmVhdGVWYXJpYWJsZUluZm8ubVBhcmVudE5vZGVJZCwgJnBhcmVudE5vZGVJZCk7DQorICB9IGVsc2Ugew0KKyAgICBwYXJlbnROb2RlSWQgPSBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9ST09URk9MREVSKTsNCisgICAgREVWTE9HX1dBUk5JTkcoDQorICAgICAgIltPUEMgVUEgTE9DQUxdOiBZb3UgYXJlIGNyZWF0aW5nIGFuIE9iamVjdCAlLipzIGluIHRoZSAvUm9vdCBmb2xkZXIuIFRoaXMgaXMgbm90IGEgZ29vZCBwcmFjdGljZS4gVHJ5IHRvIGNyZWF0ZSB0aGVtIGluIHRoZSAvUm9vdC9PYmplY3RzIGZvbGRlclxuIiwNCisgICAgICBwYUNyZWF0ZVZhcmlhYmxlSW5mby5tQnJvd3NlTmFtZS0+bmFtZS5sZW5ndGgsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1Ccm93c2VOYW1lLT5uYW1lLmRhdGEpKTsNCisgIH0NCisNCisgIENJRUNfU1RSSU5HIG5vZGVOYW1lOw0KKyAgbm9kZU5hbWUuYXNzaWduKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1Ccm93c2VOYW1lLT5uYW1lLmRhdGEpLA0KKyAgICBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1Ccm93c2VOYW1lLT5uYW1lLmxlbmd0aCkpOw0KKw0KKyAgVUFfT2JqZWN0QXR0cmlidXRlcyBvQXR0cjsNCisgIFVBX09iamVjdEF0dHJpYnV0ZXNfaW5pdCgmb0F0dHIpOw0KKyAgb0F0dHIuZGVzY3JpcHRpb24gPSBVQV9MT0NBTElaRURURVhUX0FMTE9DKCIiLCBub2RlTmFtZS5nZXRWYWx1ZSgpKTsNCisgIG9BdHRyLmRpc3BsYXlOYW1lID0gVUFfTE9DQUxJWkVEVEVYVF9BTExPQygiIiwgbm9kZU5hbWUuZ2V0VmFsdWUoKSk7DQorICByZXRWYWwgPSBVQV9TZXJ2ZXJfYWRkT2JqZWN0Tm9kZShtVWFTZXJ2ZXIsIHJlcXVlc3RlZE5vZGVJZCwgcGFyZW50Tm9kZUlkLCBVQV9OT0RFSURfTlVNRVJJQygwLCBVQV9OUzBJRF9IQVNDT01QT05FTlQpLCAqcGFDcmVhdGVWYXJpYWJsZUluZm8ubUJyb3dzZU5hbWUsDQorICAgICpwYUNyZWF0ZVZhcmlhYmxlSW5mby5tVHlwZU5vZGVJZCwgb0F0dHIsIDAsIHBhQ3JlYXRlVmFyaWFibGVJbmZvLm1SZXR1cm5lZE5vZGVJZCk7DQorICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgIT0gcmV0VmFsKSB7DQorICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IENvdWxkIG5vdCBhZGRPYmplY3ROb2RlLiBFcnJvcjogJXNcbiIsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsNCisgIH0NCisgIFVBX05vZGVJZF9kZWxldGVNZW1iZXJzKCZyZXF1ZXN0ZWROb2RlSWQpOw0KKyAgVUFfT2JqZWN0QXR0cmlidXRlc19kZWxldGVNZW1iZXJzKCZvQXR0cik7DQorDQorICByZXR1cm4gcmV0VmFsOw0KK30NCisNCitib29sIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6aXNUeXBlT2ZPYmplY3RQcmVzZW50KENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvICZwYU5vZGVQYWlySW5mbykgew0KKyAgYm9vbCBpc05vZGVQcmVzZW50ID0gZmFsc2U7DQorICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiByZWZlcmVuY2VkTm9kZXM7DQorDQorICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IGdldE5vZGUocGFOb2RlUGFpckluZm8sIHJlZmVyZW5jZWROb2RlcywgJmlzTm9kZVByZXNlbnQpOw0KKw0KKyAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgew0KKyAgICBpZihpc05vZGVQcmVzZW50KSB7DQorICAgICAgaXNOb2RlUHJlc2VudCA9IHRydWU7DQorICAgIH0NCisgICAgLy93ZSBkb24ndCBuZWVkIHRoZSBub2RlcyBmcm9tIHRoZSB0eXBlDQorICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPjo6SXRlcmF0b3IgaXRQcmVzZW50Tm9kZXMgPSByZWZlcmVuY2VkTm9kZXMuYmVnaW4oKTsgaXRQcmVzZW50Tm9kZXMgIT0gcmVmZXJlbmNlZE5vZGVzLmVuZCgpOyArK2l0UHJlc2VudE5vZGVzKSB7DQorICAgICAgVUFfTm9kZUlkX2RlbGV0ZSgqaXRQcmVzZW50Tm9kZXMpOw0KKyAgICB9DQorICAgIHJlZmVyZW5jZWROb2Rlcy5jbGVhckFsbCgpOw0KKyAgfQ0KKyAgcmV0dXJuIGlzTm9kZVByZXNlbnQ7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpleGVjdXRlRGVsZXRlT2JqZWN0KENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pIHsNCisNCisgIGJvb2wgaXNOb2RlUHJlc2VudCA9IGZhbHNlOw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm86OkNOb2RlUGFpckluZm8qPjo6SXRlcmF0b3IgaXRJbnN0YW5jZSA9IHBhQWN0aW9uSW5mby5nZXROb2RlUGFpckluZm8oKS5iZWdpbigpOw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gcmVmZXJlbmNlZE5vZGVzOw0KKw0KKyAgLy9sb29rIGZvciBpbnN0YW5jZQ0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBnZXROb2RlKCoqaXRJbnN0YW5jZSwgcmVmZXJlbmNlZE5vZGVzLCAmaXNOb2RlUHJlc2VudCk7DQorDQorICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7DQorICAgIGlmKGlzTm9kZVByZXNlbnQpIHsNCisgICAgICByZXRWYWwgPSBVQV9TZXJ2ZXJfZGVsZXRlTm9kZShtVWFTZXJ2ZXIsICooKml0SW5zdGFuY2UpLT5tTm9kZUlkLCB0cnVlKTsNCisgICAgfSBlbHNlIHsNCisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBUaGUgaW5zdGFuY2Ugb2YgdGhlIG9iamVjdCB0byBkZWxldGUgY291bGQgbm90IGJlIGZvdW5kIGZvciBGQiAlc1xuIiwNCisgICAgICAgIHBhQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7DQorICAgICAgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURJTlRFUk5BTEVSUk9SOw0KKyAgICB9DQorDQorICAgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPjo6SXRlcmF0b3IgaXRQcmVzZW5kTm9kZXMgPSByZWZlcmVuY2VkTm9kZXMuYmVnaW4oKTsgaXRQcmVzZW5kTm9kZXMgIT0gcmVmZXJlbmNlZE5vZGVzLmVuZCgpOyArK2l0UHJlc2VuZE5vZGVzKSB7DQorICAgICAgVUFfTm9kZUlkX2RlbGV0ZSgqaXRQcmVzZW5kTm9kZXMpOw0KKyAgICB9DQorICAgIHJlZmVyZW5jZWROb2Rlcy5jbGVhckFsbCgpOw0KKyAgfQ0KKw0KKyAgcmV0dXJuIHJldFZhbDsNCit9DQorDQordm9pZCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OmluaXRpYWxpemVDcmVhdGVJbmZvKENJRUNfU1RSSU5HICZwYU5vZGVOYW1lLCBDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyAmcGFOb2RlUGFpckluZm8sIGNvbnN0IFVBX05vZGVJZCAqcGFQYXJlbnROb2RlSWQsDQorICAgIENDcmVhdGVJbmZvICZwYVJlc3VsdCkgew0KKyAgQ09QQ19VQV9IZWxwZXI6OmdldEJyb3dzZW5hbWVGcm9tTm9kZU5hbWUocGFOb2RlTmFtZS5nZXRWYWx1ZSgpLCBzY21EZWZhdWx0QnJvd3NlbmFtZU5hbWVTcGFjZSwgKnBhUmVzdWx0Lm1Ccm93c2VOYW1lKTsgLy90aGlzIGNhbm5vdCBmYWlsIGhlcmUgYW55bW9yZSwgc2luY2UgaXQgd2FzIGNoZWNrZWQgYWxyZWFkeSB3aXRoIGdldE5vZGUNCisgIHBhUmVzdWx0Lm1SZXF1ZXN0ZWROb2RlSWQgPSBwYU5vZGVQYWlySW5mby5tTm9kZUlkOw0KKyAgcGFSZXN1bHQubVBhcmVudE5vZGVJZCA9IHBhUGFyZW50Tm9kZUlkOw0KK30NCisNCitVQV9TdGF0dXNDb2RlIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6Z2V0Tm9kZShDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyAmcGFOb2RlUGFpckluZm8sIENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+ICZwYUZvdW5kTm9kZUlkcywgYm9vbCAqcGFJc1ByZXNlbnQpIHsNCisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOw0KKyAgKnBhSXNQcmVzZW50ID0gZmFsc2U7DQorDQorICBpZigiIiAhPSBwYU5vZGVQYWlySW5mby5tQnJvd3NlUGF0aCkgew0KKyAgICBVQV9Ccm93c2VQYXRoICpicm93c2VQYXRocyA9IDA7DQorICAgIHNpemVfdCBwYXRoQ291bnQgPSAwOw0KKyAgICBzaXplX3QgZmlyc3ROb25FeGlzdGluZ05vZGUgPSAwOw0KKw0KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiBleGlzdGluZ05vZGVJZHM7DQorICAgIHJldFZhbCA9IHRyYW5zbGF0ZUJyb3dzZU5hbWVBbmRTdG9yZShwYU5vZGVQYWlySW5mby5tQnJvd3NlUGF0aC5nZXRWYWx1ZSgpLCAmYnJvd3NlUGF0aHMsICZwYXRoQ291bnQsICZmaXJzdE5vbkV4aXN0aW5nTm9kZSwgZXhpc3RpbmdOb2RlSWRzKTsNCisgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHJldFZhbCkgew0KKyAgICAgIGlmKGZpcnN0Tm9uRXhpc3RpbmdOb2RlID09IHBhdGhDb3VudCkgeyAvL2FsbCBub2RlcyBleGlzdA0KKyAgICAgICAgKnBhSXNQcmVzZW50ID0gdHJ1ZTsNCisgICAgICAgIGlmKHBhTm9kZVBhaXJJbmZvLm1Ob2RlSWQpIHsgLy9ub2RlSUQgd2FzIHByb3ZpZGVkDQorICAgICAgICAgIGlmKCFVQV9Ob2RlSWRfZXF1YWwocGFOb2RlUGFpckluZm8ubU5vZGVJZCwgKmV4aXN0aW5nTm9kZUlkcy5iYWNrKCkpKSB7DQorICAgICAgICAgICAgKnBhSXNQcmVzZW50ID0gZmFsc2U7IC8vIHRoZSBmb3VuZCBOb2RlIGhhcyBub3QgdGhlIHNhbWUgTm9kZUlkLg0KKyAgICAgICAgICB9DQorICAgICAgICB9IGVsc2UgeyAvL2lmIG5vIG5vZGVJRCB3YXMgcHJvdmlkZWQsIHRoZSBmb3VuZCBOb2RlIGlzIHN0b3JlZCBpbiB0aGUgbm9kZVBhaXJJbmZvDQorICAgICAgICAgIHBhTm9kZVBhaXJJbmZvLm1Ob2RlSWQgPSBVQV9Ob2RlSWRfbmV3KCk7DQorICAgICAgICAgIFVBX05vZGVJZF9jb3B5KCpleGlzdGluZ05vZGVJZHMuYmFjaygpLCBwYU5vZGVQYWlySW5mby5tTm9kZUlkKTsNCisgICAgICAgIH0NCisgICAgICB9DQorDQorICAgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+OjpJdGVyYXRvciBpdCA9IGV4aXN0aW5nTm9kZUlkcy5iZWdpbigpOyBpdCAhPSBleGlzdGluZ05vZGVJZHMuZW5kKCk7ICsraXQpIHsNCisgICAgICAgIGlmKCEqcGFJc1ByZXNlbnQpIHsNCisgICAgICAgICAgVUFfTm9kZUlkX2RlbGV0ZSgqaXQpOw0KKyAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgcGFGb3VuZE5vZGVJZHMucHVzaEJhY2soKCppdCkpOw0KKyAgICAgICAgfQ0KKyAgICAgIH0NCisgICAgICBDT1BDX1VBX0hlbHBlcjo6cmVsZWFzZUJyb3dzZUFyZ3VtZW50KCpicm93c2VQYXRocywgcGF0aENvdW50KTsNCisgICAgfQ0KKyAgfSBlbHNlIHsNCisgICAgdm9pZCAqaGFuZGxlID0gMDsNCisgICAgLy93ZSB1c2UgVUFfU2VydmVyX2dldE5vZGVDb250ZXh0IGp1c3QgdG8gY2hlY2sgaWYgdGhlIG5vZGUgZXhpc3QgaW4gdGhlIGFkZHJlc3NzcGFjZQ0KKyAgICBpZihVQV9TVEFUVVNDT0RFX0JBRE5PREVJRFVOS05PV04gIT0gVUFfU2VydmVyX2dldE5vZGVDb250ZXh0KG1VYVNlcnZlciwgKnBhTm9kZVBhaXJJbmZvLm1Ob2RlSWQsICZoYW5kbGUpKSB7DQorICAgICAgKnBhSXNQcmVzZW50ID0gdHJ1ZTsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgcmV0dXJuIHJldFZhbDsNCit9DQorDQorVUFfU3RhdHVzQ29kZSBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OnRyYW5zbGF0ZUJyb3dzZU5hbWVBbmRTdG9yZShjb25zdCBjaGFyICpwYUJyb3dzZVBhdGgsIFVBX0Jyb3dzZVBhdGggKipwYUJyb3dzZVBhdGhzLCBzaXplX3QgKnBhRm9sZGVyY291bnQsDQorICAgIHNpemVfdCAqcGFGaXJzdE5vbkV4aXN0aW5nTm9kZSwgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gJnBhRm91bmROb2RlSWRzKSB7DQorDQorICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IENPUENfVUFfSGVscGVyOjpwcmVwYXJlQnJvd3NlQXJndW1lbnQocGFCcm93c2VQYXRoLCBwYUJyb3dzZVBhdGhzLCBwYUZvbGRlcmNvdW50KTsNCisNCisgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWwpIHsNCisgICAgVUFfQnJvd3NlUGF0aFJlc3VsdCAqYnJvd3NlUGF0aHNSZXN1bHRzID0gMDsNCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gc3RvcmVkTm9kZUlkczsNCisNCisgICAgYnJvd3NlUGF0aHNSZXN1bHRzID0gc3RhdGljX2Nhc3Q8VUFfQnJvd3NlUGF0aFJlc3VsdCAqPihVQV9BcnJheV9uZXcoKnBhRm9sZGVyY291bnQgKiAyLCAmVUFfVFlQRVNbVUFfVFlQRVNfQlJPV1NFUEFUSFJFU1VMVF0pKTsNCisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8ICpwYUZvbGRlcmNvdW50ICogMjsgaSsrKSB7DQorICAgICAgYnJvd3NlUGF0aHNSZXN1bHRzW2ldID0gVUFfU2VydmVyX3RyYW5zbGF0ZUJyb3dzZVBhdGhUb05vZGVJZHMobVVhU2VydmVyLCAmKCpwYUJyb3dzZVBhdGhzKVtpXSk7DQorICAgIH0NCisgICAgcmV0VmFsID0gc3RvcmVBbHJlYWR5RXhpc3RpbmdOb2Rlcyhicm93c2VQYXRoc1Jlc3VsdHMsICpwYUZvbGRlcmNvdW50LCBwYUZpcnN0Tm9uRXhpc3RpbmdOb2RlLCBzdG9yZWROb2RlSWRzKTsNCisNCisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+OjpJdGVyYXRvciBpdCA9IHN0b3JlZE5vZGVJZHMuYmVnaW4oKTsgaXQgIT0gc3RvcmVkTm9kZUlkcy5lbmQoKTsgKytpdCkgew0KKyAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCAhPSByZXRWYWwpIHsNCisgICAgICAgIFVBX05vZGVJZF9kZWxldGUoKml0KTsNCisgICAgICB9IGVsc2Ugew0KKyAgICAgICAgcGFGb3VuZE5vZGVJZHMucHVzaEJhY2soKml0KTsNCisgICAgICB9DQorICAgIH0NCisNCisgICAgVUFfQXJyYXlfZGVsZXRlKGJyb3dzZVBhdGhzUmVzdWx0cywgKnBhRm9sZGVyY291bnQgKiAyLCAmVUFfVFlQRVNbVUFfVFlQRVNfQlJPV1NFUEFUSFJFU1VMVF0pOw0KKyAgfQ0KKw0KKyAgcmV0dXJuIHJldFZhbDsNCit9DQorDQorVUFfU3RhdHVzQ29kZSBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OnN0b3JlQWxyZWFkeUV4aXN0aW5nTm9kZXMoVUFfQnJvd3NlUGF0aFJlc3VsdCAqcGFCcm93c2VQYXRoc1Jlc3VsdHMsIHNpemVfdCBwYUZvbGRlckNudCwgc2l6ZV90ICpwYUZpcnN0Tm9uRXhpc3RpbmdOb2RlLA0KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiAmcGFDcmVhdGVkTm9kZUlkcykgew0KKyAgc2l6ZV90IGZvdW5kRm9sZGVyT2Zmc2V0ID0gMDsNCisgIGludCByZXRWYWw7IC8vIG5vIHVuc2lnbmVkLCBiZWNhdXNlIHdlIG5lZWQgdG8gY2hlY2sgZm9yIC0xDQorICBib29sIG9mZnNldEZvdW5kID0gZmFsc2U7DQorICBmb3IocmV0VmFsID0gc3RhdGljX2Nhc3Q8aW50PihwYUZvbGRlckNudCkgLSAxOyByZXRWYWwgPj0gMDsgcmV0VmFsLS0pIHsNCisgICAgaWYoVUFfU1RBVFVTQ09ERV9HT09EID09IHBhQnJvd3NlUGF0aHNSZXN1bHRzW3JldFZhbF0uc3RhdHVzQ29kZSkgeyAvLyBmaW5kIGZpcnN0IGV4aXN0aW5nIG5vZGUuIENoZWNrIGZvciBpc0ludmVyc2UgPSBUUlVFDQorICAgICAgZm91bmRGb2xkZXJPZmZzZXQgPSAwOw0KKyAgICAgIG9mZnNldEZvdW5kID0gdHJ1ZTsNCisgICAgfSBlbHNlIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSBwYUJyb3dzZVBhdGhzUmVzdWx0c1twYUZvbGRlckNudCArIHJldFZhbF0uc3RhdHVzQ29kZSkgeyAvLyBhbmQgZm9yIGlzSW52ZXJzZSA9IEZBTFNFDQorICAgICAgZm91bmRGb2xkZXJPZmZzZXQgPSBwYUZvbGRlckNudDsNCisgICAgICBvZmZzZXRGb3VuZCA9IHRydWU7DQorICAgIH0NCisNCisgICAgaWYob2Zmc2V0Rm91bmQpIHsNCisgICAgICBicmVhazsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgaWYoLTEgIT0gcmV0VmFsKSB7DQorICAgIGlmKHBhQnJvd3NlUGF0aHNSZXN1bHRzW2ZvdW5kRm9sZGVyT2Zmc2V0ICsgcmV0VmFsXS50YXJnZXRzU2l6ZSA9PSAwKSB7DQorICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIExPQ0FMXTogQ291bGQgbm90IHRyYW5zbGF0ZSBicm93c2UgcGF0aHMgdG8gbm9kZSBJRHMuIFRhcmdldCBzaXplIGlzIDAuXG4iKTsNCisgICAgICByZXR1cm4gVUFfU1RBVFVTQ09ERV9CQURJTlRFUk5BTEVSUk9SOw0KKyAgICB9IGVsc2Ugew0KKyAgICAgIGlmKHBhQnJvd3NlUGF0aHNSZXN1bHRzW2ZvdW5kRm9sZGVyT2Zmc2V0ICsgcmV0VmFsXS50YXJnZXRzU2l6ZSA+IDEpIHsNCisgICAgICAgIERFVkxPR19XQVJOSU5HKCJbT1BDIFVBIExPQ0FMXTogVGhlIGdpdmVuIGJyb3dzZSBwYXRoIGhhcyBtdWx0aXBsZSByZXN1bHRzIGZvciB0aGUgc2FtZSBwYXRoLiBUYWtpbmcgdGhlIGZpcnN0IHJlc3VsdC5cbiIpOw0KKyAgICAgIH0NCisgICAgfQ0KKyAgfQ0KKyAgcmV0VmFsKys7DQorDQorICBmb3IoaW50IGogPSAwOyBqIDwgcmV0VmFsOyBqKyspIHsNCisgICAgVUFfTm9kZUlkICp0bXAgPSBVQV9Ob2RlSWRfbmV3KCk7DQorICAgIFVBX05vZGVJZF9jb3B5KCZwYUJyb3dzZVBhdGhzUmVzdWx0c1tmb3VuZEZvbGRlck9mZnNldCArIGpdLnRhcmdldHNbMF0udGFyZ2V0SWQubm9kZUlkLCB0bXApOw0KKyAgICBwYUNyZWF0ZWROb2RlSWRzLnB1c2hCYWNrKHRtcCk7DQorICB9DQorDQorICAqcGFGaXJzdE5vbkV4aXN0aW5nTm9kZSA9IHN0YXRpY19jYXN0PHNpemVfdD4ocmV0VmFsKTsNCisgIHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0Q7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpjcmVhdGVGb2xkZXJzKGNvbnN0IGNoYXIgKnBhRm9sZGVycywgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gJnBhQ3JlYXRlZE5vZGVJZHMpIHsNCisNCisgIFVBX0Jyb3dzZVBhdGggKmJyb3dzZVBhdGhzID0gMDsNCisgIHNpemVfdCBmb2xkZXJDbnQgPSAwOw0KKyAgc2l6ZV90IGZpcnN0Tm9uRXhpc3RpbmdOb2RlOw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gZXhpc3RpbmdOb2RlSWRzOw0KKyAgVUFfU3RhdHVzQ29kZSByZXRWYWwgPSB0cmFuc2xhdGVCcm93c2VOYW1lQW5kU3RvcmUocGFGb2xkZXJzLCAmYnJvd3NlUGF0aHMsICZmb2xkZXJDbnQsICZmaXJzdE5vbkV4aXN0aW5nTm9kZSwgZXhpc3RpbmdOb2RlSWRzKTsNCisNCisgIGlmKFVBX1NUQVRVU0NPREVfR09PRCA9PSByZXRWYWwpIHsNCisgICAgVUFfTm9kZUlkIHBhcmVudE5vZGVJZDsNCisgICAgaWYoZXhpc3RpbmdOb2RlSWRzLmlzRW1wdHkoKSkgew0KKyAgICAgIFVBX05vZGVJZCBvYmplY3RzTm9kZSA9IFVBX05PREVJRF9OVU1FUklDKDAsIFVBX05TMElEX1JPT1RGT0xERVIpOw0KKyAgICAgIFVBX05vZGVJZF9jb3B5KCZvYmplY3RzTm9kZSwgJnBhcmVudE5vZGVJZCk7DQorICAgIH0gZWxzZSB7DQorICAgICAgVUFfTm9kZUlkX2NvcHkoKmV4aXN0aW5nTm9kZUlkcy5iYWNrKCksICZwYXJlbnROb2RlSWQpOw0KKyAgICB9DQorDQorICAgIENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+IGNyZWF0ZWROb2RlSWRzOw0KKw0KKyAgICAvLyBjcmVhdGUgYWxsIHRoZSBub2RlcyBvbiB0aGUgd2F5DQorICAgIGZvcihzaXplX3QgaiA9IGZpcnN0Tm9uRXhpc3RpbmdOb2RlOyBqIDwgZm9sZGVyQ250OyBqKyspIHsNCisNCisgICAgICBVQV9Ob2RlSWQgdHlwZSA9IFVBX05PREVJRF9OVU1FUklDKDAsIFVBX05TMElEX0ZPTERFUlRZUEUpOw0KKyAgICAgIENDcmVhdGVPYmplY3RJbmZvIGNyZWF0ZUluZm9ybWF0aW9uOw0KKw0KKyAgICAgIGNyZWF0ZUluZm9ybWF0aW9uLm1SZXF1ZXN0ZWROb2RlSWQgPSAwOw0KKyAgICAgIGNyZWF0ZUluZm9ybWF0aW9uLm1QYXJlbnROb2RlSWQgPSAmcGFyZW50Tm9kZUlkOw0KKyAgICAgIFVBX1F1YWxpZmllZE5hbWVfY29weSgmYnJvd3NlUGF0aHNbZm9sZGVyQ250IC0gMV0ucmVsYXRpdmVQYXRoLmVsZW1lbnRzW2pdLnRhcmdldE5hbWUsIGNyZWF0ZUluZm9ybWF0aW9uLm1Ccm93c2VOYW1lKTsNCisgICAgICBjcmVhdGVJbmZvcm1hdGlvbi5tVHlwZU5vZGVJZCA9ICZ0eXBlOw0KKw0KKyAgICAgIHJldFZhbCA9IGNyZWF0ZU9iamVjdE5vZGUoY3JlYXRlSW5mb3JtYXRpb24pOw0KKw0KKyAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCAhPSByZXRWYWwpIHsNCisgICAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBMT0NBTF06IENvdWxkIG5vdCBjcmVhdGUgZm9sZGVyICUuKnMgaW4gcGF0aCAlcy4gRXJyb3I6ICVzXG4iLCBjcmVhdGVJbmZvcm1hdGlvbi5tQnJvd3NlTmFtZS0+bmFtZS5sZW5ndGgsDQorICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGNyZWF0ZUluZm9ybWF0aW9uLm1Ccm93c2VOYW1lLT5uYW1lLmRhdGEpLCBwYUZvbGRlcnMsIFVBX1N0YXR1c0NvZGVfbmFtZShyZXRWYWwpKTsNCisgICAgICAgIGJyZWFrOw0KKyAgICAgIH0NCisNCisgICAgICBVQV9Ob2RlSWQgKnRtcCA9IFVBX05vZGVJZF9uZXcoKTsNCisgICAgICBVQV9Ob2RlSWRfY29weShjcmVhdGVJbmZvcm1hdGlvbi5tUmV0dXJuZWROb2RlSWQsIHRtcCk7DQorICAgICAgY3JlYXRlZE5vZGVJZHMucHVzaEJhY2sodG1wKTsNCisNCisgICAgICBVQV9Ob2RlSWRfZGVsZXRlTWVtYmVycygmcGFyZW50Tm9kZUlkKTsNCisgICAgICBVQV9Ob2RlSWRfY29weShjcmVhdGVJbmZvcm1hdGlvbi5tUmV0dXJuZWROb2RlSWQsICZwYXJlbnROb2RlSWQpOw0KKyAgICB9DQorDQorICAgIFVBX05vZGVJZF9kZWxldGVNZW1iZXJzKCZwYXJlbnROb2RlSWQpOw0KKyAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj46Okl0ZXJhdG9yIGl0ID0gZXhpc3RpbmdOb2RlSWRzLmJlZ2luKCk7IGl0ICE9IGV4aXN0aW5nTm9kZUlkcy5lbmQoKTsgKytpdCkgew0KKyAgICAgIGlmKFVBX1NUQVRVU0NPREVfR09PRCAhPSByZXRWYWwpIHsNCisgICAgICAgIFVBX05vZGVJZF9kZWxldGUoKml0KTsNCisgICAgICB9IGVsc2Ugew0KKyAgICAgICAgcGFDcmVhdGVkTm9kZUlkcy5wdXNoQmFjaygqaXQpOw0KKyAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj46Okl0ZXJhdG9yIGl0ID0gY3JlYXRlZE5vZGVJZHMuYmVnaW4oKTsgaXQgIT0gY3JlYXRlZE5vZGVJZHMuZW5kKCk7ICsraXQpIHsNCisgICAgICBwYUNyZWF0ZWROb2RlSWRzLnB1c2hCYWNrKCppdCk7IC8vc3RvcmUgdGhlIE5vZGVJZCBiZWNhdXNlIHRoZSBvYmplY3Qgd2FzIGNyZWF0ZWQsIGFuZCBpZiB0aGUgbmV4dCBmYWlscywgdGhlIG5vZGUgc2hvdWxkIGJlIHJlZmVyZW5jZWQNCisgICAgfQ0KKw0KKyAgICBDT1BDX1VBX0hlbHBlcjo6cmVsZWFzZUJyb3dzZUFyZ3VtZW50KCpicm93c2VQYXRocywgZm9sZGVyQ250KTsNCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpzcGxpdEFuZENyZWF0ZUZvbGRlcnMoQ0lFQ19TVFJJTkcgJnBhQnJvd3NlUGF0aCwgQ0lFQ19TVFJJTkcgJnBhTm9kZU5hbWUsDQorICAgIENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+ICZwYVJyZWZlcmVuY2VkTm9kZXMpIHsNCisgIENJRUNfU1RSSU5HIGZvbGRlcnM7DQorICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFESU5URVJOQUxFUlJPUjsNCisgIGlmKHNwbGl0Rm9sZGVyc0Zyb21Ob2RlKHBhQnJvd3NlUGF0aCwgZm9sZGVycywgcGFOb2RlTmFtZSkpIHsNCisgICAgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOw0KKyAgICBpZigiIiAhPSBmb2xkZXJzKSB7DQorICAgICAgcmV0VmFsID0gY3JlYXRlRm9sZGVycyhmb2xkZXJzLmdldFZhbHVlKCksIHBhUnJlZmVyZW5jZWROb2Rlcyk7DQorICAgIH0NCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK2Jvb2wgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpzcGxpdEZvbGRlcnNGcm9tTm9kZShjb25zdCBDSUVDX1NUUklORyAmcGFPcmlnaW5hbCwgQ0lFQ19TVFJJTkcgJnBhRm9sZGVyLCBDSUVDX1NUUklORyAmcGFOb2RlTmFtZSkgew0KKw0KKyAgYm9vbCByZXRWYWwgPSBmYWxzZTsNCisNCisgIGlmKENPUENfVUFfSGVscGVyOjppc0Jyb3dzZVBhdGhWYWxpZChwYU9yaWdpbmFsLmdldFZhbHVlKCkpKSB7DQorICAgIHJldFZhbCA9IHRydWU7DQorDQorICAgIENJRUNfU1RSSU5HIGNvcHlPZk9yaWdpbmFsKHBhT3JpZ2luYWwpOw0KKw0KKyAgICBjaGFyICpiZWdpbiA9IGNvcHlPZk9yaWdpbmFsLmdldFZhbHVlKCk7DQorICAgIGNoYXIgKnJ1bm5lciA9IGJlZ2luICsgY29weU9mT3JpZ2luYWwubGVuZ3RoKCkgLSAxOw0KKw0KKyAgICBpZignLycgPT0gKnJ1bm5lcikgeyAvLyByZW1vdmUgdGFpbGluZyBzbGFzaA0KKyAgICAgICpydW5uZXIgPSAnXDAnOw0KKyAgICAgIHJ1bm5lci0tOw0KKyAgICB9DQorDQorICAgIHdoaWxlKCcvJyAhPSAqcnVubmVyKSB7DQorICAgICAgcnVubmVyLS07DQorICAgIH0NCisNCisgICAgKnJ1bm5lciA9ICdcMCc7DQorICAgIHBhTm9kZU5hbWUgPSBydW5uZXIgKyAxOw0KKw0KKyAgICBpZihiZWdpbiAhPSBydW5uZXIpIHsNCisgICAgICBwYUZvbGRlciA9IGJlZ2luOw0KKyAgICB9DQorICB9DQorDQorICByZXR1cm4gcmV0VmFsOw0KK30NCisNCit2b2lkIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6aGFuZGxlUHJlc2VudE5vZGVzKENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+ICZwYVByZXNlbnROb2RlcywgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gJnBhUmVmZXJlbmNlZE5vZGVzLCBib29sIHBhRmFpbGVkKSB7DQorICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj46Okl0ZXJhdG9yIGl0UHJlc2VuZE5vZGVzID0gcGFQcmVzZW50Tm9kZXMuYmVnaW4oKTsgaXRQcmVzZW5kTm9kZXMgIT0gcGFQcmVzZW50Tm9kZXMuZW5kKCk7ICsraXRQcmVzZW5kTm9kZXMpIHsNCisgICAgaWYocGFGYWlsZWQpIHsNCisgICAgICBVQV9Ob2RlSWRfZGVsZXRlKCppdFByZXNlbmROb2Rlcyk7DQorICAgIH0gZWxzZSB7DQorICAgICAgcGFSZWZlcmVuY2VkTm9kZXMucHVzaEJhY2soKml0UHJlc2VuZE5vZGVzKTsNCisgICAgfQ0KKyAgfQ0KK30NCisNCitDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OkNMb2NhbE1ldGhvZENhbGwmIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6YWRkTWV0aG9kQ2FsbChDTG9jYWxNZXRob2RJbmZvICZwYUFjdGlvbkluZm8sDQorICAgIENPUENfVUFfSGVscGVyOjpVQV9TZW5kVmFyaWFibGVfaGFuZGxlICZwYUhhbmRsZVJlY3YpIHsNCisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtTWV0aG9kQ2FsbHNNdXRleCk7DQorICBtTWV0aG9kQ2FsbHMucHVzaEJhY2soQ0xvY2FsTWV0aG9kQ2FsbChwYUFjdGlvbkluZm8sIHBhSGFuZGxlUmVjdikpOw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8Q0xvY2FsTWV0aG9kQ2FsbD46Okl0ZXJhdG9yIGp1c3RQdXNoZWQgPSBtTWV0aG9kQ2FsbHMuYmFjaygpOw0KKyAgcmV0dXJuICpqdXN0UHVzaGVkOw0KK30NCisNCit2b2lkIENPUENfVUFfTG9jYWxfSGFuZGxlcjo6cmVtb3ZlTWV0aG9kQ2FsbChDTG9jYWxNZXRob2RDYWxsICZ0b1JlbW92ZSkgew0KKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1NZXRob2RDYWxsc011dGV4KTsNCisgIG1NZXRob2RDYWxscy5lcmFzZSh0b1JlbW92ZSk7DQorfQ0KKw0KK0NPUENfVUFfTG9jYWxfSGFuZGxlcjo6Q0xvY2FsTWV0aG9kQ2FsbCAqQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpnZXRMb2NhbE1ldGhvZENhbGwoQ0xvY2FsTWV0aG9kSW5mbyAmcGFBY3Rpb25JbmZvKSB7DQorICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obU1ldGhvZENhbGxzTXV0ZXgpOw0KKyAgQ0xvY2FsTWV0aG9kQ2FsbCAqcmV0VmFsID0gMDsNCisgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDTG9jYWxNZXRob2RDYWxsPjo6SXRlcmF0b3IgaXQgPSBtTWV0aG9kQ2FsbHMuYmVnaW4oKTsgaXQgIT0gbU1ldGhvZENhbGxzLmVuZCgpOyArK2l0KSB7DQorICAgIGlmKCYoKml0KS5tQWN0aW9uSW5mbyA9PSAmcGFBY3Rpb25JbmZvKSB7DQorICAgICAgcmV0VmFsID0gJigqaXQpOw0KKyAgICAgIGJyZWFrOw0KKyAgICB9DQorICB9DQorICByZXR1cm4gcmV0VmFsOw0KK30NCisNCisvLyAqKioqKioqKioqKioqKioqKioqKiBDQUxMQkFDS1MgKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KK1VBX1N0YXR1c0NvZGUgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpDVUFfTG9jYWxDYWxsYmFja0Z1bmN0aW9uczo6b25TZXJ2ZXJNZXRob2RDYWxsKFVBX1NlcnZlciAqLCBjb25zdCBVQV9Ob2RlSWQgKiwgdm9pZCAqLCBjb25zdCBVQV9Ob2RlSWQgKnBhTWV0aG9kTm9kZUlkLA0KKyAgICB2b2lkICpwYU1ldGhvZENvbnRleHQsIC8vTk9TT05BUg0KKyAgICBjb25zdCBVQV9Ob2RlSWQgKnBhUGFyZW50Tm9kZUlkLCB2b2lkICosIC8vTk9TT05BUg0KKyAgICBzaXplX3QgcGFJbnB1dFNpemUsIGNvbnN0IFVBX1ZhcmlhbnQgKnBhSW5wdXQsIHNpemVfdCBwYU91dHB1dFNpemUsIFVBX1ZhcmlhbnQgKnBhT3V0cHV0KSB7DQorDQorICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFEVU5FWFBFQ1RFREVSUk9SOw0KKyAgQ0xvY2FsTWV0aG9kSW5mbyAqbG9jYWxNZXRob2RIYW5kbGUgPSAwOw0KKyAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfUGFyZW50Tm9kZUhhbmRsZXI+ICptZXRob2RzQ29udGV4dHMgPSBzdGF0aWNfY2FzdDxDU2luZ2x5TGlua2VkTGlzdDxVQV9QYXJlbnROb2RlSGFuZGxlcj4qPihwYU1ldGhvZENvbnRleHQpOw0KKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PFVBX1BhcmVudE5vZGVIYW5kbGVyPjo6SXRlcmF0b3IgaXRlciA9IG1ldGhvZHNDb250ZXh0cy0+YmVnaW4oKTsgaXRlciAhPSBtZXRob2RzQ29udGV4dHMtPmVuZCgpOyArK2l0ZXIpIHsNCisgICAgaWYoVUFfTm9kZUlkX2VxdWFsKHBhUGFyZW50Tm9kZUlkLCAoKml0ZXIpLm1QYXJlbnROb2RlSWQpICYmIFVBX05vZGVJZF9lcXVhbChwYU1ldGhvZE5vZGVJZCwgKCppdGVyKS5tTWV0aG9kTm9kZUlkKSkgew0KKyAgICAgIGxvY2FsTWV0aG9kSGFuZGxlID0gJigqaXRlcikubUFjdGlvbkluZm87DQorICAgICAgYnJlYWs7DQorICAgIH0NCisgIH0NCisNCisgIGlmKCFsb2NhbE1ldGhvZEhhbmRsZSkgew0KKyAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBNZXRob2QgZG9lc24ndCBoYXZlIGFueSBGQiByZWZlcmVuY2luZyBpdFxuIik7DQorICB9IGVsc2Ugew0KKyAgICBpZihwYUlucHV0U2l6ZSAhPSBsb2NhbE1ldGhvZEhhbmRsZS0+Z2V0UmVjZWl2ZVNpemUoKSB8fCBwYU91dHB1dFNpemUgIT0gbG9jYWxNZXRob2RIYW5kbGUtPmdldFNlbmRTaXplKCkpIHsNCisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgTE9DQUxdOiBtZXRob2QgY2FsbCBnb3QgaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzLiBJbjogJWQ9PSVkLCBPdXQ6ICVkPT0lZFxuIiwgbG9jYWxNZXRob2RIYW5kbGUtPmdldFJlY2VpdmVTaXplKCksIHBhSW5wdXRTaXplLA0KKyAgICAgICAgbG9jYWxNZXRob2RIYW5kbGUtPmdldFNlbmRTaXplKCksIHBhT3V0cHV0KTsNCisgICAgfSBlbHNlIHsNCisgICAgICAvLyBvdGhlciB0aHJlYWQgbWF5IGN1cnJlbnRseSBjcmVhdGUgbm9kZXMgZm9yIHRoZSBzYW1lIHBhdGgsIHRodXMgbXV0ZXgNCisgICAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obG9jYWxNZXRob2RIYW5kbGUtPmdldE11dGV4KCkpOyAvL1RPRE86IGRvIHdlIG5lZWQgdGhpcyBtdXRleD8NCisNCisgICAgICBDT1BDX1VBX0hlbHBlcjo6VUFfU2VuZFZhcmlhYmxlX2hhbmRsZSBzZW5kSGFuZGxlKHBhT3V0cHV0U2l6ZSk7DQorICAgICAgQ09QQ19VQV9IZWxwZXI6OlVBX1JlY3ZWYXJpYWJsZV9oYW5kbGUgcmVjdkhhbmRsZShwYUlucHV0U2l6ZSk7DQorDQorICAgICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHBhSW5wdXRTaXplOyBpKyspIHsNCisgICAgICAgIHJlY3ZIYW5kbGUubURhdGFbaV0gPSAmcGFJbnB1dFtpXTsNCisgICAgICB9DQorDQorICAgICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHBhT3V0cHV0U2l6ZTsgaSsrKSB7DQorICAgICAgICBzZW5kSGFuZGxlLm1EYXRhW2ldID0gJnBhT3V0cHV0W2ldOw0KKyAgICAgIH0NCisNCisgICAgICAvLyBIYW5kbGUgcmV0dXJuIG9mIHJlY2VpdmUgbURhdGENCisgICAgICBpZihlX1Byb2Nlc3NEYXRhT2sgPT0gbG9jYWxNZXRob2RIYW5kbGUtPmdldExheWVyKCkucmVjdkRhdGEoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCAqPigmcmVjdkhhbmRsZSksIDApKSB7IC8vVE9ETzogYWRkIG11bHRpZGltZW5zaW9uYWwgbURhdGEgaGFuZGxpbmcgd2l0aCAncmFuZ2UnLg0KKw0KKyAgICAgICAgbG9jYWxNZXRob2RIYW5kbGUtPmdldExheWVyKCkuZ2V0Q29tbUZCKCktPmludGVycnVwdENvbW1GQigmbG9jYWxNZXRob2RIYW5kbGUtPmdldExheWVyKCkpOw0KKw0KKyAgICAgICAgLy93aGVuIHRoZSBtZXRob2QgZmluaXNoZXMsIGFuZCBSU1AgaXMgdHJpZ2dlcmVkLCBzZW5kSGFuZGxlIHdpbGwgYmUgZmlsbGVkIHdpdGggdGhlIHJpZ2h0IGluZm9ybWF0aW9uDQorICAgICAgICBDTG9jYWxNZXRob2RDYWxsICZsb2NhbE1ldGhvZENhbGwgPSA6OmdldEV4dEV2SGFuZGxlcjxDT1BDX1VBX0xvY2FsX0hhbmRsZXI+KCpsb2NhbE1ldGhvZEhhbmRsZS0+Z2V0TGF5ZXIoKS5nZXRDb21tRkIoKSkuYWRkTWV0aG9kQ2FsbCgNCisgICAgICAgICAgKmxvY2FsTWV0aG9kSGFuZGxlLCBzZW5kSGFuZGxlKTsNCisNCisgICAgICAgIDo6Z2V0RXh0RXZIYW5kbGVyPENPUENfVUFfTG9jYWxfSGFuZGxlcj4oKmxvY2FsTWV0aG9kSGFuZGxlLT5nZXRMYXllcigpLmdldENvbW1GQigpKS5zdGFydE5ld0V2ZW50Q2hhaW4obG9jYWxNZXRob2RIYW5kbGUtPmdldExheWVyKCkuZ2V0Q29tbUZCKCkpOw0KKw0KKyAgICAgICAgLy93YWl0IEZvciBzZW1hcGhvcmUsIHdoaWNoIHdpbGwgYmUgcmVsZWFzZWQgYnkgZXhlY3V0ZSBMb2NhbCBNZXRob2QgaW4gdGhpcyBoYW5kbGVyDQorICAgICAgICBpZighbG9jYWxNZXRob2RIYW5kbGUtPmdldFJlc3VsdFJlYWR5KCkudGltZWRXYWl0KHNjbU1ldGhvZENhbGxUaW1lb3V0SW5OYW5vU2Vjb25kcykpIHsNCisgICAgICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIExPQ0FMXTogbWV0aG9kIGNhbGwgZGlkIG5vdCBnZXQgcmVzdWx0IHZhbHVlcyB3aXRoaW4gdGltZW91dCBvZiAldSBuYW5vc2Vjb25kcy5cbiIsIHNjbU1ldGhvZENhbGxUaW1lb3V0SW5OYW5vU2Vjb25kcyk7DQorICAgICAgICAgIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFEVElNRU9VVDsNCisgICAgICAgIH0gZWxzZSB7DQorICAgICAgICAgIHJldFZhbCA9IHNlbmRIYW5kbGUubUZhaWxlZCA/IFVBX1NUQVRVU0NPREVfQkFEVU5FWFBFQ1RFREVSUk9SIDogVUFfU1RBVFVTQ09ERV9HT09EOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgOjpnZXRFeHRFdkhhbmRsZXI8Q09QQ19VQV9Mb2NhbF9IYW5kbGVyPigqbG9jYWxNZXRob2RIYW5kbGUtPmdldExheWVyKCkuZ2V0Q29tbUZCKCkpLnJlbW92ZU1ldGhvZENhbGwobG9jYWxNZXRob2RDYWxsKTsNCisgICAgICB9DQorICAgIH0NCisgIH0NCisgIHJldHVybiByZXRWYWw7DQorfQ0KKw0KK3ZvaWQgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyOjpDVUFfTG9jYWxDYWxsYmFja0Z1bmN0aW9uczo6b25Xcml0ZShVQV9TZXJ2ZXIgKiwgY29uc3QgVUFfTm9kZUlkICosIHZvaWQgKiwgY29uc3QgVUFfTm9kZUlkICosIHZvaWQgKm5vZGVDb250ZXh0LCAvL05PU09OQVINCisgICAgY29uc3QgVUFfTnVtZXJpY1JhbmdlICosIGNvbnN0IFVBX0RhdGFWYWx1ZSAqZGF0YSkgew0KKw0KKyAgVUFfVmFyaWFibGVDb250ZXh0X0hhbmRsZSAqdmFyaWFibGVDYWxsYmFja0hhbmRsZSA9IHN0YXRpY19jYXN0PFVBX1ZhcmlhYmxlQ29udGV4dF9IYW5kbGUgKj4obm9kZUNvbnRleHQpOw0KKw0KKyAgQ09QQ19VQV9IZWxwZXI6OlVBX1JlY3ZWYXJpYWJsZV9oYW5kbGUgaGFuZGxlUmVjdigxKTsNCisNCisgIGhhbmRsZVJlY3YubURhdGFbMF0gPSBkYXRhLT5oYXNWYWx1ZSA/ICZkYXRhLT52YWx1ZSA6IDA7IC8vVE9ETzogY2hlY2sgdGhpcyBlbXB0eSBkYXRhDQorICBoYW5kbGVSZWN2Lm1PZmZzZXQgPSB2YXJpYWJsZUNhbGxiYWNrSGFuZGxlLT5tUG9ydEluZGV4Ow0KKw0KKyAgRUNvbVJlc3BvbnNlIHJldFZhbCA9IHZhcmlhYmxlQ2FsbGJhY2tIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkucmVjdkRhdGEoc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCAqPigmaGFuZGxlUmVjdiksIDApOyAvL1RPRE86IGFkZCBtdWx0aWRpbWVuc2lvbmFsIG1EYXRhIGhhbmRsaW5nIHdpdGggJ3JhbmdlJy4NCisNCisgIGlmKGVfTm90aGluZyAhPSByZXRWYWwpIHsNCisgICAgdmFyaWFibGVDYWxsYmFja0hhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKS0+aW50ZXJydXB0Q29tbUZCKCZ2YXJpYWJsZUNhbGxiYWNrSGFuZGxlLT5tQWN0aW9uSW5mby5nZXRMYXllcigpKTsNCisgICAgOjpnZXRFeHRFdkhhbmRsZXI8Q09QQ19VQV9Mb2NhbF9IYW5kbGVyPigqdmFyaWFibGVDYWxsYmFja0hhbmRsZS0+bUFjdGlvbkluZm8uZ2V0TGF5ZXIoKS5nZXRDb21tRkIoKSkuc3RhcnROZXdFdmVudENoYWluKA0KKyAgICAgIHZhcmlhYmxlQ2FsbGJhY2tIYW5kbGUtPm1BY3Rpb25JbmZvLmdldExheWVyKCkuZ2V0Q29tbUZCKCkpOw0KKyAgfQ0KK30NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfbG9jYWxfaGFuZGxlci5oIGIvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2xvY2FsX2hhbmRsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjlhMzJjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX2xvY2FsX2hhbmRsZXIuaApAQCAtMCwwICsxLDY4NSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxNS0yMDE5IEZsb3JpYW4gRnJvc2NoZXJtZWllciA8Zmxvcmlhbi5mcm9zY2hlcm1laWVyQHR1bS5kZT4sCisgKiAgICAgICAgICAgICAgIGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICAgRmxvcmlhbiBGcm9zY2hlcm1laWVyCisgKiAgICAgIC0gaW5pdGlhbCBpbnRlZ3JhdGlvbiBvZiB0aGUgT1BDLVVBIHByb3RvY29sCisgKiAgICBTdGVmYW4gUHJvZmFudGVyCisgKiAgICAgIC0gcmVmYWN0b3JpbmcgYW5kIGFkYXB0aW9uIHRvIG5ldyBjb25jZXB0CisgKiAgICBKb3NlIENhYnJhbDoKKyAqICAgICAgLSByZWZhY3RvcmluZyB0byBjbGVhbmVyIGFyY2hpdGVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX01PRFVMRVNfT1BDX1VBX09QQ1VBTE9DQUxIQU5ETEVSX0hfCisjZGVmaW5lIFNSQ19NT0RVTEVTX09QQ19VQV9PUENVQUxPQ0FMSEFORExFUl9IXworCisjaW5jbHVkZSA8Zm9ydGVfdGhyZWFkLmg+CisjaW5jbHVkZSA8Y29ubi5oPgorI2luY2x1ZGUgPGZvcnRlX3NlbS5oPgorI2luY2x1ZGUgPGZvcnRlX3N5bmMuaD4KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZvcnRlbGlzdC5oIgorI2luY2x1ZGUgIm9wY3VhX2hhbmRsZXJfYWJzdHJhY3QuaCIKKyNpbmNsdWRlICJvcGN1YV9oZWxwZXIuaCIKKworLyoqCisgKiBDbGFzcyB0byBoYW5kbGUgYWxsIGFjdGlvbiB0aGF0IGFyZSBleGVjdXRlZCBvbiBhIGxvY2FsIE9QQyBVQSBzZXJ2ZXIKKyAqLworLy8gY3BwY2hlY2stc3VwcHJlc3Mgbm9Db25zdHJ1Y3RvcgorY2xhc3MgQ09QQ19VQV9Mb2NhbF9IYW5kbGVyIDogcHVibGljIENPUENfVUFfSGFuZGxlckFic3RyYWN0LCBwdWJsaWMgQ1RocmVhZCB7CisgIERFQ0xBUkVfSEFORExFUihDT1BDX1VBX0xvY2FsX0hhbmRsZXIpCisgIHB1YmxpYzoKKworICAgIC8qKgorICAgICAqIFN0YXJ0cyBPUEMgVUEgU2VydmVyCisgICAgICovCisgICAgdm9pZCBlbmFibGVIYW5kbGVyKHZvaWQpOworCisgICAgLyoqCisgICAgICogU3RvcHMgdGhlIE9QQyBVQSBzZXJ2ZXIKKyAgICAgKi8KKyAgICB2b2lkIGRpc2FibGVIYW5kbGVyKHZvaWQpOworCisgICAgLyoqCisgICAgICogQ2xhc3MgY29udGFpbmluZyBhbGwgbG9jYWwgY2FsbGJhY2sgZnVuY3Rpb25zIHRoYXQgYXJlIGNhbGxlZCBieSB0aGUgT1BDIFVBIHN0YWNrCisgICAgICovCisgICAgY2xhc3MgQ1VBX0xvY2FsQ2FsbGJhY2tGdW5jdGlvbnMgeworICAgICAgcHVibGljOgorICAgICAgICAvKioKKyAgICAgICAgICogQ2FsbGJhY2sgd2hlbiBhIG1ldGhvZCBpbiB0aGUgT1BDIFVBIHNlcnZlciB3YXMgZXhlY3V0ZWQKKyAgICAgICAgICovCisgICAgICAgIHN0YXRpYyBVQV9TdGF0dXNDb2RlIG9uU2VydmVyTWV0aG9kQ2FsbChVQV9TZXJ2ZXIgKnBhU2VydmVyLCBjb25zdCBVQV9Ob2RlSWQgKnBhU2Vzc2lvbklkLCB2b2lkICpwYVNlc3Npb25Db250ZXh0LCBjb25zdCBVQV9Ob2RlSWQgKnBhTWV0aG9kSWQsCisgICAgICAgICAgICB2b2lkICpwYU1ldGhvZENvbnRleHQsIGNvbnN0IFVBX05vZGVJZCAqcGFPYmplY3RJZCwgdm9pZCAqcGFPYmplY3RDb250ZXh0LCBzaXplX3QgcGFJbnB1dFNpemUsIGNvbnN0IFVBX1ZhcmlhbnQgKnBhSW5wdXQsIHNpemVfdCBwYU91dHB1dFNpemUsCisgICAgICAgICAgICBVQV9WYXJpYW50ICpwYU91dHB1dCk7CisKKyAgICAgICAgLyoqCisgICAgICAgICAqIENhbGxiYWNrIHdoZW4gYW4gZXh0ZXJuYWwgY2xpZW50IHdyaXRlcyB0byBhIHZhcmlhYmxlIG9uIHRoaXMgc2VydmVyLgorICAgICAgICAgKi8KKyAgICAgICAgc3RhdGljIHZvaWQgb25Xcml0ZShVQV9TZXJ2ZXIgKnBhU2VydmVyLCBjb25zdCBVQV9Ob2RlSWQgKnBhU2Vzc2lvbklkLCB2b2lkICpwYVNlc3Npb25Db250ZXh0LCBjb25zdCBVQV9Ob2RlSWQgKnBhTm9kZUlkLCB2b2lkICpwYU5vZGVDb250ZXh0LAorICAgICAgICAgICAgY29uc3QgVUFfTnVtZXJpY1JhbmdlICpwYVJhbmdlLCBjb25zdCBVQV9EYXRhVmFsdWUgKnBhRGF0YSk7CisgICAgfTsKKworICBwcm90ZWN0ZWQ6CisKKyAgICAvKioKKyAgICAgKiBQZXJmb3JtIGFsbCB0aGUgbmVlZGVkIGluaXRpYWxpemF0aW9uIG9mIHRoZSBhY3Rpb24KKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIEFjdGlvbiB0byBiZSBpbml0aWFsaXplZAorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIGlzIG5vIHByb2JsZW0gb2NjdXJyZWQsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIHZpcnR1YWwgVUFfU3RhdHVzQ29kZSBpbml0aWFsaXplQWN0aW9uKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pOworCisgICAgLyoqCisgICAgICogRXhlY3V0ZSB0aGUgYWN0aW9uCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgZXhlY3V0ZWQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICB2aXJ0dWFsIFVBX1N0YXR1c0NvZGUgZXhlY3V0ZUFjdGlvbihDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIFVuaW5pdGlhbGl6ZSB0aGUgYWN0aW9uCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgVW5pbml0aWFsaXplZAorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIGlzIG5vIHByb2JsZW0gb2NjdXJyZWQsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIHZpcnR1YWwgVUFfU3RhdHVzQ29kZSB1bmluaXRpYWxpemVBY3Rpb24oQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbyk7CisKKyAgcHJpdmF0ZToKKworICAgIC8qKgorICAgICAqIE92ZXJyaWRkZW4gcnVuKCkgZnJvbSBDVGhyZWFkIHdoaWNoIGxvb3BzIHRoZSBVQSBTZXJ2ZXIuCisgICAgICovCisgICAgdmlydHVhbCB2b2lkIHJ1bigpOworCisgICAgLyoqCisgICAgICogU3RhcnRzIHRoZSBPUEMgVUEgc2VydmVyLCBpZiBpdCBpcyBub3QgYWxyZWFkeSBydW5uaW5nCisgICAgICovCisgICAgdm9pZCBzdGFydFNlcnZlcigpOworCisgICAgLyoqCisgICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIHNlcnZlciBoYXMgc3RhcnRlZCwgYW5kIGFsbG93IHdhaXRpbmcgdGhyZWFkcyB0byB3b3JrIG9uIGl0CisgICAgICovCisgICAgQ1NlbWFwaG9yZSBtU2VydmVyU3RhcnRlZDsKKworICAgIC8qKgorICAgICAqIFN0b3BzIHRoZSBPUEMgVUEgc2VydmVyCisgICAgICovCisgICAgdm9pZCBzdG9wU2VydmVyKCk7CisKKyAgICAvKioKKyAgICAgKiBTdHJ1Y3R1cmUgdG8gY29udGFpbiBhbGwgbmVlZGVkIHN0cmluZ3MgdG8gY29uZmlndXJlIHRoZSBzZXJ2ZXIKKyAgICAgKi8KKyAgICBzdHJ1Y3QgVUFfU2VydmVyU3RyaW5ncyB7CisgICAgICAgIENJRUNfU1RSSU5HIG1Ib3N0bmFtZTsKKyAgICAgICAgQ0lFQ19TVFJJTkcgbUFwcFVSSTsKKyAgICB9OworCisgICAgLyoqCisgICAgICogR2VuZXJhdGUgdGhlIGhvc3RuYW1lIGFuZCB0aGUgYXBwbGljYXRpb24gVVJJIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgc2VydmVyCisgICAgICogQHBhcmFtIHBhVUFTZXJ2ZXJQb3J0IFBvcnQgd2hlcmUgdGhlIE9QQyBVQSBzZXJ2ZXIgd2lsbCBsaXN0ZW4KKyAgICAgKiBAcGFyYW0gcGFTZXJ2ZXJTdHJpbmdzIFBsYWNlIHRvIHN0b3JlIHRoZSBnZW5lcmF0ZWQgc3RyaW5ncworICAgICAqLworICAgIHZvaWQgZ2VuZXJhdGVTZXJ2ZXJTdHJpbmdzKFRGb3J0ZVVJbnQxNiBwYVVBU2VydmVyUG9ydCwgVUFfU2VydmVyU3RyaW5ncyAmcGFTZXJ2ZXJTdHJpbmdzKTsKKyAgICAvKioKKyAgICAgKiAgQ3JlYXRlcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIE9QQyBVQSBTZXJ2ZXIuCisgICAgICogQHBhcmFtIHBhVUFTZXJ2ZXJQb3J0IFBvcnQgd2hlcmUgdGhlIE9QQyBVQSBzZXJ2ZXIgd2lsbCBsaXN0ZW4KKyAgICAgKiBAcGFyYW0gcGFTZXJ2ZXJTdHJpbmdzIFN0cmluZ3MgbmVlZGVkIHRvIGNvbmZpZ3VyZSB0aGUgc2VydmVyCisgICAgICogQHBhcmFtIHBhVWFTZXJ2ZXJDb25maWcgUGxhY2UgdG8gc3RvcmUgYWxsIHRoZSBjb25maWd1cmF0aW9ucworICAgICAqLworICAgIHZvaWQgY29uZmlndXJlVUFTZXJ2ZXIoVEZvcnRlVUludDE2IHBhVUFTZXJ2ZXJQb3J0LCBVQV9TZXJ2ZXJTdHJpbmdzICZwYVNlcnZlclN0cmluZ3MsIFVBX1NlcnZlckNvbmZpZyAmcGFVYVNlcnZlckNvbmZpZyk7CisKKyAgICAvKioKKyAgICAgKiBIYW5kbGVyIG9mIHRoZSBPUEMgVUEgc3RhY2sgc2VydmVyCisgICAgICovCisgICAgVUFfU2VydmVyICptVWFTZXJ2ZXI7CisKKyAgICAvKioKKyAgICAgKiBGbGFnIGluZGljYXRpbmcgaWYgdGhlIHNlcnZlciBzaG91bGQgYmUgcnVubmluZyBvciBub3QKKyAgICAgKi8KKyAgICB2b2xhdGlsZSBVQV9Cb29sZWFuIG1VYVNlcnZlclJ1bm5pbmdGbGFnOworCisgICAgLyoqCisgICAgICogTWF4aW1hbCBsZW5ndGggZm9yIHRoZSBzZXJ2ZXIgbmFtZQorICAgICAqLworICAgIHN0YXRpYyBjb25zdCBzaXplX3Qgc2NtTWF4U2VydmVyTmFtZUxlbmd0aCA9IDI1NTsKKworICAgIC8qKgorICAgICAqIEdlbmVyYXRlZCBmdW5jdGlvbiB0aGF0IGNhbGwgdGhlIGluaXRpYWxpemF0aW9uIG9mIGFsbCBub2Rlc3BhY2VzIGFkZGVkIGJ5IHRoZSB1c2VyIGluIENNYWtlCisgICAgICogQHBhcmFtIHBhVWFTZXJ2ZXIgT1BDIFVBIFNlcnZlcgorICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBubyBlcnJvciBvY2N1cnJlZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBpbml0aWFsaXplTm9kZXNldHMoVUFfU2VydmVyICZwYVVhU2VydmVyKTsKKworICAgIC8qKgorICAgICAqIE1hcCB0byBrbm93IHdoaWNoIGFjdGlvbnMgYXJlIHVzaW5nIHdoaWNoIG5vZGVzLiBXaGVuIGFuIGFjdGlvbiBpcyB1bml0aWFsaXplZCwgdGhpcyBpcyBjaGVja2VkCisgICAgICogdG8gc2VlIGlmIHRoZSBub2RlSWQgc3RpbGwgaGFzIHNvbWUgYWN0aW9uIHVzaW5nIGl0LiBJZiBub3QsIHRoZW4gaXQgY2FuIGJlIHNhZmVseSBkZWxldGVkCisgICAgICovCisgICAgc3RydWN0IG5vZGVzUmVmZXJlbmNlZEJ5QWN0aW9ucyB7CisgICAgICAgIGNvbnN0IFVBX05vZGVJZCAqbU5vZGVJZDsKKyAgICAgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0FjdGlvbkluZm8qPiBtQWN0aW9uc1JlZmVyZW5jaW5nSXQ7CisgICAgfTsKKworICAgIC8qKgorICAgICAqIEZvciBlYWNoIG5vZGUgdGhhdCBpcyBhY2Nlc3NlZCBieSB0aGUgYWN0aW9uLCBhbiBlbnRyeSBpbiB0aGlzIGxpc3QgaXMgYWRkZWQKKyAgICAgKi8KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxub2Rlc1JlZmVyZW5jZWRCeUFjdGlvbnMqPiBtTm9kZXNSZWZlcmVuY2VzOworCisgICAgLyoqCisgICAgICogIE11dGV4IHRvIGFjY2VzcyBtTm9kZXNSZWZlcmVuY2VzCisgICAgICovCisgICAgQ1N5bmNPYmplY3QgbU5vZGVzUmVmZXJlbmNlc011dGV4OworCisgICAgLyoqCisgICAgICogRm9yIGFsbCBub2RlcyB0aGF0IGFuIGFjdGlvbiBpcyByZWZlcmVuY2luZywgaXQgYWRkcyB0aGUgYWN0aW9uIGFzIHJlZmVyZW5jZQorICAgICAqIEBwYXJhbSBwYU5vZGVzIE5vZGVzIGJlaW5nIHJlZmVyZW5jZWQgYnkgdGhlIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHJlZmVyZW5jaW5nIHRoZSBub2RlcworICAgICAqLworICAgIHZvaWQgcmVmZXJlbmNlZE5vZGVzSW5jcmVtZW50KGNvbnN0IENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCAqPiAmcGFOb2RlcywgQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBSZW1vdmVzIHRoZSBhY3Rpb24gZnJvbSB0aGUgcmVmZXJlbmNlcyBmcm9tIGFsbCB0aGUgbm9kZXMgd2hlcmUgaXQncyBwcmVzZW50CisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgcmVtb3ZlZAorICAgICAqLworICAgIHZvaWQgcmVmZXJlbmNlZE5vZGVzRGVjcmVtZW50KGNvbnN0IENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pOworCisgICAgLyoqCisgICAgICogTG9va3MgZm9yIGFsbCBub2RlcyB3aGljaCBhbiBhY3Rpb24gaXMgcmVmZXJlbmNpbmcKKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIEFjdGlvbiB0byBiZSBsb29rIGZvciBhcyBhIHJlZmVyZW5jZQorICAgICAqIEBwYXJhbSBwYU5vZGVzIFBsYWNlIHRvIHN0b3JlIHRoZSBub2RlcyB0aGF0IGFyZSByZWZlcmVuY2luZyB0aGUgYWN0aW9uCisgICAgICovCisgICAgdm9pZCBnZXROb2Rlc1JlZmVyZW5jZWRCeUFjdGlvbihjb25zdCBDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvLCBDU2luZ2x5TGlua2VkTGlzdDxjb25zdCBVQV9Ob2RlSWQgKj4gJnBhTm9kZXMpOworCisgICAgLyoqCisgICAgICogUGFyZW50IGNsYXNzIHRoYXQgZW5jYXBzdWxhdGVzIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gY3JlYXRlIHNvbWV0aGluZyBpbiB0aGUgT1BDIFVBIFN0YWNrCisgICAgICovCisgICAgY2xhc3MgQ0NyZWF0ZUluZm8geworICAgICAgcHVibGljOgorICAgICAgICBDQ3JlYXRlSW5mbygpIDoKKyAgICAgICAgICAgIG1SZXF1ZXN0ZWROb2RlSWQoMCksIG1QYXJlbnROb2RlSWQoMCksIG1Ccm93c2VOYW1lKFVBX1F1YWxpZmllZE5hbWVfbmV3KCkpLCBtUmV0dXJuZWROb2RlSWQoVUFfTm9kZUlkX25ldygpKSB7CisgICAgICAgIH0KKworICAgICAgICB2aXJ0dWFsIH5DQ3JlYXRlSW5mbygpIHsKKyAgICAgICAgICBVQV9Ob2RlSWRfZGVsZXRlKG1SZXR1cm5lZE5vZGVJZCk7CisgICAgICAgICAgVUFfUXVhbGlmaWVkTmFtZV9kZWxldGUobUJyb3dzZU5hbWUpOworICAgICAgICB9CisKKyAgICAgICAgVUFfTm9kZUlkICptUmVxdWVzdGVkTm9kZUlkOworICAgICAgICBjb25zdCBVQV9Ob2RlSWQgKm1QYXJlbnROb2RlSWQ7CisgICAgICAgIFVBX1F1YWxpZmllZE5hbWUgKm1Ccm93c2VOYW1lOworICAgICAgICBVQV9Ob2RlSWQgKm1SZXR1cm5lZE5vZGVJZDsKKworICAgICAgcHJpdmF0ZToKKyAgICAgICAgQ0NyZWF0ZUluZm8oY29uc3QgQ0NyZWF0ZUluZm8gJm90aGVyKTsKKyAgICAgICAgQ0NyZWF0ZUluZm8mIG9wZXJhdG9yPShjb25zdCBDQ3JlYXRlSW5mbyAmb3RoZXIpOworICAgIH07CisKKyAgICAvKioKKyAgICAgKiBDbGFzcyB0aGF0IGVuY2Fwc3VsYXRlcyB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGNyZWF0ZSBhbiBvYmplY3QgaW4gdGhlIE9QQyBVQSBTdGFjaworICAgICAqLworICAgIGNsYXNzIENDcmVhdGVPYmplY3RJbmZvIDogcHVibGljIENDcmVhdGVJbmZvIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgQ0NyZWF0ZU9iamVjdEluZm8oKSA6CisgICAgICAgICAgICBDQ3JlYXRlSW5mbygpLCBtVHlwZU5vZGVJZCgwKSB7CisgICAgICAgIH0KKworICAgICAgICB+Q0NyZWF0ZU9iamVjdEluZm8oKSB7CisgICAgICAgIH0KKworICAgICAgICBVQV9Ob2RlSWQgKm1UeXBlTm9kZUlkOworICAgICAgcHJpdmF0ZToKKyAgICAgICAgQ0NyZWF0ZU9iamVjdEluZm8oY29uc3QgQ0NyZWF0ZU9iamVjdEluZm8gJnBhT2JqKTsKKyAgICAgICAgQ0NyZWF0ZU9iamVjdEluZm8mIG9wZXJhdG9yPShjb25zdCBDQ3JlYXRlT2JqZWN0SW5mbyAmb3RoZXIpOworICAgIH07CisKKyAgICAvKioKKyAgICAgKiBDbGFzcyB0aGF0IGVuY2Fwc3VsYXRlcyB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGNyZWF0ZSBhIHZhcmlhYmxlIGluIHRoZSBPUEMgVUEgU3RhY2sKKyAgICAgKi8KKyAgICBjbGFzcyBDQ3JlYXRlVmFyaWFibGVJbmZvIDogcHVibGljIENDcmVhdGVJbmZvIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgQ0NyZWF0ZVZhcmlhYmxlSW5mbygpIDoKKyAgICAgICAgICAgIENDcmVhdGVJbmZvKCksIG1UeXBlQ29udmVydCgwKSwgbUluaXREYXRhKDApLCBtQWxsb3dXcml0ZShmYWxzZSkgeworCisgICAgICAgIH0KKworICAgICAgICB+Q0NyZWF0ZVZhcmlhYmxlSW5mbygpIHsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnN0IFVBX0RhdGFUeXBlICptVHlwZUNvbnZlcnQ7CisgICAgICAgIGNvbnN0IENJRUNfQU5ZICptSW5pdERhdGE7CisgICAgICAgIGJvb2wgbUFsbG93V3JpdGU7CisgICAgICBwcml2YXRlOgorICAgICAgICBDQ3JlYXRlVmFyaWFibGVJbmZvKGNvbnN0IENDcmVhdGVWYXJpYWJsZUluZm8gJnBhT2JqKTsKKyAgICAgICAgQ0NyZWF0ZVZhcmlhYmxlSW5mbyYgb3BlcmF0b3I9KGNvbnN0IENDcmVhdGVWYXJpYWJsZUluZm8gJm90aGVyKTsKKyAgICB9OworCisgICAgLyoqCisgICAgICogQ2xhc3MgdGhhdCBlbmNhcHN1bGF0ZXMgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBjcmVhdGUgYSBtZXRob2QgaW4gdGhlIE9QQyBVQSBTdGFjaworICAgICAqLworICAgIGNsYXNzIENDcmVhdGVNZXRob2RJbmZvIDogcHVibGljIENDcmVhdGVJbmZvIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQgQ0NyZWF0ZU1ldGhvZEluZm8oQ0xvY2FsTWV0aG9kSW5mbyAmcGFDYWxsYWNrKSA6CisgICAgICAgICAgICBDQ3JlYXRlSW5mbygpLCBtSW5wdXRBcmd1bWVudHMoMCksIG1PdXRwdXRBcmd1bWVudHMoMCksIG1Mb2NhbE1ldGhvZEluZm8ocGFDYWxsYWNrKSwgbUlucHV0U2l6ZSgwKSwgbU91dHB1dFNpemUoMCkgeworCisgICAgICAgIH0KKyAgICAgICAgfkNDcmVhdGVNZXRob2RJbmZvKCkgeworICAgICAgICAgIFVBX0FycmF5X2RlbGV0ZShtSW5wdXRBcmd1bWVudHMsIG1JbnB1dFNpemUsICZVQV9UWVBFU1tVQV9UWVBFU19BUkdVTUVOVF0pOworICAgICAgICAgIFVBX0FycmF5X2RlbGV0ZShtT3V0cHV0QXJndW1lbnRzLCBtT3V0cHV0U2l6ZSwgJlVBX1RZUEVTW1VBX1RZUEVTX0FSR1VNRU5UXSk7CisgICAgICAgIH0KKworICAgICAgICBVQV9Bcmd1bWVudCAqbUlucHV0QXJndW1lbnRzOworICAgICAgICBVQV9Bcmd1bWVudCAqbU91dHB1dEFyZ3VtZW50czsKKyAgICAgICAgQ0xvY2FsTWV0aG9kSW5mbyAmbUxvY2FsTWV0aG9kSW5mbzsKKyAgICAgICAgc2l6ZV90IG1JbnB1dFNpemU7CisgICAgICAgIHNpemVfdCBtT3V0cHV0U2l6ZTsKKyAgICAgIHByaXZhdGU6CisgICAgICAgIENDcmVhdGVNZXRob2RJbmZvKENDcmVhdGVNZXRob2RJbmZvICZvdGhlcik7CisgICAgICAgIENDcmVhdGVNZXRob2RJbmZvJiBvcGVyYXRvcj0oY29uc3QgQ0NyZWF0ZU1ldGhvZEluZm8gJm90aGVyKTsKKyAgICB9OworCisgICAgLyoqCisgICAgICogVGFrZXMgY2FyZSBvZiB0aGUgcmVxdWVzdGVkIG5vZGVJZCwgcGFyZW50IG5vZGVJZCBhbmQgdGhlIGJyb3dzZW5hbWUgdG8gYmUgZ2l2ZW4gdG8gdGhlIG5ldyBjcmVhdGVkIG9iamVjdC9tZXRob2QvdmFyaWFibGUuCisgICAgICogVGhlIGNyaXRpY2FsIHBhcnQgaXMgdGhlIGJyb3dzZW5hbWUsIHNpbmNlIGl0IGNhbiBiZSBnaXZlbiB3aXRoIHRoZSBuYW1lc3BhY2UgdXNpbmcgYSBzZW1pY29sb24gKGUuZy4gL09iamVjdHMvMTpteVBhdGgvKSwgc28KKyAgICAgKiB0aGlzIGZ1bmN0aW9uIGhhbmRsZXMgdGhpcyBjYXNlCisgICAgICogQHBhcmFtIHBhTm9kZU5hbWUgTm9kZW5hbWUgZ2l2ZW4gYnkgdGhlIHVzZXIgaW4gdGhlIHBhcmFtZXRlcnMgb2YgdGhlIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYU5vZGVQYWlySW5mbyBJbmZvcm1hdGlvbiBjb250YWluaW5nIHRoZSByZXF1ZXN0ZWQgbm9kZSBJRAorICAgICAqIEBwYXJhbSBwYVBhcmVudE5vZGVJZCBJbmZvcm1hdGlvbiBjb250YWluaW5nIHRoZSBwYXJlbnQgbm9kZSBJRAorICAgICAqIEBwYXJhbSBwYVJlc3VsdCBQbGFjZSB0byBzdG9yZSB0aGUgcmVzdWx0cworICAgICAqLworICAgIHZvaWQgaW5pdGlhbGl6ZUNyZWF0ZUluZm8oQ0lFQ19TVFJJTkcgJnBhTm9kZU5hbWUsIENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvICZwYU5vZGVQYWlySW5mbywgY29uc3QgVUFfTm9kZUlkICpwYVBhcmVudE5vZGVJZCwgQ0NyZWF0ZUluZm8gJnBhUmVzdWx0KTsKKworICAgIC8qKgorICAgICAqIENvbnRleHQgcGFzc2VkIHRvIGEgdmFyaWFibGUgbm9kZSBpbiB0aGUgT1BDIFVBIHN0YWNrLCB3aGljaCBpcyByZXR1cm5lZCB3aGVuIHRoZSB2YXJpYWJsZSBpcyB3cml0dGVuIGZyb20gYSBjbGllbnQuCisgICAgICogQVRURU5USU9OOiB0aGlzIGlzIGV4YWN0bHkgdGhlIHNhbWUgY2xhc3MgYXMgdGhlIG9uZSB1c2VkIGZvciBzdWJzY3JpcHRpb24gaW4gdGhlIGNsaWVudCAoVUFfU3Vic2NyaWJlQ29udGV4dF9IYW5kbGUpLAorICAgICAqIGJ1dCBiZWNhdXNlIG9mIGNvbXBpbGF0aW9uIGVycm9ycyBvY2N1cnJlZCB3aGVuIGluY2x1ZGluZyBoZWFkZXJzLCBpdCB3YXMgY29waWVkLCBzaW5jZSBubyByaWdodCBwbGFjZSBjb3VsZCBiZSBmb3VuZCB3aGVyZSB0bworICAgICAqIGRlY2xhcmUvZGVmaW5lIHRoaXMgY2xhc3MuIElmIHNvbWVvbmUgY2FuIG1hbmFnZSB0byB1c2UgdGhlIHNhbWUgY2xhc3MgYm90aCBpbiB0aGUgQ1VBX0NsaWVudEluZm9ybWF0aW9uIGFuZCBoZXJlLCBpdCBjYW4gYmUgZGVsZXRlZAorICAgICAqLworICAgIHN0cnVjdCBVQV9WYXJpYWJsZUNvbnRleHRfSGFuZGxlIHsKKyAgICAgICAgVUFfVmFyaWFibGVDb250ZXh0X0hhbmRsZShDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvLCBzaXplX3QgcGFQb3J0SW5kZXgpIDoKKyAgICAgICAgICAgIG1BY3Rpb25JbmZvKHBhQWN0aW9uSW5mbyksIG1Qb3J0SW5kZXgocGFQb3J0SW5kZXgpIHsKKyAgICAgICAgfQorCisgICAgICAgIC8vZGVmYXVsdCBjb3B5IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBlbm91Z2gKKworICAgICAgICBib29sIG9wZXJhdG9yPT0oVUFfVmFyaWFibGVDb250ZXh0X0hhbmRsZSBjb25zdCAmcGFSaWdodE9iamVjdCkgY29uc3QgeworICAgICAgICAgIHJldHVybiAoJm1BY3Rpb25JbmZvID09ICZwYVJpZ2h0T2JqZWN0Lm1BY3Rpb25JbmZvICYmIG1Qb3J0SW5kZXggPT0gcGFSaWdodE9iamVjdC5tUG9ydEluZGV4KTsKKyAgICAgICAgfQorCisgICAgICAgIENBY3Rpb25JbmZvICZtQWN0aW9uSW5mbzsKKyAgICAgICAgc2l6ZV90IG1Qb3J0SW5kZXg7CisgICAgfTsKKworICAgIC8qKgorICAgICAqIExpc3QgZm9yIGNhbGxiYWNrIGhhbmRsZXMgdG8gYmUgYWJsZSB0byBjbGVhbiB0aGVtIHVwIG9uIGRlc3Ryb3kuCisgICAgICovCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8VUFfVmFyaWFibGVDb250ZXh0X0hhbmRsZT4gbU5vZGVDYWxsYmFja0hhbmRsZXM7CisKKyAgICAvKioKKyAgICAgKiBNdXRleCB1c2VkIHRvIGF2b2lkIG1hbnkgdGhyZWFkcyAoUmVzb3VyY2VzKSB0byBjcmVhdGUgdGhlIHNhbWUgbm9kZSBhdCB0aGUgc2FtZSB0aW1lCisgICAgICovCisgICAgQ1N5bmNPYmplY3QgbUNyZWF0ZU5vZGVzTXV0ZXg7CisKKyAgICAvKioKKyAgICAgKiBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gc3RvcmUgd2hvIGlzIHRoZSBwYXJlbnQgb2YgZWFjaCBtZXRob2QuIFRoaXMgbmVlZCBjb21lcyBmcm9tIHRoZSBmYWN0IHdoZW4gY3JlYXRpbmcgb2JqZWN0cyB0aGF0IGhhdmUgbWV0aG9kcywKKyAgICAgKiB0aGUgbWV0aG9kIG5vZGVJZCBvZiBldmVyeSBpbnN0YW5jZSBpcyB0aGUgc2FtZSBhcyB0aGUgbWV0aG9kIG5vZGVJRCBvZiB0aGUgT2JqZWN0IHR5cGUuIFdlIGNhbiB0aGVuIHVzZSBhIENSRUFURV9NRVRIT0QgYWN0aW9uIHBvaW50aW5nIHRvIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIG1ldGhvZCwKKyAgICAgKiAobGV0J3MgY2FsbCBpdCAicmVmZXJlbmNlIENSRUFURV9NRVRIT0QiKSBidXQgdGhlcmUncyBubyB3YXkgb2Ygc2V0dGluZyBhIHNwZWNpZmljIGNvbnRleHQgKGluIG91ciBjYXNlLCBhIENMb2NhbE1ldGhvZEluZm8pIHRoYXQgaXMgcmV0dXJuZWQgaW4gdGhlIGNhbGxiYWNrLCBiZWNhdXNlIHRoZQorICAgICAqIE9QQyBVQSBBUEkgYXNrIGp1c3QgZm9yIG5vZGVJRCBvZiB0aGUgbm9kZSB3aGVuIHNldHRpbmcgdGhlIGNvbnRleHQgKGFuZCBhcyBzYWlkIGJlZm9yZSwgYWxsIG1ldGhvZHMgaW5zdGFuY2VzIHNoYXJlIHRoZSBzYW1lIG5vZGVJZCkuCisgICAgICogV2UgY2FuIHNldCB0aGUgY29udGV4dCBmb3IgbWV0aG9kcyB0aGF0IGFyZSBjcmVhdGVkIGRpcmVjdGx5IChubyAicmVmZXJlbmNlIENSRUFURV9NRVRIT0QiKSwgYnV0IGZvciBrZWVwaW5nIHRoZSBjb250ZXh0IHRoZSBzYW1lIGZvciBhbGwga2luZCBvZiBtZXRob2RzLAorICAgICAqIGluIHRob3NlIGNhc2VzLCB3ZSBhbHNvIHN0b3JlIHRoZSBpbmZvcm1hdGlvbiB1c2luZyB0aGlzIGNsYXNzCisgICAgICovCisgICAgY2xhc3MgVUFfUGFyZW50Tm9kZUhhbmRsZXIgeworICAgICAgcHVibGljOgorICAgICAgICBVQV9QYXJlbnROb2RlSGFuZGxlcihVQV9Ob2RlSWQgJnBhUGFyZW50Tm9kZUlkLCBVQV9Ob2RlSWQgKnBhTWV0aG9kTm9kZUlkLCBDTG9jYWxNZXRob2RJbmZvICZwYUFjdGlvbkluZm8pIDoKKyAgICAgICAgICAgIG1QYXJlbnROb2RlSWQoVUFfTm9kZUlkX25ldygpKSwgbU1ldGhvZE5vZGVJZChwYU1ldGhvZE5vZGVJZCksIG1BY3Rpb25JbmZvKHBhQWN0aW9uSW5mbykgeworICAgICAgICAgIFVBX05vZGVJZF9jb3B5KCZwYVBhcmVudE5vZGVJZCwgbVBhcmVudE5vZGVJZCk7CisgICAgICAgIH0KKyAgICAgICAgflVBX1BhcmVudE5vZGVIYW5kbGVyKCkgeworICAgICAgICAgIFVBX05vZGVJZF9kZWxldGUobVBhcmVudE5vZGVJZCk7CisgICAgICAgIH0KKworICAgICAgICBVQV9QYXJlbnROb2RlSGFuZGxlcihjb25zdCBVQV9QYXJlbnROb2RlSGFuZGxlciAmb3RoZXIpIDoKKyAgICAgICAgICAgIG1QYXJlbnROb2RlSWQoVUFfTm9kZUlkX25ldygpKSwgbU1ldGhvZE5vZGVJZChvdGhlci5tTWV0aG9kTm9kZUlkKSwgbUFjdGlvbkluZm8ob3RoZXIubUFjdGlvbkluZm8pIHsKKyAgICAgICAgICBVQV9Ob2RlSWRfY29weShvdGhlci5tUGFyZW50Tm9kZUlkLCBtUGFyZW50Tm9kZUlkKTsKKyAgICAgICAgfQorCisgICAgICAgIFVBX05vZGVJZCAqbVBhcmVudE5vZGVJZDsKKyAgICAgICAgVUFfTm9kZUlkICptTWV0aG9kTm9kZUlkOworICAgICAgICBDTG9jYWxNZXRob2RJbmZvICZtQWN0aW9uSW5mbzsKKworICAgICAgcHJpdmF0ZToKKyAgICAgICAgVUFfUGFyZW50Tm9kZUhhbmRsZXImIG9wZXJhdG9yPShjb25zdCBVQV9QYXJlbnROb2RlSGFuZGxlciAmb3RoZXIpOworICAgIH07CisKKyAgICAvKioKKyAgICAgKiBUaGUgbGlzdCBvZiBwYXJlbnQvbWV0aG9kIGluZm9ybWF0aW9uIG9mIHRoZSB1c2VkIG1ldGhvZHMKKyAgICAgKi8KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9QYXJlbnROb2RlSGFuZGxlcj4gbU1ldGhvZHNDb250ZXh0czsKKworICAgIC8qKgorICAgICAqIEluaXRpYWxpemF0aW9uIG9mIHJlYWQgYW5kIHdyaXRlIG9mIHZhcmlhYmxlcy4gSXQgaGFuZGxlcyBib3RoIGV4aXN0aW5nIGFuZCBub24tZXhpc3RpbmcgY2FzZXMKKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIEFjdGlvbiB0byBiZSBpbml0aWFsaXplZAorICAgICAqIEBwYXJhbSBwYVdyaXRlIFRydWUgaWYgdGhlIGFjdGlvbiBpcyB0byB3cml0ZSBhIHZhcmlhYmxlLCBmYWxzZSBpZiBpdCdzIGZvciByZWFkaW5nCisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0Qgb24gc3VjY2Vzcywgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSBpbml0aWFsaXplVmFyaWFibGUoQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbywgYm9vbCBpc1dyaXRlKTsKKworICAgIC8qKgorICAgICAqIFdoZW4gYW4gYWN0aW9uIHJlZmVycyB0byB2YXJpYWJsZSB0aGF0IGFscmVhZHkgZXhpc3QgaW4gdGhlIE9QQyBVQSBzZXJ2ZXIsIGFub3RoZXIgdmFyaWFibGUgc2hvdWxkbid0IGJlIGNyZWF0ZWQuIElmIHlvdSBhcmUgdHJ5aW5nIHRvIHJlYWQgYSB2YXJpYWJsZQorICAgICAqIHRoYXQgaGFzIGFscmVhZHkgYW5vdGhlciBGQiByZWFkaW5nIGZyb20gaXQsIGl0IHdpbGwgZmFpbC4gSWYgdGhlIHZhcmlhYmxlIHdhcyBjcmVhdGVkIGFzIGEgd3JpdGUsIGJ5IHJlYWRpbmcgaXQsIGl0IHdpbGwgc2V0IHRoZSB3cml0aW5nIHBlcm1pc3Npb24KKyAgICAgKiB0byB0aGUgdmFyaWFibGUgYW5kIHNldCB0aGUgYWN0aW9uIGFzIGEgY2FsbGJhY2sgY29udGV4dAorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIGFjY2Vzc2luZyB0aGUgZXhpc3RpbmcgdmFyaWFibGUKKyAgICAgKiBAcGFyYW0gcGFOb2RlUGFpckluZm8gSW5mb3JtYXRpb24gYWJvdXQgdGhlIHZhcmlhYmxlIGJlaW5nIGFjY2Vzc2VkCisgICAgICogQHBhcmFtIHBhVmFyaWFibGUgVmFyaWFibGUgdG8gY2hlY2sgdGhlIHR5cGUKKyAgICAgKiBAcGFyYW0gcGFJbmRleE9mTm9kZVBhaXIgSW5mb3JtYXRpb24gYWJvdXQgb24gd2hpY2ggUkQgdGhlIHZhcmlhYmxlIHdpbGwgYmUgcmVhZAorICAgICAqIEBwYXJhbSBwYVdyaXRlIFRydWUgaWYgdGhlIGFjdGlvbiBpcyB0byB3cml0ZSBhIHZhcmlhYmxlLCBmYWxzZSBpZiBpdCdzIGZvciByZWFkaW5nCisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0Qgb24gc3VjY2Vzcywgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSBoYW5kbGVFeGlzdGluZ1ZhcmlhYmxlKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8sIENBY3Rpb25JbmZvOjpDTm9kZVBhaXJJbmZvICZwYU5vZGVQYWlySW5mbywgY29uc3QgQ0lFQ19BTlkgJnBhVmFyaWFibGUsCisgICAgICAgIHNpemVfdCBwYUluZGV4T2ZOb2RlUGFpciwgYm9vbCBwYVdyaXRlKTsKKworICAgIC8qKgorICAgICAqIENyZWF0ZXMgdGhlIHZhcmlhYmxlIGluIHRoZSBPUEMgVUEgc2VydmVyLiBJZiB0aGUgZm9sZGVycyBpbiB0aGUgcGF0aCB0byB0aGUgdmFyaWFibGUgZG9uJ3QgZXhpc3QsIGl0IHdpbGwgY3JlYXRlIHRoZW0gd2l0aCByYW5kb20gbm9kZUlkcworICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIGNyZWF0aW5nIHRoZSB2YXJpYWJsZQorICAgICAqIEBwYXJhbSBwYU5vZGVQYWlySW5mbyBJbmZvcm1hdGlvbiBhYm91dCB0aGUgdmFyaWFibGUgbm9kZSBiZWluZyBjcmVhdGVkCisgICAgICogQHBhcmFtIHBhVmFyaWFibGUgVmFyaWFibGUgdG8gZ2V0IHRoZSB0eXBlIGZyb20KKyAgICAgKiBAcGFyYW0gcGFJbmRleE9mTm9kZVBhaXIgSW5mb3JtYXRpb24gYWJvdXQgd2hpY2ggUkQvU0Qgc2hvdWxkIGJlIHVzZWQgdG8gcmVhZC93cml0ZSB0aGUgdmFyaWFibGUKKyAgICAgKiBAcGFyYW0gcGFSZWZlcmVuY2VkTm9kZXMgUGxhY2UgdG8gc3RvcmUgdGhlIG5vZGVzIGJlaW5nIHJlZmVyZW5jZXMgYnkgdGhlIGFjdGlvbiAodGhlIHZhcmlhYmxlIG5vZGUgYW5kIGZvbGRlcnMpCisgICAgICogQHBhcmFtIHBhV3JpdGUgVHJ1ZSBpZiB0aGUgYWN0aW9uIGlzIHRvIHdyaXRlIGEgdmFyaWFibGUsIGZhbHNlIGlmIGl0J3MgZm9yIHJlYWRpbmcKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXNzLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGhhbmRsZU5vbkV4aXN0aW5nVmFyaWFibGUoQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbywgQ0FjdGlvbkluZm86OkNOb2RlUGFpckluZm8gJnBhTm9kZVBhaXJJbmZvLCBjb25zdCBDSUVDX0FOWSAmcGFWYXJpYWJsZSwKKyAgICAgICAgc2l6ZV90IHBhSW5kZXhPZk5vZGVQYWlyLCBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiAmcGFSZWZlcmVuY2VkTm9kZXMsIGJvb2wgcGFXcml0ZSk7CisKKyAgICAvKioKKyAgICAgKiBDcmVhdGVzIGEgdmFyaWFibGUgaW4gdGhlIE9QQyBVQSBzZXJ2ZXIgdXNpbmcgZGlyZWN0bHkgdGhlIEFQSSBmcm9tIHRoZSBwYXNzZWQgaW5mb3JtYXRpb24KKyAgICAgKiBAcGFyYW0gcGFDcmVhdGVWYXJpYWJsZUluZm8gSW5mb3JtYXRpb24gbmVlZGVkIHRvIGNyZWF0ZSB0aGUgdmFyaWFibGUKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXNzLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGNyZWF0ZVZhcmlhYmxlTm9kZShDQ3JlYXRlVmFyaWFibGVJbmZvICZwYUNyZWF0ZVZhcmlhYmxlSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBVcGRhdGUgYSB2YXJpYWJsZSBub2RlIHZhbHVlIGZyb20gYSBJRUM2MTQ5OSBkYXRhIG9iamVjdC4KKyAgICAgKiBAcGFyYW0gcGFOb2RlSWQgTm9kZSBJZCBvZiB0aGUgbm9kZSB0byBiZSB1cGRhdGVkCisgICAgICogQHBhcmFtIHBhRGF0YSBTb3VyY2UgZGF0YSBmb3IgdGhlIG5ldyB2YWx1ZQorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIG9uIHN1Y2Nlc3MsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIFVBX1N0YXR1c0NvZGUgdXBkYXRlTm9kZVZhbHVlKGNvbnN0IFVBX05vZGVJZCAmcGFOb2RlSWQsIGNvbnN0IENJRUNfQU5ZICpwYURhdGEpOworCisgICAgLyoqCisgICAgICogUmVnaXN0ZXIgdGhlIG9uV3JpdGUgZnVuY3Rpb24gYXMgY2FsbGJhY2sgcm91dGluZSB3aGVuIGEgdmFyaWFibGUgaXMgd3JpdHRlbiBhbmQgYWxzbyB0aGUgY29udGV4dCB0aGF0IGlzIHBhc3NlZCBiYWNrCisgICAgICogQHBhcmFtIHBhTm9kZUlkIE5vZGUgSUQgb2YgdGhlIG5vZGUgd2hlcmUgdG8gcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGFuZCBjb250ZXh0CisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBUaGUgYWN0aW9uIGV4ZWN1dGluZyB0aGUgcmVnaXN0ZXIKKyAgICAgKiBAcGFyYW0gcGFQb3J0SW5kZXggV2hpY2ggUkQgaXMgcmVxdWVzdGluZyB0aGUgY2FsbGJhY2sKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXNzLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlCisgICAgcmVnaXN0ZXJWYXJpYWJsZUNhbGxCYWNrKGNvbnN0IFVBX05vZGVJZCAmcGFOb2RlSWQsIENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8sIHNpemVfdCBwYVBvcnRJbmRleCk7CisKKyAgICAvKioKKyAgICAgKiBBZGRzIHdyaXRlIHBlcm1pc3Npb24gdG8gYSBub2RlCisgICAgICogQHBhcmFtIHBhTm9kZUlkIE5vZGUgSWQgb2YgdGhlIG5vZGUgdG8gYWRkIHdyaXRlIHBlcm1pc3Npb24KKyAgICAgKiBAcmV0dXJuICBVQV9TVEFUVVNDT0RFX0dPT0Qgb24gc3VjY2Vzcywgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSBhZGRXcml0ZVBlcm1pc3Npb24oY29uc3QgVUFfTm9kZUlkICZwYU5vZGVJZCk7CisKKyAgICAvKioKKyAgICAgKiBQZXJmb3JtIGFsbCB0aGUgbmVlZGVkIGluaXRpYWxpemF0aW9uIG9mIHRoZSBjcmVhdGUgbWV0aG9kIGFjdGlvbgorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIGluaXRpYWxpemVkCisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0QgaXMgbm8gcHJvYmxlbSBvY2N1cnJlZCwgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSBpbml0aWFsaXplQ3JlYXRlTWV0aG9kKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pOworCisgICAgLyoqCisgICAgICogV2hlbiBhbiBhY3Rpb24gcmVmZXJlbmNlcyBhIG1ldGhvZCB0aGF0IGFscmVhZHkgZXhpc3RzIGluIHRoZSBPUEMgVUEgc2VydmVyLCBpdCBjaGVja3MgdGhhdCBhbm90aGVyIGFjdGlvbiBpcyBubyBhbHJlYWR5IHJlZmVyZW5jaW5nIGl0LAorICAgICAqIGFuZCBpZiB0aGF0J3MgdGhlIGNhc2UsIGl0IHN0b3JlcyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHBhcmVudC4KKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIFRoZSBhY3Rpb24gcmVmZXJlbmNpbmcgdGhlIGV4aXN0aW5nIG1ldGhvZAorICAgICAqIEBwYXJhbSBwYVBhcmVudE5vZGUgUGFyZW50IG5vZGUgb2YgdGhlIG1ldGhvZC4gRm9yIG1ldGhvZHMgaW5zdGFuY2VzIG9mIGFuIG9iamVjdCwgdGhlIG5vZGUgaWQgb2YgdGhlIG1ldGhvZHMgaXMgdGhlIHNhbWUsIG9ubHkgdGhlIHBhcmVudCBpcyBkaWZmZXJlbnQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXNzLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGhhbmRsZUV4aXN0aW5nTWV0aG9kKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8sIFVBX05vZGVJZCAmcGFQYXJlbnROb2RlKTsKKworICAgIC8qKgorICAgICAqIENyZWF0ZSB0aGUgYXJndW1lbnRzIGZvciBhIG1ldGhvZCBmcm9tIHRoZSBpbmZvcm1hdGlvbiBvZiB0aGUgYWN0aW9uIGFuZCBzdG9yZSBpdCBpbiB0aGUgZW5jYXN1bGF0aW9uIGZvciBjcmVhdGluZyBhIG1ldGhvZAorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFyZ3VtZW50cyBjaGFyYWN0ZXJpc3RpY3MKKyAgICAgKiBAcGFyYW0gcGFDcmVhdGVNZXRob2RJbmZvIFBsYWNlIHRvIHN0b3JlIHRoZSBjcmVhdGVkIGFyZ3VtZW50cworICAgICAqLworICAgIHZvaWQgY3JlYXRlTWV0aG9kQXJndW1lbnRzKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8sIENDcmVhdGVNZXRob2RJbmZvICZwYUNyZWF0ZU1ldGhvZEluZm8pOworCisgICAgLyoqCisgICAgICogQ3JlYXRlcyBhIG1ldGhvZCBub2RlIGluIHRoZSBPUEMgVUEgc2VydmVyIHVzaW5nIGRpcmVjdGx5IHRoZSBBUEkgZnJvbSB0aGUgcGFzc2VkIGluZm9ybWF0aW9uCisgICAgICogQHBhcmFtIHBhTWV0aG9kSW5mbyBJbmZvcm1hdGlvbiBuZWVkZWQgdG8gY3JlYXRlIHRoZSBtZXRob2Qgbm9kZQorICAgICAqIEBwYXJhbSBwYU5vZGVJZCBQbGFjZSB0byBzdG9yZSB0aGUgbm9kZSBpZCBvZiB0aGUgY3JlYXRlZCBtZXRob2QKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXNzLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGNyZWF0ZU1ldGhvZE5vZGUoQ0NyZWF0ZU1ldGhvZEluZm8gJnBhTWV0aG9kSW5mbywgVUFfTm9kZUlkICoqcGFOb2RlSWQpOworCisgICAgLyoqCisgICAgICogUGVyZm9ybSBhbGwgdGhlIG5lZWRlZCBpbml0aWFsaXphdGlvbiBvZiB0aGUgY3JlYXRlIG9iamVjdCBhY3Rpb24KKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIEFjdGlvbiB0byBiZSBpbml0aWFsaXplZAorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIGlzIG5vIHByb2JsZW0gb2NjdXJyZWQsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIFVBX1N0YXR1c0NvZGUgaW5pdGlhbGl6ZUNyZWF0ZU9iamVjdChDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIFBlcmZvcm0gYWxsIHRoZSBuZWVkZWQgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlbGV0IG9iamVjdCBhY3Rpb24KKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIEFjdGlvbiB0byBiZSBpbml0aWFsaXplZAorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIGlzIG5vIHByb2JsZW0gb2NjdXJyZWQsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIFVBX1N0YXR1c0NvZGUgaW5pdGlhbGl6ZURlbGV0ZU9iamVjdChDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIEV4ZWN1dGUgdGhlIHdyaXRlIGFjdGlvbiB0byBhIGxvY2FsIHZhcmlhYmxlCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgZXhlY3V0ZWQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGV4ZWN1dGVXcml0ZShDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIFdoZW4gdGhlIEZCIG9mIHRoZSBsb2NhbCBtZXRob2QgaXMgdHJpZ2dlcmVkIHRvIHNpZ25hbGl6ZSB0aGUgZW5kIG9mIHRoZSBtZXRob2QsIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgZXhlY3V0ZWQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGV4ZWN1dGVDcmVhdGVNZXRob2QoQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCBpbiB0aGUgbG9jYWwgc2VydmVyCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgZXhlY3V0ZWQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGV4ZWN1dGVDcmVhdGVPYmplY3QoQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCBpbiB0aGUgT1BDIFVBIHNlcnZlciB1c2luZyBkaXJlY3RseSB0aGUgQVBJIGZyb20gdGhlIHBhc3NlZCBpbmZvcm1hdGlvbgorICAgICAqIEBwYXJhbSBwYUNyZWF0ZU9iamVjdEluZm8gSW5mb3JtYXRpb24gbmVlZGVkIHRvIGNyZWF0ZSB0aGUgb2JqZWN0CisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0Qgb24gc3VjY2Vzcywgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSBjcmVhdGVPYmplY3ROb2RlKENDcmVhdGVPYmplY3RJbmZvICZwYUNyZWF0ZU9iamVjdEluZm8pOworCisgICAgLyoqCisgICAgICogQ2hlY2tzIGlmIHRoZSB0eXBlIG9mIGFuIG9iamVjdCBleGlzdCBpbiB0aGUgbG9jYWwgc2VydmVyCisgICAgICogQHBhcmFtIHBhTm9kZVBhaXJJbmZvIEluZm9ybWF0aW9uIGFib3V0IHRoZSBOb2RlIFR5cGUKKyAgICAgKiBAcmV0dXJuIFRydWUgaWYgaXQgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBib29sIGlzVHlwZU9mT2JqZWN0UHJlc2VudChDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyAmcGFOb2RlUGFpckluZm8pOworCisgICAgLyoqCisgICAgICogRGVsZXRlcyBhbiBvYmplY3QgZnJvbSB0aGUgbG9jYWwgc2VydmVyCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgZXhlY3V0ZWQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGV4ZWN1dGVEZWxldGVPYmplY3QoQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbyk7CisKKyAgICAvKioKKyAgICAgKiBMb29rcyBmb3IgYSBub2RlIGluIHRoZSBsb2NhbCBPUEMgVUEgU2VydmVyLiBJZiBib3RoIHRoZSBicm93c2VwYXRoIGFuZCBOb2RlSWQgYXJlIHByb3ZpZGVkLCB0aGV5IHNob3VsZCBtYXRjaCB0byBjb25zaWRlciB0aGF0IHRoZQorICAgICAqIG5vZGUgZXhpc3RzLgorICAgICAqIEBwYXJhbSBwYU5vZGVJbmZvIEluZm9ybWF0aW9uIGFib3V0IHRoZSBub2RlIHRvIGxvb2sgZm9yLiBJZiBubyBub2RlSWQgd2FzIHByb3ZpZGVkIGFuZCB0aGUgbm9kZSBleGlzdCwgdGhlIG5vZGUgSWQgb2YgdGhlIGV4aXN0aW5nIG5vZGUgaXMgc3RvcmVkIGhlcmUKKyAgICAgKiBAcGFyYW0gcGFGb3VuZE5vZGVJZHMgUGxhY2UgdG8gc3RvcmUgdGhlIGZvdW5kIG5vZGVzIChmb2xkZXJzIGluY2x1ZGVkKS4gVGhlIGxpc3QgaXMgYWx0ZXJlZCBvbmx5IHRoZSBmaW5hbCBub2RlIGlzIHByZXNlbnQKKyAgICAgKiBAcGFyYW0gcGFJc1ByZXNlbnQgUGxhY2UgdG8gc3RvcmUgdHJ1ZSBpZiB0aGUgbm9kZSBpcyBwcmVzZW50IGluIHRoZSBsb2NhbCBzZXJ2ZXIsIGZhbHNlIG90aGVyd2lzZQorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIG9uIHN1Y2Nlc3MsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIFVBX1N0YXR1c0NvZGUgZ2V0Tm9kZShDQWN0aW9uSW5mbzo6Q05vZGVQYWlySW5mbyAmcGFOb2RlSW5mbywgQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gJnBhRm91bmROb2RlSWRzLCBib29sICpwYUlzUHJlc2VudCk7CisKKyAgICAvKioKKyAgICAgKiBFeGVjdXRlIHRoZSBUcmFuc2xhdGVCcm93c2VQYXRoVG9Ob2RlSWRzIHNlcnZpY2UgaW4gdGhlIGxvY2FsIE9QQyBVQSBzZXJ2ZXIgZnJvbSBhIHN0cmluZyBjb250YWluaW5nIHRoZSBwYXRoCisgICAgICogQHBhcmFtIHBhQnJvd3NlUGF0aCBQYXRoIHVzZWQgdG8gZXhlY3V0ZSB0aGUgc2VydmljZS4gRWFjaCBlbGVtZW50IG9mIHRoZSBwYXRoIGlzIGNoZWNrZWQKKyAgICAgKiBAcGFyYW0gcGFCcm93c2VQYXRocyBQbGFjZSB0byBzdG9yZSB0aGUgcmVxdWVzdCB0byB0aGUgc2VydmljZSwgY3JlYXRlZCBmcm9tIHBhQnJvd3NlUGF0aAorICAgICAqIEBwYXJhbSBwYUZvbGRlcmNvdW50IFBsYWNlIHRvIHN0b3JlIGhvdyBtYW55IGZvbGRlcnMgd2VyZSBmb3VuZCBpbiB0aGUgcGF0aAorICAgICAqIEBwYXJhbSBwYUZpcnN0Tm9uRXhpc3RpbmdOb2RlIFBsYWNlIHRvIHN0b3JlIHRoZSBmaXJzdCBub24gZXhpc3Rpbmcgbm9kZSBpbiB0aGUgcGF0aAorICAgICAqIEBwYXJhbSBwYUZvdW5kTm9kZUlkcyBQbGFjZSB0byBzdG9yZSB0aGUgZm91bmQgbm9kZSBJRHMKKyAgICAgKiBAcmV0dXJuICBVQV9TVEFUVVNDT0RFX0dPT0Qgb24gc3VjY2Vzcywgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSB0cmFuc2xhdGVCcm93c2VOYW1lQW5kU3RvcmUoY29uc3QgY2hhciAqcGFCcm93c2VQYXRoLCBVQV9Ccm93c2VQYXRoICoqcGFCcm93c2VQYXRocywgc2l6ZV90ICpwYUZvbGRlcmNvdW50LCBzaXplX3QgKnBhRmlyc3ROb25FeGlzdGluZ05vZGUsCisgICAgICAgIENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+ICZwYUZvdW5kTm9kZUlkcyk7CisKKyAgICAvKioKKyAgICAgKiBTdG9yZSB0aGUgZXhpc3Rpbmcgbm9kZSBmcm9tIGEgVHJhbnNsYXRlQnJvd3NlUGF0aFRvTm9kZUlkcyBzZXJ2aWNlIGluIGEgbGlzdCBvZiBub2RlIElkcworICAgICAqIEBwYXJhbSBwYUJyb3dzZVBhdGhzUmVzdWx0cyBSZXN1bHRzIG9mIGEgVHJhbnNsYXRlQnJvd3NlUGF0aFRvTm9kZUlkcyBzZXJ2aWNlCisgICAgICogQHBhcmFtIHBhRm9sZGVyQ250IFNpemUgb2YgcGFCcm93c2VQYXRoc1Jlc3VsdHMKKyAgICAgKiBAcGFyYW0gcGFGaXJzdE5vbkV4aXN0aW5nTm9kZSBTdG9yZSB0byBwbGFjZSB0aGUgZmlyc3Qgbm9uIGV4aXN0aW5nIG5vZGUgaW4gcGFCcm93c2VQYXRoc1Jlc3VsdHMKKyAgICAgKiBAcGFyYW0gcGFDcmVhdGVkTm9kZUlkcyBQbGFjZSB0byBzdG9yZSB0aGUgZXhpc3RpbmcgTm9kZSBJRHMKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXNzLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIHN0b3JlQWxyZWFkeUV4aXN0aW5nTm9kZXMoVUFfQnJvd3NlUGF0aFJlc3VsdCAqcGFCcm93c2VQYXRoc1Jlc3VsdHMsIHNpemVfdCBwYUZvbGRlckNudCwgc2l6ZV90KiBwYUZpcnN0Tm9uRXhpc3RpbmdOb2RlLAorICAgICAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiAmcGFDcmVhdGVkTm9kZUlkcyk7CisKKyAgICAvKioKKyAgICAgKiBDcmVhdGUgZm9sZGVyIG9iamVjdHMgaW4gdGhlIE9QQyBVQSBzZXJ2ZXIgZnJvbSB0aGUgc3RyaW5nLiBJdCdzIGFzc3VtZWQgdGhhdCB0aGUgZW5kIG5vZGUgaXMgbm90IHByZXNlbnQgaW4gdGhlIHBhdGgKKyAgICAgKiBAcGFyYW0gcGFGb2xkZXJzIFBhdGggb2YgZm9sZGVycworICAgICAqIEBwYXJhbSBwYUNyZWF0ZWROb2RlSWRzIFBsYWNlIHRvIHN0b3JlIHRoZSBjcmVhdGVkIG5vZGVJZHMKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBvbiBzdWNjZXNzLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGNyZWF0ZUZvbGRlcnMoY29uc3QgY2hhciAqcGFGb2xkZXJzLCBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiAmcGFDcmVhdGVkTm9kZUlkcyk7CisKKyAgICAvKioKKyAgICAgKiBTcGxpdHMgYSBicm93c2VwYXRoIGludG8gZm9sZGVycyBhbmQgbm9kZSBuYW1lLiBUaGUgbm9uLWV4aXN0aW5nIGZvbGRlcnMgYXJlIGNyZWF0ZWQgaW4gdGhlIGxvY2FsIHNlcnZlcgorICAgICAqIEBwYXJhbSBwYUJyb3dzZVBhdGggQnJvd3NlcGF0aCB0byBiZSBzcGxpdHRlZAorICAgICAqIEBwYXJhbSBwYU5vZGVOYW1lIFBsYWNlIHRvIHN0b3JlIHRoZSBub2RlbmFtZQorICAgICAqIEBwYXJhbSBwYVJyZWZlcmVuY2VkTm9kZXMgTGlzdCBvZiBub2RlcyB0aGF0IGFyZSB1c2VkIGJ5IHRoaXMgYnJvd3NlbmFtZS4gSXQgd2lsbCBpbmNsdWRlIGFsbCBmb2xkZXJzLCBidXQgbm90IHRoZSBlbmQgbm9kZSBzaW5jZSBpdCB3YXMgbm90IGNyZWF0ZWQgeWV0CisgICAgICogQHJldHVybiBVQV9TVEFUVVNDT0RFX0dPT0QgaXMgbm8gcHJvYmxlbSBvY2N1cnJlZCwgb3RoZXIgdmFsdWUgb3RoZXJ3aXNlCisgICAgICovCisgICAgVUFfU3RhdHVzQ29kZSBzcGxpdEFuZENyZWF0ZUZvbGRlcnMoQ0lFQ19TVFJJTkcgJnBhQnJvd3NlUGF0aCwgQ0lFQ19TVFJJTkcgJnBhTm9kZU5hbWUsIENTaW5nbHlMaW5rZWRMaXN0PFVBX05vZGVJZCo+ICZwYVJyZWZlcmVuY2VkTm9kZXMpOworCisgICAgLyoqCisgICAgICogU3BsaXQgYSBzdHJpbmcgaW50byBmb2xkZXJzIGFuZCBub2RlIG5hbWUuIFRoZSBwcm92aWRlZCBwbGFjZSBmb3Igc3RvcmUgb2YgdGhlIGZvbGRlciBhbmQgbm9kZSBuYW1lIGFyZSBvbmx5CisgICAgICogY2hhbmdlZCBpZiB0aGUgcmVzdWx0IHZhbHVlIGlzIHRydWUKKyAgICAgKiBAcGFyYW0gcGFPcmlnaW5hbCBTdHJpbmcgY29udGFpbmluZyB0aGUgcGF0aCB0byBiZSBzcGxpdAorICAgICAqIEBwYXJhbSBwYUZvbGRlciBQbGFjZSB0byBzdG9yZSB0aGUgZm9sZGVycyBwYXJ0IG9mIHRoZSBzdHJpbmcKKyAgICAgKiBAcGFyYW0gcGFOb2RlTmFtZSBQbGFjZSB0byBzdG9yZSB0aGUgbm9kZSBuYW1lIHBhcnQgb2YgdGhlIHN0cmluZworICAgICAqIEByZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvdmlkZWQgc3RyaW5nIGlzIGEgdmFsaWQgcGF0aCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICovCisgICAgYm9vbCBzcGxpdEZvbGRlcnNGcm9tTm9kZShjb25zdCBDSUVDX1NUUklORyAmcGFPcmlnaW5hbCwgQ0lFQ19TVFJJTkcgJnBhRm9sZGVyLCBDSUVDX1NUUklORyAmcGFOb2RlTmFtZSk7CisKKyAgICAvKioKKyAgICAgKiBJZiBwYUZhaWxlZCBpcyB0cnVlLCBpdCBkZWxldGVzIGFsbCBOb2RlSWRzIGZyb20gcGFQcmVzZW50Tm9kZXMsIG90aGVyd2lzZSBpdCBjb3BpZXMgdGhlbSB0byBwYVJlZmVyZW5jZWROb2Rlcy4KKyAgICAgKiBJdCdzIHVzZWQgdG8gaGFuZGxlIHRoZSBOb2RlSWRzIHRoYXQgYmVlbiBwcmV2aW91c2x5IGFsbG9jYXRlZCwgYW5kIGRlY2lkZSBpZiB0aGV5IHNob3VsZCBiZSBzdG9yZWQgb3IgZGVsZXRlZAorICAgICAqIEBwYXJhbSBwYVByZXNlbnROb2RlcyBOb2RlSWRzIHRvIGJlIGFuYWx5emVkCisgICAgICogQHBhcmFtIHBhUmVmZXJlbmNlZE5vZGVzIFBsYWNlIHRvIHN0b3JlIHRoZSBOb2RlSWRzIGlmIHBhRmFpbGVkIGlzIHRydWUKKyAgICAgKiBAcGFyYW0gcGFGYWlsZWQgVHJ1ZSBpZiB0aGUgTm9kZUlkcyBzaG91bGQgYmUgZGVsZXRlZCwgZmFsc2UgaWYgdGhleSBuZWVkIHRvIGJlIGNvcGllZCBpbnRvIHBhUmVmZXJlbmNlZE5vZGVzCisgICAgICovCisgICAgdm9pZCBoYW5kbGVQcmVzZW50Tm9kZXMoQ1NpbmdseUxpbmtlZExpc3Q8VUFfTm9kZUlkKj4gJnBhUHJlc2VudE5vZGVzLCBDU2luZ2x5TGlua2VkTGlzdDxVQV9Ob2RlSWQqPiAmcGFSZWZlcmVuY2VkTm9kZXMsIGJvb2wgcGFGYWlsZWQpOworCisgICAgLyoqCisgICAgICogTWF4aW11bSB0aW1lIGEgbG9jYWwgbWV0aG9kIGNhbiB0YWtlIHRvIGZpbmlzaCBleGVjdXRpb24gd2l0aG91dCBwcm9kdWNpbmcgYW4gZXJyb3IKKyAgICAgKi8KKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHNjbU1ldGhvZENhbGxUaW1lb3V0SW5OYW5vU2Vjb25kcyA9IDQgKiAxRTk7IC8vNHMKKworICAgIC8qKgorICAgICAqIEVuY2Fwc3VsYXRpb24gb2YgdGhlIGluZm9ybWF0aW9uIG9mIGFuIGV4dGVybmFsIGNhbGwgdG8gYSBsb2NhbCBzZXJ2ZXIKKyAgICAgKi8KKyAgICBzdHJ1Y3QgQ0xvY2FsTWV0aG9kQ2FsbCB7CisgICAgICAgIENMb2NhbE1ldGhvZENhbGwoQ0xvY2FsTWV0aG9kSW5mbyAmcGFBY3Rpb25JbmZvLCBDT1BDX1VBX0hlbHBlcjo6VUFfU2VuZFZhcmlhYmxlX2hhbmRsZSAmcGFTZW5kSGFuZGxlKSA6CisgICAgICAgICAgICBtQWN0aW9uSW5mbyhwYUFjdGlvbkluZm8pLCBtU2VuZEhhbmRsZShwYVNlbmRIYW5kbGUpIHsKKyAgICAgICAgfQorCisgICAgICAgIC8vZGVmYXVsdCBjb3B5IGNvbnN0cnVjdG9yIHNob3VsZCBiZSBlbm91Z2gKKworICAgICAgICBib29sIG9wZXJhdG9yPT0oQ0xvY2FsTWV0aG9kQ2FsbCBjb25zdCAmcmhzKSBjb25zdCB7CisgICAgICAgICAgcmV0dXJuIHRoaXMgPT0gJnJoczsKKyAgICAgICAgfQorCisgICAgICAgIENMb2NhbE1ldGhvZEluZm8gJm1BY3Rpb25JbmZvOworICAgICAgICBDT1BDX1VBX0hlbHBlcjo6VUFfU2VuZFZhcmlhYmxlX2hhbmRsZSAmbVNlbmRIYW5kbGU7CisKKyAgICB9OworCisgICAgLyoqCisgICAgICogTGlzdCBvZiBleHRlcm5hbCBtZXRob2QgY2FsbHMgY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiBUaGlzIGlzIHRvIGFsbG93IG1hbnkgZXh0ZXJuYWwgY2FsbHMgaW4gcGFyYWxsYWxlbC4KKyAgICAgKiBUT0RPOiBJdCBzZWVtcyB0aGF0IHRoZSBPUEMgVUEgc2VydmVyIGNhbm5vdCBleGVjdXRlIG1hbnkgY2FsbHMgYXQgdGhlIHNhbWUgdGltZS4gRm9yIGVhY2ggY2FsbCwgb25TZXJ2ZXJNZXRob2RDYWxsCisgICAgICogaXMgY2FsbGVkIHdoaWNoIHdhaXRzIGZvciB0aGUgbWV0aG9kIHRvIGZpbmlzaCBiZWZvcmUgcmV0dXJuaW5nLCBtZWFuaW5nIHRoYXQgYWx3YXlzIG9ubHkgMSBtZXRob2QgY2FsbCBjYW4gYmUgZXhlY3V0ZWQuCisgICAgICogQ2hlY2sgaWYgdGhpcyBpcyBhbHdheXMgdHJ1ZSwgYW5kIGlmIHllcywgdGhlIGZvbGxvd2luZyByZWxhdGVkIGZ1bmN0aW9ucyBhbmQgdmFyaWFibGVzIGFyZW4ndCBuZWNlc3NhcnksIGFuZCBvbmx5IG9uZQorICAgICAqIENMb2NhbE1ldGhvZENhbGwgaXMgbmVjZXNzYXJ5CisgICAgICovCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0xvY2FsTWV0aG9kQ2FsbD4gbU1ldGhvZENhbGxzOworCisgICAgLyoqCisgICAgICogTXV0ZXggdG8gYWNjZXNzIG1NZXRob2RDYWxscworICAgICAqLworICAgIENTeW5jT2JqZWN0IG1NZXRob2RDYWxsc011dGV4OworCisgICAgLyoqCisgICAgICogQWRkIGEgbWV0aG9kIGNhbGwgdG8gdGhlIGxpc3Qgd2hlbiBvblNlcnZlck1ldGhvZENhbGwgaXMgY2FsbGVkCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gYWRkaW5nIHRoZSBjYWxsCisgICAgICogQHBhcmFtIHBhSGFuZGxlUmVjdiBJbmZvcm1hdGlvbiB0byBsYXRlciBzdG9yZSB0aGUgcmVzdWx0cyBvZiB0aGUgbWV0aG9kIGNhbGwKKyAgICAgKiBAcmV0dXJuIFRoZSByZXN1bHQgYWRkZWQgbWV0aG9kIGNhbGwKKyAgICAgKi8KKyAgICBDTG9jYWxNZXRob2RDYWxsJiBhZGRNZXRob2RDYWxsKENMb2NhbE1ldGhvZEluZm8gJnBhQWN0aW9uSW5mbywgQ09QQ19VQV9IZWxwZXI6OlVBX1NlbmRWYXJpYWJsZV9oYW5kbGUgJnBhSGFuZGxlUmVjdik7CisKKyAgICAvKioKKyAgICAgKiBSZW1vdmVzIGEgbWV0aG9kIGNhbGwgZnJvbSB0aGUgbGlzdCB3aGVuIHRoZSBtZXRob2QgaXMgZmluaXNoZWQKKyAgICAgKiBAcGFyYW0gdG9EZWxldGUgQ2FsbCB0byByZW1vdmUKKyAgICAgKi8KKyAgICB2b2lkIHJlbW92ZU1ldGhvZENhbGwoQ0xvY2FsTWV0aG9kQ2FsbCAmdG9SZW1vdmUpOworCisgICAgLyoqCisgICAgICogTG9vayBmb3IgdGhlIG9sZGVzdCBtZXRob2QgY2FsbCBvZiBhbiBhY3Rpb24KKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIEFjdGlvbiBvbiB3aGljaCB0aGUgY2FsbCB3YXMgdHJpZ2dlcmVkCisgICAgICogQHJldHVybiBUaGUgbWV0aG9kIGNhbGwuIDAgaWYgYW4gZXh0ZXJuYWwgY2FsbCBmb3IgdGhlIGFjdGlvbiB3YXMgbm90IHRyaWdnZXJlZAorICAgICAqLworICAgIENMb2NhbE1ldGhvZENhbGwqIGdldExvY2FsTWV0aG9kQ2FsbChDTG9jYWxNZXRob2RJbmZvICZwYUFjdGlvbkluZm8pOworCisgICAgLyoqCisgICAgICogRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIG5hbWVzcGFjZSBvZiB0aGUgYnJvd3NlbmFtZSBmb3IgYWxsIGNyZWF0ZWQgbm9kZXMKKyAgICAgKi8KKyAgICBzdGF0aWMgY29uc3QgVUFfVUludDE2IHNjbURlZmF1bHRCcm93c2VuYW1lTmFtZVNwYWNlID0gMTsKKworICAgIC8qKgorICAgICAqIEVuZ2xpc2ggbG9jYWxlIHVzZWQgYXMgZGVmYXVsdCBmb3IgYWxsIG5vZGVzCisgICAgICovCisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtRW5nbGlzaExvY2FsZUZvck5vZGVzOworCisgICAgLyoqCisgICAgICogRGVmYXVsdCBkZXNjcmlwdGlvbiBmb3IgdmFyaWFibGUgbm9kZXMKKyAgICAgKi8KKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1EZWZhdWx0RGVzY3JpcHRpb25Gb3JWYXJpYWJsZU5vZGVzOworCisjaWZkZWYgRk9SVEVfQ09NX09QQ19VQV9NVUxUSUNBU1QKKyMgaWZuZGVmIFVBX0VOQUJMRV9ESVNDT1ZFUllfTVVMVElDQVNUCisjICBlcnJvciBvcGVuNjI1NDEgbmVlZHMgdG8gYmUgYnVpbHQgd2l0aCBVQV9FTkFCTEVfRElTQ09WRVJZX01VTFRJQ0FTVD1PTgorIyBlbHNlIC8vIFVBX0VOQUJMRV9ESVNDT1ZFUllfTVVMVElDQVNUCisjICBpZmRlZiBGT1JURV9DT01fT1BDX1VBX01BU1RFUl9CUkFOQ0gKKyAgICAvL25vdGhpbmcgaGVyZQorIyAgIGVsc2UKKworICAgIC8qKgorICAgICAqIFNlcnZlciBjb25maWd1cmF0aW9uCisgICAgICovCisgICAgVUFfU2VydmVyQ29uZmlnICptU2VydmVyQ29uZmlnOworIyAgIGVuZGlmCisgICAgLyoqCisgICAgICogTGlzdCBvZiBMRFMgc2VydmVycyB3aGVyZSB0aGlzIGluc3RhbmNlIGlzIGFscmVhZHkgcmVnaXN0ZXJlZC4KKyAgICAgKi8KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxVQV9TdHJpbmcqPiBtUmVnaXN0ZXJlZFdpdGhMZHM7CisKKyAgICBjb25zdCBVQV9TdHJpbmcgZ2V0RGlzY292ZXJ5VXJsKCkgY29uc3Q7CisgICAgdm9pZCByZWdpc3RlcldpdGhMZHMoY29uc3QgVUFfU3RyaW5nICpwYURpc2NvdmVyeVVybCk7CisgICAgdm9pZCByZW1vdmVMZHNSZWdpc3Rlcihjb25zdCBVQV9TdHJpbmcgKnBhRGlzY292ZXJ5VXJsKTsKKyAgICBzdGF0aWMgdm9pZCBzZXJ2ZXJPbk5ldHdvcmtDYWxsYmFjayhjb25zdCBVQV9TZXJ2ZXJPbk5ldHdvcmsgKnBhU2VydmVyT25OZXR3b3JrLCBVQV9Cb29sZWFuIHBhSXNTZXJ2ZXJBbm5vdW5jZSwgVUFfQm9vbGVhbiBwYUlzVHh0UmVjZWl2ZWQsIHZvaWQgKnBhRGF0YSk7CisjIGVuZGlmIC8vVUFfRU5BQkxFX0RJU0NPVkVSWV9NVUxUSUNBU1QKKyNlbmRpZiAvL0ZPUlRFX0NPTV9PUENfVUFfTVVMVElDQVNUCisKK307CisKKyNlbmRpZiAvKiBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFMT0NBTEhBTkRMRVJfSF8gKi8KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9ub2Rlc2V0cy5jcHAuaW4gYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfbm9kZXNldHMuY3BwLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5MzA2YjkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfbm9kZXNldHMuY3BwLmluCkBAIC0wLDAgKzEsMjEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyAgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKKyAgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorICAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgICoKKyAgKiBDb250cmlidXRvcnM6CisgICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uIGFuZCByZXdvcmsgY29tbXVuaWNhdGlvbiBpbmZyYXN0cnVjdHVyZQorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSA8b3BjdWFfbG9jYWxfaGFuZGxlci5oPgorCitleHRlcm4gIkMiIHsKKyR7Rk9SVEVfT1BDVUFfTk9ERVNFVFNfSU5DTFVERX0KK30KKworYm9vbCBDT1BDX1VBX0xvY2FsX0hhbmRsZXI6OmluaXRpYWxpemVOb2Rlc2V0cyhVQV9TZXJ2ZXIgJnBhVWFTZXJ2ZXIpeworJHtGT1JURV9PUENVQV9OT0RFU0VUU19DT0RFfQorICByZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9yZW1vdGVfaGFuZGxlci5jcHAgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfcmVtb3RlX2hhbmRsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzNzA4MmEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfcmVtb3RlX2hhbmRsZXIuY3BwCkBAIC0wLDAgKzEsMzYwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4IC0gMjAxOSBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgIEpvc2UgQ2FicmFsLCBLaXJpbGwgRG9yb2ZlZXYgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIm9wY3VhX3JlbW90ZV9oYW5kbGVyLmgiCisjaW5jbHVkZSAiLi4vLi4vY29yZS9kZXZleGVjLmgiCisjaW5jbHVkZSAiLi4vLi4vY29yZS9pZWM2MTEzMV9mdW5jdGlvbnMuaCIKKyNpbmNsdWRlICIuLi8uLi9jb3JlL2NvbWluZnJhL2Jhc2Vjb21tZmIuaCIKKyNpbmNsdWRlIDxjcml0aWNhbHJlZ2lvbi5oPgorI2luY2x1ZGUgPGZvcnRlX3ByaW50ZXIuaD4KKwordXNpbmcgbmFtZXNwYWNlIGZvcnRlOjpjb21faW5mcmE7CisKK0RFRklORV9IQU5ETEVSKENPUENfVUFfUmVtb3RlX0hhbmRsZXIpOworCitDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0OjpDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0KCkgOgorICAgIG1OZXdDbGllbnRzUHJlc2VudChmYWxzZSkgeworfQorCitDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0Ojp+Q09QQ19VQV9DbGllbnRfSXRlcmF0aW9uTGlzdCgpIHsKK30KKwordm9pZCBDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0OjpzdGFydEl0ZXJhdGlvblRocmVhZCgpIHsKKyAgaWYoIWlzQWxpdmUoKSkgeworICAgIHN0YXJ0KCk7CisgICAgbUNsaWVudHNUaHJlYWRTdGFydGVkLndhaXRJbmRlZmluaXRlbHkoKTsKKyAgfQorfQorCit2b2lkIENPUENfVUFfQ2xpZW50X0l0ZXJhdGlvbkxpc3Q6OnN0b3BJdGVyYXRpb25UaHJlYWQoKSB7CisgIHNldEFsaXZlKGZhbHNlKTsKKyAgcmVzdW1lSXRlcmF0aW9uTG9vcCgpOworICBlbmQoKTsKK30KKwordm9pZCBDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0OjphZGRDbGllbnQoQ1VBX0NsaWVudEluZm9ybWF0aW9uJiBwYUNsaWVudEluZm9ybWF0aW9uKSB7CisgIENDcml0aWNhbFJlZ2lvbiBpdGVyYXRpb25MaXN0UmVnaW9uKG1OZXdDbGllbnRzTXV0ZXgpOworICBhZGRDbGllbnRUb0xpc3QocGFDbGllbnRJbmZvcm1hdGlvbiwgbU5ld0NsaWVudHMpOworICBtTmVlZHNJdGVyYXRpb24uaW5jKCk7CisgIG1OZXdDbGllbnRzUHJlc2VudCA9IHRydWU7Cit9CisKK3ZvaWQgQ09QQ19VQV9DbGllbnRfSXRlcmF0aW9uTGlzdDo6cmVtb3ZlQ2xpZW50KENVQV9DbGllbnRJbmZvcm1hdGlvbiYgcGFDbGllbnRJbmZvcm1hdGlvbikgeworICBDQ3JpdGljYWxSZWdpb24gaXRlcmF0aW9uTGlzdFJlZ2lvbihtSXRlcmF0aW9uQ2xpZW50c011dGV4KTsKKyAgQ0NyaXRpY2FsUmVnaW9uIG5ld0NsaWVudHNSZWdpb24obU5ld0NsaWVudHNNdXRleCk7CisgIG1OZXdDbGllbnRzLmVyYXNlKCZwYUNsaWVudEluZm9ybWF0aW9uKTsgLy9jbGllbnQgY291bGQgc3RpbGwgYmUgaW4gdGhlIG5ld0xpc3QKKyAgbUl0ZXJhdGlvbkNsaWVudHMuZXJhc2UoJnBhQ2xpZW50SW5mb3JtYXRpb24pOworfQorCit2b2lkIENPUENfVUFfQ2xpZW50X0l0ZXJhdGlvbkxpc3Q6OnJ1bigpIHsKKyAgbUNsaWVudHNUaHJlYWRTdGFydGVkLmluYygpOworICB3aGlsZShpc0FsaXZlKCkpIHsKKworICAgIGlmKG1OZXdDbGllbnRzUHJlc2VudCkgeworICAgICAgdXBkYXRlQ2xpZW50TGlzdCgpOworICAgIH0KKyAgICBib29sIG5lZWRzUmV0cnkgPSBoYW5kbGVDbGllbnRzKCk7CisgICAgaWYoaXNBbGl2ZSgpKSB7CisgICAgICBpZihuZWVkc1JldHJ5KSB7CisgICAgICAgIG1OZWVkc0l0ZXJhdGlvbi50aW1lZFdhaXQoc2NtTmFub3NlY29uZHNUb1NsZWVwKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG1OZWVkc0l0ZXJhdGlvbi53YWl0SW5kZWZpbml0ZWx5KCk7CisgICAgICB9CisgICAgfQorICB9Cit9CisKK3ZvaWQgQ09QQ19VQV9DbGllbnRfSXRlcmF0aW9uTGlzdDo6cmVzdW1lSXRlcmF0aW9uTG9vcCgpIHsKKyAgbU5lZWRzSXRlcmF0aW9uLmluYygpOworfQorCit2b2lkIENPUENfVUFfQ2xpZW50X0l0ZXJhdGlvbkxpc3Q6OmFkZENsaWVudFRvTGlzdChDVUFfQ2xpZW50SW5mb3JtYXRpb24mIHBhQ2xpZW50SW5mb3JtYXRpb24sIENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbio+JiBwYUxpc3QpIHsKKyAgYm9vbCBlbGVtZW50QWxyZWFkeVByZXNlbnQgPSBmYWxzZTsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbiAqPjo6SXRlcmF0b3IgaXRDbGllbnRJbmZvcm1hdGlvbiA9IHBhTGlzdC5iZWdpbigpOyBpdENsaWVudEluZm9ybWF0aW9uICE9IHBhTGlzdC5lbmQoKTsgKytpdENsaWVudEluZm9ybWF0aW9uKSB7CisgICAgaWYoJnBhQ2xpZW50SW5mb3JtYXRpb24gPT0gKCppdENsaWVudEluZm9ybWF0aW9uKSkgeworICAgICAgZWxlbWVudEFscmVhZHlQcmVzZW50ID0gdHJ1ZTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorCisgIGlmKCFlbGVtZW50QWxyZWFkeVByZXNlbnQpIHsKKyAgICBwYUxpc3QucHVzaEJhY2soJnBhQ2xpZW50SW5mb3JtYXRpb24pOworICB9Cit9CisKK3ZvaWQgQ09QQ19VQV9DbGllbnRfSXRlcmF0aW9uTGlzdDo6dXBkYXRlQ2xpZW50TGlzdCgpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGl0ZXJhdGlvbkxpc3RSZWdpb24obUl0ZXJhdGlvbkNsaWVudHNNdXRleCk7CisgIENDcml0aWNhbFJlZ2lvbiBuZXdDbGllbnRzUmVnaW9uKG1OZXdDbGllbnRzTXV0ZXgpOworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q1VBX0NsaWVudEluZm9ybWF0aW9uICo+OjpJdGVyYXRvciBpdENsaWVudEluZm9ybWF0aW9uID0gbU5ld0NsaWVudHMuYmVnaW4oKTsgaXRDbGllbnRJbmZvcm1hdGlvbiAhPSBtTmV3Q2xpZW50cy5lbmQoKTsKKyAgICAgICsraXRDbGllbnRJbmZvcm1hdGlvbikgeworICAgIGFkZENsaWVudFRvTGlzdCgqKml0Q2xpZW50SW5mb3JtYXRpb24sIG1JdGVyYXRpb25DbGllbnRzKTsKKyAgfQorICBtTmV3Q2xpZW50cy5jbGVhckFsbCgpOworICBtTmV3Q2xpZW50c1ByZXNlbnQgPSBmYWxzZTsKK30KKworLy8gKioqKioqKioqKioqKioqKiogQ0xJRU5UIEhBTkRMRVIgKioqKioqKioqKioqKiAvLworCitDT1BDX1VBX1JlbW90ZV9IYW5kbGVyOjpDT1BDX1VBX1JlbW90ZV9IYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA6CisgICAgQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3QocGFEZXZpY2VFeGVjdXRpb24pLCBtQ29ubmVjdGlvbkhhbmRsZXIoKnRoaXMpIHsKK30KKworQ09QQ19VQV9SZW1vdGVfSGFuZGxlcjo6fkNPUENfVUFfUmVtb3RlX0hhbmRsZXIoKSB7CisgIGRpc2FibGVIYW5kbGVyKCk7CisgIGNsZWFuUmVzb3VyY2VzKCk7Cit9CisKK3ZvaWQgQ09QQ19VQV9SZW1vdGVfSGFuZGxlcjo6ZW5hYmxlSGFuZGxlcih2b2lkKSB7CisgIHN0YXJ0SXRlcmF0aW9uVGhyZWFkKCk7CisgIG1Db25uZWN0aW9uSGFuZGxlci5zdGFydEl0ZXJhdGlvblRocmVhZCgpOworfQorCit2b2lkIENPUENfVUFfUmVtb3RlX0hhbmRsZXI6OmRpc2FibGVIYW5kbGVyKHZvaWQpIHsKKyAgbUNvbm5lY3Rpb25IYW5kbGVyLnN0b3BJdGVyYXRpb25UaHJlYWQoKTsKKyAgc3RvcEl0ZXJhdGlvblRocmVhZCgpOworfQorCitVQV9TdGF0dXNDb2RlIENPUENfVUFfUmVtb3RlX0hhbmRsZXI6OmluaXRpYWxpemVBY3Rpb24oQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbykgeworICBlbmFibGVIYW5kbGVyKCk7CisgIFVBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9CQURJTlRFUk5BTEVSUk9SOworICBzd2l0Y2gocGFBY3Rpb25JbmZvLmdldEFjdGlvbigpKXsKKyAgICBjYXNlIENBY3Rpb25JbmZvOjplUmVhZDoKKyAgICBjYXNlIENBY3Rpb25JbmZvOjplV3JpdGU6CisgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZUNhbGxNZXRob2Q6CisgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZVN1YnNjcmliZToKKyAgICAgIHJldFZhbCA9IGdldENsaWVudEFuZEFkZEFjdGlvbihwYUFjdGlvbkluZm8pOworICAgICAgYnJlYWs7CisgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZUNyZWF0ZU1ldGhvZDoKKyAgICBjYXNlIENBY3Rpb25JbmZvOjplQ3JlYXRlT2JqZWN0OgorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVEZWxldGVPYmplY3Q6CisgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgUkVNT1RFXTogQ2Fubm90IHBlcmZvcm0gYWN0aW9uICVzIHJlbW90ZWx5LiBJbml0aWFsaXphdGlvbiBmYWlsZWRcbiIsIENBY3Rpb25JbmZvOjptQWN0aW9uTmFtZXNbcGFBY3Rpb25JbmZvLmdldEFjdGlvbigpXSk7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIFJFTU9URV06IFVua25vd24gYWN0aW9uICVkIHRvIGJlIGluaXRpYWxpemVkXG4iLCBwYUFjdGlvbkluZm8uZ2V0QWN0aW9uKCkpOworICAgICAgYnJlYWs7CisgIH0KKyAgcmV0dXJuIHJldFZhbDsKK30KKworVUFfU3RhdHVzQ29kZSBDT1BDX1VBX1JlbW90ZV9IYW5kbGVyOjpleGVjdXRlQWN0aW9uKENBY3Rpb25JbmZvJiBwYUFjdGlvbkluZm8pIHsKKworICBDVUFfQ2xpZW50SW5mb3JtYXRpb24gKmNsaWVudEluZm8gPSBnZXRDbGllbnQocGFBY3Rpb25JbmZvLmdldEVuZHBvaW50KCkpOworICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFESU5URVJOQUxFUlJPUjsKKworICBpZihjbGllbnRJbmZvICYmIGNsaWVudEluZm8tPmlzQWN0aW9uSW5pdGlhbGl6ZWQocGFBY3Rpb25JbmZvKSkgeworICAgIHN3aXRjaChwYUFjdGlvbkluZm8uZ2V0QWN0aW9uKCkpeworICAgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZVJlYWQ6CisgICAgICAgIHJldFZhbCA9IGNsaWVudEluZm8tPmV4ZWN1dGVSZWFkKHBhQWN0aW9uSW5mbyk7CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZVdyaXRlOgorICAgICAgICByZXRWYWwgPSBjbGllbnRJbmZvLT5leGVjdXRlV3JpdGUocGFBY3Rpb25JbmZvKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlIENBY3Rpb25JbmZvOjplQ2FsbE1ldGhvZDoKKyAgICAgICAgcmV0VmFsID0gY2xpZW50SW5mby0+ZXhlY3V0ZUNhbGxNZXRob2QocGFBY3Rpb25JbmZvKTsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0OiAvL2VDcmVhdGVNZXRob2QsIGVDcmVhdGVPYmplY3QsIGVEZWxldGVPYmplY3Qgd2lsbCBuZXZlciByZWFjaCBoZXJlIHNpbmNlIHRoZXkgd2VyZW4ndCBpbml0aWFsaXplZC4gZVN1YnNjcmliZSBpcyBhIFN1YnNjcmliZSBGQgorICAgICAgICBERVZMT0dfRVJST1IoIltPUEMgVUEgUkVNT1RFXTogQWN0aW9uICVkIHRvIGJlIGV4ZWN1dGVkIGlzIHVua25vd24gb3IgaW52YWxpZFxuIiwgcGFBY3Rpb25JbmZvLmdldEFjdGlvbigpKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICB9IGVsc2UgeworICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBSRU1PVEVdOiBDYW5ub3QgZXhlY3V0ZSBhY3Rpb24gZnJvbSBGQiAlcy4gSXQgd2FzIG5vdCBwcm9wZXJseSBpbml0aWFsaXplZFxuIiwKKyAgICAgIHBhQWN0aW9uSW5mby5nZXRMYXllcigpLmdldENvbW1GQigpLT5nZXRJbnN0YW5jZU5hbWUoKSk7CisgIH0KKworICBpZihVQV9TVEFUVVNDT0RFX0dPT0QgPT0gcmV0VmFsKSB7CisgICAgcmVzdW1lSXRlcmF0aW9uTG9vcCgpOworICB9CisKKyAgcmV0dXJuIHJldFZhbDsKK30KKworVUFfU3RhdHVzQ29kZSBDT1BDX1VBX1JlbW90ZV9IYW5kbGVyOjp1bmluaXRpYWxpemVBY3Rpb24oQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbykgeworICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFESU5URVJOQUxFUlJPUjsKKyAgc3dpdGNoKHBhQWN0aW9uSW5mby5nZXRBY3Rpb24oKSl7CisgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZVJlYWQ6CisgICAgY2FzZSBDQWN0aW9uSW5mbzo6ZVdyaXRlOgorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVDYWxsTWV0aG9kOgorICAgIGNhc2UgQ0FjdGlvbkluZm86OmVTdWJzY3JpYmU6CisgICAgICByZW1vdmVBY3Rpb25Gcm9tQ2xpZW50KHBhQWN0aW9uSW5mbyk7CisgICAgICByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0dPT0Q7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgREVWTE9HX0VSUk9SKCJbT1BDIFVBIFJFTU9URV06IEFjdGlvbiAlZCB0byBiZSB1bmluaXRpYWxpemVkIGlzIHVua25vd24gb3IgaW52YWxpZFxuIiwgcGFBY3Rpb25JbmZvLmdldEFjdGlvbigpKTsKKyAgICAgIGJyZWFrOworICB9CisgIHJldHVybiByZXRWYWw7Cit9CisKK3ZvaWQgQ09QQ19VQV9SZW1vdGVfSGFuZGxlcjo6Y2xlYW5SZXNvdXJjZXMoKSB7CisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtQWxsQ2xpZW50TGlzdE11dGV4KTsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbio+OjpJdGVyYXRvciBpdENsaWVudEluZm9ybWF0aW9uID0gbUFsbENsaWVudHMuYmVnaW4oKTsgaXRDbGllbnRJbmZvcm1hdGlvbiAhPSBtQWxsQ2xpZW50cy5lbmQoKTsKKyAgICAgICsraXRDbGllbnRJbmZvcm1hdGlvbikgeworICAgIG1Db25uZWN0aW9uSGFuZGxlci5yZW1vdmVDbGllbnQoKippdENsaWVudEluZm9ybWF0aW9uKTsKKyAgICByZW1vdmVDbGllbnQoKippdENsaWVudEluZm9ybWF0aW9uKTsKKyAgICBkZWxldGUgKml0Q2xpZW50SW5mb3JtYXRpb247CisgIH0KKyAgbUFsbENsaWVudHMuY2xlYXJBbGwoKTsKK30KKworVUFfU3RhdHVzQ29kZSBDT1BDX1VBX1JlbW90ZV9IYW5kbGVyOjpnZXRDbGllbnRBbmRBZGRBY3Rpb24oQ0FjdGlvbkluZm8mIHBhQWN0aW9uSW5mbykgeworICBVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfQkFESU5URVJOQUxFUlJPUjsKKyAgQ1VBX0NsaWVudEluZm9ybWF0aW9uICpjbGllbnRJbmZvID0gZ2V0Q2xpZW50KHBhQWN0aW9uSW5mby5nZXRFbmRwb2ludCgpKTsKKyAgaWYoY2xpZW50SW5mbykgeworICAgIGFkZEFjdGlvblRvQ2xpZW50KHBhQWN0aW9uSW5mbyk7CisgICAgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOworICB9CisgIHJldHVybiByZXRWYWw7Cit9CisKK0NVQV9DbGllbnRJbmZvcm1hdGlvbiogQ09QQ19VQV9SZW1vdGVfSGFuZGxlcjo6Z2V0Q2xpZW50KGNvbnN0IENJRUNfU1RSSU5HICZwYUVuZHBvaW50KSB7CisgIENDcml0aWNhbFJlZ2lvbiBhbGxDbGllbnRzUmVnaW9uKG1BbGxDbGllbnRMaXN0TXV0ZXgpOworCisgIENVQV9DbGllbnRJbmZvcm1hdGlvbiAqY2xpZW50ID0gMDsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbiAqPjo6SXRlcmF0b3IgaXRDbGllbnRJbmZvcm1hdGlvbiA9IG1BbGxDbGllbnRzLmJlZ2luKCk7IGl0Q2xpZW50SW5mb3JtYXRpb24gIT0gbUFsbENsaWVudHMuZW5kKCk7CisgICAgICArK2l0Q2xpZW50SW5mb3JtYXRpb24pIHsKKyAgICBpZigoKml0Q2xpZW50SW5mb3JtYXRpb24pLT5nZXRFbmRwb2ludCgpID09IHBhRW5kcG9pbnQpIHsKKyAgICAgIGNsaWVudCA9ICgqaXRDbGllbnRJbmZvcm1hdGlvbik7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKyAgaWYoIWNsaWVudCkgeworICAgIGNsaWVudCA9IG5ldyBDVUFfQ2xpZW50SW5mb3JtYXRpb24ocGFFbmRwb2ludCk7CisgICAgaWYoY2xpZW50LT5jb25maWd1cmVDbGllbnQoKSkgeworICAgICAgbUFsbENsaWVudHMucHVzaEJhY2soY2xpZW50KTsKKyAgICB9IGVsc2UgeworICAgICAgZGVsZXRlIGNsaWVudDsKKyAgICAgIGNsaWVudCA9IDA7CisgICAgfQorICB9CisKKyAgcmV0dXJuIGNsaWVudDsKK30KKwordm9pZCBDT1BDX1VBX1JlbW90ZV9IYW5kbGVyOjphZGRBY3Rpb25Ub0NsaWVudChDQWN0aW9uSW5mbyYgcGFBY3Rpb25JbmZvKSB7CisgIENDcml0aWNhbFJlZ2lvbiBhbGxDbGllbnRzUmVnaW9uKG1BbGxDbGllbnRMaXN0TXV0ZXgpOworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q1VBX0NsaWVudEluZm9ybWF0aW9uICo+OjpJdGVyYXRvciBpdENsaWVudEluZm9ybWF0aW9uID0gbUFsbENsaWVudHMuYmVnaW4oKTsgaXRDbGllbnRJbmZvcm1hdGlvbiAhPSBtQWxsQ2xpZW50cy5lbmQoKTsKKyAgICAgICsraXRDbGllbnRJbmZvcm1hdGlvbikgeworICAgIENDcml0aWNhbFJlZ2lvbiBjbGllbnRSZWdpb24oKCppdENsaWVudEluZm9ybWF0aW9uKS0+Z2V0TXV0ZXgoKSk7CisgICAgaWYoKCppdENsaWVudEluZm9ybWF0aW9uKS0+Z2V0RW5kcG9pbnQoKSA9PSBwYUFjdGlvbkluZm8uZ2V0RW5kcG9pbnQoKSkgeworICAgICAgKCppdENsaWVudEluZm9ybWF0aW9uKS0+YWRkQWN0aW9uKHBhQWN0aW9uSW5mbyk7CisgICAgICBhZGRDbGllbnRUb0Nvbm5lY3Rpb25IYW5kbGVyKCoqaXRDbGllbnRJbmZvcm1hdGlvbik7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KK30KKwordm9pZCBDT1BDX1VBX1JlbW90ZV9IYW5kbGVyOjpyZW1vdmVBY3Rpb25Gcm9tQ2xpZW50KENBY3Rpb25JbmZvJiBwYUFjdGlvbkluZm8pIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGFsbENsaWVudHNSZWdpb24obUFsbENsaWVudExpc3RNdXRleCk7CisKKyAgQ1VBX0NsaWVudEluZm9ybWF0aW9uICpjbGllbnRUb0RlbGV0ZSA9IDA7CisgIGZvcihDU2luZ2x5TGlua2VkTGlzdDxDVUFfQ2xpZW50SW5mb3JtYXRpb24gKj46Okl0ZXJhdG9yIGl0Q2xpZW50SW5mb3JtYXRpb24gPSBtQWxsQ2xpZW50cy5iZWdpbigpOyBpdENsaWVudEluZm9ybWF0aW9uICE9IG1BbGxDbGllbnRzLmVuZCgpOworICAgICAgKytpdENsaWVudEluZm9ybWF0aW9uKSB7CisgICAgQ0NyaXRpY2FsUmVnaW9uIGNsaWVudFJlZ2lvbigoKml0Q2xpZW50SW5mb3JtYXRpb24pLT5nZXRNdXRleCgpKTsKKyAgICBpZigoKml0Q2xpZW50SW5mb3JtYXRpb24pLT5nZXRFbmRwb2ludCgpID09IHBhQWN0aW9uSW5mby5nZXRFbmRwb2ludCgpKSB7CisgICAgICAoKml0Q2xpZW50SW5mb3JtYXRpb24pLT5yZW1vdmVBY3Rpb24ocGFBY3Rpb25JbmZvKTsKKyAgICAgIGNsaWVudFRvRGVsZXRlID0gKml0Q2xpZW50SW5mb3JtYXRpb247CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICBpZihjbGllbnRUb0RlbGV0ZSAmJiAhY2xpZW50VG9EZWxldGUtPmhhc0FjdGlvbnMoKSkgeworICAgIHJlbW92ZUNsaWVudEZyb21BbGxMaXN0cygqY2xpZW50VG9EZWxldGUpOworICB9Cit9CisKK3ZvaWQgQ09QQ19VQV9SZW1vdGVfSGFuZGxlcjo6cmVtb3ZlQ2xpZW50RnJvbUFsbExpc3RzKENVQV9DbGllbnRJbmZvcm1hdGlvbiYgcGFDbGllbnRJbmZvcm1hdGlvbikgeworICBtQ29ubmVjdGlvbkhhbmRsZXIucmVtb3ZlQ2xpZW50KHBhQ2xpZW50SW5mb3JtYXRpb24pOworICByZW1vdmVDbGllbnQocGFDbGllbnRJbmZvcm1hdGlvbik7CisgIG1BbGxDbGllbnRzLmVyYXNlKCZwYUNsaWVudEluZm9ybWF0aW9uKTsKKyAgZGVsZXRlICZwYUNsaWVudEluZm9ybWF0aW9uOworfQorCit2b2lkIENPUENfVUFfUmVtb3RlX0hhbmRsZXI6OmFkZENsaWVudFRvQ29ubmVjdGlvbkhhbmRsZXIoQ1VBX0NsaWVudEluZm9ybWF0aW9uJiBwYUNsaWVudEluZm9ybWF0aW9uKSB7CisgIG1Db25uZWN0aW9uSGFuZGxlci5hZGRDbGllbnQocGFDbGllbnRJbmZvcm1hdGlvbik7Cit9CisKK2Jvb2wgQ09QQ19VQV9SZW1vdGVfSGFuZGxlcjo6aGFuZGxlQ2xpZW50cygpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGl0ZXJhdGlvbkNyaXRpY2FsUmVnaW9uKG1JdGVyYXRpb25DbGllbnRzTXV0ZXgpOyAvL3RoaXMgaXMgbmVlZGVkIGJlY2F1c2UgcmVtb3ZpbmcgYSBjbGllbnQgZnJvbSB0aGUgbGlzdCBjb3VsZCBjYXVzZSB0cm91YmxlCisgIENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbiAqPiBmYWlsZWRDbGllbnRzOworICBib29sIGFzeW5jSXNOZWVkZWQgPSBmYWxzZTsKKyAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbiAqPjo6SXRlcmF0b3IgaXRDbGllbnRJbmZvcm1hdGlvbiA9IG1JdGVyYXRpb25DbGllbnRzLmJlZ2luKCk7IGl0Q2xpZW50SW5mb3JtYXRpb24gIT0gbUl0ZXJhdGlvbkNsaWVudHMuZW5kKCk7CisgICAgICArK2l0Q2xpZW50SW5mb3JtYXRpb24pIHsKKyAgICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb25DbGllbk11dGV4KCgqaXRDbGllbnRJbmZvcm1hdGlvbiktPmdldE11dGV4KCkpOworICAgIGlmKCgqaXRDbGllbnRJbmZvcm1hdGlvbiktPmlzQXN5bmNOZWVkZWQoKSkgeworICAgICAgaWYoISgqaXRDbGllbnRJbmZvcm1hdGlvbiktPmV4ZWN1dGVBc3luY0NhbGxzKCkpIHsKKyAgICAgICAgZmFpbGVkQ2xpZW50cy5wdXNoQmFjaygqaXRDbGllbnRJbmZvcm1hdGlvbik7CisgICAgICB9IGVsc2UgeworICAgICAgICBhc3luY0lzTmVlZGVkID0gKCppdENsaWVudEluZm9ybWF0aW9uKS0+aXNBc3luY05lZWRlZCgpOworICAgICAgfQorICAgIH0KKyAgICBpZighaXNBbGl2ZSgpKSB7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKworICBpZihpc0FsaXZlKCkgJiYgIWZhaWxlZENsaWVudHMuaXNFbXB0eSgpKSB7CisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbiAqPjo6SXRlcmF0b3IgaXRDbGllbnRJbmZvcm1hdGlvbiA9IGZhaWxlZENsaWVudHMuYmVnaW4oKTsgaXRDbGllbnRJbmZvcm1hdGlvbiAhPSBmYWlsZWRDbGllbnRzLmVuZCgpOworICAgICAgICArK2l0Q2xpZW50SW5mb3JtYXRpb24pIHsKKyAgICAgIERFVkxPR19FUlJPUigiW09QQyBVQSBSRU1PVEVdOiBUaGVyZSB3YXMgYSBwcm9ibGVtIGNoZWNraW5nIHJlbW90ZSAlcy5cbiIsICgqaXRDbGllbnRJbmZvcm1hdGlvbiktPmdldEVuZHBvaW50KCkuZ2V0VmFsdWUoKSk7CisKKyAgICAgIC8vd2UgY2Fubm90IHVzZSBDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0OjpyZW1vdmUgaGVyZSBiZWNhdXNlIGl0IGxvY2tzIG1JdGVyYXRpb25DbGllbnRzTXV0ZXgKKyAgICAgIENDcml0aWNhbFJlZ2lvbiBuZXdDbGllbnRzUmVnaW9uKG1OZXdDbGllbnRzTXV0ZXgpOworICAgICAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uQ2xpZW5NdXRleCgoKml0Q2xpZW50SW5mb3JtYXRpb24pLT5nZXRNdXRleCgpKTsKKyAgICAgIG1JdGVyYXRpb25DbGllbnRzLmVyYXNlKCppdENsaWVudEluZm9ybWF0aW9uKTsKKyAgICAgIG1OZXdDbGllbnRzLmVyYXNlKCppdENsaWVudEluZm9ybWF0aW9uKTsgLy9jbGllbnQgY291bGQgc3RpbGwgYmUgaW4gdGhlIG5ld0xpc3QKKyAgICAgICgqaXRDbGllbnRJbmZvcm1hdGlvbiktPnVuaW5pdGlhbGl6ZUNsaWVudCgpOyAvL3Jlc2V0IGFsbCBpbiBjbGllbnQgYW5kIHBhc3MgaXQgYmFjayB0byB0aGUgY29ubmVjdGlvbiBoYW5kbGVyCisgICAgICAoKml0Q2xpZW50SW5mb3JtYXRpb24pLT5jb25maWd1cmVDbGllbnQoKTsKKyAgICAgIGFkZENsaWVudFRvQ29ubmVjdGlvbkhhbmRsZXIoKippdENsaWVudEluZm9ybWF0aW9uKTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIGFzeW5jSXNOZWVkZWQ7Cit9CisKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKiogQ09ORUNUSU9OIEhBTkRMRVIgKioqKioqKioqKioqKiogLy8KKworQ09QQ19VQV9SZW1vdGVfSGFuZGxlcjo6VUFfQ29ubmVjdGlvbkhhbmRsZXI6OlVBX0Nvbm5lY3Rpb25IYW5kbGVyKENPUENfVUFfUmVtb3RlX0hhbmRsZXImIHBhQ2xpZW50SGFuZGxlcikgOgorICAgIG1DbGllbnRIYW5kbGVyKHBhQ2xpZW50SGFuZGxlcikgeworfQorCitDT1BDX1VBX1JlbW90ZV9IYW5kbGVyOjpVQV9Db25uZWN0aW9uSGFuZGxlcjo6flVBX0Nvbm5lY3Rpb25IYW5kbGVyKCkgeworfQorCitib29sIENPUENfVUFfUmVtb3RlX0hhbmRsZXI6OlVBX0Nvbm5lY3Rpb25IYW5kbGVyOjpoYW5kbGVDbGllbnRzKCkgeworICBDQ3JpdGljYWxSZWdpb24gY2xpZW50c0NsaWVudHNSZWdpb24obUl0ZXJhdGlvbkNsaWVudHNNdXRleCk7CisgIENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbiAqPiBjbGllbnRzVG9SZW1vdmU7CisgIGJvb2wgbmVlZHNSZXRyeSA9IGZhbHNlOworICBmb3IoQ1NpbmdseUxpbmtlZExpc3Q8Q1VBX0NsaWVudEluZm9ybWF0aW9uICo+OjpJdGVyYXRvciBpdENsaWVudEluZm9ybWF0aW9uID0gbUl0ZXJhdGlvbkNsaWVudHMuYmVnaW4oKTsgaXRDbGllbnRJbmZvcm1hdGlvbiAhPSBtSXRlcmF0aW9uQ2xpZW50cy5lbmQoKTsKKyAgICAgICsraXRDbGllbnRJbmZvcm1hdGlvbikgeworICAgIENDcml0aWNhbFJlZ2lvbiBjbGllbnRSZWdpb24oKCppdENsaWVudEluZm9ybWF0aW9uKS0+Z2V0TXV0ZXgoKSk7CisgICAgaWYoKCppdENsaWVudEluZm9ybWF0aW9uKS0+aGFuZGxlQ2xpZW50U3RhdGUoKSkgeworICAgICAgY2xpZW50c1RvUmVtb3ZlLnB1c2hCYWNrKCppdENsaWVudEluZm9ybWF0aW9uKTsKKyAgICB9IGVsc2UgeworICAgICAgbmVlZHNSZXRyeSA9IHRydWU7CisgICAgfQorICAgIGlmKCgqaXRDbGllbnRJbmZvcm1hdGlvbiktPnNvbWVBY3Rpb25XYXNJbml0aWFsaXplZCgpKSB7CisgICAgICBtQ2xpZW50SGFuZGxlci5hZGRDbGllbnQoKippdENsaWVudEluZm9ybWF0aW9uKTsKKyAgICB9CisgICAgaWYoIWlzQWxpdmUoKSkgeworICAgICAgYnJlYWs7CisgICAgfQorICB9CisKKyAgaWYoaXNBbGl2ZSgpICYmICFjbGllbnRzVG9SZW1vdmUuaXNFbXB0eSgpKSB7CisgICAgZm9yKENTaW5nbHlMaW5rZWRMaXN0PENVQV9DbGllbnRJbmZvcm1hdGlvbiAqPjo6SXRlcmF0b3IgaXRDbGllbnRJbmZvcm1hdGlvbiA9IGNsaWVudHNUb1JlbW92ZS5iZWdpbigpOyBpdENsaWVudEluZm9ybWF0aW9uICE9IGNsaWVudHNUb1JlbW92ZS5lbmQoKTsKKyAgICAgICAgKytpdENsaWVudEluZm9ybWF0aW9uKSB7CisgICAgICBtSXRlcmF0aW9uQ2xpZW50cy5lcmFzZSgqaXRDbGllbnRJbmZvcm1hdGlvbik7CisgICAgfQorICB9CisgIHJldHVybiBuZWVkc1JldHJ5OworfQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfcmVtb3RlX2hhbmRsZXIuaCBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV9yZW1vdGVfaGFuZGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNDI1NTcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvb3BjdWFfcmVtb3RlX2hhbmRsZXIuaApAQCAtMCwwICsxLDI4MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCAtIDIwMTkgZm9ydGlzcyBHbWJICisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgICBKb3NlIENhYnJhbCwgS2lyaWxsIERvcm9mZWV2IC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX01PRFVMRVNfT1BDX1VBX09QQ1VBQ0xJRU5USEFORExFUl9IXworI2RlZmluZSBTUkNfTU9EVUxFU19PUENfVUFfT1BDVUFDTElFTlRIQU5ETEVSX0hfCisKKyNpbmNsdWRlIDxmb3J0ZV90aHJlYWQuaD4KKyNpbmNsdWRlIDxmb3J0ZV9jb25maWcuaD4KKyNpbmNsdWRlICJvcGN1YV9oYW5kbGVyX2Fic3RyYWN0LmgiCisjaW5jbHVkZSAib3BjdWFfY2xpZW50X2luZm9ybWF0aW9uLmgiCisKKy8qKgorICogUGFyZW50IGNsYXNzIHVzZWQgYnkgdGhlIHJlbW90ZSBoYW5kbGVyIGFuZCB0aGUgY29ubmVjdGlvbiB0aHJlYWQuIFRoZXkgYm90aCBpdGVyYXRlIGEgbGlzdCBvZiBjbGllbnRzIGFuZCBleGVjdXRlZCBwZXJpb2RpY2FsbHkgYWN0aW9uIG9uIGl0CisgKiBUaGlzIGNsYXNzIGNvbnRhaW5zIHRoZSBjb21tb24gY29kZSBvZiB0aGVtIGFuZCB1c2VzIGEgc3RyYXRlZ3kgcGF0dGVybiBpbiBydW4oKSwgd2hlcmUgdGhlIGFjdGlvbiBvdCBiZSBleGVjdXRlZCBwZXJpb2RpY2FsbHkgb24gdGhlIGNsaWVudHMKKyAqIGlzIGRvbmUgaW4gdGhlIHB1cmUgdmlydHVhbCBoYW5kbGVDbGllbnRzKCkuCisgKiBUaGUgaXRlcmF0aW9uIGNhbiBzbGVlcCBmb3JldmVyIG9yIHNsZWVwIGZvciBzb21lIHRpbWUgYW5kIHRoZW4gaXRlcmF0ZSBhZ2Fpbi4gSW4gYm90aCBjYXNlcywgdGhlIHRocmVhZCBjYW4gYmUgYXdha2VuLgorICovCitjbGFzcyBDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0IDogcHVibGljIENUaHJlYWQgeworICBwdWJsaWM6CisKKyAgICAvKioKKyAgICAgKiBDb25zdHJ1Y3RvciBvZiB0aGUgY2xhc3MKKyAgICAgKi8KKyAgICBDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0KCk7CisKKyAgICAvKioKKyAgICAgKiBEZXN0cnVjdG9yIG9mIHRoZSBjbGFzcworICAgICAqLworICAgIHZpcnR1YWwgfkNPUENfVUFfQ2xpZW50X0l0ZXJhdGlvbkxpc3QoKTsKKworICAgIC8qKgorICAgICAqIFN0YXJ0IHRoZSBpdGVyYXRpb24gdGhyZWFkIHRoYXQgd2lsbCBleGVjdXRlIHBlcmlvZGljYWxseSBoYW5kbGVDbGllbnRzKCkKKyAgICAgKi8KKyAgICB2b2lkIHN0YXJ0SXRlcmF0aW9uVGhyZWFkKCk7CisKKyAgICAvKioKKyAgICAgKiBTdG9wcyB0aGUgaXRlcmF0aW9uIHRocmVhZAorICAgICAqLworICAgIHZvaWQgc3RvcEl0ZXJhdGlvblRocmVhZCgpOworCisgICAgLyoqCisgICAgICogQWRkcyBhIG5ldyBjbGllbnQgdG8gdGhlIGxpc3Qgb2YgY2xpZW50cyB3aGVyZSBoYW5kbGVDbGllbnRzKCkgaXMgZXhlY3V0ZWQuIFRoZSBuZXcgY2xpZW50cyBhcmUgYWRkZWQgYXN5bmNyaG9ub3VzbHkgc28gdGhlIGl0ZXJhdGlvbiBkb2Vzbid0IGJsb2NrIHRoZSB0aHJlYWQgY2FsbGluZyB0aGlzLiBUaGUgY2xpZW50IGlzIHVzdWFsbHkgbm8gbG9uZ2VyIHVzZWQgYnkgdGhlIGNhbGxlcgorICAgICAqIEBwYXJhbSBwYUNsaWVudEluZm9ybWF0aW9uIFRoZSBjbGllbnQgdG8gYmUgYWRkZWQgdG8gdGhlIGl0ZXJhdGlvbgorICAgICAqLworICAgIHZvaWQgYWRkQ2xpZW50KENVQV9DbGllbnRJbmZvcm1hdGlvbiAmcGFDbGllbnRJbmZvcm1hdGlvbik7CisKKyAgICAvKioKKyAgICAgKiBSZW1vdmVzIGEgY2xpZW50IGZyb20gdGhlIGl0ZXJhdGlvbiBsaXN0IHN5bmNyaG9ub3VzbHkuIFVzdWFsbHksIHRoZSBjbGllbnQgaXMgdGhlbiBhY2Nlc3NlZCBhZnRlciByZW1vdmVkIGlzIHRoZW4gZGVsZXRlZCwgc28gdGhlIGNhbGxlciBoYXMgdG8gd2FpdCB0aGF0IHRoZSBjbGllbnQgaXMgZnJlZSBiZWZvcmUgYWNjZXNzaW5nIGl0CisgICAgICogQHBhcmFtIHBhQ2xpZW50SW5mb3JtYXRpb24gVGhlIGNsaWVudCB0byBiZSByZW1vdmVkIGZyb20gdGhlIGxpc3QKKyAgICAgKi8KKyAgICB2b2lkIHJlbW92ZUNsaWVudChDVUFfQ2xpZW50SW5mb3JtYXRpb24gJnBhQ2xpZW50SW5mb3JtYXRpb24pOworCisgICAgLyoqCisgICAgICogR2V0IHRoZSBhZGRlZCBjbGllbnRzIHRvIHRoZSBpdGVyYXRpb24gbGlzdCwgYW5kIGV4ZWN1dGUgaGFuZGxlQ2xpZW50cygpLiBEZXBlbmRpbmcgb24gdGhlIHJlc3VsdCwgaXQgd2lsbCB3YWl0IGZvcmV2ZXIgb3IganVzdCBmb3Igc29tZSB0aW1lICh0aGUgY3ljbGljIHBlcmlvZCkKKyAgICAgKi8KKyAgICB2b2lkIHJ1bigpOworCisgIHByb3RlY3RlZDoKKworICAgIC8qKgorICAgICAqIEZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIGJ5IGl0ZXJhdGlvbiBhbmQgdGhhdCBpbXBsZW1lbnRzIHRoZSBhY3Rpb24gdG8gYmUgcGVyZm9ybWVkIGN5Y2xpYyBpbiB0aGUgY2xpZW50cworICAgICAqIEByZXR1cm4gVHJ1ZSBpZiBhIG5ldyBpdGVyYXRpb24gaXMgbmVlZGVkLCBmYWxzZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlQ2xpZW50cygpID0gMDsKKworICAgIC8qKgorICAgICAqIElmIHRoZSBpdGVyYXRpb24gbG9vcCBpcyB3YWl0aW5nIGZvcmV2ZXIsIHRoaXMgZnVuY3Rpb24gd2lsbCBhd2FrZSBpdCBhbmQgaXRlcmF0ZSBhZ2FpbgorICAgICAqLworICAgIHZvaWQgcmVzdW1lSXRlcmF0aW9uTG9vcCgpOworCisKKyAgICAvKioKKyAgICAgKiBMaXN0IG9mIGNsaWVudHMgb24gd2hpY2ggdGhlIGl0ZXJhdGlvbiBpcyBkb25lCisgICAgICovCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q1VBX0NsaWVudEluZm9ybWF0aW9uICo+IG1JdGVyYXRpb25DbGllbnRzOworCisgICAgLyoqCisgICAgICogTXV0ZXggdG8gYWNjZXNzIHRoZSBsaXN0IG9mIGNsaWVudHMgd2hpY2ggaXMgaXRlcmF0ZWQKKyAgICAgKi8KKyAgICBDU3luY09iamVjdCBtSXRlcmF0aW9uQ2xpZW50c011dGV4OworCisgICAgLyoqCisgICAgICogTGlzdCBvZiBuZXcgY2xpZW50cy4gSXQgc2VydmVzIGFzIGEgYnVmZmVyIHRoYXQgaXMgbGF0dGVyIGFkZGVkIHRvIHRoZSBtYWluIGl0ZXJhdGlvbiBsaXN0CisgICAgICovCisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q1VBX0NsaWVudEluZm9ybWF0aW9uICo+IG1OZXdDbGllbnRzOworCisKKyAgICAvKioKKyAgICAgKiBNdXRleCB0byBhY2Nlc3MgdGhlIGxpc3Qgb2YgbmV3IGNsaWVudHMKKyAgICAgKi8KKyAgICBDU3luY09iamVjdCBtTmV3Q2xpZW50c011dGV4OworCisgIHByaXZhdGU6CisKKyAgICAvKioKKyAgICAgKiBBZGRzIGEgY2xpZW50IHRvIGEgbGlzdC4gSWYgdGhlIGNsaWVudCBpcyBhbHJlYWR5IHByZXNlbnQsIG5vIGNsaWVudCBpcyBhZGRlZAorICAgICAqIEBwYXJhbSBwYUNsaWVudEluZm9ybWF0aW9uIENsaWVudCB0byBiZSBhZGRlZAorICAgICAqIEBwYXJhbSBwYUxpc3QgTGlzdCB3aGVyZSB0aGUgY2xpZW50IGlzIGFkZGVkCisgICAgICovCisgICAgdm9pZCBhZGRDbGllbnRUb0xpc3QoQ1VBX0NsaWVudEluZm9ybWF0aW9uICZwYUNsaWVudEluZm9ybWF0aW9uLCBDU2luZ2x5TGlua2VkTGlzdDxDVUFfQ2xpZW50SW5mb3JtYXRpb24gKj4gJnBhTGlzdCk7CisKKyAgICAvKioKKyAgICAgKiBBZGQgdGhlIG5ldyBjbGllbnRzIHRvIHRoZSBtYWluIGl0ZXJhdGlvbiBsaXN0IGFuZCBjbGVhcnMgdGhlIG5ldyBjbGllbnRzIGxpc3QKKyAgICAgKi8KKyAgICB2b2lkIHVwZGF0ZUNsaWVudExpc3QoKTsKKworICAgIC8qKgorICAgICAqIEluZGljYXRlcyB0aGF0IGEgbmV3IGNsaWVudCBpcyBwcmVzZW50IGFuZCBuZWVkcyB0byBiZSBhZGRlZCB0byB0aGUgbWFpbiBpdGVyYXRpb24gbGlzdAorICAgICAqLworICAgIGJvb2wgbU5ld0NsaWVudHNQcmVzZW50OworCisgICAgLyoqCisgICAgICogSW5kaWNhdGVzIGlmIHRoZSBpdGVyYXRpb24gc2hvdWxkIGNvbnRpbnVlCisgICAgICovCisgICAgQ1NlbWFwaG9yZSBtTmVlZHNJdGVyYXRpb247CisKKyAgICAvKioKKyAgICAgKiBJbmRpY2F0ZXMgdGhhdCB0aGUgdGhyZWFkIGhhZCBzdGFydGVkLCBzbyBvdGhlciB0aHJlYWRzIHdhaXRpbmcgZm9yIGl0IGNhbiBjb250aW51ZQorICAgICAqLworICAgIENTZW1hcGhvcmUgbUNsaWVudHNUaHJlYWRTdGFydGVkOworCisgICAgLyoqCisgICAgICogQ3ljbGljIHRpbWUgdG8gc2xlZXAgaWYgYW5vdGhlciBpdGVyYXRpb24gaXMgbmVlZGVkLiBUaGlzIGlzIHRoZSBwZXJpb2QgYXQgd2hpY2ggdGhlIGl0ZXJhdGlvbiBvY2N1cnMgbm9ybWFsbHkKKyAgICAgKi8KKyAgICBzdGF0aWMgY29uc3QgVEZvcnRlVUludDY0IHNjbU5hbm9zZWNvbmRzVG9TbGVlcCA9IEZPUlRFX0NPTV9PUENfVUFfQ0xJRU5UX1BVQl9JTlRFUlZBTCAqIDEwMDAwMDA7IC8vbXMgdG8gbmFub3NlY29uZHMKK307CisKKy8qKgorICogQ2xhc3MgdG8gaGFuZGxlIGFsbCBhY3Rpb24gdGhhdCBhcmUgZXhlY3V0ZWQgcmVtb3RlbHkuIEl0IGNhbGxzIHRoZSBjbGllbnRzIHRvIGV4ZWN1dGUgdGhlaXIgYXN5bmNocm9ub3VzIGNhbGxzCisgKi8KKy8vIGNwcGNoZWNrLXN1cHByZXNzIG5vQ29uc3RydWN0b3IKK2NsYXNzIENPUENfVUFfUmVtb3RlX0hhbmRsZXIgOiBwdWJsaWMgQ09QQ19VQV9IYW5kbGVyQWJzdHJhY3QsIHB1YmxpYyBDT1BDX1VBX0NsaWVudF9JdGVyYXRpb25MaXN0IHsKKyAgREVDTEFSRV9IQU5ETEVSKENPUENfVUFfUmVtb3RlX0hhbmRsZXIpCisgIHB1YmxpYzoKKworICAgIC8qKgorICAgICAqIFN0YXJ0cyB0aGUgdGhyZWFkcworICAgICAqLworICAgIHZvaWQgZW5hYmxlSGFuZGxlcih2b2lkKTsKKworICAgIC8qKgorICAgICAqIFN0b3BzIHRoZSB0aHJlYWRzCisgICAgICovCisgICAgdm9pZCBkaXNhYmxlSGFuZGxlcih2b2lkKTsKKworICBwcm90ZWN0ZWQ6CisKKyAgICAvKioKKyAgICAgKiBQZXJmb3JtIGFsbCB0aGUgbmVlZGVkIGluaXRpYWxpemF0aW9uIG9mIHRoZSBhY3Rpb24KKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvIEFjdGlvbiB0byBiZSBpbml0aWFsaXplZAorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIGlzIG5vIHByb2JsZW0gb2NjdXJyZWQsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIHZpcnR1YWwgVUFfU3RhdHVzQ29kZSBpbml0aWFsaXplQWN0aW9uKENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pOworCisgICAgLyoqCisgICAgICogRXhlY3V0ZSB0aGUgYWN0aW9uCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgZXhlY3V0ZWQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICB2aXJ0dWFsIFVBX1N0YXR1c0NvZGUgZXhlY3V0ZUFjdGlvbihDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIFVuaW5pdGlhbGl6ZSB0aGUgYWN0aW9uCisgICAgICogQHBhcmFtIHBhQWN0aW9uSW5mbyBBY3Rpb24gdG8gYmUgVW5pbml0aWFsaXplZAorICAgICAqIEByZXR1cm4gVUFfU1RBVFVTQ09ERV9HT09EIGlzIG5vIHByb2JsZW0gb2NjdXJyZWQsIG90aGVyIHZhbHVlIG90aGVyd2lzZQorICAgICAqLworICAgIHZpcnR1YWwgVUFfU3RhdHVzQ29kZSB1bmluaXRpYWxpemVBY3Rpb24oQ0FjdGlvbkluZm8gJnBhQWN0aW9uSW5mbyk7CisKKyAgcHJpdmF0ZToKKworICAgIC8qKgorICAgICAqIENsYXNzIHRoYXQgY29ubmVjdHMgdGhlIGNsaWVudHMgYW5kIGluaXRpYWxpemVzIHRoZSBhY3Rpb25zIHN0b3JlZCBpbiB0aGUgY2xpZW50cy4KKyAgICAgKiBJdCB3aWxsIGl0ZXJhdGUgdGhlIGNsaWVudHMgdHJ5aW5nIHRvIGNvbm5lY3QgYW5kIGluaXRpYWxpemUgdGhlIGFjdGlvbnMgdW50aWwgdGhleSBhcmUgYWxsIGluaXRpYWxpemVkCisgICAgICogSWYgb25lIGFjdGlvbiBvbiBhIGNsaWVudCBpcyBpbml0aWFsaXplZCwgaXQgd2lsbCBwYXNzIHRoZSBjbGllbnQgdG8gdGhlIHJlbW90ZSBoYW5kbGVyLCBzbyBpdCBjYW4gZXhlY3V0ZQorICAgICAqIGNhbGxzIG9uIGl0LCBidXQga2VlcCBpdCBhbHNvIG9uIGl0cyBvd24gbGlzdCB0byB0cnkgdG8gaW5pdGlhbGl6ZSB0aGUgb3RoZXIgYWN0aW9ucworICAgICAqLworICAgIGNsYXNzIFVBX0Nvbm5lY3Rpb25IYW5kbGVyIDogcHVibGljIENPUENfVUFfQ2xpZW50X0l0ZXJhdGlvbkxpc3QgeworICAgICAgcHVibGljOgorCisgICAgICAgIC8qKgorICAgICAgICAgKiBDb25zdHJ1Y3RvciBvZiB0aGUgY2xhc3MKKyAgICAgICAgICogQHBhcmFtIHBhQ2xpZW50SGFuZGxlciBUaGUgcmVtb3RlIGhhbmRsZXIuIEl0IHVzZXMgbGF0ZXIgdG8gcGFzcyB0aGUgY2xpZW50cyB3aG8gaGF2ZSBpbml0aWFsaXplZCBhY3Rpb25zCisgICAgICAgICAqLworICAgICAgICBleHBsaWNpdCBVQV9Db25uZWN0aW9uSGFuZGxlcihDT1BDX1VBX1JlbW90ZV9IYW5kbGVyICZwYUNsaWVudEhhbmRsZXIpOworCisgICAgICAgIC8qKgorICAgICAgICAgKiBEZXN0cnVjdG9yIG9mIHRoZSBjbGFzcworICAgICAgICAgKi8KKyAgICAgICAgflVBX0Nvbm5lY3Rpb25IYW5kbGVyKCk7CisKKyAgICAgIHByaXZhdGU6CisKKyAgICAgICAgLyoqCisgICAgICAgICAqIENhbGxzIHRoZSBoYW5kbGVDbGllbnRTdGF0ZSgpIGZ1bmN0aW9uIGluIHRoZSBjbGllbnRzLgorICAgICAgICAgKiBAcmV0dXJuIFRydWUgaWYgYSBuZXcgaXRlcmF0aW9uIGlzIG5lZWRlZCwgZmFsc2Ugb3RoZXJ3aXNlCisgICAgICAgICAqLworICAgICAgICBib29sIGhhbmRsZUNsaWVudHMoKTsKKworICAgICAgICAvKioKKyAgICAgICAgICogUmVtb3RlIGhhbmRsZXIgdG8gcGFzcyB0aGUgY2xpZW50cyB3aG8gaGF2ZSBhdCBsZWFzdCBvbmUgYWN0aW9uIGluaXRpYWxpemVkCisgICAgICAgICAqLworICAgICAgICBDT1BDX1VBX1JlbW90ZV9IYW5kbGVyICZtQ2xpZW50SGFuZGxlcjsKKworICAgIH07CisKKyAgICAvKioKKyAgICAgKiBDbGVhbiBhbGwgcmVzb3VyY2VzIGZyb20gdGhlIHJlbW90ZSBoYW5kbGVyCisgICAgICovCisgICAgdm9pZCBjbGVhblJlc291cmNlcygpOworCisgICAgLyoqCisgICAgICogTG9va3MgZm9yIGEgY2xpZW50IHdpdGggdGhlIGVuZHBvaW50IG9mIHRoZSBhY3Rpb24gYW5kIGFkZHMgdGhlIGFjdGlvbiB0byBpdAorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIGFkZGVkIHRvIHRoZSBjbGllbnQKKyAgICAgKiBAcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRCBpcyBubyBwcm9ibGVtIG9jY3VycmVkLCBvdGhlciB2YWx1ZSBvdGhlcndpc2UKKyAgICAgKi8KKyAgICBVQV9TdGF0dXNDb2RlIGdldENsaWVudEFuZEFkZEFjdGlvbihDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIExvb2tzIGZvciBhIGNsaWVudCB1c2luZyBhbiBlbmRwb2ludC4gSWYgYSBjbGllbnQgaXMgbm90IGZvdW5kLCBhIG5ldyBvbmUgaXMgY3JlYXRlZAorICAgICAqIEBwYXJhbSBwYUVuZHBvaW50IEVuZHBvaW50IG9mIHRoZSBjbGllbnQKKyAgICAgKiBAcmV0dXJuIDAgaWYgYW4gZXJyb3Igb2NjdXJyZWQsIGEgcG9pbnRlciB0byB0aGUgY2xpZW50IG90aGVyd2lzZQorICAgICAqLworICAgIENVQV9DbGllbnRJbmZvcm1hdGlvbiogZ2V0Q2xpZW50KGNvbnN0IENJRUNfU1RSSU5HICZwYUVuZHBvaW50KTsKKworICAgIC8qKgorICAgICAqIEFkZHMgYW4gYWN0aW9uIHRvIGEgY2xpZW50LiBUaGlzIGlzIHBlcmZvcm1lZCB3aGVuIGFuIGFjdGlvbiBpcyBpbml0aWFsaXplZAorICAgICAqIEBwYXJhbSBwYUFjdGlvbkluZm8gQWN0aW9uIHRvIGJlIGFkZGVkCisgICAgICovCisgICAgdm9pZCBhZGRBY3Rpb25Ub0NsaWVudChDQWN0aW9uSW5mbyAmcGFBY3Rpb25JbmZvKTsKKworICAgIC8qKgorICAgICAqIFJlbW92ZXMgYW4gYWN0aW9uIGZyb20gdGhlIGNsaWVudC4gSWYgdGhlIGNsaWVudCBoYXMgbm8gbW9yZSBhY3Rpb25zLCBpdCdzIGNsZWFuZWQgYW5kIGRlbGV0ZWQKKyAgICAgKiBAcGFyYW0gcGFBY3Rpb25JbmZvCisgICAgICovCisgICAgdm9pZCByZW1vdmVBY3Rpb25Gcm9tQ2xpZW50KENBY3Rpb25JbmZvICZwYUFjdGlvbkluZm8pOworCisgICAgLyoqCisgICAgICogUmVtb3ZlIGEgY2xpZW50IGZyb20gYWxsIGxpc3QsIGFuZCBkZWxldGUgaXQKKyAgICAgKi8KKyAgICB2b2lkIHJlbW92ZUNsaWVudEZyb21BbGxMaXN0cyhDVUFfQ2xpZW50SW5mb3JtYXRpb24gJnBhQ2xpZW50SW5mb3JtYXRpb24pOworCisgICAgLyoqCisgICAgICogQWRkcyBhIGNsaWVudCB0byB0aGUgY29ubmVjdGlvbiBoYW5kbGVyCisgICAgICogQHBhcmFtIHBhQ2xpZW50SW5mb3JtYXRpb24gQ2xpZW50IHRvIGJlIGFkZGVkCisgICAgICovCisgICAgdm9pZCBhZGRDbGllbnRUb0Nvbm5lY3Rpb25IYW5kbGVyKENVQV9DbGllbnRJbmZvcm1hdGlvbiAmcGFDbGllbnRJbmZvcm1hdGlvbik7CisKKyAgICAvKioKKyAgICAgKiBUcmlnZ2VyIHRoZSBjbGllbnRzIHRvIGV4ZWN1dGUgdGhlaXIgYXN5bmNyb25vdXMgY2FsbHMuIElmIGEgY2xpZW50IGZhaWxzLCBpdCdzIHVuaW5pdGlhbGl6ZWQgYW5kIGdpdmVuIGJhY2sKKyAgICAgKiB0byB0aGUgY29ubmVjdGlvbiBoYW5kbGVyCisgICAgICogQHJldHVybiBUcnVlIGlmIGEgbmV3IGl0ZXJhdGlvbiBpcyBuZWVkZWQsIGZhbHNlIG90aGVyd2lzZQorICAgICAqLworICAgIGJvb2wgaGFuZGxlQ2xpZW50cygpOworCisgICAgLyoqCisgICAgICogQ29ubmVjdGlvbiBoYW5kbGVyIHRvIHBhc3MgdGhlIGNsaWVudHMgdGhhdCBhcmVuJ3QgZnVsbHkgaW5pdGlhbGl6ZWQgeWV0CisgICAgICovCisgICAgVUFfQ29ubmVjdGlvbkhhbmRsZXIgbUNvbm5lY3Rpb25IYW5kbGVyOworCisgICAgLyoqCisgICAgICogQSBsaXN0IHdpdGggYWxsIGNsaWVudHMKKyAgICAgKi8KKyAgICBDU2luZ2x5TGlua2VkTGlzdDxDVUFfQ2xpZW50SW5mb3JtYXRpb24qPiBtQWxsQ2xpZW50czsKKworICAgIC8qKgorICAgICAqICBNdXRleCB0byBhY2Nlc3MgdGhlIGxpc3Qgd2l0aCBhbGwgY2xpZW50cworICAgICAqLworICAgIENTeW5jT2JqZWN0IG1BbGxDbGllbnRMaXN0TXV0ZXg7Cit9OworCisjZW5kaWYgLyogU1JDX01PRFVMRVNfT1BDX1VBX09QQ1VBQ0xJRU5USEFORExFUl9IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL29wY3VhX3R5cGVzLmNwcC5pbiBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV90eXBlcy5jcHAuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU0YTM5NAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL29wY191YS9vcGN1YV90eXBlcy5jcHAuaW4KQEAgLTAsMCArMSwzNCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMTkgZm9ydGlzcyBHbWJICisgICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscworICAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAorICAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CisgICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAgKgorICAqIENvbnRyaWJ1dG9yczoKKyAgKiAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24gYW5kIHJld29yayBjb21tdW5pY2F0aW9uIGluZnJhc3RydWN0dXJlCisgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxvcGN1YV9oZWxwZXIuaD4KKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJvcGN1YV90eXBlc19nZW4uY3BwIgorI2VuZGlmCiske0ZPUlRFX09QQ1VBX0VYVEVSTkFMX1RZUEVTX0lOQ0xVREV9CisKK2NvbnN0IENPUENfVUFfSGVscGVyOjpVQV9UeXBlQ29udmVydF9leHRlcm5hbCBDT1BDX1VBX0hlbHBlcjo6c2NtRXh0ZXJuYWxNYXBGb3J0ZVR5cGVJZFRvT3BjVWFbXSA9IHsKKyAke0ZPUlRFX09QQ1VBX0VYVEVSTkFMX1RZUEVTX01BUF9JTlNFUlR9Cit9OworCitjb25zdCBVQV9EYXRhVHlwZSAqQ09QQ19VQV9IZWxwZXI6OmdldEV4dGVybmFsT1BDVUFUeXBlRnJvbUFueShjb25zdCBDSUVDX0FOWSAmcGFBbnlUeXBlKSB7CisgIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCB0eXBlSWQgPSBwYUFueVR5cGUuZ2V0RGF0YVR5cGVJRCgpOworICBpZihDSUVDX0FOWTo6ZV9TVFJVQ1QgPT0gdHlwZUlkKSB7CisgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCB0eXBlT2ZTdHJ1Y3R1cmUgPSBzdGF0aWNfY2FzdDxjb25zdCBDSUVDX1NUUlVDVCY+KHBhQW55VHlwZSkuZ2V0U3RydWN0VHlwZU5hbWVJRCgpOworICAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBzaXplb2Yoc2NtRXh0ZXJuYWxNYXBGb3J0ZVR5cGVJZFRvT3BjVWEpIC8gc2l6ZW9mKFVBX1R5cGVDb252ZXJ0X2V4dGVybmFsKTsgaSsrKSB7CisgICAgICBpZihzY21FeHRlcm5hbE1hcEZvcnRlVHlwZUlkVG9PcGNVYVtpXS5tU3RyaW5nSWQgPT0gdHlwZU9mU3RydWN0dXJlKSB7CisgICAgICAgIHJldHVybiBzY21FeHRlcm5hbE1hcEZvcnRlVHlwZUlkVG9PcGNVYVtpXS5tVHlwZTsKKyAgICAgIH0KKyAgICB9CisgIH0KKyAgcmV0dXJuIDA7Cit9CisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL29wY191YS90eXBlcy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL29wY191YS90eXBlcy9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTliZjU0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMjAgQEAKKyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjIENvcHlyaWdodCAoYykgMjAxOSBmb3J0aXNzIEdtYkgKKyMgIAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjIAorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworZm9ydGVfYWRkX2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKGZvcnRlX2xvY2FsaXplZHRleHQpCisKKyAgCisKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzL2ZvcnRlX2xvY2FsaXplZHRleHQuY3BwIGIvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzL2ZvcnRlX2xvY2FsaXplZHRleHQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwODY5OGYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy9vcGNfdWEvdHlwZXMvZm9ydGVfbG9jYWxpemVkdGV4dC5jcHAKQEAgLTAsMCArMSwyNiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBmb3J0aXNzIEdtYkgKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIGltcGxlbWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImZvcnRlX2xvY2FsaXplZHRleHQuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJmb3J0ZV9sb2NhbGl6ZWR0ZXh0X2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0RBVEFUWVBFKExvY2FsaXplZFRleHQsIGdfblN0cmluZ0lkTG9jYWxpemVkVGV4dCk7CisKK0NJRUNfTG9jYWxpemVkVGV4dDo6Q0lFQ19Mb2NhbGl6ZWRUZXh0KCkgOgorICAgIENJRUNfU1RSVUNUKGdfblN0cmluZ0lkTG9jYWxpemVkVGV4dCwgMiwgc2NtRWxlbWVudFR5cGVzLCBzY21FbGVtZW50TmFtZXMsIGVfQVBQTElDQVRJT04gKyBlX0NPTlNUUlVDVEVEICsgMSkgeworfQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIENJRUNfTG9jYWxpemVkVGV4dDo6c2NtRWxlbWVudFR5cGVzW10gPSB7IGdfblN0cmluZ0lkU1RSSU5HLCBnX25TdHJpbmdJZFNUUklORyB9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBDSUVDX0xvY2FsaXplZFRleHQ6OnNjbUVsZW1lbnROYW1lc1tdID0geyBnX25TdHJpbmdJZHRleHQsIGdfblN0cmluZ0lkbG9jYWxlIH07CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9vcGNfdWEvdHlwZXMvZm9ydGVfbG9jYWxpemVkdGV4dC5oIGIvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzL2ZvcnRlX2xvY2FsaXplZHRleHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTBjNmRmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzL2ZvcnRlX2xvY2FsaXplZHRleHQuaApAQCAtMCwwICsxLDQyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorICoKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9GT1JURV9MT0NBTElaRURURVhUX0hfCisjZGVmaW5lIF9GT1JURV9MT0NBTElaRURURVhUX0hfCisKKyNpbmNsdWRlICJmb3J0ZV9zdHJ1Y3QuaCIKKyNpbmNsdWRlICJmb3J0ZV9zdHJpbmcuaCIKKworY2xhc3MgQ0lFQ19Mb2NhbGl6ZWRUZXh0IDogcHVibGljIENJRUNfU1RSVUNUIHsKKyAgREVDTEFSRV9GSVJNV0FSRV9EQVRBVFlQRShMb2NhbGl6ZWRUZXh0KQorCisgIHB1YmxpYzoKKyAgICBDSUVDX0xvY2FsaXplZFRleHQoKTsKKworICAgIHZpcnR1YWwgfkNJRUNfTG9jYWxpemVkVGV4dCgpIHsKKyAgICB9CisKKyAgICBDSUVDX1NUUklORyAmdGV4dCgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TVFJJTkcqPigmZ2V0TWVtYmVycygpWzBdKTsKKyAgICB9CisKKyAgICBDSUVDX1NUUklORyAmbG9jYWxlKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1NUUklORyo+KCZnZXRNZW1iZXJzKClbMV0pOworICAgIH0KKworICBwcml2YXRlOgorICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbUVsZW1lbnRUeXBlc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbUVsZW1lbnROYW1lc1tdOworfTsKKworI2VuZGlmIC8vX0ZPUlRFX0xPQ0FMSVpFRFRFWFRfSF8KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3BpZmFjZS9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL3BpZmFjZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4MWYwOGQ5Li4wOTQ4N2JjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9waWZhY2UvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvcGlmYWNlL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkggCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSCAKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcGlmYWNlL3Byb2Nlc3NpbnRlcmZhY2UuY3BwIGIvc3JjL21vZHVsZXMvcGlmYWNlL3Byb2Nlc3NpbnRlcmZhY2UuY3BwCmluZGV4IDAxZDcxODcuLjcyNzdlZDkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3BpZmFjZS9wcm9jZXNzaW50ZXJmYWNlLmNwcAorKysgYi9zcmMvbW9kdWxlcy9waWZhY2UvcHJvY2Vzc2ludGVyZmFjZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTW9uaWthIFdlbmdlciwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcGlmYWNlL3Byb2Nlc3NpbnRlcmZhY2UuaCBiL3NyYy9tb2R1bGVzL3BpZmFjZS9wcm9jZXNzaW50ZXJmYWNlLmgKaW5kZXggYjBjYWJjMi4uYjRkMjA0MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcGlmYWNlL3Byb2Nlc3NpbnRlcmZhY2UuaAorKysgYi9zcmMvbW9kdWxlcy9waWZhY2UvcHJvY2Vzc2ludGVyZmFjZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1vbmlrYSBXZW5nZXIsIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9DTWFrZUxpc3RzLnR4dAppbmRleCA2ZDk5Mjc0Li5kZDg0Njg1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDE0IEFJVCwgZm9ydGlzcyBHbWJIIA0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQorIyBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDE0IEFJVCwgZm9ydGlzcyBHbWJIIA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIA0KIGZvcnRlX2FkZF9tb2R1bGUoUE9XRVJMSU5LICJvcGVuUE9XRVJMSU5LIFNlcnZpY2UgSW50ZXJmYWNlIEZ1bmN0aW9uIEJsb2NrcyIpDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL0VwbENOQ2FsbGJhY2suaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9FcGxDTkNhbGxiYWNrLmgKaW5kZXggNWMwMGM2YS4uM2Q0MzY4YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL0VwbENOQ2FsbGJhY2suaAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvRXBsQ05DYWxsYmFjay5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVCwgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9FcGxXcmFwcGVyLmNwcCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9FcGxXcmFwcGVyLmNwcAppbmRleCBkM2IzMDBjLi5mMjljMjQ2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvRXBsV3JhcHBlci5jcHAKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL0VwbFdyYXBwZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxNCBBSVQsIEFDSU4sIGZvcnRpc3MNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4sIEFsb2lzIFpvaXRsLCBFd2FsZCBXZWluaGFuZGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9FcGxXcmFwcGVyLmggYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvRXBsV3JhcHBlci5oCmluZGV4IGM1YWM1YzkuLjVhZTRhYzYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9FcGxXcmFwcGVyLmgKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL0VwbFdyYXBwZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIxMDQgQUlULCBBQ0lOLCBmb3J0aXNzDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL0VwbFhtbFJlYWRlci5jcHAgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvRXBsWG1sUmVhZGVyLmNwcAppbmRleCA2YjIwNjUzLi5mYzQ2ZmUzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvRXBsWG1sUmVhZGVyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvRXBsWG1sUmVhZGVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTQgQUlULCBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4sIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC0yMzUsOCArMjM2LDkgQEAKIA0KICAgaW50IG9jY3VyZW5jZXMgPSBtX29Nb2R1bGVMaXN0SW4uZ2V0TnJPZk1vZHVsZXMoZGVzdCk7DQogICBpbnQgbW9kTnIgPSBtX29Nb2R1bGVMaXN0T3V0LmdldE1vZHVsZU5yKGRlc3QsIG9jY3VyZW5jZXMgKyAxKTsNCi0gIGlmKG1vZE5yID09IC0xKQ0KKyAgaWYobW9kTnIgPT0gLTEpIHsNCiAgICAgY291dCA8PCAiU2hvdWxkTm90SGFwcGVuRXJyb3IiIDw8IGVuZGw7DQorICB9DQogDQogICByZXR1cm4gbW9kTnI7DQogfQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9FcGxYbWxSZWFkZXIuaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9FcGxYbWxSZWFkZXIuaAppbmRleCA1ZjhhODRhLi4xMmNlZGZiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvRXBsWG1sUmVhZGVyLmgKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL0VwbFhtbFJlYWRlci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVCwgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9Nb2R1bGVMaXN0LmNwcCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9Nb2R1bGVMaXN0LmNwcAppbmRleCA1NzUyMDUwLi5iZjU2YTJmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvTW9kdWxlTGlzdC5jcHAKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL01vZHVsZUxpc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyLCAyMDE0IEFJVCwgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL01vZHVsZUxpc3QuaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9Nb2R1bGVMaXN0LmgKaW5kZXggZjM1NmNjZC4uNjkyMjBmYiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL01vZHVsZUxpc3QuaAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvTW9kdWxlTGlzdC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVCwgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9QT1dFUkxJTktfTU4uY3BwIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1BPV0VSTElOS19NTi5jcHAKaW5kZXggYTA3MTZhZC4uYjU5OTk3ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1BPV0VSTElOS19NTi5jcHAKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1BPV0VSTElOS19NTi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIsIDIwMTMgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvUE9XRVJMSU5LX01OLmggYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvUE9XRVJMSU5LX01OLmgKaW5kZXggMmJkODYyYi4uM2M5YTM2MSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1BPV0VSTElOS19NTi5oCisrKyBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9QT1dFUkxJTktfTU4uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9Qcm9jZXNzSW1hZ2VNYXRyaXguY3BwIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1Byb2Nlc3NJbWFnZU1hdHJpeC5jcHAKaW5kZXggODY4YzgzMS4uMjA3NGI2MCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1Byb2Nlc3NJbWFnZU1hdHJpeC5jcHAKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1Byb2Nlc3NJbWFnZU1hdHJpeC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlULCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4sIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCkBAIC04MSw4ICs4Miw5IEBACiAgIFRDaGFubmVsTGlzdDo6SXRlcmF0b3IgaXRFbmQgPSBtX2xNYXRyaXguZW5kKCk7DQogICBmb3IoVENoYW5uZWxMaXN0OjpJdGVyYXRvciBpdChtX2xNYXRyaXguYmVnaW4oKSk7IGl0ICE9IGl0RW5kOyArK2l0KXsNCiAgICAgaWYoaXQtPm1fbkNOID09IHBhX25DTiAmJiBpdC0+bV9uTW9kdWxlSWQgPT0gcGFfbk1vZHVsZSl7DQotICAgICAgaWYobmV3TWF0cml4ID09IE5VTEwpDQorICAgICAgaWYobmV3TWF0cml4ID09IE5VTEwpIHsNCiAgICAgICAgIG5ld01hdHJpeCA9IG5ldyBDUHJvY2Vzc0ltYWdlTWF0cml4KCk7DQorICAgICAgfQ0KIA0KICAgICAgIG5ld01hdHJpeC0+YWRkRW50cnkoaXQtPm1fbkNOLCBpdC0+bV9uTW9kdWxlSWQsIGl0LT5tX25JT2lkLCBpdC0+bV9uRGF0YVNpemUsIGl0LT5tX25QSU9mZnNldCwgaXQtPm1fbkJpdE9mZnNldCk7DQogICAgIH0NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvUHJvY2Vzc0ltYWdlTWF0cml4LmggYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvUHJvY2Vzc0ltYWdlTWF0cml4LmgKaW5kZXggNWQ0ZDI4Mi4uODc3MDRiZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1Byb2Nlc3NJbWFnZU1hdHJpeC5oCisrKyBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9Qcm9jZXNzSW1hZ2VNYXRyaXguaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiBBSVQsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBSTQ2MjIuY3BwIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFJNDYyMi5jcHAKaW5kZXggYjJjYWJhNC4uY2Y1NTM4ZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFJNDYyMi5jcHAKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFJNDYyMi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIsIDIwMTMgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuLCBUaG9tYXMgU3RyYXNzZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBSTQ2MjIuaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBSTQ2MjIuaAppbmRleCA1NTg2YTQ1Li5jYzJiZDZmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQUk0NjIyLmgKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFJNDYyMi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFPNDYyMi5jcHAgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQU80NjIyLmNwcAppbmRleCBiZTg4YzA1Li4wNDc0ZGYwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQU80NjIyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQU80NjIyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxMyBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBTzQ2MjIuaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBTzQ2MjIuaAppbmRleCAzOTNiMDc0Li4xYWU2NjI5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQU80NjIyLmgKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFPNDYyMi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFUMjQwMi5jcHAgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQVQyNDAyLmNwcAppbmRleCA2NzBlYmQ5Li44ZmVmYjAxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQVQyNDAyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQVQyNDAyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxMyBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBVDI0MDIuaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBVDI0MDIuaAppbmRleCBiNDg4YWVhLi4yYmQyYjc0IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQVQyNDAyLmgKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFUMjQwMi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFUNDIyMi5jcHAgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQVQ0MjIyLmNwcAppbmRleCAzMmVhYjg0Li45YWNiYmEzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQVQ0MjIyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQVQ0MjIyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxMyBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBVDQyMjIuaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBBVDQyMjIuaAppbmRleCAzNDUwMmUxLi5iMzVlNDA2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwQVQ0MjIyLmgKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMEFUNDIyMi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJNDY1My5jcHAgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk0NjUzLmNwcAppbmRleCA4OTlkYmZiLi5kZmFmMTFmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk0NjUzLmNwcAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk0NjUzLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMyBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTQ2NTMuaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTQ2NTMuaAppbmRleCBiYmVlMDAwLi42MzRiYjE4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk0NjUzLmgKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJNDY1My5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJOTM3MS5jcHAgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzcxLmNwcAppbmRleCAzZmI5N2RhLi4xNTI0M2ZjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzcxLmNwcAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzcxLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxMyBBSVQNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBGaWxpcCBBbmRyZW4gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTkzNzEuaCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTkzNzEuaAppbmRleCBmZmJhOTE0Li42ZWU2MDMxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzcxLmgKKysrIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJOTM3MS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJOTM3Mi5jcHAgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzcyLmNwcAppbmRleCA3Y2JmNzNlLi5iN2UyZjY4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzcyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzcyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMiAyMDEzIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJOTM3Mi5oIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJOTM3Mi5oCmluZGV4IDMwMDZjZWUuLmFkM2Q4ZGEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTkzNzIuaAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzcyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIsIDIwMTMgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzdYLmNwcCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTkzN1guY3BwCmluZGV4IDA3NWFlZjUuLjYzOTE0MTAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTkzN1guY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTkzN1guY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJOTM3WC5oIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERJOTM3WC5oCmluZGV4IDcwOTg4MDcuLjBhYzZlM2EgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBESTkzN1guaAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwREk5MzdYLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwRE80NjIzLmNwcCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzQ2MjMuY3BwCmluZGV4IGNmZGQ5NzYuLmY5ZjkwNzMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzQ2MjMuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzQ2MjMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERPNDYyMy5oIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERPNDYyMy5oCmluZGV4IDkxODIwOGUuLmFmNGNmZDEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzQ2MjMuaAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwRE80NjIzLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwRE80NjQ5LmNwcCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzQ2NDkuY3BwCmluZGV4IGEyMjBmZjYuLjQwOTcxM2IgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzQ2NDkuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzQ2NDkuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyLCAyMDEzIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERPNDY0OS5oIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERPNDY0OS5oCmluZGV4IDgwNDM2OTEuLjE2M2JkZGYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzQ2NDkuaAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwRE80NjQ5LmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwRE85MzIxLmNwcCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzkzMjEuY3BwCmluZGV4IGE3YmQ4NjAuLmVhYThhYTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzkzMjEuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzkzMjEuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyLCAyMDEzIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERPOTMyMS5oIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERPOTMyMS5oCmluZGV4IDI2OGY1ZmYuLjYzZTQ1NzIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzkzMjEuaAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwRE85MzIxLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwRE85MzIyLmNwcCBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzkzMjIuY3BwCmluZGV4IDcxNWFkMzAuLmVmYjVjZTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzkzMjIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzkzMjIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEyLCAyMDEzIEFJVA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEZpbGlwIEFuZHJlbiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERPOTMyMi5oIGIvc3JjL21vZHVsZXMvcG93ZXJsaW5rL1gyMERPOTMyMi5oCmluZGV4IGE2MDY4MzIuLjJiMjU0MWMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Bvd2VybGluay9YMjBETzkzMjIuaAorKysgYi9zcmMvbW9kdWxlcy9wb3dlcmxpbmsvWDIwRE85MzIyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQUlUDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgRmlsaXAgQW5kcmVuIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yYXNwYmVycnlfc3BzL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvcmFzcGJlcnJ5X3Nwcy9DTWFrZUxpc3RzLnR4dAppbmRleCBkZTQ5ZjNlLi5kZWZlZGZlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yYXNwYmVycnlfc3BzL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL3Jhc3BiZXJyeV9zcHMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgR2VyZCBLYWlueiwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIEdlcmQgS2FpbnosIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCiAgCiBmb3J0ZV9hZGRfbW9kdWxlKFJhc3BiZXJyeS1TUFMgIkludGVyYWN0aW5nIHdpdGggR1BJT3MgUmFzcGJlcnJ5IFNQUyIpCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yYXNwYmVycnlfc3BzL3Byb2Nlc3NpbnRlcmZhY2UuY3BwIGIvc3JjL21vZHVsZXMvcmFzcGJlcnJ5X3Nwcy9wcm9jZXNzaW50ZXJmYWNlLmNwcAppbmRleCA3MmQ2YWMyLi44ZTU4NzE3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yYXNwYmVycnlfc3BzL3Byb2Nlc3NpbnRlcmZhY2UuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Jhc3BiZXJyeV9zcHMvcHJvY2Vzc2ludGVyZmFjZS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNSwgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEdlcmQgS2FpbnosIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Jhc3BiZXJyeV9zcHMvcHJvY2Vzc2ludGVyZmFjZS5oIGIvc3JjL21vZHVsZXMvcmFzcGJlcnJ5X3Nwcy9wcm9jZXNzaW50ZXJmYWNlLmgKaW5kZXggODE3OTA3NC4uMmMxYzMwMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcmFzcGJlcnJ5X3Nwcy9wcm9jZXNzaW50ZXJmYWNlLmgKKysrIGIvc3JjL21vZHVsZXMvcmFzcGJlcnJ5X3Nwcy9wcm9jZXNzaW50ZXJmYWNlLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNSBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEdlcmQgS2FpbnosIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9DTWFrZUxpc3RzLnR4dAppbmRleCBmMjUxNjExLi4wMjE5NmFkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIE1hdHRoaWFzIFBsYXNjaCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQorIyBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1hdHRoaWFzIFBsYXNjaCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIA0KIA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19LSUxMX0VMRU0uY3BwIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX0tJTExfRUxFTS5jcHAKaW5kZXggN2RjMTBhMi4uZjc2ODViZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX0tJTExfRUxFTS5jcHAKKysrIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX0tJTExfRUxFTS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXIsIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfS0lMTF9FTEVNLmggYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfS0lMTF9FTEVNLmgKaW5kZXggN2E5MmFhZS4uNTVjMWNhMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX0tJTExfRUxFTS5oCisrKyBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19LSUxMX0VMRU0uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TRVRfRVZULmNwcCBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TRVRfRVZULmNwcAppbmRleCA4YmI0NjFjLi5lMTNhZWMxIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfU0VUX0VWVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX1NFVF9FVlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1IFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXR0aGlhcyBQbGFzY2gsIEdlcmhhcmQgRWJlbmhvZmVyLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX1NFVF9FVlQuaCBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TRVRfRVZULmgKaW5kZXggNmNhY2RlZi4uOGEwNjZlMiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX1NFVF9FVlQuaAorKysgYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfU0VUX0VWVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoLCBHZXJoYXJkIEViZW5ob2ZlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX1NUQVJUX0VMRU0uY3BwIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX1NUQVJUX0VMRU0uY3BwCmluZGV4IGFjNDA4ZWEuLjM2M2QyN2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TVEFSVF9FTEVNLmNwcAorKysgYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfU1RBUlRfRUxFTS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXIsIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfU1RBUlRfRUxFTS5oIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX1NUQVJUX0VMRU0uaAppbmRleCA4OThkMzEzLi5lNmY4YjJhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfU1RBUlRfRUxFTS5oCisrKyBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TVEFSVF9FTEVNLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXR0aGlhcyBQbGFzY2gsIEdlcmhhcmQgRWJlbmhvZmVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfU1RPUF9FTEVNLmNwcCBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TVE9QX0VMRU0uY3BwCmluZGV4IGJhOTg5NTAuLjRlYmU2YTkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TVE9QX0VMRU0uY3BwCisrKyBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TVE9QX0VMRU0uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1IFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXR0aGlhcyBQbGFzY2gsIEdlcmhhcmQgRWJlbmhvZmVyLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX1NUT1BfRUxFTS5oIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL0VDX1NUT1BfRUxFTS5oCmluZGV4IDYyYTc4ZDguLjk1MGZmYjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9FQ19TVE9QX0VMRU0uaAorKysgYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vRUNfU1RPUF9FTEVNLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXR0aGlhcyBQbGFzY2gsIEdlcmhhcmQgRWJlbmhvZmVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfQ1JFQVRFX0NPTk4uY3BwIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0NSRUFURV9DT05OLmNwcAppbmRleCBkZTQyYWY2Li5jZTg3NGYyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfQ1JFQVRFX0NPTk4uY3BwCisrKyBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9DUkVBVEVfQ09OTi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXIsIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfQ1JFQVRFX0NPTk4uaCBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9DUkVBVEVfQ09OTi5oCmluZGV4IGNiZTFkNzcuLjA3YjIyNmYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9DUkVBVEVfQ09OTi5oCisrKyBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9DUkVBVEVfQ09OTi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoLCBHZXJoYXJkIEViZW5ob2ZlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0NSRUFURV9GQi5jcHAgYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfQ1JFQVRFX0ZCLmNwcAppbmRleCA0YzIzZDJhLi4xNzllMWJjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfQ1JFQVRFX0ZCLmNwcAorKysgYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfQ1JFQVRFX0ZCLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCwgMjAxNSBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoLCBHZXJoYXJkIEViZW5ob2ZlciwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9DUkVBVEVfRkIuaCBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9DUkVBVEVfRkIuaAppbmRleCAwNTBlZWMyLi5lNmNmMjA5IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfQ1JFQVRFX0ZCLmgKKysrIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0NSRUFURV9GQi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoLCBHZXJoYXJkIEViZW5ob2ZlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0RFTF9DT05OLmNwcCBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9ERUxfQ09OTi5jcHAKaW5kZXggMTY2NTgyZC4uNmI2ZWM2MyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0RFTF9DT05OLmNwcAorKysgYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfREVMX0NPTk4uY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0LCAyMDE1IFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXR0aGlhcyBQbGFzY2gsIEdlcmhhcmQgRWJlbmhvZmVyLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0RFTF9DT05OLmggYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfREVMX0NPTk4uaAppbmRleCBmYTE4YTUyLi42NjA1YjY4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfREVMX0NPTk4uaAorKysgYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfREVMX0NPTk4uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9ERUxfRkIuY3BwIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0RFTF9GQi5jcHAKaW5kZXggOGYxN2ExMi4uNWI1OTZkNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0RFTF9GQi5jcHAKKysrIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0RFTF9GQi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXIsIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfREVMX0ZCLmggYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfREVMX0ZCLmgKaW5kZXggZTk5OWJlMi4uYmE1YzU3NCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX0RFTF9GQi5oCisrKyBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9ERUxfRkIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9SRUNfQ09OTi5jcHAgYi9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfUkVDX0NPTk4uY3BwCmluZGV4IDhmNTI5ZTMuLmE0MzAzMjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9SRUNfQ09OTi5jcHAKKysrIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX1JFQ19DT05OLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCwgMjAxNSBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoLCBHZXJoYXJkIEViZW5ob2ZlciwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9SRUNfQ09OTi5oIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX1JFQ19DT05OLmgKaW5kZXggYWY4YjEwMC4uZjYwNDQ5ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX1JFQ19DT05OLmgKKysrIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX1JFQ19DT05OLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXR0aGlhcyBQbGFzY2gsIEdlcmhhcmQgRWJlbmhvZmVyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfU0VUX1BBUk0uY3BwIGIvc3JjL21vZHVsZXMvcmVjb25maWd1cmF0aW9uL1NUX1NFVF9QQVJNLmNwcAppbmRleCA4NmUwMDhmLi45ZTRmYzJjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfU0VUX1BBUk0uY3BwCisrKyBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9TRVRfUEFSTS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQsIDIwMTUgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgR2VyaGFyZCBFYmVuaG9mZXIsIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yZWNvbmZpZ3VyYXRpb24vU1RfU0VUX1BBUk0uaCBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9TRVRfUEFSTS5oCmluZGV4IDE3YzI0NjMuLjdlOGRiMDUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9TRVRfUEFSTS5oCisrKyBiL3NyYy9tb2R1bGVzL3JlY29uZmlndXJhdGlvbi9TVF9TRVRfUEFSTS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoLCBHZXJoYXJkIEViZW5ob2ZlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcm9zL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvcm9zL0NNYWtlTGlzdHMudHh0CmluZGV4IDA0YWY2NTguLmQ1N2IwZWIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy9yb3MvQ01ha2VMaXN0cy50eHQKQEAgLTEsOSArMSwxMCBAQAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgKLSMgIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAgd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICMKICMgIENvbnRyaWJ1dG9yczoKICMgICAgQmVuIFNjaG5laWRlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvRVhFQ1VURV9BQ1RJT05fQ0xJRU5ULmNwcCBiL3NyYy9tb2R1bGVzL3Jvcy9FWEVDVVRFX0FDVElPTl9DTElFTlQuY3BwCmluZGV4IGVhZWY2ZmMuLmJhOTEwNDYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9FWEVDVVRFX0FDVElPTl9DTElFTlQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9FWEVDVVRFX0FDVElPTl9DTElFTlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQmVuIFNjaG5laWRlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcm9zL0VYRUNVVEVfQUNUSU9OX0NMSUVOVC5oIGIvc3JjL21vZHVsZXMvcm9zL0VYRUNVVEVfQUNUSU9OX0NMSUVOVC5oCmluZGV4IDFiNjcxM2QuLmNkNDc2MDEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9FWEVDVVRFX0FDVElPTl9DTElFTlQuaAorKysgYi9zcmMvbW9kdWxlcy9yb3MvRVhFQ1VURV9BQ1RJT05fQ0xJRU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBCZW4gU2NobmVpZGVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvRVhFQ1VURV9BQ1RJT05fU0VSVkVSLmNwcCBiL3NyYy9tb2R1bGVzL3Jvcy9FWEVDVVRFX0FDVElPTl9TRVJWRVIuY3BwCmluZGV4IDdjOWI3NmEuLjE5NGNhMGUgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9FWEVDVVRFX0FDVElPTl9TRVJWRVIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9FWEVDVVRFX0FDVElPTl9TRVJWRVIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQmVuIFNjaG5laWRlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcm9zL0VYRUNVVEVfQUNUSU9OX1NFUlZFUi5oIGIvc3JjL21vZHVsZXMvcm9zL0VYRUNVVEVfQUNUSU9OX1NFUlZFUi5oCmluZGV4IDUyNmUzOTMuLjFjMzk5MzAgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9FWEVDVVRFX0FDVElPTl9TRVJWRVIuaAorKysgYi9zcmMvbW9kdWxlcy9yb3MvRVhFQ1VURV9BQ1RJT05fU0VSVkVSLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBCZW4gU2NobmVpZGVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvUk9TTGF5ZXIuY3BwIGIvc3JjL21vZHVsZXMvcm9zL1JPU0xheWVyLmNwcAppbmRleCAyYWIzMzFmLi5kNTY5YWY2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yb3MvUk9TTGF5ZXIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9ST1NMYXllci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBCZW4gU2NobmVpZGVyCkBAIC03MCwxNiArNzEsMTcgQEAKIAogICAgICAgbV9Ub3BpY1R5cGUgPSBsYXllclBhcmFtcy5zdWJzdHIoZG91YmxlUG9pbnQgKyAxKTsKIAotICAgICAgaWYoInN0ZF9tc2dzL0Zsb2F0NjQiID09IG1fVG9waWNUeXBlKQorICAgICAgaWYoInN0ZF9tc2dzL0Zsb2F0NjQiID09IG1fVG9waWNUeXBlKSB7CiAgICAgICAgIG1fUHViID0gbV9OaC5hZHZlcnRpc2UgPCBzdGRfbXNnczo6RmxvYXQ2NCA+IChtX1RvcGljTmFtZSwgMTAwKTsKLSAgICAgIGVsc2UgaWYoInN0ZF9tc2dzL0ludDMyIiA9PSBtX1RvcGljVHlwZSkKKyAgICAgIH0gZWxzZSBpZigic3RkX21zZ3MvSW50MzIiID09IG1fVG9waWNUeXBlKSB7CiAgICAgICAgIG1fUHViID0gbV9OaC5hZHZlcnRpc2UgPCBzdGRfbXNnczo6SW50MzIgPiAobV9Ub3BpY05hbWUsIDEwMCk7Ci0gICAgICBlbHNlIGlmKCJzdGRfbXNncy9Cb29sIiA9PSBtX1RvcGljVHlwZSkKKyAgICAgIH0gZWxzZSBpZigic3RkX21zZ3MvQm9vbCIgPT0gbV9Ub3BpY1R5cGUpIHsKICAgICAgICAgbV9QdWIgPSBtX05oLmFkdmVydGlzZSA8IHN0ZF9tc2dzOjpCb29sID4gKG1fVG9waWNOYW1lLCAxMDApOwotICAgICAgZWxzZSBpZigic3RkX21zZ3MvU3RyaW5nIiA9PSBtX1RvcGljVHlwZSkKKyAgICAgIH0gZWxzZSBpZigic3RkX21zZ3MvU3RyaW5nIiA9PSBtX1RvcGljVHlwZSkgewogICAgICAgICBtX1B1YiA9IG1fTmguYWR2ZXJ0aXNlIDwgc3RkX21zZ3M6OlN0cmluZyA+IChtX1RvcGljTmFtZSwgMTAwKTsKLSAgICAgIGVsc2UKKyAgICAgIH0gZWxzZSB7CiAgICAgICAgIERFVkxPR19FUlJPUigiW1JPU0xBWUVSXSBQdWJsaXNoZXIgY291bGQgbm90IGJlIGluaXRpYWxpemVkOiB1bmtub3duIHRvcGljIHR5cGUgXG4iKTsKKyAgICAgIH0KICAgICAgLy9GSVhNRSBzdWNjZXNzZnVsIGluaXRpYWxpemF0aW9uIG1lc3NhZ2UgYWxzbyBvbiBlcnJvci4uCiAgICAgfQogICAgIGVsc2V7CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvUk9TTGF5ZXIuaCBiL3NyYy9tb2R1bGVzL3Jvcy9ST1NMYXllci5oCmluZGV4IDQxZWQ3NGIuLjg0OWUxYzEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9ST1NMYXllci5oCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9ST1NMYXllci5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgLSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQmVuIFNjaG5laWRlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcm9zL1JPU01hbmFnZXIuY3BwIGIvc3JjL21vZHVsZXMvcm9zL1JPU01hbmFnZXIuY3BwCmluZGV4IGQ4MmExM2EuLjU3NjlkZDkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9ST1NNYW5hZ2VyLmNwcAorKysgYi9zcmMvbW9kdWxlcy9yb3MvUk9TTWFuYWdlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBCZW4gU2NobmVpZGVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvUk9TTWFuYWdlci5oIGIvc3JjL21vZHVsZXMvcm9zL1JPU01hbmFnZXIuaAppbmRleCBhYzUyMzNhLi5mZjg1MmEwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yb3MvUk9TTWFuYWdlci5oCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9ST1NNYW5hZ2VyLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBCZW4gU2NobmVpZGVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvU2VydmljZUNhbGxNYW5hZ2VyLmNwcCBiL3NyYy9tb2R1bGVzL3Jvcy9TZXJ2aWNlQ2FsbE1hbmFnZXIuY3BwCmluZGV4IGI0YzMxMDQuLjlhYzg2NGIgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9TZXJ2aWNlQ2FsbE1hbmFnZXIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9TZXJ2aWNlQ2FsbE1hbmFnZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBCZW4gU2NobmVpZGVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvU2VydmljZUNhbGxNYW5hZ2VyLmggYi9zcmMvbW9kdWxlcy9yb3MvU2VydmljZUNhbGxNYW5hZ2VyLmgKaW5kZXggMWViYjFmZS4uODViNzZhZCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcm9zL1NlcnZpY2VDYWxsTWFuYWdlci5oCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9TZXJ2aWNlQ2FsbE1hbmFnZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgQmVuIFNjaG5laWRlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcm9zL1RSSUdHRVJfU0VSVklDRV9DTElFTlQuY3BwIGIvc3JjL21vZHVsZXMvcm9zL1RSSUdHRVJfU0VSVklDRV9DTElFTlQuY3BwCmluZGV4IGUwZTM4MTcuLmNiNzYwM2YgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9UUklHR0VSX1NFUlZJQ0VfQ0xJRU5ULmNwcAorKysgYi9zcmMvbW9kdWxlcy9yb3MvVFJJR0dFUl9TRVJWSUNFX0NMSUVOVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBCZW4gU2NobmVpZGVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvVFJJR0dFUl9TRVJWSUNFX0NMSUVOVC5oIGIvc3JjL21vZHVsZXMvcm9zL1RSSUdHRVJfU0VSVklDRV9DTElFTlQuaAppbmRleCA3NDM0MjA3Li41NjU3NzRjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9yb3MvVFJJR0dFUl9TRVJWSUNFX0NMSUVOVC5oCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9UUklHR0VSX1NFUlZJQ0VfQ0xJRU5ULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBCZW4gU2NobmVpZGVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9yb3MvVFJJR0dFUl9TRVJWSUNFX1NFUlZFUi5jcHAgYi9zcmMvbW9kdWxlcy9yb3MvVFJJR0dFUl9TRVJWSUNFX1NFUlZFUi5jcHAKaW5kZXggOGY4ZDEzNS4uNGI1NThhZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcm9zL1RSSUdHRVJfU0VSVklDRV9TRVJWRVIuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3Jvcy9UUklHR0VSX1NFUlZJQ0VfU0VSVkVSLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IC0gMjAxNyBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEJlbiBTY2huZWlkZXIKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3Jvcy9UUklHR0VSX1NFUlZJQ0VfU0VSVkVSLmggYi9zcmMvbW9kdWxlcy9yb3MvVFJJR0dFUl9TRVJWSUNFX1NFUlZFUi5oCmluZGV4IDIwNTY1MTYuLjhlYzNlZDMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Jvcy9UUklHR0VSX1NFUlZJQ0VfU0VSVkVSLmgKKysrIGIvc3JjL21vZHVsZXMvcm9zL1RSSUdHRVJfU0VSVklDRV9TRVJWRVIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgIEJlbiBTY2huZWlkZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvQ01ha2VMaXN0cy50eHQgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvQ01ha2VMaXN0cy50eHQKaW5kZXggZTc5YWU3OS4uYWQ1NjkyMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEwLCAyMDExIEFDSU4sIGZvcnRpc3MgR21iSA0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgQWxvaXMgWm9pdGwNCisjIENvcHlyaWdodCAoYykgMjAxMCwgMjAxMSBBQ0lOLCBmb3J0aXNzIEdtYkgNCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsDQogIyAqICAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogZm9ydGVfYWRkX21vZHVsZShSVF9FdmVudHMgIlJlYWwtVGltZSBFdmVudCBGdW5rdGlvbiBibG9ja3MiKQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0NZQ0xFLmNwcCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0NZQ0xFLmNwcAppbmRleCA1ZDcwZmE4Li5lN2VjMjBmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9DWUNMRS5jcHAKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfQ1lDTEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0NZQ0xFLmggYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9DWUNMRS5oCmluZGV4IDA5ZGVjOWUuLmVkMWRjMDkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0NZQ0xFLmgKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfQ1lDTEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9ERUxBWS5jcHAgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9ERUxBWS5jcHAKaW5kZXggNzM2MGIxOC4uOGYwYTFjMSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfREVMQVkuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0RFTEFZLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTQgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9ERUxBWS5oIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfREVMQVkuaAppbmRleCAwYmMyNWMxLi4yNzJlZWM3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9ERUxBWS5oCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0RFTEFZLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfREVNVVguY3BwIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfREVNVVguY3BwCmluZGV4IGQyYjQ1MWYuLmZhOTFmYTMgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0RFTVVYLmNwcAorKysgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9ERU1VWC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE0IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfREVNVVguaCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0RFTVVYLmgKaW5kZXggMThlYzkwNy4uN2MxZmU5ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfREVNVVguaAorKysgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9ERU1VWC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2Zlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0VDX0NPVVBMRVIuY3BwIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfRUNfQ09VUExFUi5jcHAKaW5kZXggYjQ3YzczNy4uOTI3Nzc1YiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfRUNfQ09VUExFUi5jcHAKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfRUNfQ09VUExFUi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0VDX0NPVVBMRVIuaCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0VDX0NPVVBMRVIuaAppbmRleCAwZGY0YmZjLi5kNmVlYTFmIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9FQ19DT1VQTEVSLmgKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfRUNfQ09VUExFUi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2Zlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0ZfVFJJRy5jcHAgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9GX1RSSUcuY3BwCmluZGV4IDYyOGFhNmEuLmM0ZWIwNTcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX0ZfVFJJRy5jcHAKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfRl9UUklHLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfRl9UUklHLmggYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9GX1RSSUcuaAppbmRleCA4MDI2YTQ3Li44NTQ1MGY1IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9GX1RSSUcuaAorKysgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9GX1RSSUcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9NRVJHRS5jcHAgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9NRVJHRS5jcHAKaW5kZXggMGEzYmZkNS4uOTBhMDcxNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfTUVSR0UuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX01FUkdFLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfTUVSR0UuaCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX01FUkdFLmgKaW5kZXggNTQ0ZTgyNC4uM2VmYzM5NSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfTUVSR0UuaAorKysgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9NRVJHRS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2Zlcg0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1BFUk1JVC5jcHAgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9QRVJNSVQuY3BwCmluZGV4IGZjZjZkMTkuLjcyNWUxM2MgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1BFUk1JVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfUEVSTUlULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfUEVSTUlULmggYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9QRVJNSVQuaAppbmRleCBiNGQ4OGYxLi5hOGM0YTc4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9QRVJNSVQuaAorKysgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9QRVJNSVQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9SRU5ELmNwcCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1JFTkQuY3BwCmluZGV4IDVkMjdkNWEuLmE1YjgyMjYgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1JFTkQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1JFTkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9SRU5ELmggYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9SRU5ELmgKaW5kZXggZmUyZjdmOS4uYWI0MWI3OSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfUkVORC5oCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1JFTkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9SX1RSSUcuY3BwIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfUl9UUklHLmNwcAppbmRleCBlOTNmMDhhLi43ZTgwMjU4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9SX1RSSUcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1JfVFJJRy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1JfVFJJRy5oIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfUl9UUklHLmgKaW5kZXggZGFmN2Y1Ni4uZjRmNTJlMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfUl9UUklHLmgKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfUl9UUklHLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfU0VMRUNULmNwcCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NFTEVDVC5jcHAKaW5kZXggMzlhZTEwNi4uOTkyOTc3ZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfU0VMRUNULmNwcAorKysgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TRUxFQ1QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwgTW9uaWthIFdlbmdlciwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TRUxFQ1QuaCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NFTEVDVC5oCmluZGV4IDA0NmRlZWQuLjdmMjljNmEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NFTEVDVC5oCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NFTEVDVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueQ0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NQTElULmNwcCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NQTElULmNwcAppbmRleCAwY2VkMTQ3Li4wODNiZmZkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TUExJVC5jcHAKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfU1BMSVQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LCBNb25pa2EgV2VuZ2VyLA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NQTElULmggYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TUExJVC5oCmluZGV4IDliNTY0ODYuLmVlZTVjYmQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NQTElULmgKKysrIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfU1BMSVQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TV0lUQ0guY3BwIGIvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfU1dJVENILmNwcAppbmRleCBjNTY4NTIyLi43MzhlMDNkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TV0lUQ0guY3BwCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1NXSVRDSC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksIE1vbmlrYSBXZW5nZXIsDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfU1dJVENILmggYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TV0lUQ0guaAppbmRleCA1OTZkZjRhLi4wODMwODVkIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TV0lUQ0guaAorKysgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9TV0lUQ0guaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9UUkFJTi5jcHAgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9UUkFJTi5jcHAKaW5kZXggYzBjOGIyOS4uYTVmNmJkZSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfVFJBSU4uY3BwCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1RSQUlOLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfVFJBSU4uaCBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9SVF9FX1RSQUlOLmgKaW5kZXggMTVlN2VlNC4uYmQ2Njg1MyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL1JUX0VfVFJBSU4uaAorKysgYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvUlRfRV9UUkFJTi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE0IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9ydF9ldmVudHMvcnRlc2luZ2xlLmggYi9zcmMvbW9kdWxlcy9ydF9ldmVudHMvcnRlc2luZ2xlLmgKaW5kZXggYjlmMWJlNC4uMTNlZTNkYyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvcnRfZXZlbnRzL3J0ZXNpbmdsZS5oCisrKyBiL3NyYy9tb2R1bGVzL3J0X2V2ZW50cy9ydGVzaW5nbGUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueQpAQCAtMzcsNDAgKzM4LDM2IEBACiAgICogXHJldHVybiBpZiB0cnVlIHRoZSBzdWNjZWVkaW5nIEVDIHBhcnQgd2lsbCBiZSBhY3RpdmF0ZWQuCiAgICovCiAgIHZpcnR1YWwgYm9vbCBjaGVja0FjdGl2YXRpb24oaW50IHBhX25FSUlEKSA9IDA7Ci0gIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKXsKLSAgICBpZigwICE9IHBhX25FSUlEKXsgIC8vaXQgaXMgbm90IHRoZSBpbml0IGV2ZW50Ci0gICAgICBpZihtX2JJbml0aWFsaXplZCl7Ci0gICAgICAgIGlmKGNoZWNrQWN0aXZhdGlvbihwYV9uRUlJRCkpeworICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKSB7CisgICAgICBpZigwICE9IHBhX25FSUlEKSB7IC8vaXQgaXMgbm90IHRoZSBpbml0IGV2ZW50CisgICAgICAgIGlmKG1fYkluaXRpYWxpemVkICYmIGNoZWNrQWN0aXZhdGlvbihwYV9uRUlJRCkpIHsKICAgICAgICAgICBDRXZlbnRDb25uZWN0aW9uICplb0NvbiA9IGdldEVPQ29uVW5jaGVja2VkKDEpOwotICAgICAgICAgIGlmKGVvQ29uLT5pc0Nvbm5lY3RlZCgpKXsKKyAgICAgICAgICBpZihlb0Nvbi0+aXNDb25uZWN0ZWQoKSkgewogICAgICAgICAgICAgZW9Db24tPnRyaWdnZXJFdmVudChtX29FQ0VPKTsKICAgICAgICAgICAgIG1fb0VDRU8ucmVzdW1lU2VsZlN1c3BlbmQoKTsKICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgIH0KLSAgICB9Ci0gICAgZWxzZXsgLy8gd2UgZ290IGluaXQKLSAgICAgIGlmKFFJKCkgPT0gdHJ1ZSl7Ci0gICAgICAgIGlmKCFtX2JJbml0aWFsaXplZCl7Ci0gICAgICAgICAgbV9vRUNFTy5jaGFuZ2VFeGVjdXRpb25TdGF0ZShjZ19uTUdNX0NNRF9TdGFydCk7Ci0gICAgICAgICAgbV9iSW5pdGlhbGl6ZWQgPSB0cnVlOworICAgICAgfSBlbHNlIHsgLy8gd2UgZ290IGluaXQKKyAgICAgICAgaWYoUUkoKSA9PSB0cnVlKSB7CisgICAgICAgICAgaWYoIW1fYkluaXRpYWxpemVkKSB7CisgICAgICAgICAgICBtX29FQ0VPLmNoYW5nZUV4ZWN1dGlvblN0YXRlKGNnX25NR01fQ01EX1N0YXJ0KTsKKyAgICAgICAgICAgIG1fYkluaXRpYWxpemVkID0gdHJ1ZTsKKyAgICAgICAgICB9CisgICAgICAgICAgbV9vRUNFTy5zZXREZWFkbGluZShEZWFkbGluZSgpKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBtX29FQ0VPLmNoYW5nZUV4ZWN1dGlvblN0YXRlKGNnX25NR01fQ01EX1N0b3ApOworICAgICAgICAgIG1fYkluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgbV9vRUNFTy5zZXREZWFkbGluZShEZWFkbGluZSgpKTsKKyAgICAgICAgUU8oKSA9IFFJKCk7CisgICAgICAgIHNlbmRPdXRwdXRFdmVudCgwKTsKICAgICAgIH0KLSAgICAgIGVsc2V7Ci0gICAgICAgIG1fb0VDRU8uY2hhbmdlRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfU3RvcCk7Ci0gICAgICAgIG1fYkluaXRpYWxpemVkID0gZmFsc2U7Ci0gICAgICB9Ci0gICAgIFFPKCkgPSBRSSgpOwotICAgICAgc2VuZE91dHB1dEV2ZW50KDApOwogICAgIH0KLSAgfQogCiBwdWJsaWM6CiAKLSAgCisKICAgQ1JURXZlbnRTaW5nbGUoQ1Jlc291cmNlICpwYV9wb1NyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFfcHN0SW50ZXJmYWNlU3BlYywKLSAgICAgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIFRGb3J0ZUJ5dGUgKnBhX2FjRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFfYWNGQlZhcnNEYXRhKSA6IAorICAgICAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwgVEZvcnRlQnl0ZSAqcGFfYWNGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYV9hY0ZCVmFyc0RhdGEpIDoKICAgIENGdW5jdGlvbkJsb2NrKCBwYV9wb1NyY1JlcywgcGFfcHN0SW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLCBwYV9hY0ZCQ29ubkRhdGEsIHBhX2FjRkJWYXJzRGF0YSkKICAgewogICAgICAgbV9iSW5pdGlhbGl6ZWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3N5c2ZzL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvc3lzZnMvQ01ha2VMaXN0cy50eHQKaW5kZXggMzM5ZDZlNC4uY2U2YzI2NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvc3lzZnMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvc3lzZnMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgV2FsZGVtYXIgRWlzZW5tZW5nZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIFdhbGRlbWFyIEVpc2VubWVuZ2VyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCiAgCiBmb3J0ZV9hZGRfbW9kdWxlKFN5c0ZzICJJbnRlcmFjdGluZyB3aXRoIEdQSU9zIG9mIGxpbnV4YmFzZWQgZGV2aWNlcyB2aWEgdGhlIGZpbGVzeXN0ZW0gdXNpbmcgc3lzZnMiKQpAQCAtMjAsNiArMjEsNyBAQAogCiBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKC4uLy4uL3N0ZGZibGliL2lvL0lYKQogZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcCggLi4vLi4vc3RkZmJsaWIvaW8vUVgpCitmb3J0ZV9hZGRfaGFuZGxlcihDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDSU9IYW5kbGVyIHN5c2ZzcHJvY2ludCkKIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoc3lzZnNwcm9jaW50KQogZm9ydGVfYWRkX3NvdXJjZWZpbGVfaChwcm9jZXNzaW50ZXJmYWNlLmgpCiAKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3N5c2ZzL3Byb2Nlc3NpbnRlcmZhY2UuaCBiL3NyYy9tb2R1bGVzL3N5c2ZzL3Byb2Nlc3NpbnRlcmZhY2UuaAppbmRleCAzNjk0Y2U1Li40MDNkNjYwIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9zeXNmcy9wcm9jZXNzaW50ZXJmYWNlLmgKKysrIGIvc3JjL21vZHVsZXMvc3lzZnMvcHJvY2Vzc2ludGVyZmFjZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9zeXNmcy9zeXNmc3Byb2NpbnQuY3BwIGIvc3JjL21vZHVsZXMvc3lzZnMvc3lzZnNwcm9jaW50LmNwcAppbmRleCAxZDgyMjljLi44ZTBlMDBiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy9zeXNmcy9zeXNmc3Byb2NpbnQuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3N5c2ZzL3N5c2ZzcHJvY2ludC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNSBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIFdhbGRlbWFyIEVpc2VubWVuZ2VyLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMSw4ICsxMiw5IEBACiAKICNpbmNsdWRlICJzeXNmc3Byb2NpbnQuaCIKICNpbmNsdWRlICIuLi8uLi9hcmNoL2RldmxvZy5oIgorI2luY2x1ZGUgPGV4dGV2aGFuZGxlcmhlbHBlci5oPgorI2luY2x1ZGUgPGNyaXRpY2FscmVnaW9uLmg+CiAjaW5jbHVkZSA8c3RyaW5nPgotI2luY2x1ZGUgPGZvcnRlX3RocmVhZC5oPgogY29uc3QgY2hhciAqIGNvbnN0IENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnNjbU9LID0gIk9LIjsKIGNvbnN0IGNoYXIgKiBjb25zdCBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpzY21QaW5JblVzZSA9ICJQaW4gYWxyZWFkeSBpbiB1c2UgYnkgb3RoZXIgRkIiOwogY29uc3QgY2hhciAqIGNvbnN0IENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnNjbU5vdEluaXRpYWxpc2VkID0gIkZCIG5vdCBpbml0aWFsaXplZCI7CkBAIC0yMCwxNTIgKzIyLDI0NCBAQAogY29uc3QgY2hhciAqIGNvbnN0IENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnNjbUNvdWxkTm90UmVhZCA9ICJDb3VsZCBub3QgcmVhZCI7CiBjb25zdCBjaGFyICogY29uc3QgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6c2NtQ291bGROb3RXcml0ZSA9ICJDb3VsZCBub3Qgd3JpdGUiOwogCi1DU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDU3lzRnNQcm9jZXNzSW50ZXJmYWNlKENSZXNvdXJjZSAqcGFTcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSkgOgotICAgIENQcm9jZXNzSW50ZXJmYWNlQmFzZShwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSl7CitDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDU3lzRnNQcm9jZXNzSW50ZXJmYWNlKENSZXNvdXJjZSAqcGFTcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywKKyAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIFRGb3J0ZUJ5dGUgKnBhRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFGQlZhcnNEYXRhKSA6CisgICAgQ1Byb2Nlc3NJbnRlcmZhY2VCYXNlKHBhU3JjUmVzLCBwYUludGVyZmFjZVNwZWMsIHBhSW5zdGFuY2VOYW1lSWQsIHBhRkJDb25uRGF0YSwgcGFGQlZhcnNEYXRhKSB7CiAgIG1GaWxlLnJkYnVmKCktPnB1YnNldGJ1ZigwLCAwKTsgLy9kaXNhYmxlIGJ1ZmZlciB0byBhdm9pZCBsYXRlbmN5CisgIFNUQVRVUygpID0gc2NtTm90SW5pdGlhbGlzZWQ7CiB9CiAKLUNTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6On5DU3lzRnNQcm9jZXNzSW50ZXJmYWNlKCl7Ci0gICAgZGVpbml0aWFsaXNlKCk7IC8vV2lsbCB1bmV4cG9ydCBldmVyeXRoaW5nLCBzbyBuZXh0IHRpbWUgRk9SVEUgc3RhcnRzIGl0IHdvbid0IGZhaWwgdG8gaW5pdGlhbGl6ZS4KK0NTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6On5DU3lzRnNQcm9jZXNzSW50ZXJmYWNlKCkgeworICB1bmV4cG9ydElPKCk7IC8vV2lsbCB1bmV4cG9ydCBldmVyeXRoaW5nLCBzbyBuZXh0IHRpbWUgRk9SVEUgc3RhcnRzIGl0IHdvbid0IGZhaWwgdG8gaW5pdGlhbGl6ZS4KIH0KIAotYm9vbCBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpzZXREaXJlY3Rpb24oYm9vbCBwYUlzSW5wdXQpewotICAgIGJvb2wgcmV0VmFsID0gZmFsc2U7Ci0gICAgc3RkOjpzdHJpbmcgZmlsZU5hbWUgPSAiL3N5cy9jbGFzcy9ncGlvL2dwaW8iICsgc3RkOjpzdHJpbmcoUEFSQU1TKCkuZ2V0VmFsdWUoKSkgKyAiL2RpcmVjdGlvbiI7Ci0gICAgc3RkOjpvZnN0cmVhbSBtRGlyZWN0aW9uRmlsZTsKLSAgICBtRGlyZWN0aW9uRmlsZS5vcGVuKGZpbGVOYW1lLmNfc3RyKCkpOwotICAgIGlmKG1EaXJlY3Rpb25GaWxlLmlzX29wZW4oKSl7Ci0gICAgICBpZihwYUlzSW5wdXQpewotICAgICAgICAgICBERVZMT0dfSU5GTygiM2luXG4iKTsKLSAgICAgICAgbURpcmVjdGlvbkZpbGUgPDwgImluIjsgICAKLSAgICAgIH1lbHNlewotICAgICAgICAgICBERVZMT0dfSU5GTygiM291dFxuIik7Ci0gICAgICAgIG1EaXJlY3Rpb25GaWxlIDw8ICJvdXQiOwotICAgICAgfQotICAgICAgcmV0VmFsID0gdHJ1ZTsKLSAgICB9ZWxzZXsKLSAgICAgIHJldFZhbCA9IGZhbHNlOworYm9vbCBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpzZXREaXJlY3Rpb24oYm9vbCBwYUlzSW5wdXQpIHsKKyAgYm9vbCByZXRWYWwgPSBmYWxzZTsKKyAgc3RkOjpzdHJpbmcgZmlsZU5hbWUgPSAiL3N5cy9jbGFzcy9ncGlvL2dwaW8iICsgc3RkOjpzdHJpbmcoUEFSQU1TKCkuZ2V0VmFsdWUoKSkgKyAiL2RpcmVjdGlvbiI7CisgIHN0ZDo6b2ZzdHJlYW0gbURpcmVjdGlvbkZpbGU7CisgIG1EaXJlY3Rpb25GaWxlLm9wZW4oZmlsZU5hbWUuY19zdHIoKSk7CisgIGlmKG1EaXJlY3Rpb25GaWxlLmlzX29wZW4oKSkgeworICAgIGlmKHBhSXNJbnB1dCkgeworICAgICAgbURpcmVjdGlvbkZpbGUgPDwgImluIjsKKyAgICB9IGVsc2UgeworICAgICAgbURpcmVjdGlvbkZpbGUgPDwgIm91dCI7CiAgICAgfQotICAgIAotICAgIHJldHVybiByZXRWYWw7CisgICAgaWYoIW1EaXJlY3Rpb25GaWxlLmZhaWwoKSl7CisgICAgICByZXRWYWwgPSB0cnVlOworICAgIH0gZWxzZXsKKyAgICAgIERFVkxPR19FUlJPUigiW0NTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnNldERpcmVjdGlvbl0gRXJyb3Igd3JpdGluZyB0byBmaWxlICVzLlxuIiwgZmlsZU5hbWUuY19zdHIoKSk7CisgICAgfQorICB9IGVsc2UgeworICAgIERFVkxPR19FUlJPUigiW0NTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnNldERpcmVjdGlvbl0gT3BlbmluZyBmaWxlICVzIGZhaWxlZC5cbiIsIGZpbGVOYW1lLmNfc3RyKCkpOworICB9CisKKyAgcmV0dXJuIHJldFZhbDsKIH0KIAotYm9vbCBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpleHBvcnRHUElPKCl7Ci0gICAgYm9vbCByZXRWYWwgPSBmYWxzZTsgCi0gICAgc3RkOjpzdHJpbmcgZmlsZU5hbWUgPSAiL3N5cy9jbGFzcy9ncGlvL2V4cG9ydCI7Ci0gICAgc3RkOjpvZnN0cmVhbSBtRXhwb3J0RmlsZTsKLSAgICBtRXhwb3J0RmlsZS5vcGVuKGZpbGVOYW1lLmNfc3RyKCkpOwotICBpZihtRXhwb3J0RmlsZS5pc19vcGVuKCkpewotICAgIERFVkxPR19JTkZPKCIxXG4iKTsKK2Jvb2wgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6ZXhwb3J0R1BJTygpIHsKKyAgYm9vbCByZXRWYWwgPSBmYWxzZTsKKyAgc3RkOjpzdHJpbmcgZmlsZU5hbWUgPSAiL3N5cy9jbGFzcy9ncGlvL2V4cG9ydCI7CisgIHN0ZDo6b2ZzdHJlYW0gbUV4cG9ydEZpbGU7CisgIG1FeHBvcnRGaWxlLm9wZW4oZmlsZU5hbWUuY19zdHIoKSk7CisgIGlmKG1FeHBvcnRGaWxlLmlzX29wZW4oKSkgewogICAgIG1FeHBvcnRGaWxlIDw8IFBBUkFNUygpLmdldFZhbHVlKCk7CisgICAgaWYoIW1FeHBvcnRGaWxlLmZhaWwoKSkgeworICAgICAgcmV0VmFsID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgREVWTE9HX0VSUk9SKCJbQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6ZXhwb3J0R1BJT10gRXJyb3Igd3JpdGluZyB0byBmaWxlICVzLlxuIiwgZmlsZU5hbWUuY19zdHIoKSk7CisgICAgfQorICAgIG1FeHBvcnRGaWxlLmNsb3NlKCk7CisgICAgcmV0VmFsID0gdHJ1ZTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIltDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpleHBvcnRHUElPXSBPcGVuaW5nIGZpbGUgJXMgZmFpbGVkLlxuIiwgZmlsZU5hbWUuY19zdHIoKSk7CisgIH0KKworICByZXR1cm4gcmV0VmFsOworfQorCitib29sIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnZhbHVlR1BJTyhib29sIHBhSXNJbnB1dCkgeworICBib29sIHJldFZhbCA9IGZhbHNlOworICBzdGQ6OnN0cmluZyBmaWxlTmFtZSA9ICIvc3lzL2NsYXNzL2dwaW8vZ3BpbyIgKyBzdGQ6OnN0cmluZyhQQVJBTVMoKS5nZXRWYWx1ZSgpKSArICIvdmFsdWUiOworICBpZihwYUlzSW5wdXQpIHsKKyAgICBtRmlsZS5vcGVuKGZpbGVOYW1lLmNfc3RyKCksIHN0ZDo6ZnN0cmVhbTo6aW4pOworICB9IGVsc2UgeworICAgIG1GaWxlLm9wZW4oZmlsZU5hbWUuY19zdHIoKSwgc3RkOjpmc3RyZWFtOjpvdXQpOworICB9CisKKyAgaWYobUZpbGUuaXNfb3BlbigpKXsKICAgICByZXRWYWwgPSB0cnVlOwogICB9ZWxzZXsKLSAgICByZXRWYWwgPSBmYWxzZTsKLSAgICBERVZMT0dfRVJST1IoIk9wZW5pbmcgZmlsZSAlcyBmYWlsZWQuXG4iLCBmaWxlTmFtZS5jX3N0cigpKTsKLSAgfSAgCi0gIAotICByZXR1cm4gcmV0VmFsOyAgIAotfQotCi1ib29sIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnZhbHVlR1BJTyhib29sIHBhSXNJbnB1dCl7Ci0gICAgYm9vbCByZXRWYWwgPSBmYWxzZTsKLSAgICBzdGQ6OnN0cmluZyBmaWxlTmFtZSA9ICIvc3lzL2NsYXNzL2dwaW8vZ3BpbyIgKyBzdGQ6OnN0cmluZyhQQVJBTVMoKS5nZXRWYWx1ZSgpKSArICIvdmFsdWUiOwotICAgIGlmKHBhSXNJbnB1dCl7Ci0gICAgICBtRmlsZS5vcGVuKGZpbGVOYW1lLmNfc3RyKCksIHN0ZDo6ZnN0cmVhbTo6aW4pOyAKLSAgICAgIHJldFZhbCA9IHRydWU7Ci0gICAgfWVsc2V7Ci0gICAgICBtRmlsZS5vcGVuKGZpbGVOYW1lLmNfc3RyKCksIHN0ZDo6ZnN0cmVhbTo6b3V0KTsKLSAgICAgIHJldFZhbCA9IHRydWU7Ci0gICAgfQotICAgIHJldHVybiByZXRWYWw7Ci19Ci0KLWJvb2wgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6aW5pdGlhbGlzZShib29sIHBhSXNJbnB1dCl7Ci0gIGJvb2wgcmV0VmFsID0gZmFsc2U7Ci0gIFNUQVRVUygpID0gc2NtTm90SW5pdGlhbGlzZWQ7Ci0gIGlmKENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OmV4cG9ydEdQSU8oKSl7Ci0gICAgQ1RocmVhZDo6c2xlZXBUaHJlYWQoMTAwMCk7Ci0gICAgaWYoQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6c2V0RGlyZWN0aW9uKHBhSXNJbnB1dCkpewotICAgICAgQ1RocmVhZDo6c2xlZXBUaHJlYWQoMTAwMCk7Ci0gICAgICBpZihDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjp2YWx1ZUdQSU8ocGFJc0lucHV0KSl7Ci0gICAgICAgICAgcmV0VmFsID0gdHJ1ZTsKLSAgICAgICAgICBTVEFUVVMoKSA9IHNjbU9LOwotICAgICAgfQotICAgICAgZWxzZXsKLSAgICAgICAgICByZXRWYWwgPSBmYWxzZTsKLSAgICAgIH0KLSAgICB9ZWxzZXsKLSAgICAgICAgcmV0VmFsID0gZmFsc2U7Ci0gICAgfQotICB9ZWxzZXsKLSAgICAgIHJldFZhbCA9IGZhbHNlOworICAgIERFVkxPR19FUlJPUigiW0NTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnZhbHVlR1BJT10gT3BlbmluZyBmaWxlICVzIGZhaWxlZC5cbiIsIGZpbGVOYW1lLmNfc3RyKCkpOwogICB9Ci0gCiAgIHJldHVybiByZXRWYWw7CiB9CiAKLWJvb2wgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6ZGVpbml0aWFsaXNlKCl7Citib29sIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OmluaXRpYWxpc2UoYm9vbCBwYUlzSW5wdXQpIHsKICAgYm9vbCByZXRWYWwgPSBmYWxzZTsKLSAgU1RBVFVTKCkgPSBzY21FcnJvcjsKKyAgaWYoQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6ZXhwb3J0R1BJTygpKSB7CisgICAgQ1RocmVhZDo6c2xlZXBUaHJlYWQoMjUwKTsKKyAgICBpZihDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpzZXREaXJlY3Rpb24ocGFJc0lucHV0KSkgeworICAgICAgQ1RocmVhZDo6c2xlZXBUaHJlYWQoMjUwKTsKKyAgICAgIGlmKENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnZhbHVlR1BJTyhwYUlzSW5wdXQpKSB7CisgICAgICAgIGlmKHBhSXNJbnB1dCkgeworICAgICAgICAgIGdldEV4dEV2SGFuZGxlcjxDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDSU9IYW5kbGVyPigqdGhpcykucmVnaXN0ZXJJWEZCKHRoaXMpOworICAgICAgICAgIGlmKCFnZXRFeHRFdkhhbmRsZXI8Q1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6Q0lPSGFuZGxlcj4oKnRoaXMpLmlzQWxpdmUoKSkgeworICAgICAgICAgICAgZ2V0RXh0RXZIYW5kbGVyPENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OkNJT0hhbmRsZXI+KCp0aGlzKS5zdGFydCgpOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBERVZMT0dfREVCVUcoIltDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjppbml0aWFsaXNlXSBQaW4gd2l0aCBQQVJBTSgpICVzIHdhcyBwcm9wZXJseSBpbml0aWFsaXplZC5cbiIsIFBBUkFNUygpLmdldFZhbHVlKCkpOworICAgICAgICBTVEFUVVMoKSA9IHNjbU9LOworICAgICAgICByZXRWYWwgPSB0cnVlOworICAgICAgfQorICAgIH0KKyAgfQorCisgIHJldHVybiByZXRWYWw7Cit9CisKK2Jvb2wgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6dW5leHBvcnRJTygpIHsKKyAgYm9vbCByZXRWYWwgPSBmYWxzZTsKICAgc3RkOjpzdHJpbmcgZmlsZU5hbWUgPSAiL3N5cy9jbGFzcy9ncGlvL3VuZXhwb3J0IjsKICAgc3RkOjpvZnN0cmVhbSBtVW5FeHBvcnQ7Ci0gIAorCisgIG1GaWxlLmNsb3NlKCk7CiAgIG1VbkV4cG9ydC5vcGVuKGZpbGVOYW1lLmNfc3RyKCksIHN0ZDo6ZnN0cmVhbTo6b3V0KTsKLSAgaWYobVVuRXhwb3J0LmlzX29wZW4oKSl7Ci0gICAgICBtVW5FeHBvcnQgPDwgUEFSQU1TKCkuZ2V0VmFsdWUoKTsKLSAgICAgIGlmKCFtVW5FeHBvcnQuZmFpbCgpKXsKLSAgICAgICAgcmV0VmFsID0gdHJ1ZTsKLSAgICAgICAgU1RBVFVTKCkgPSBzY21PSzsKLSAgICAgIH0KLSAgICAgIGVsc2V7Ci0gICAgICAgIERFVkxPR19FUlJPUigiRXJyb3Igd3JpdGluZyBQQVJBTVMoKSB0byBmaWxlICVzLlxuIiwgZmlsZU5hbWUuY19zdHIoKSk7Ci0gICAgICB9Ci0gIH0KLSAgZWxzZXsKLSAgICAgIERFVkxPR19FUlJPUigiT3BlbmluZyBmaWxlICVzIGZhaWxlZC5cbiIsIGZpbGVOYW1lLmNfc3RyKCkpOworICBpZihtVW5FeHBvcnQuaXNfb3BlbigpKSB7CisgICAgbVVuRXhwb3J0IDw8IFBBUkFNUygpLmdldFZhbHVlKCk7CisgICAgaWYoIW1VbkV4cG9ydC5mYWlsKCkpIHsKKyAgICAgIHJldFZhbCA9IHRydWU7CisgICAgICBTVEFUVVMoKSA9IHNjbU9LOworICAgIH0gZWxzZSB7CisgICAgICBTVEFUVVMoKSA9IHNjbUVycm9yOworICAgICAgREVWTE9HX0VSUk9SKCJbQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6ZGVpbml0aWFsaXNlXSBFcnJvciB3cml0aW5nIFBBUkFNUygpIHRvIGZpbGUgJXMuXG4iLCBmaWxlTmFtZS5jX3N0cigpKTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgU1RBVFVTKCkgPSBzY21FcnJvcjsKKyAgICBERVZMT0dfRVJST1IoIltDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpkZWluaXRpYWxpc2VdIE9wZW5pbmcgZmlsZSAlcyBmYWlsZWQuXG4iLCBmaWxlTmFtZS5jX3N0cigpKTsKICAgfQogICByZXR1cm4gcmV0VmFsOwogfQogCi1ib29sIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnJlYWRQaW4oKXsKK2Jvb2wgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6ZGVpbml0aWFsaXNlKCkgeworICBnZXRFeHRFdkhhbmRsZXI8Q1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6Q0lPSGFuZGxlcj4oKnRoaXMpLnVucmVnaXN0ZXJJWEZCKHRoaXMpOworICByZXR1cm4gdW5leHBvcnRJTygpOworfQorCitib29sIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OnJlYWRQaW4oKSB7CisgIHJldHVybiB0cnVlOworfQorCitib29sIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OmNoZWNrSW5wdXREYXRhKCkgewogICBib29sIHJldFZhbCA9IGZhbHNlOwotICBpZihtRmlsZS5pc19vcGVuKCkpeworICBpZihtRmlsZS5pc19vcGVuKCkpIHsKICAgICBjaGFyIGJpbkRhdGEgPSAwOwogICAgIG1GaWxlLmNsZWFyKCk7CiAgICAgbUZpbGUuc2Vla2coMCwgc3RkOjppb3M6OmJlZyk7CiAgICAgbUZpbGUucmVhZCgmYmluRGF0YSwgMSk7Ci0gICAgaWYobUZpbGUuZmFpbCgpKXsKKyAgICBpZihtRmlsZS5mYWlsKCkpIHsKICAgICAgIFNUQVRVUygpID0gc2NtQ291bGROb3RSZWFkOworICAgIH0gZWxzZSB7CisgICAgICBib29sIG5ld0RhdGEgPSAoJzAnICE9IGJpbkRhdGEpID8gdHJ1ZSA6IGZhbHNlOworICAgICAgaWYobmV3RGF0YSAhPSBJTl9YKCkpIHsKKyAgICAgICAgSU5fWCgpID0gbmV3RGF0YTsKKyAgICAgICAgcmV0VmFsID0gdHJ1ZTsKKyAgICAgIH0KICAgICB9Ci0gICAgZWxzZXsKLSAgICAgIElOX1goKSA9ICgnMCcgIT0gYmluRGF0YSkgPyB0cnVlIDogZmFsc2U7Ci0gICAgICBTVEFUVVMoKSA9IHNjbU9LOwotICAgICAgcmV0VmFsID0gdHJ1ZTsKLSAgICB9Ci0gIH1lbHNleworICB9IGVsc2UgewogICAgIFNUQVRVUygpID0gc2NtTm90SW5pdGlhbGlzZWQ7CiAgIH0KIAogICByZXR1cm4gcmV0VmFsOwogfQogCi1ib29sIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OndyaXRlUGluKCl7Citib29sIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OndyaXRlUGluKCkgewogICBib29sIHJldFZhbCA9IGZhbHNlOwotICBpZihtRmlsZS5pc19vcGVuKCkpeworICBpZihtRmlsZS5pc19vcGVuKCkpIHsKICAgICBtRmlsZS5jbGVhcigpOwogICAgIG1GaWxlLnNlZWtwKDAsIHN0ZDo6aW9zOjpiZWcpOwogICAgIHVuc2lnbmVkIGludCB2YWwgPSAoZmFsc2UgIT0gT1VUX1goKSkgPyAxIDogMDsgLy9pZiB0cnVlIHNldCB0aGUgbGVkIHRvIGZ1bGwgZ2xvd2luZwogICAgIG1GaWxlIDw8IHZhbDsKLSAgICBpZihtRmlsZS5mYWlsKCkpewotICAgICAgU1RBVFVTKCkgPSBzY21Db3VsZE5vdFdyaXRlOwotICAgIH0KLSAgICBlbHNleworICAgIGlmKCFtRmlsZS5mYWlsKCkpIHsKICAgICAgIFNUQVRVUygpID0gc2NtT0s7CiAgICAgICByZXRWYWwgPSB0cnVlOworICAgIH0gZWxzZSB7CisgICAgICBERVZMT0dfRVJST1IoIltDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjp3cml0ZVBpbl0gQ291bGQgbm90IHdyaXRlICV1IHRvIG91dHB1dCBmaWxlXG4iLCB2YWwpOworICAgICAgU1RBVFVTKCkgPSBzY21Db3VsZE5vdFdyaXRlOwogICAgIH0KLSAgfWVsc2V7CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6d3JpdGVQaW5dIENhbm5vdCB3cml0ZSB0byBvdXRwdXQgc2luY2UgdGhlIEZCIHdhcyBub3QgcHJvcGVybHkgaW5pdGlhbGl6ZWRcbiIpOwogICAgIFNUQVRVUygpID0gc2NtTm90SW5pdGlhbGlzZWQ7CiAgIH0KIAogICByZXR1cm4gcmV0VmFsOwogfQorCitERUZJTkVfSEFORExFUihDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDSU9IYW5kbGVyKTsKKworQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6Q0lPSGFuZGxlcjo6Q0lPSGFuZGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYV9wb0RldmljZUV4ZWN1dGlvbikgOgorICAgIENFeHRlcm5hbEV2ZW50SGFuZGxlcihwYV9wb0RldmljZUV4ZWN1dGlvbikgeworfQorCitDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDSU9IYW5kbGVyOjp+Q0lPSGFuZGxlcigpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIHJlYWRMaXN0KG1SZWFkRkJMaXN0U3luYyk7CisgIG1SZWFkRkJMaXN0LmNsZWFyQWxsKCk7CisgIGVuZCgpOworfQorCit2b2lkIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OkNJT0hhbmRsZXI6OnJlZ2lzdGVySVhGQihDU3lzRnNQcm9jZXNzSW50ZXJmYWNlICpwYV9wb0ZCKSB7CisgIENDcml0aWNhbFJlZ2lvbiByZWFkTGlzdChtUmVhZEZCTGlzdFN5bmMpOworICBtUmVhZEZCTGlzdC5wdXNoQmFjayhwYV9wb0ZCKTsKK30KKwordm9pZCBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDSU9IYW5kbGVyOjp1bnJlZ2lzdGVySVhGQihDU3lzRnNQcm9jZXNzSW50ZXJmYWNlICpwYV9wb0ZCKSB7CisgIENDcml0aWNhbFJlZ2lvbiByZWFkTGlzdChtUmVhZEZCTGlzdFN5bmMpOworICBUUmVhZEZCQ29udGFpbmVyOjpJdGVyYXRvciBpdFJ1bm5lcihtUmVhZEZCTGlzdC5iZWdpbigpKTsKKyAgVFJlYWRGQkNvbnRhaW5lcjo6SXRlcmF0b3IgaXRSZWZOb2RlKG1SZWFkRkJMaXN0LmVuZCgpKTsKKyAgVFJlYWRGQkNvbnRhaW5lcjo6SXRlcmF0b3IgaXRFbmQobVJlYWRGQkxpc3QuZW5kKCkpOworICB3aGlsZShpdFJ1bm5lciAhPSBpdEVuZCkgeworICAgIGlmKCppdFJ1bm5lciA9PSBwYV9wb0ZCKSB7CisgICAgICBpZihpdFJlZk5vZGUgPT0gaXRFbmQpIHsKKyAgICAgICAgbVJlYWRGQkxpc3QucG9wRnJvbnQoKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIG1SZWFkRkJMaXN0LmVyYXNlQWZ0ZXIoaXRSZWZOb2RlKTsKKyAgICAgIH0KKyAgICAgIGJyZWFrOworICAgIH0KKyAgICBpdFJlZk5vZGUgPSBpdFJ1bm5lcjsKKyAgICArK2l0UnVubmVyOworICB9Cit9CisKK3ZvaWQgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6Q0lPSGFuZGxlcjo6cnVuKCkgeworICB3aGlsZShpc0FsaXZlKCkpIHsKKyAgICBDVGhyZWFkOjpzbGVlcFRocmVhZCgxMCk7CisgICAgdXBkYXRlUmVhZERhdGEoKTsKKyAgfQorfQorCit2b2lkIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2U6OkNJT0hhbmRsZXI6OnVwZGF0ZVJlYWREYXRhKCkgeworICBDQ3JpdGljYWxSZWdpb24gcmVhZExpc3QobVJlYWRGQkxpc3RTeW5jKTsKKyAgVFJlYWRGQkNvbnRhaW5lcjo6SXRlcmF0b3IgaXRFbmQobVJlYWRGQkxpc3QuZW5kKCkpOworICBmb3IoVFJlYWRGQkNvbnRhaW5lcjo6SXRlcmF0b3IgaXRSdW5uZXIgPSBtUmVhZEZCTGlzdC5iZWdpbigpOyBpdFJ1bm5lciAhPSBpdEVuZDsgKytpdFJ1bm5lcikgeworICAgIGlmKCgqaXRSdW5uZXIpLT5jaGVja0lucHV0RGF0YSgpKSB7CisgICAgICBzdGFydE5ld0V2ZW50Q2hhaW4oKml0UnVubmVyKTsKKyAgICB9CisgIH0KK30KKwordm9pZCBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDSU9IYW5kbGVyOjplbmFibGVIYW5kbGVyKHZvaWQpIHsKKyAgLy9kbyBub3RoaW5nCit9CisKK3ZvaWQgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZTo6Q0lPSGFuZGxlcjo6ZGlzYWJsZUhhbmRsZXIodm9pZCkgeworICBlbmQoKTsKK30KKwordm9pZCBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDSU9IYW5kbGVyOjpzZXRQcmlvcml0eShpbnQpIHsKKyAgLy9kbyBub3RoaW5nCit9CisKK2ludCBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlOjpDSU9IYW5kbGVyOjpnZXRQcmlvcml0eSh2b2lkKSBjb25zdCB7CisgIHJldHVybiAwOworfQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9zeXNmcy9zeXNmc3Byb2NpbnQuaCBiL3NyYy9tb2R1bGVzL3N5c2ZzL3N5c2ZzcHJvY2ludC5oCmluZGV4IDJmNmQ5MDQuLmU0N2MwM2UgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3N5c2ZzL3N5c2ZzcHJvY2ludC5oCisrKyBiL3NyYy9tb2R1bGVzL3N5c2ZzL3N5c2ZzcHJvY2ludC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBXYWxkZW1hciBFaXNlbm1lbmdlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xMywxOSArMTQsNDMgQEAKICNkZWZpbmUgX1NZU0ZTUFJPQ0lOVF9IXwogCiAjaW5jbHVkZSAiLi4vLi4vc3RkZmJsaWIvaW8vcHJvY2Vzc2ludGVyZmFjZWJhc2UuaCIKKyNpbmNsdWRlIDxmb3J0ZV90aHJlYWQuaD4KKyNpbmNsdWRlIDxleHRldmhhbi5oPgogI2luY2x1ZGUgPGZzdHJlYW0+CiAKLWNsYXNzIENTeXNGc1Byb2Nlc3NJbnRlcmZhY2UgOiBwdWJsaWMgQ1Byb2Nlc3NJbnRlcmZhY2VCYXNleworY2xhc3MgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZSA6IHB1YmxpYyBDUHJvY2Vzc0ludGVyZmFjZUJhc2UgewogCiAgIHB1YmxpYzoKLSAgICBDU3lzRnNQcm9jZXNzSW50ZXJmYWNlKENSZXNvdXJjZSAqcGFTcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSk7CisgICAgQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZShDUmVzb3VyY2UgKnBhU3JjUmVzLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYUludGVyZmFjZVNwZWMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpOwogICAgIHZpcnR1YWwgfkNTeXNGc1Byb2Nlc3NJbnRlcmZhY2UoKTsKIAorICAgIGNsYXNzIENJT0hhbmRsZXIgOiBwdWJsaWMgQ0V4dGVybmFsRXZlbnRIYW5kbGVyLCBwdWJsaWMgQ1RocmVhZCB7CisgICAgICBERUNMQVJFX0hBTkRMRVIoQ0lPSGFuZGxlcikKKyAgICAgICAgOworICAgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuKCk7CisgICAgICAgIHZvaWQgdXBkYXRlUmVhZERhdGEoKTsKKyAgICAgICAgdm9pZCByZWdpc3RlcklYRkIoQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZSAqcGFGQik7CisgICAgICAgIHZvaWQgdW5yZWdpc3RlcklYRkIoQ1N5c0ZzUHJvY2Vzc0ludGVyZmFjZSAqcGFGQik7CisgICAgICAgIC8qIGZ1bmN0aW9ucyBuZWVkZWQgZm9yIHRoZSBleHRlcm5hbCBldmVudCBoYW5kbGVyIGludGVyZmFjZSAqLworICAgICAgICB2b2lkIGVuYWJsZUhhbmRsZXIodm9pZCk7CisgICAgICAgIHZvaWQgZGlzYWJsZUhhbmRsZXIodm9pZCk7CisgICAgICAgIHZvaWQgc2V0UHJpb3JpdHkoaW50IHBhUHJpb3JpdHkpOworICAgICAgICBpbnQgZ2V0UHJpb3JpdHkodm9pZCkgY29uc3Q7CisKKyAgICAgIHByaXZhdGU6CisgICAgICAgIHR5cGVkZWYgQ1NpbmdseUxpbmtlZExpc3Q8Q1N5c0ZzUHJvY2Vzc0ludGVyZmFjZSAqPiBUUmVhZEZCQ29udGFpbmVyOworICAgICAgICBUUmVhZEZCQ29udGFpbmVyIG1SZWFkRkJMaXN0OworICAgICAgICBDU3luY09iamVjdCBtUmVhZEZCTGlzdFN5bmM7CisgICAgfTsKKwogICBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBpbml0aWFsaXNlKGJvb2wgcGFJc0lucHV0KTsKICAgICBib29sIGRlaW5pdGlhbGlzZSgpOwogICAgIGJvb2wgd3JpdGVQaW4oKTsKICAgICBib29sIHJlYWRQaW4oKTsKKyAgICBib29sIGNoZWNrSW5wdXREYXRhKCk7CiAKICAgcHJpdmF0ZToKICAgICBzdGQ6OmZzdHJlYW0gbUZpbGU7CkBAIC0zMywxNSArNTgsMTUgQEAKICAgICBib29sIGV4cG9ydEdQSU8oKTsKICAgICBib29sIHNldERpcmVjdGlvbihib29sIHBhSXNJbnB1dCk7CiAgICAgYm9vbCB2YWx1ZUdQSU8oYm9vbCBwYUlzSW5wdXQpOwotICAgIAorCisgICAgYm9vbCB1bmV4cG9ydElPKCk7CisKICAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbU9LOwogICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtUGluSW5Vc2U7CiAgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21Ob3RJbml0aWFsaXNlZDsKICAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUVycm9yOwogICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtQ291bGROb3RSZWFkOwogICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtQ291bGROb3RXcml0ZTsKLQotCiB9OwogCiAjZW5kaWYgLyogUFJPQ0VTU0lOVEVSRkFDRV9IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdHNuL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvdHNuL0NNYWtlTGlzdHMudHh0CmluZGV4IDhjYzY3Y2MuLmIyMDIxZjggMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3Rzbi9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvbW9kdWxlcy90c24vQ01ha2VMaXN0cy50eHQKQEAgLTEsOSArMSwxMCBAQAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAotIyBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAjCiAjIENvbnRyaWJ1dG9yczoKICMgICAgQmVuIFNjaG5laWRlcgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdHNuL3Rzbl9sYXllci5jcHAgYi9zcmMvbW9kdWxlcy90c24vdHNuX2xheWVyLmNwcAppbmRleCBiYzVmNzY0Li45NjY5ZjBiIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy90c24vdHNuX2xheWVyLmNwcAorKysgYi9zcmMvbW9kdWxlcy90c24vdHNuX2xheWVyLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSC4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEJlbiBTY2huZWlkZXIgLSBJbml0aWFsIGNvbnRyaWJ1dGlvbjsgdmxhbiBhbmQgcHJpbyBjb25maWd1cmF0aW9uIHRvIHN1cHBvcnQgdHNuIGZvciBwdWIvc3ViCkBAIC0zMSw3ICszMiw3IEBACiAgIEVDb21SZXNwb25zZSBlUmV0VmFsID0gZV9Jbml0SW52YWxpZElkOwogCiAgIC8vIGNvbXBsZXRlIElEIGZvciBwdWJsaXNoZXI6IGZiZGtbXS50c25bPGlwPjo8cG9ydD46PHZsYW5faWQ+OjxwcmlvPl0gZS5nLiwgZmJka1tdLnRzblsyMzkuMS4wLjE6NDg0MDE6Mzo1XQotICBDUGFyYW1ldGVyUGFyc2VyIHBhcnNlcihwYUxheWVyUGFyYW1ldGVyLCBzY21OdW1QYXJhbWV0ZXJzLCAnOicpOworICBDUGFyYW1ldGVyUGFyc2VyIHBhcnNlcihwYUxheWVyUGFyYW1ldGVyLCAnOicsIHNjbU51bVBhcmFtZXRlcnMpOwogCiAgIGlmKHNjbU51bVBhcmFtZXRlcnMgIT0gcGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKXsKICAgICBERVZMT0dfRVJST1IoIltUU04gTGF5ZXJdIFdyb25nIHBhcmFtZXRlcnMgKCVzKVxuIiwgcGFMYXllclBhcmFtZXRlcik7CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy90c24vdHNuX2xheWVyLmggYi9zcmMvbW9kdWxlcy90c24vdHNuX2xheWVyLmgKaW5kZXggNTE1YmFlOS4uMzg0YmE0OSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdHNuL3Rzbl9sYXllci5oCisrKyBiL3NyYy9tb2R1bGVzL3Rzbi90c25fbGF5ZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSC4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgIEJlbiBTY2huZWlkZXIgLSBJbml0aWFsIGNvbnRyaWJ1dGlvbjsgdmxhbiBhbmQgcHJpbyBjb25maWd1cmF0aW9uIHRvIHN1cHBvcnQgdHNuIGZvciBwdWIvc3ViCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91bWljL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvdW1pYy9DTWFrZUxpc3RzLnR4dAppbmRleCAxOGUyNjU0Li5lY2Y1ZTIyIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91bWljL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9tb2R1bGVzL3VtaWMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCiAgCiBmb3J0ZV9hZGRfbW9kdWxlKHVNSUMgIkludGVyYWN0aW5nIHdpdGggR1BJT3MgdXNpbmcgdGhlIHVtaWMgbGlicmFyeSBmb3IgTWljcm9Db250cm9sIikKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3VtaWMvcHJvY2Vzc2ludGVyZmFjZS5jcHAgYi9zcmMvbW9kdWxlcy91bWljL3Byb2Nlc3NpbnRlcmZhY2UuY3BwCmluZGV4IDI2YTRmMmYuLmIzNTAzZDkgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3VtaWMvcHJvY2Vzc2ludGVyZmFjZS5jcHAKKysrIGIvc3JjL21vZHVsZXMvdW1pYy9wcm9jZXNzaW50ZXJmYWNlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdW1pYy9wcm9jZXNzaW50ZXJmYWNlLmggYi9zcmMvbW9kdWxlcy91bWljL3Byb2Nlc3NpbnRlcmZhY2UuaAppbmRleCBiYjE4N2UxLi43ODIyNjY3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91bWljL3Byb2Nlc3NpbnRlcmZhY2UuaAorKysgYi9zcmMvbW9kdWxlcy91bWljL3Byb2Nlc3NpbnRlcmZhY2UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdW1pYy9yZWFkbWUudHh0IGIvc3JjL21vZHVsZXMvdW1pYy9yZWFkbWUudHh0CmluZGV4IGU0ODA3MmQuLmZkZDNlN2QgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3VtaWMvcmVhZG1lLnR4dAorKysgYi9zcmMvbW9kdWxlcy91bWljL3JlYWRtZS50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE3IGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCiAKIEFjdGl2YXRlIHRoaXMgbW9kdWxlIHRvIGFjY2VzcyB0aGUgSS9PIG9mIHRoZSB1TUlDIDIwMCBvZiBNaWNyb0NvbnRyb2wKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvdXRpbHMvQ01ha2VMaXN0cy50eHQKaW5kZXggYzIxNDY5OS4uMmMyNDJjNCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxOCBBSVQsIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgTWF0dGhpYXMgUGxhc2NoLCBCZW4gU2NobmVpZGVyCisjIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTggQUlULCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgTWF0dGhpYXMgUGxhc2NoLCBCZW4gU2NobmVpZGVyCiAjICogICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBmb3J0ZV9hZGRfbW9kdWxlKFVUSUxTICJGT1JURSBVVElMSVRZIEZCcyIpCkBAIC0yNyw3ICsyOCw3IEBACiAKIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoT1VUX0FOWV9DT05TT0xFIEdFTl9GX01VWCBHRU5fQ1NWX1dSSVRFUiBHRU5fQVBQRU5EX1NUUklORykKIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoR0VOX0FSUkFZMlZBTFVFUyBHRU5fVkFMVUVTMkFSUkFZIEdFTl9BUlJBWTJBUlJBWSBHRVRfQVRfSU5ERVggU0VUX0FUX0lOREVYKQotZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChTVEVTVF9FTkQpCi1mb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEZCX1JBTkRPTSkKK2ZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRkJfUkFORE9NIEdFVF9TVFJVQ1RfVkFMVUUpCiAKLWZvcnRlX2FkZF9zdWJkaXJlY3RvcnkodGVzdHMpCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKFNURVNUX0VORCkKK2ZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoVEVTVF9DT05ESVRJT04pCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9FX1NUT1BXQVRDSC5jcHAgYi9zcmMvbW9kdWxlcy91dGlscy9FX1NUT1BXQVRDSC5jcHAKaW5kZXggOWJiODE4NS4uNTVjOTY2NiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvRV9TVE9QV0FUQ0guY3BwCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL0VfU1RPUFdBVENILmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBCZW4gU2NobmVpZGVyDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdXRpbHMvRV9TVE9QV0FUQ0guaCBiL3NyYy9tb2R1bGVzL3V0aWxzL0VfU1RPUFdBVENILmgKaW5kZXggNWQ0YjhhNS4uZWQzOWI4MCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvRV9TVE9QV0FUQ0guaAorKysgYi9zcmMvbW9kdWxlcy91dGlscy9FX1NUT1BXQVRDSC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEJlbiBTY2huZWlkZXINCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9GQl9SQU5ET00uY3BwIGIvc3JjL21vZHVsZXMvdXRpbHMvRkJfUkFORE9NLmNwcAppbmRleCA0ZjkwMmI2Li43N2MyZTVlIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91dGlscy9GQl9SQU5ET00uY3BwCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL0ZCX1JBTkRPTS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiwgMjAxMTMsIDIwMTUgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBHZXJoYXJkIEViZW5ob2ZlciwgQWxvaXMgWm9pdGwKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0ZCX1JBTkRPTS5oIGIvc3JjL21vZHVsZXMvdXRpbHMvRkJfUkFORE9NLmgKaW5kZXggMGVmOWNkMS4uY2QzOWUxNSAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvRkJfUkFORE9NLmgKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvRkJfUkFORE9NLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBHZXJoYXJkIEViZW5ob2ZlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9HRU5fQVBQRU5EX1NUUklORy5jcHAgYi9zcmMvbW9kdWxlcy91dGlscy9HRU5fQVBQRU5EX1NUUklORy5jcHAKaW5kZXggZDU2OTZjYy4uN2Q2MTliMyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0FQUEVORF9TVFJJTkcuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUFBFTkRfU1RSSU5HLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTQgUHJvZmFjdG9yIEdtYkgsIEFDSU4KICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWF0dGhpYXMgUGxhc2NoLCBBbG9pcyBab2l0bApAQCAtMzUsNyArMzYsNyBAQAogY29uc3QgVEZvcnRlSW50MTYgR0VOX0FQUEVORF9TVFJJTkc6OnNjbV9tYXhTdHJpbmdCdWZTaXplID0gMTAwOwogCiBHRU5fQVBQRU5EX1NUUklORzo6R0VOX0FQUEVORF9TVFJJTkcoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhU3JjUmVzKSA6Ci0gICAgQ0dlbkZ1bmN0aW9uQmxvY2s8Q0Z1bmN0aW9uQmxvY2s+KHBhU3JjUmVzLCBwYUluc3RhbmNlTmFtZUlkKSwgbV9hbkRhdGFJbnB1dE5hbWVzKDApLCBtX2FuRGF0YUlucHV0VHlwZUlkcygwKSwgbV9hbkVJV2l0aCgwKSwgbV9uRElucHV0cygwKXsKKyAgICBDR2VuRnVuY3Rpb25CbG9jazxDRnVuY3Rpb25CbG9jaz4ocGFTcmNSZXMsIHBhSW5zdGFuY2VOYW1lSWQpLCBtX2FuRGF0YUlucHV0TmFtZXMoMCksIG1fYW5EYXRhSW5wdXRUeXBlSWRzKDApLCBtX2FuRUlXaXRoKDApLCBtRElucHV0cygwKXsKIH0KIAogR0VOX0FQUEVORF9TVFJJTkc6On5HRU5fQVBQRU5EX1NUUklORygpewpAQCAtNTIsMTYgKzUzLDE1IEBACiAgICAgQ0lFQ19BTlkgKnBEYXRhT3V0cHV0ID0gZ2V0RE8oMCk7CiAKICAgICBpbnQgblVzZWRCeXRlcyA9IC0xOwotICAgIFRGb3J0ZVVJbnQxNiBuQnl0ZXNGcmVlID0gMDsKICAgICBURm9ydGVVSW50MTYgbkN1cnJlbnRMZW5ndGggPSAwOwogICAgIFRGb3J0ZVVJbnQxNiBuQXJyYXlFbGVtZW50cyA9IDA7CiAgICAgVEZvcnRlVUludDE2IG5SZXF1aXJlZEJ5dGVzID0gMDsKICAgICBURm9ydGVVSW50MTYgblN0cmluZ0xlbmd0aCA9IDA7CiAKICAgICAvL2l0ZXJhdGUgb3ZlciBkYXRhIGlucHV0cwotICAgIGZvcihpbnQgaW5wdXRfaW5kZXggPSAwOyBpbnB1dF9pbmRleCA8IG1fbkRJbnB1dHM7IGlucHV0X2luZGV4KyspeworICAgIGZvcihzaXplX3QgaW5wdXRfaW5kZXggPSAwOyBpbnB1dF9pbmRleCA8IG1ESW5wdXRzOyBpbnB1dF9pbmRleCsrKSB7CiAgICAgICAvL2dldCBjdXJyZW50IGRhdGEgaW5wdXQKLSAgICAgIHBEYXRhSW5wdXQgPSBnZXRESShpbnB1dF9pbmRleCk7CisgICAgICBwRGF0YUlucHV0ID0gZ2V0REkoc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihpbnB1dF9pbmRleCkpOwogCiAgICAgICAvL2ZvciBzdHJpbmcgZGF0YSBpbnB1dHMgb2YgdHlwZSBDSUVDX1NUUklORyBvciBDSUVDX1dTVFJJTkcKICAgICAgIGlmKHBEYXRhSW5wdXQtPmdldERhdGFUeXBlSUQoKSA9PSBDSUVDX0FOWTo6ZV9TVFJJTkcgfHwgcERhdGFJbnB1dC0+Z2V0RGF0YVR5cGVJRCgpID09IENJRUNfQU5ZOjplX1dTVFJJTkcpewpAQCAtOTQsNyArOTQsNyBAQAogICAgICAgICAgIC8vaWYgZGF0YSBoYXMgYmVlbiB3cml0dGVuIHRvIHBEYXRhT3V0cHV0IGFuZCBpbnB1dF9pbmRleCBkb2VzIG5vdCByZWZlciB0byBmaXJzdCBpbnB1dAogICAgICAgICAgIC8vZ2V0IGxlbmd0aCBhbmQgbnVtYmVyIG9mIGZyZWUgYnl0ZXMgKHVudXNlZCBtZW1vcnkpCiAgICAgICAgICAgbkN1cnJlbnRMZW5ndGggPSAoc3RhdGljX2Nhc3Q8Q0lFQ19TVFJJTkcqPihwRGF0YU91dHB1dCkpLT5sZW5ndGgoKTsKLSAgICAgICAgICBuQnl0ZXNGcmVlID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2Pigoc3RhdGljX2Nhc3Q8Q0lFQ19TVFJJTkcqPihwRGF0YU91dHB1dCkpLT5nZXRDYXBhY2l0eSgpIC0gbkN1cnJlbnRMZW5ndGgpOworICAgICAgICAgIFRGb3J0ZVVJbnQxNiBuQnl0ZXNGcmVlID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2Pigoc3RhdGljX2Nhc3Q8Q0lFQ19TVFJJTkcqPihwRGF0YU91dHB1dCkpLT5nZXRDYXBhY2l0eSgpIC0gbkN1cnJlbnRMZW5ndGgpOwogCiAgICAgICAgICAgLy9pZiB0aGVyZSBpcyBub3QgZW5vdWdoIGZyZWUgbWVtb3J5ID09PiByZXNlcnZlCiAgICAgICAgICAgaWYobkJ5dGVzRnJlZSA8IG5SZXF1aXJlZEJ5dGVzKXsKQEAgLTEwNiw3ICsxMDYsNiBAQAogICAgICAgICBlbHNlewogICAgICAgICAgIC8vcmVzZXQgbkN1cnJlbnRMZW5ndGggYW5kIG5CeXRlc0ZyZWUKICAgICAgICAgICBuQ3VycmVudExlbmd0aCA9IDA7Ci0gICAgICAgICAgbkJ5dGVzRnJlZSA9IDA7CiAgICAgICAgICAgLy9yZXNlcnZlIHJlcXVpcmVkIGxlbmd0aAogICAgICAgICAgIChzdGF0aWNfY2FzdDxDSUVDX1NUUklORyo+KHBEYXRhT3V0cHV0KSktPnJlc2VydmUoblJlcXVpcmVkQnl0ZXMpOwogICAgICAgICB9CkBAIC0xMzEsNDAgKzEzMCwzOSBAQAogICAgICsrcGNQb3M7CiAgICAgaWYoJ1MnICE9ICpwY1Bvcyl7CiAgICAgICAvL3dlIGhhdmUgYW4gdW5kZXJzY29yZSBhbmQgaXQgaXMgbm90IHRoZSBmaXJzdCB1bmRlcnNjb3JlIGFmdGVyIEUKLSAgICAgIG1fbkRJbnB1dHMgPSBzdGF0aWNfY2FzdDxpbnQ+KGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b3VsKHBjUG9zLCAwLCAxMCkpOwotICAgICAgREVWTE9HX0RFQlVHKCJESXM6ICVkO1xuIiwgbV9uRElucHV0cyk7CisgICAgICBtRElucHV0cyA9IHN0YXRpY19jYXN0PHNpemVfdD4oZm9ydGU6OmNvcmU6OnV0aWw6OnN0cnRvdWwocGNQb3MsIDAsIDEwKSk7CiAgICAgfQogICAgIGVsc2V7Ci0gICAgICBtX25ESW5wdXRzID0gMDsKKyAgICAgIG1ESW5wdXRzID0gMDsKICAgICB9CiAgIH0KICAgZWxzZXsKICAgICByZXR1cm4gZmFsc2U7CiAgIH0KIAotICBpZihtX25ESW5wdXRzIDwgMil7CisgIGlmKG1ESW5wdXRzIDwgMil7CiAgICAgcmV0dXJuIGZhbHNlOwogICB9CiAKICAgLy9ub3cgdGhlIG51bWJlciBvZiBuZWVkZWQgZXZlbnRJbnB1dHMgYW5kIGRhdGFPdXRwdXRzIGFyZSBhdmFpbGFibGUgaW4gdGhlIGludGVnZXIgYXJyYXkKICAgLy9jcmVhdGUgdGhlIGV2ZW50SW5wdXRzCi0gIGlmKG1fbkRJbnB1dHMgPCBDRnVuY3Rpb25CbG9jazo6c2NtX25NYXhJbnRlcmZhY2VFdmVudHMpeworICBpZihtRElucHV0cyA8IENGdW5jdGlvbkJsb2NrOjpzY21fbk1heEludGVyZmFjZUV2ZW50cyl7CiAKICAgICAvL2NyZWF0ZSB0aGUgZGF0YSBpbnB1dHMKLSAgICBtX2FuRGF0YUlucHV0TmFtZXMgPSBuZXcgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZFttX25ESW5wdXRzXTsKLSAgICBtX2FuRGF0YUlucHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21fbkRJbnB1dHNdOworICAgIG1fYW5EYXRhSW5wdXROYW1lcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21ESW5wdXRzXTsKKyAgICBtX2FuRGF0YUlucHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21ESW5wdXRzXTsKIAotICAgIGdlbmVyYXRlR2VuZXJpY0RhdGFQb2ludEFycmF5cygiSU5fIiwgbV9hbkRhdGFJbnB1dFR5cGVJZHMsIG1fYW5EYXRhSW5wdXROYW1lcywgbV9uRElucHV0cyk7CisgICAgZ2VuZXJhdGVHZW5lcmljRGF0YVBvaW50QXJyYXlzKCJJTl8iLCBtX2FuRGF0YUlucHV0VHlwZUlkcywgbV9hbkRhdGFJbnB1dE5hbWVzLCBtRElucHV0cyk7CiAKICAgICAvL25vdyBjcmVhdGUgdGhlIFdJVEggY29uc3RydWN0cy4uLgogICAgIC8vdGhlIFdpdGgtSW5kZXhlcyBmb3IgdGhlIGRhdGEgdmFyaWFibGVzCi0gICAgbV9hbkVJV2l0aCA9IG5ldyBURGF0YUlPSURbbV9uRElucHV0cyArIDFdOyAvL2ZvciBpbnB1dHMgKyAnMjU1JyBzZXBhcmF0b3JzIGF0IHRoZSBsaXN0IGVuZAorICAgIG1fYW5FSVdpdGggPSBuZXcgVERhdGFJT0lEW21ESW5wdXRzICsgMV07IC8vZm9yIGlucHV0cyArICcyNTUnIHNlcGFyYXRvcnMgYXQgdGhlIGxpc3QgZW5kCiAKICAgICAvL2luLXdpdGhzCi0gICAgZm9yKHNpemVfdCBpbl93aXRoID0gMDsgaW5fd2l0aCA8IG1fbkRJbnB1dHM7ICsraW5fd2l0aCl7CisgICAgZm9yKHNpemVfdCBpbl93aXRoID0gMDsgaW5fd2l0aCA8IG1ESW5wdXRzOyArK2luX3dpdGgpewogICAgICAgbV9hbkVJV2l0aFtpbl93aXRoXSA9IHN0YXRpY19jYXN0PFREYXRhSU9JRD4oaW5fd2l0aCk7CiAgICAgfQotICAgIG1fYW5FSVdpdGhbbV9uRElucHV0c10gPSBzY21XaXRoTGlzdERlbGltaXRlcjsKKyAgICBtX2FuRUlXaXRoW21ESW5wdXRzXSA9IHNjbVdpdGhMaXN0RGVsaW1pdGVyOwogCiAgICAgLy9jcmVhdGUgdGhlIGludGVyZmFjZSBTcGVjaWZpY2F0aW9uCiAgICAgcGFJbnRlcmZhY2VTcGVjLm1fbk51bUVJcyA9IDE7CkBAIC0xNzUsNyArMTczLDcgQEAKICAgICBwYUludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzID0gc2NtX2FuRXZlbnRPdXRwdXROYW1lczsKICAgICBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aCA9IHNjbV9hbkVPV2l0aDsKICAgICBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aEluZGV4ZXMgPSBzY21fYW5FT1dpdGhJbmRleGVzOwotICAgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ESXMgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obV9uRElucHV0cyk7CisgICAgcGFJbnRlcmZhY2VTcGVjLm1fbk51bURJcyA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ4PihtRElucHV0cyk7CiAgICAgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRElOYW1lcyA9IG1fYW5EYXRhSW5wdXROYW1lczsKICAgICBwYUludGVyZmFjZVNwZWMubV9hdW5ESURhdGFUeXBlTmFtZXMgPSBtX2FuRGF0YUlucHV0VHlwZUlkczsKICAgICBwYUludGVyZmFjZVNwZWMubV9uTnVtRE9zID0gMTsKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUFBFTkRfU1RSSU5HLmggYi9zcmMvbW9kdWxlcy91dGlscy9HRU5fQVBQRU5EX1NUUklORy5oCmluZGV4IDYzNDZlOWYuLjhhNmYyMzQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUFBFTkRfU1RSSU5HLmgKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0FQUEVORF9TVFJJTkcuaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTMgUHJvZmFjdG9yIEdtYkgsIEFDSU4KICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWF0dGhpYXMgUGxhc2NoLCBNb25pa2EgV2VuZ2VyCkBAIC0yMywxMyArMjQsMTMgQEAKICAgLy93ZSBrbm93IGZvciBzdXJlIHRoYXQgdGhlcmUgaXMgb25lIG91dHB1dCBldmVudCBhbmQgb25lIGlucHV0IGV2ZW50CiAgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTkZJRCA9IDA7CiAgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOwotICAgIAorCiAgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CiAgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CiAKICAgICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkICptX2FuRGF0YUlucHV0TmFtZXM7CiAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCAqbV9hbkRhdGFJbnB1dFR5cGVJZHM7Ci0gICAgCisKICAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKICAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOwogCkBAIC00Miw3ICs0Myw3IEBACiAgIC8vbWF4aW11bSBzdHJpbmcgYnVmZmVyIHNpemUgZm9yIGNvbnZlcnNpb25zIGludG8gc3RyaW5nIHZhbHVlcwogICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX21heFN0cmluZ0J1ZlNpemU7CiAgICAgLy9zZWxmLWRlZmluZWQgbWVtYmVycwotICAgIGludCBtX25ESW5wdXRzOworICAgIHNpemVfdCBtRElucHV0czsKIAogICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpOwogICAgICB2aXJ0dWFsIGJvb2wgY3JlYXRlSW50ZXJmYWNlU3BlYyhjb25zdCBjaGFyICpwYUNvbmZpZ1N0cmluZywgU0ZCSW50ZXJmYWNlU3BlYyAmcGFJbnRlcmZhY2VTcGVjKTsKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUlJBWTJBUlJBWS5jcHAgYi9zcmMvbW9kdWxlcy91dGlscy9HRU5fQVJSQVkyQVJSQVkuY3BwCmluZGV4IGQ5MWRjNTMuLmI5ZjhiODEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUlJBWTJBUlJBWS5jcHAKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0FSUkFZMkFSUkFZLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5DQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUlJBWTJBUlJBWS5oIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0FSUkFZMkFSUkFZLmgKaW5kZXggZDYzNTMxZS4uNGQyODU5YyAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0FSUkFZMkFSUkFZLmgKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0FSUkFZMkFSUkFZLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9HRU5fQVJSQVkyVkFMVUVTLmNwcCBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUlJBWTJWQUxVRVMuY3BwCmluZGV4IDUwOWQ4ZjcuLjdiZTVhMWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUlJBWTJWQUxVRVMuY3BwCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUlJBWTJWQUxVRVMuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgQWxvaXMgWm9pdGwNCkBAIC0zMSw3ICszMiw3IEBACiBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEdFTl9BUlJBWTJWQUxVRVM6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHsgZ19uU3RyaW5nSWRDTkYgfTsNCiANCiBHRU5fQVJSQVkyVkFMVUVTOjpHRU5fQVJSQVkyVkFMVUVTKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYVNyY1JlcykgOg0KLSAgICBDR2VuRnVuY3Rpb25CbG9jazxDRnVuY3Rpb25CbG9jaz4ocGFTcmNSZXMsIHBhSW5zdGFuY2VOYW1lSWQpLCBtX2FuRGF0YU91dHB1dE5hbWVzKDApLCBtX2FuRGF0YU91dHB1dFR5cGVJZHMoMCksIG1fYW5EYXRhSW5wdXRUeXBlSWRzKDApLCBtX2FuRU9XaXRoKDApLCBtX25ET3V0cHV0cygwKSwgbV9WYWx1ZVR5cGVJRChDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQpew0KKyAgICBDR2VuRnVuY3Rpb25CbG9jazxDRnVuY3Rpb25CbG9jaz4ocGFTcmNSZXMsIHBhSW5zdGFuY2VOYW1lSWQpLCBtX2FuRGF0YU91dHB1dE5hbWVzKDApLCBtX2FuRGF0YU91dHB1dFR5cGVJZHMoMCksIG1fYW5EYXRhSW5wdXRUeXBlSWRzKDApLCBtX2FuRU9XaXRoKDApLCBtRE91dHB1dHMoMCksIG1WYWx1ZVR5cGVJRChDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQpew0KIH0NCiANCiBHRU5fQVJSQVkyVkFMVUVTOjp+R0VOX0FSUkFZMlZBTFVFUygpew0KQEAgLTQ1LDcgKzQ2LDcgQEAKICAgc3dpdGNoIChwYUVJSUQpew0KICAgICBjYXNlIHNjbV9uRXZlbnRSRVFJRDoNCiANCi0gICAgICBmb3IoaW50IG91dHB1dF9pbmRleCA9IDA7IG91dHB1dF9pbmRleCA8IG1fbkRPdXRwdXRzOyBvdXRwdXRfaW5kZXgrKyl7DQorICAgICAgZm9yKHNpemVfdCBvdXRwdXRfaW5kZXggPSAwOyBvdXRwdXRfaW5kZXggPCBtRE91dHB1dHM7IG91dHB1dF9pbmRleCsrKSB7DQogICAgICAgICAvL2NvcHkgaW5wdXQgdmFsdWVzIHRvIGFycmF5DQogICAgICAgICBnZXRETyhzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG91dHB1dF9pbmRleCkpLT5zYXZlQXNzaWduKCooSU5fQXJyYXkoKVtzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KG91dHB1dF9pbmRleCldKSk7DQogICAgICAgfQ0KQEAgLTY2LDQ0ICs2Nyw0NCBAQAogDQogICAgIGlmKDAgIT0gZFR5cGVQb3Mpew0KICAgICAgIC8vdGhlcmUgaXMgYSBudW1iZXIgYW5kIGEgZGF0YSB0eXBlIG9mIGlucHV0cyB3aXRoaW4gdGhlIHR5cGVuYW1lDQotICAgICAgbV9uRE91dHB1dHMgPSBzdGF0aWNfY2FzdDxpbnQ+KGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b3VsKGROdW1iZXJQb3MsIDAsIDEwKSk7DQotICAgICAgbV9WYWx1ZVR5cGVJRCA9IENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldElkKCsrZFR5cGVQb3MpOw0KKyAgICAgIG1ET3V0cHV0cyA9IHN0YXRpY19jYXN0PHNpemVfdD4oZm9ydGU6OmNvcmU6OnV0aWw6OnN0cnRvdWwoZE51bWJlclBvcywgMCwgMTApKTsNCisgICAgICBtVmFsdWVUeXBlSUQgPSBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXRJZCgrK2RUeXBlUG9zKTsNCiAgICAgfQ0KICAgICBlbHNlew0KLSAgICAgIG1fVmFsdWVUeXBlSUQgPSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQ7DQotICAgICAgbV9uRE91dHB1dHMgPSAwOw0KKyAgICAgIG1WYWx1ZVR5cGVJRCA9IENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZDsNCisgICAgICBtRE91dHB1dHMgPSAwOw0KICAgICB9DQogICB9DQogICBlbHNlew0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogDQotICBpZihtX1ZhbHVlVHlwZUlEICE9IENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCAmJiBtX25ET3V0cHV0cyA+PSAyKXsNCisgIGlmKG1WYWx1ZVR5cGVJRCAhPSBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQgJiYgbURPdXRwdXRzID49IDIpew0KICAgICAvL2NyZWF0ZSB0aGUgZGF0YSBvdXRwdXRzDQotICAgIG1fYW5EYXRhT3V0cHV0TmFtZXMgPSBuZXcgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZFttX25ET3V0cHV0c107DQotICAgIG1fYW5EYXRhT3V0cHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21fbkRPdXRwdXRzXTsNCisgICAgbV9hbkRhdGFPdXRwdXROYW1lcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21ET3V0cHV0c107DQorICAgIG1fYW5EYXRhT3V0cHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21ET3V0cHV0c107DQogDQogICAgIGNoYXIgZG9OYW1lc1tjZ19uSWRlbnRpZmllckxlbmd0aF0gPSB7ICJPVVRfIiB9Ow0KLSAgICBmb3Ioc2l6ZV90IGRvSW5kZXggPSAwOyBkb0luZGV4IDwgbV9uRE91dHB1dHM7ICsrZG9JbmRleCl7DQorICAgIGZvcihzaXplX3QgZG9JbmRleCA9IDA7IGRvSW5kZXggPCBtRE91dHB1dHM7ICsrZG9JbmRleCl7DQogICAgICAgZm9ydGVfc25wcmludGYoJihkb05hbWVzWzRdKSwgOCAtIDQsICIlaSIsIGRvSW5kZXggKyAxKTsNCiAgICAgICBtX2FuRGF0YU91dHB1dE5hbWVzW2RvSW5kZXhdID0gQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuaW5zZXJ0KGRvTmFtZXMpOw0KLSAgICAgIG1fYW5EYXRhT3V0cHV0VHlwZUlkc1tkb0luZGV4XSA9IG1fVmFsdWVUeXBlSUQ7DQorICAgICAgbV9hbkRhdGFPdXRwdXRUeXBlSWRzW2RvSW5kZXhdID0gbVZhbHVlVHlwZUlEOw0KICAgICB9DQogDQogICAgIC8vY3JlYXRlIGRhdGEgaW5wdXQgdHlwZQ0KICAgICBtX2FuRGF0YUlucHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkWzNdOw0KICAgICBtX2FuRGF0YUlucHV0VHlwZUlkc1swXSA9IGdfblN0cmluZ0lkQVJSQVk7DQotICAgIG1fYW5EYXRhSW5wdXRUeXBlSWRzWzFdID0gbV9uRE91dHB1dHM7DQotICAgIG1fYW5EYXRhSW5wdXRUeXBlSWRzWzJdID0gbV9WYWx1ZVR5cGVJRDsNCisgICAgbV9hbkRhdGFJbnB1dFR5cGVJZHNbMV0gPSBzdGF0aWNfY2FzdDxDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkPihtRE91dHB1dHMpOw0KKyAgICBtX2FuRGF0YUlucHV0VHlwZUlkc1syXSA9IG1WYWx1ZVR5cGVJRDsNCiANCiAgICAgLy9nZXQgaW5wdXQgd2l0aC1pbmRpY2VzIGZvciB0aGUgZGF0YSB2YXJzDQotICAgIG1fYW5FT1dpdGggPSBuZXcgVERhdGFJT0lEW21fbkRPdXRwdXRzICsgMV07DQorICAgIG1fYW5FT1dpdGggPSBuZXcgVERhdGFJT0lEW21ET3V0cHV0cyArIDFdOw0KIA0KICAgICAvL2luLXdpdGhzDQotICAgIGZvcihzaXplX3Qgb3V0X3dpdGggPSAwOyBvdXRfd2l0aCA8IG1fbkRPdXRwdXRzOyArK291dF93aXRoKXsNCisgICAgZm9yKHNpemVfdCBvdXRfd2l0aCA9IDA7IG91dF93aXRoIDwgbURPdXRwdXRzOyArK291dF93aXRoKXsNCiAgICAgICBtX2FuRU9XaXRoW291dF93aXRoXSA9IHN0YXRpY19jYXN0PFREYXRhSU9JRD4ob3V0X3dpdGgpOw0KICAgICB9DQotICAgIG1fYW5FT1dpdGhbbV9uRE91dHB1dHNdID0gc2NtV2l0aExpc3REZWxpbWl0ZXI7DQorICAgIG1fYW5FT1dpdGhbbURPdXRwdXRzXSA9IHNjbVdpdGhMaXN0RGVsaW1pdGVyOw0KIA0KICAgICAvL2NyZWF0ZSB0aGUgaW50ZXJmYWNlIFNwZWNpZmljYXRpb24NCiAgICAgcGFJbnRlcmZhY2VTcGVjLm1fbk51bUVJcyA9IDE7DQpAQCAtMTE3LDcgKzExOCw3IEBACiAgICAgcGFJbnRlcmZhY2VTcGVjLm1fbk51bURJcyA9IDE7DQogICAgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRJTmFtZXMgPSBzY21fYW5EYXRhSW5wdXROYW1lczsNCiAgICAgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRElEYXRhVHlwZU5hbWVzID0gbV9hbkRhdGFJbnB1dFR5cGVJZHM7DQotICAgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ET3MgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obV9uRE91dHB1dHMpOw0KKyAgICBwYUludGVyZmFjZVNwZWMubV9uTnVtRE9zID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDg+KG1ET3V0cHV0cyk7DQogICAgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXMgPSBtX2FuRGF0YU91dHB1dE5hbWVzOw0KICAgICBwYUludGVyZmFjZVNwZWMubV9hdW5ET0RhdGFUeXBlTmFtZXMgPSBtX2FuRGF0YU91dHB1dFR5cGVJZHM7DQogICAgIHJldHVybiB0cnVlOw0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUlJBWTJWQUxVRVMuaCBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9BUlJBWTJWQUxVRVMuaAppbmRleCBkNzdjN2RlLi4xMTUwYzM4IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91dGlscy9HRU5fQVJSQVkyVkFMVUVTLmgKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0FSUkFZMlZBTFVFUy5oCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHYm1IDQogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgQWxvaXMgWm9pdGwNCkBAIC00Miw4ICs0Myw4IEBACiAgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOw0KIA0KICAgICAvL3NlbGYtZGVmaW5lZCBtZW1iZXJzDQotICAgIGludCBtX25ET3V0cHV0czsNCi0gICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBtX1ZhbHVlVHlwZUlEOw0KKyAgICBzaXplX3QgbURPdXRwdXRzOw0KKyAgICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIG1WYWx1ZVR5cGVJRDsNCiANCiAgICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKTsNCiAgICAgdmlydHVhbCBib29sIGNyZWF0ZUludGVyZmFjZVNwZWMoY29uc3QgY2hhciAqcGFDb25maWdTdHJpbmcsIFNGQkludGVyZmFjZVNwZWMgJnBhSW50ZXJmYWNlU3BlYyk7DQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0NTVl9XUklURVIuY3BwIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0NTVl9XUklURVIuY3BwCmluZGV4IDFjYmE5NTcuLjFmMmI3NGEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9DU1ZfV1JJVEVSLmNwcAorKysgYi9zcmMvbW9kdWxlcy91dGlscy9HRU5fQ1NWX1dSSVRFUi5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDE1IEFDSU4sIGZvcnRpc3MgR21iSAogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bApAQCAtMTcsNiArMTgsNyBAQAogI2VuZGlmCiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxkZXZsb2cuaD4KIAogREVGSU5FX0dFTkVSSUNfRklSTVdBUkVfRkIoR0VOX0NTVl9XUklURVIsIGdfblN0cmluZ0lkR0VOX0NTVl9XUklURVIpOwogCkBAIC0zMSw0MyArMzMsNDQgQEAKIGNvbnN0IFRGb3J0ZUludDE2IEdFTl9DU1ZfV1JJVEVSOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7IDAsIDMsIC0xIH07CiBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEdFTl9DU1ZfV1JJVEVSOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7IGdfblN0cmluZ0lkSU5JVE8sIGdfblN0cmluZ0lkQ05GIH07CiAKLXZvaWQgR0VOX0NTVl9XUklURVI6OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKXsKLSAgc3dpdGNoIChwYUVJSUQpewotICAgIGNhc2Ugc2NtX25FdmVudElOSVRJRDoKLSAgICAgIGlmKHRydWUgPT0gUUkoKSl7Ci0gICAgICAgIG9wZW5DU1ZGaWxlKCk7Ci0gICAgICB9Ci0gICAgICBlbHNlewotICAgICAgICBjbG9zZUNTVkZpbGUoKTsKLSAgICAgIH0KLSAgICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50SU5JVE9JRCk7Ci0gICAgICBicmVhazsKLSAgICBjYXNlIHNjbV9uRXZlbnRSRVFJRDoKLSAgICAgIFFPKCkgPSBRSSgpOwotICAgICAgaWYodHJ1ZSA9PSBRSSgpKXsKLSAgICAgICAgd3JpdGVDU1ZGaWxlTGluZSgpOwotICAgICAgfQotICAgICAgc2VuZE91dHB1dEV2ZW50KHNjbV9uRXZlbnRSRVFJRCk7Ci0gICAgICBicmVhazsKKworY29uc3QgY2hhciAqIGNvbnN0IEdFTl9DU1ZfV1JJVEVSOjpzY21PSyA9ICJPSyI7Citjb25zdCBjaGFyICogY29uc3QgR0VOX0NTVl9XUklURVI6OnNjbUZpbGVBbHJlYWR5T3BlbmVkID0gIkZpbGUgYWxyZWFkeSBvcGVuZWQiOworY29uc3QgY2hhciAqIGNvbnN0IEdFTl9DU1ZfV1JJVEVSOjpzY21GaWxlTm90T3BlbmVkID0gIkZpbGUgbm90IG9wZW5lZCI7CisKK3ZvaWQgR0VOX0NTVl9XUklURVI6OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKSB7CisgIGlmKHNjbV9uRXZlbnRJTklUSUQgPT0gcGFFSUlEKSB7CisgICAgaWYoUUkoKSkgeworICAgICAgb3BlbkNTVkZpbGUoKTsKKyAgICB9IGVsc2UgeworICAgICAgY2xvc2VDU1ZGaWxlKCk7CisgICAgfQorICAgIHNlbmRPdXRwdXRFdmVudChzY21fbkV2ZW50SU5JVE9JRCk7CisgIH0gZWxzZSBpZihzY21fbkV2ZW50UkVRSUQgPT0gcGFFSUlEKSB7CisgICAgUU8oKSA9IFFJKCk7CisgICAgaWYoUUkoKSkgeworICAgICAgd3JpdGVDU1ZGaWxlTGluZSgpOworICAgIH0KKyAgICBzZW5kT3V0cHV0RXZlbnQoc2NtX25FdmVudENORklEKTsKICAgfQogfQogCiBHRU5fQ1NWX1dSSVRFUjo6R0VOX0NTVl9XUklURVIoY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhU3JjUmVzKSA6Ci0gICAgQ0dlbkZ1bmN0aW9uQmxvY2s8Q0Z1bmN0aW9uQmxvY2s+KHBhU3JjUmVzLCBwYUluc3RhbmNlTmFtZUlkKSwgbV9wc3RDU1ZGaWxlKDApLCBtX2FuRGF0YUlucHV0TmFtZXMoMCksIG1fYW5EYXRhSW5wdXRUeXBlSWRzKDApLCBtX2FuRUlXaXRoKDApeworICAgIENHZW5GdW5jdGlvbkJsb2NrPENGdW5jdGlvbkJsb2NrPihwYVNyY1JlcywgcGFJbnN0YW5jZU5hbWVJZCksIG1DU1ZGaWxlKDApLCBtX2FuRGF0YUlucHV0TmFtZXMoMCksIG1fYW5EYXRhSW5wdXRUeXBlSWRzKDApLCBtX2FuRUlXaXRoKDApewogfQogCiBHRU5fQ1NWX1dSSVRFUjo6fkdFTl9DU1ZfV1JJVEVSKCl7CiAgIGRlbGV0ZVtdIG1fYW5EYXRhSW5wdXROYW1lczsKICAgZGVsZXRlW10gbV9hbkRhdGFJbnB1dFR5cGVJZHM7CiAgIGRlbGV0ZVtdIG1fYW5FSVdpdGg7CisgIGNsb3NlQ1NWRmlsZSgpOwogfQogCiBib29sIEdFTl9DU1ZfV1JJVEVSOjpjcmVhdGVJbnRlcmZhY2VTcGVjKGNvbnN0IGNoYXIgKnBhQ29uZmlnU3RyaW5nLCBTRkJJbnRlcmZhY2VTcGVjICZwYUludGVyZmFjZVNwZWMpIHsKICAgY29uc3QgY2hhciAqYWNQb3MgPSBzdHJyY2hyKHBhQ29uZmlnU3RyaW5nLCAnXycpOwogICBpZigwICE9IGFjUG9zKXsKICAgICBhY1BvcysrOwotICAgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ESXMgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4oZm9ydGU6OmNvcmU6OnV0aWw6OnN0cnRvdWwoYWNQb3MsMCwxMCkpOwotICAgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ESXMgKz0gMlU7IC8vIHdlIGhhdmUgaW4gYWRkaXRpb24gdG8gdGhlIFNEcyBhIFFJIGFuZCBGSUxFX05BTUUgZGF0YSBpbnB1dHMKKyAgICBwYUludGVyZmFjZVNwZWMubV9uTnVtRElzID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDg+KGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b3VsKGFjUG9zLCAwLCAxMCkgKyAyKTsgLy8gd2UgaGF2ZSBpbiBhZGRpdGlvbiB0byB0aGUgU0RzIGEgUUkgYW5kIEZJTEVfTkFNRSBkYXRhIGlucHV0cwogCiAgICAgbV9hbkRhdGFJbnB1dE5hbWVzID0gbmV3IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWRbcGFJbnRlcmZhY2VTcGVjLm1fbk51bURJc107CiAgICAgbV9hbkRhdGFJbnB1dFR5cGVJZHMgPSBuZXcgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZFtwYUludGVyZmFjZVNwZWMubV9uTnVtRElzXTsKQEAgLTExMSw0OSArMTE0LDUwIEBACiAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBHRU5fQ1NWX1dSSVRFUjo6b3BlbkNTVkZpbGUoKXsKK3ZvaWQgR0VOX0NTVl9XUklURVI6Om9wZW5DU1ZGaWxlKCkgewogICBRTygpID0gZmFsc2U7Ci0gIGlmKDAgPT0gbV9wc3RDU1ZGaWxlKXsKLSAgICBtX3BzdENTVkZpbGUgPSBmb3BlbihGSUxFX05BTUUoKS5nZXRWYWx1ZSgpLCAidysiKTsKLSAgICBpZigwICE9IG1fcHN0Q1NWRmlsZSl7Ci0gICAgICBTVEFUVVMoKSA9ICJPSyI7CisgIGlmKDAgPT0gbUNTVkZpbGUpIHsKKyAgICBtQ1NWRmlsZSA9IGZvcGVuKEZJTEVfTkFNRSgpLmdldFZhbHVlKCksICJ3KyIpOworICAgIGlmKDAgIT0gbUNTVkZpbGUpIHsKICAgICAgIFFPKCkgPSB0cnVlOwotICAgIH0KLSAgICBlbHNleworICAgICAgU1RBVFVTKCkgPSBzY21PSzsKKyAgICAgIERFVkxPR19JTkZPKCJbR0VOX0NTVl9XUklURVJdOiBGaWxlICVzIHN1Y2Nlc3NmdWxseSBvcGVuZWRcbiIsIEZJTEVfTkFNRSgpLmdldFZhbHVlKCkpOworICAgIH0gZWxzZSB7CiAgICAgICBTVEFUVVMoKSA9IHN0cmVycm9yKGVycm5vKTsKKyAgICAgIERFVkxPR19FUlJPUigiW0dFTl9DU1ZfV1JJVEVSXTogQ291bGRuJ3Qgb3BlbiBmaWxlICVzLiBFcnJvcjogJXNcbiIsIEZJTEVfTkFNRSgpLmdldFZhbHVlKCksIFNUQVRVUygpLmdldFZhbHVlKCkpOwogICAgIH0KLSAgfQotICBlbHNlewotICAgIFNUQVRVUygpID0gIkZpbGUgYWxyZWFkeSBvcGVuIjsKKyAgfSBlbHNlIHsKKyAgICBTVEFUVVMoKSA9IHNjbUZpbGVBbHJlYWR5T3BlbmVkOworICAgIERFVkxPR19FUlJPUigiW0dFTl9DU1ZfV1JJVEVSXTogQ2FuJ3Qgb3BlbiBmaWxlICVzIHNpbmNlIGl0IGlzIGFscmVhZHkgb3BlbmVkXG4iLCBGSUxFX05BTUUoKS5nZXRWYWx1ZSgpKTsKICAgfQogfQogCi12b2lkIEdFTl9DU1ZfV1JJVEVSOjpjbG9zZUNTVkZpbGUoKXsKK3ZvaWQgR0VOX0NTVl9XUklURVI6OmNsb3NlQ1NWRmlsZSgpIHsKICAgUU8oKSA9IGZhbHNlOwotICBpZigwICE9IG1fcHN0Q1NWRmlsZSl7Ci0gICAgaWYoMCA9PSBmY2xvc2UobV9wc3RDU1ZGaWxlKSl7Ci0gICAgICBTVEFUVVMoKSA9ICJPSyI7Ci0gICAgfQotICAgIGVsc2V7CisgIGlmKDAgIT0gbUNTVkZpbGUpIHsKKyAgICBpZigwID09IGZjbG9zZShtQ1NWRmlsZSkpIHsKKyAgICAgIFNUQVRVUygpID0gc2NtT0s7CisgICAgICBERVZMT0dfSU5GTygiW0dFTl9DU1ZfV1JJVEVSXTogRmlsZSAlcyBzdWNjZXNzZnVsbHkgY2xvc2VkXG4iLCBGSUxFX05BTUUoKS5nZXRWYWx1ZSgpKTsKKyAgICB9IGVsc2UgewogICAgICAgU1RBVFVTKCkgPSBzdHJlcnJvcihlcnJubyk7CisgICAgICBERVZMT0dfRVJST1IoIltHRU5fQ1NWX1dSSVRFUl06IENvdWxkbid0IGNsb3NlIGZpbGUgJXMuIEVycm9yOiAlc1xuIiwgRklMRV9OQU1FKCkuZ2V0VmFsdWUoKSwgU1RBVFVTKCkuZ2V0VmFsdWUoKSk7CiAgICAgfQotICAgIG1fcHN0Q1NWRmlsZSA9IDA7CisgICAgbUNTVkZpbGUgPSAwOwogICB9CiB9CiAKLXZvaWQgR0VOX0NTVl9XUklURVI6OndyaXRlQ1NWRmlsZUxpbmUoKXsKLSAgaWYoMCAhPSBtX3BzdENTVkZpbGUpewotICAgIGNoYXIgYWNCdWZmZXJbMTAwXTsKLSAgICBmb3IoaW50IGkgPSAyOyBpIDwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXM7IGkrKyl7Ci0gICAgICBpbnQgbkxlbiA9IGdldERJKGkpLT50b1N0cmluZyhhY0J1ZmZlciwgMTAwKTsKLSAgICAgIGZ3cml0ZShhY0J1ZmZlciwgMSwgbkxlbiwgbV9wc3RDU1ZGaWxlKTsKLSAgICAgIGZ3cml0ZSgiOyAiLCAxLCAyLCBtX3BzdENTVkZpbGUpOwordm9pZCBHRU5fQ1NWX1dSSVRFUjo6d3JpdGVDU1ZGaWxlTGluZSgpIHsKKyAgaWYoMCAhPSBtQ1NWRmlsZSkgeworICAgIGNoYXIgYWNCdWZmZXJbc2NtV3JpdGVCdWZmZXJTaXplXTsKKyAgICBmb3IoaW50IGkgPSAyOyBpIDwgbV9wc3RJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXM7IGkrKykgeworICAgICAgaW50IG5MZW4gPSBnZXRESShpKS0+dG9TdHJpbmcoYWNCdWZmZXIsIHNjbVdyaXRlQnVmZmVyU2l6ZSk7CisgICAgICBmd3JpdGUoYWNCdWZmZXIsIDEsIG5MZW4sIG1DU1ZGaWxlKTsKKyAgICAgIGZ3cml0ZSgiOyAiLCAxLCAyLCBtQ1NWRmlsZSk7CiAgICAgfQotICAgIGZ3cml0ZSgiXG4iLCAxLCAxLCBtX3BzdENTVkZpbGUpOwotICB9Ci0gIGVsc2V7CisgICAgZndyaXRlKCJcbiIsIDEsIDEsIG1DU1ZGaWxlKTsKKyAgfSBlbHNlIHsKICAgICBRTygpID0gZmFsc2U7Ci0gICAgU1RBVFVTKCkgPSAiRmlsZSBub3Qgb3BlbmVkIjsKKyAgICBTVEFUVVMoKSA9IHNjbUZpbGVOb3RPcGVuZWQ7CisgICAgREVWTE9HX0VSUk9SKCJbR0VOX0NTVl9XUklURVJdOiBDYW4ndCB3cml0ZSB0byBmaWxlICVzIHNpbmNlIGl0IGlzIG5vdCBvcGVuZWRcbiIsIEZJTEVfTkFNRSgpLmdldFZhbHVlKCkpOwogICB9CiB9Ci0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9DU1ZfV1JJVEVSLmggYi9zcmMvbW9kdWxlcy91dGlscy9HRU5fQ1NWX1dSSVRFUi5oCmluZGV4IDYzM2U4NGQuLmQ5ZWMyZjEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9DU1ZfV1JJVEVSLmgKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0NTVl9XUklURVIuaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMTUgQUNJTiwgZm9ydGlzcyBHbWJICiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBNb25pa2EgV2VuZ2VyCkBAIC02MCwxNiArNjEsMjQgQEAKICAgICB2aXJ0dWFsIH5HRU5fQ1NWX1dSSVRFUigpOwogCiAgIHByaXZhdGU6CisKICAgICB2b2lkIG9wZW5DU1ZGaWxlKCk7CiAgICAgdm9pZCBjbG9zZUNTVkZpbGUoKTsKICAgICB2b2lkIHdyaXRlQ1NWRmlsZUxpbmUoKTsKIAotICAgIEZJTEUgKm1fcHN0Q1NWRmlsZTsKKyAgICBGSUxFICptQ1NWRmlsZTsKIAogICAgIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgKm1fYW5EYXRhSW5wdXROYW1lczsKICAgICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkICptX2FuRGF0YUlucHV0VHlwZUlkczsKIAogICAgIFREYXRhSU9JRCAqbV9hbkVJV2l0aDsKKworICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtT0s7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GaWxlQWxyZWFkeU9wZW5lZDsKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZpbGVOb3RPcGVuZWQ7CisKKyAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHNjbVdyaXRlQnVmZmVyU2l6ZSA9IDEwMDsKKwogfTsKIAogI2VuZGlmIC8vX0dFTl9DU1ZfV1JJVEVSX0hfCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9HRU5fRl9NVVguY3BwIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0ZfTVVYLmNwcAppbmRleCBhNTIyYWFkLi41NWIxNDE2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91dGlscy9HRU5fRl9NVVguY3BwCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9GX01VWC5jcHAKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDEzIFByb2ZhY3RvciBHbWJILCBBQ0lOCiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgQWxvaXMgWm9pdGwKQEAgLTM0LDEwICszNSwxMCBAQAogICBtX2FuRUlXaXRoKDApLAogICBtX2FuRU9XaXRoSW5kZXhlcygwKSwKICAgbV9hbkVPV2l0aCgwKSwKLSAgbV9uRUlucHV0cygwKSwKLSAgbV9uRU91dHB1dHMoMCksCi0gIG1fbkRJbnB1dHMoMCksCi0gIG1fbkRPdXRwdXRzKDApeworICBtRUlucHV0cygwKSwKKyAgbUVPdXRwdXRzKDApLAorICBtRElucHV0cygwKSwKKyAgbURPdXRwdXRzKDApewogfQogCiBHRU5fRl9NVVg6On5HRU5fRl9NVVgoKXsKQEAgLTU0LDE1ICs1NSwxNSBAQAogCiB2b2lkIEdFTl9GX01VWDo6ZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpewogCi0gIGlmKC0xIDwgcGFFSUlEICYmIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4ocGFFSUlEKSA8IG1fbkVJbnB1dHMgKXsKKyAgaWYoLTEgPCBwYUVJSUQgJiYgc3RhdGljX2Nhc3Q8c2l6ZV90PihwYUVJSUQpIDwgbUVJbnB1dHMpIHsKIAotICAgIGludCBzdGFydEluZGV4ID0gcGFFSUlEICogbV9uRE91dHB1dHM7CisgICAgc2l6ZV90IHN0YXJ0SW5kZXggPSBwYUVJSUQgKiBtRE91dHB1dHM7CiAgICAgYm9vbCBzdGF0dXMgPSB0cnVlOwogCi0gICAgZm9yKGludCBpbnB1dF9pbmRleCA9IHN0YXJ0SW5kZXgsIG91dHB1dF9pbmRleCA9IDI7IGlucHV0X2luZGV4IDwgc3RhcnRJbmRleCArIHN0YXRpY19jYXN0PGludD4obV9uRE91dHB1dHMpOyBpbnB1dF9pbmRleCsrLCBvdXRwdXRfaW5kZXgrKyl7CisgICAgZm9yKHNpemVfdCBpbnB1dF9pbmRleCA9IHN0YXJ0SW5kZXgsIG91dHB1dF9pbmRleCA9IDI7IGlucHV0X2luZGV4IDwgc3RhcnRJbmRleCArIG1ET3V0cHV0czsgaW5wdXRfaW5kZXgrKywgb3V0cHV0X2luZGV4KyspIHsKIAotICAgICAgQ0lFQ19BTlkgKnBfZGF0YUlucHV0ID0gZ2V0REkoaW5wdXRfaW5kZXgpOwotICAgICAgQ0lFQ19BTlkgKnBfZGF0YU91dHB1dCA9IGdldERPKG91dHB1dF9pbmRleCk7CisgICAgICBDSUVDX0FOWSAqcF9kYXRhSW5wdXQgPSBnZXRESShzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KGlucHV0X2luZGV4KSk7CisgICAgICBDSUVDX0FOWSAqcF9kYXRhT3V0cHV0ID0gZ2V0RE8oc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihvdXRwdXRfaW5kZXgpKTsKIAogICAgICAgLy8gY2hlY2sgd2hldGhlciBkYXRhdHlwZXMgbWF0Y2gKICAgICAgIGlmKHBfZGF0YUlucHV0ICE9IDAgJiYgcF9kYXRhT3V0cHV0ICE9IDAgJiYgcF9kYXRhSW5wdXQtPmdldERhdGFUeXBlSUQoKSA9PSBwX2RhdGFPdXRwdXQtPmdldERhdGFUeXBlSUQoKSl7CkBAIC0xNDQsMTUgKzE0NSwxNSBAQAogICB9CiAgIGVsc2V7CiAgICAgLy9zZXQgdGhlIGRhdGEgYW5kIGV2ZW50IHBvcnQgbnVtYmVycwotICAgIG1fbkVJbnB1dHMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b3VsKHBhcmFtRUksMCwxMCkpOwotICAgIG1fbkRPdXRwdXRzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50Pihmb3J0ZTo6Y29yZTo6dXRpbDo6c3RydG91bChwYXJhbURPLDAsMTApKTsKLSAgICBtX25FT3V0cHV0cyA9IDE7Ci0gICAgbV9uRElucHV0cyA9IG1fbkVJbnB1dHMgKiBtX25ET3V0cHV0czsKKyAgICBtRUlucHV0cyA9IHN0YXRpY19jYXN0PHNpemVfdD4oZm9ydGU6OmNvcmU6OnV0aWw6OnN0cnRvdWwocGFyYW1FSSwgMCwgMTApKTsKKyAgICBtRE91dHB1dHMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KGZvcnRlOjpjb3JlOjp1dGlsOjpzdHJ0b3VsKHBhcmFtRE8sIDAsIDEwKSk7CisgICAgbUVPdXRwdXRzID0gMTsKKyAgICBtRElucHV0cyA9IG1FSW5wdXRzICogbURPdXRwdXRzOwogCi0gICAgREVWTE9HX0RFQlVHKCJFSXM6ICVkOyBESXM6ICVkOyBFT3M6ICVkOyBET3M6ICVkIFxuIiwgbV9uRUlucHV0cywgbV9uRElucHV0cywgbV9uRU91dHB1dHMsIG1fbkRPdXRwdXRzKTsKKyAgICBERVZMT0dfREVCVUcoIkVJczogJWQ7IERJczogJWQ7IEVPczogJWQ7IERPczogJWQgXG4iLCBtRUlucHV0cywgbURJbnB1dHMsIG1FT3V0cHV0cywgbURPdXRwdXRzKTsKIAogICAgIC8vcmV0dXJuIHdpdGggZXJyb3IgaWYgdGhlcmUgYXJlIG5vdCBlbm91Z2ggZXZlbnQgaW5wdXRzICh1c2UgY29tbW9uIG1lcmdlIEZCIGluc3RlYWQhISkKLSAgICBpZihtX25FSW5wdXRzIDwgMil7CisgICAgaWYobUVJbnB1dHMgPCAyKXsKICAgICAgIERFVkxPR19FUlJPUigiQXQgbGVhc3QgMiBFdmVudCBJbnB1dHMgbmVlZCB0byBiZSBzZXRcbiIpOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMTYwLDMwICsxNjEsMzAgQEAKIAogICAvL25vdyB0aGUgbnVtYmVyIG9mIG5lZWRlZCBldmVudElucHV0cyBhbmQgZGF0YU91dHB1dHMgYXJlIGF2YWlsYWJsZSBpbiB0aGUgaW50ZWdlciBhcnJheQogICAvL2NyZWF0ZSB0aGUgZXZlbnRJbnB1dHMKLSAgaWYobV9uRUlucHV0cyA8IENGdW5jdGlvbkJsb2NrOjpzY21fbk1heEludGVyZmFjZUV2ZW50cyAmJiBtX25ESW5wdXRzIDwgQ0Z1bmN0aW9uQmxvY2s6OnNjbV9uTWF4SW50ZXJmYWNlRXZlbnRzKXsKKyAgaWYobUVJbnB1dHMgPCBDRnVuY3Rpb25CbG9jazo6c2NtX25NYXhJbnRlcmZhY2VFdmVudHMgJiYgbURJbnB1dHMgPCBDRnVuY3Rpb25CbG9jazo6c2NtX25NYXhJbnRlcmZhY2VFdmVudHMpewogICAgIC8vY3JlYXRlIHRoZSBldmVudElucHV0cwotICAgIG1fYW5FdmVudElucHV0TmFtZXMgPSBuZXcgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZFttX25FSW5wdXRzXTsKKyAgICBtX2FuRXZlbnRJbnB1dE5hbWVzID0gbmV3IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWRbbUVJbnB1dHNdOwogCi0gICAgZ2VuZXJhdGVHZW5lcmljSW50ZXJmYWNlUG9pbnROYW1lQXJyYXkoIkVJIiwgbV9hbkV2ZW50SW5wdXROYW1lcywgIG1fbkVJbnB1dHMpOworICAgIGdlbmVyYXRlR2VuZXJpY0ludGVyZmFjZVBvaW50TmFtZUFycmF5KCJFSSIsIG1fYW5FdmVudElucHV0TmFtZXMsICBtRUlucHV0cyk7CiAKICAgICAvL2NyZWF0ZSB0aGUgZGF0YSBpbnB1dHMKLSAgICBtX2FuRGF0YUlucHV0TmFtZXMgPSBuZXcgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZFttX25ESW5wdXRzXTsKLSAgICBtX2FuRGF0YUlucHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21fbkRJbnB1dHNdOworICAgIG1fYW5EYXRhSW5wdXROYW1lcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21ESW5wdXRzXTsKKyAgICBtX2FuRGF0YUlucHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21ESW5wdXRzXTsKICAgICBjaGFyIGRpTmFtZXNbY2dfbklkZW50aWZpZXJMZW5ndGhdID0geyAiSU5fIiB9OwotICAgIGludCBkaV9wb3NJbmRleCA9IDA7Ci0gICAgZm9yKHVuc2lnbmVkIGludCBlaSA9IDA7IGVpIDwgbV9uRUlucHV0czsgZWkgPSBlaSArIDEpeworICAgIHNpemVfdCBkaV9wb3NJbmRleCA9IDA7CisgICAgZm9yKHNpemVfdCBlaSA9IDA7IGVpIDwgbUVJbnB1dHM7IGVpKyspIHsKIAotICAgICAgZm9yKHVuc2lnbmVkIGludCBkaSA9IDA7IGRpIDwgbV9uRE91dHB1dHM7IGRpID0gZGkgKyAxKXsKKyAgICAgIGZvcihzaXplX3QgZGkgPSAwOyBkaSA8IG1ET3V0cHV0czsgZGkrKykgewogICAgICAgICBmb3J0ZV9zbnByaW50ZigmKGRpTmFtZXNbM10pLCAxMSAtIDMsICIldV8ldSIsIGVpICsgMSwgZGkgKyAxKTsKLSAgICAgICAgZGlfcG9zSW5kZXggPSBlaSAqIG1fbkRPdXRwdXRzICsgZGk7CisgICAgICAgIGRpX3Bvc0luZGV4ID0gZWkgKiBtRE91dHB1dHMgKyBkaTsKICAgICAgICAgbV9hbkRhdGFJbnB1dE5hbWVzW2RpX3Bvc0luZGV4XSA9IENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmluc2VydChkaU5hbWVzKTsKICAgICAgICAgbV9hbkRhdGFJbnB1dFR5cGVJZHNbZGlfcG9zSW5kZXhdID0gZ19uU3RyaW5nSWRBTlk7CiAgICAgICB9CiAgICAgfQogCiAgICAgLy9jcmVhdGUgdGhlIGRhdGEgb3V0cHV0cwotICAgIG1fYW5EYXRhT3V0cHV0TmFtZXMgPSBuZXcgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZFttX25ET3V0cHV0cyArIDJdOwotICAgIG1fYW5EYXRhT3V0cHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21fbkRPdXRwdXRzICsgMl07CisgICAgbV9hbkRhdGFPdXRwdXROYW1lcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21ET3V0cHV0cyArIDJdOworICAgIG1fYW5EYXRhT3V0cHV0VHlwZUlkcyA9IG5ldyBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkW21ET3V0cHV0cyArIDJdOwogCiAgICAgLy9kYXRhIG91dHB1dHMgZm9yIHN0YXR1cyBhbmQgUU8KICAgICBtX2FuRGF0YU91dHB1dE5hbWVzWzBdID0gQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuaW5zZXJ0KCJRTyIpOwpAQCAtMTkxLDE5ICsxOTIsMTkgQEAKICAgICBtX2FuRGF0YU91dHB1dE5hbWVzWzFdID0gQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuaW5zZXJ0KCJTVEFUVVMiKTsKICAgICBtX2FuRGF0YU91dHB1dFR5cGVJZHNbMV0gPSBnX25TdHJpbmdJZFdTVFJJTkc7CiAKLSAgICBnZW5lcmF0ZUdlbmVyaWNEYXRhUG9pbnRBcnJheXMoIk9VVF8iLCAmKG1fYW5EYXRhT3V0cHV0VHlwZUlkc1syXSksICYobV9hbkRhdGFPdXRwdXROYW1lc1syXSksIG1fbkRPdXRwdXRzKTsKKyAgICBnZW5lcmF0ZUdlbmVyaWNEYXRhUG9pbnRBcnJheXMoIk9VVF8iLCAmKG1fYW5EYXRhT3V0cHV0VHlwZUlkc1syXSksICYobV9hbkRhdGFPdXRwdXROYW1lc1syXSksIG1ET3V0cHV0cyk7CiAKICAgICAvL25vdyBjcmVhdGUgdGhlIFdJVEggY29uc3RydWN0cy4uLgogICAgIC8vZmlyc3QgdGhlIFdpdGgtSW5kZXhlcyBFdmVudHMKLSAgICBtX2FuRUlXaXRoSW5kZXhlcyA9IG5ldyBURm9ydGVJbnQxNlttX25FSW5wdXRzXTsKKyAgICBtX2FuRUlXaXRoSW5kZXhlcyA9IG5ldyBURm9ydGVJbnQxNlttRUlucHV0c107CiAgICAgbV9hbkVPV2l0aEluZGV4ZXMgPSBuZXcgVEZvcnRlSW50MTZbMl07IC8vY29udGFpbnMgdGVybWluYXRpbmcgLTEgdmFsdWUKIAotICAgIGZvcih1bnNpZ25lZCBpbnQgZWlfaW5kZXggPSAwOyBlaV9pbmRleCA8IG1fbkVJbnB1dHM7IGVpX2luZGV4ID0gZWlfaW5kZXggKyAxKXsKKyAgICBmb3Ioc2l6ZV90IGVpX2luZGV4ID0gMDsgZWlfaW5kZXggPCBtRUlucHV0czsgZWlfaW5kZXgrKykgewogICAgICAgaWYoZWlfaW5kZXggPT0gMCl7CiAgICAgICAgIG1fYW5FSVdpdGhJbmRleGVzW2VpX2luZGV4XSA9IDA7CiAgICAgICB9CiAgICAgICBlbHNlewotICAgICAgICBtX2FuRUlXaXRoSW5kZXhlc1tlaV9pbmRleF0gPSBzdGF0aWNfY2FzdDxURm9ydGVJbnQxNj4oZWlfaW5kZXggKiAobV9uRE91dHB1dHMgKyAxKSk7CisgICAgICAgIG1fYW5FSVdpdGhJbmRleGVzW2VpX2luZGV4XSA9IHN0YXRpY19jYXN0PFRGb3J0ZUludDE2PihlaV9pbmRleCAqIChtRE91dHB1dHMgKyAxKSk7CiAgICAgICB9CiAgICAgfQogCkBAIC0yMTEsMTUgKzIxMiwxNSBAQAogICAgIG1fYW5FT1dpdGhJbmRleGVzWzFdID0gLTE7CiAKICAgICAvL3NlY29uZCB0aGUgV2l0aC1JbmRleGVzIGZvciB0aGUgZGF0YSB2YXJpYWJsZXMKLSAgICBtX2FuRUlXaXRoID0gbmV3IFREYXRhSU9JRFttX25ESW5wdXRzICsgbV9uRUlucHV0c107IC8vZm9yIGlucHV0cyBwZXIgZXZlbnQgKyAnMjU1JyBzZXBhcmF0b3JzIGJldHdlZW4gd2l0aHMKLSAgICBtX2FuRU9XaXRoID0gbmV3IFREYXRhSU9JRFttX25ET3V0cHV0cyArIDIgKyAxXTsgLy9mb3Igb3V0cHV0cyBvbmx5IG9uZSAnMjU1JyBzZXBhcmF0b3Igc2luY2Ugb25lIG91dHB1dCBldmVudCBpcyBuZWVkZWQgKyAyIGZvciBRTyBhbmQgU1RBVFVTCisgICAgbV9hbkVJV2l0aCA9IG5ldyBURGF0YUlPSURbbURJbnB1dHMgKyBtRUlucHV0c107IC8vZm9yIGlucHV0cyBwZXIgZXZlbnQgKyAnMjU1JyBzZXBhcmF0b3JzIGJldHdlZW4gd2l0aHMKKyAgICBtX2FuRU9XaXRoID0gbmV3IFREYXRhSU9JRFttRE91dHB1dHMgKyAyICsgMV07IC8vZm9yIG91dHB1dHMgb25seSBvbmUgJzI1NScgc2VwYXJhdG9yIHNpbmNlIG9uZSBvdXRwdXQgZXZlbnQgaXMgbmVlZGVkICsgMiBmb3IgUU8gYW5kIFNUQVRVUwogCiAgICAgLy9pbi13aXRocwogICAgIGludCB3aXRoTGlzdEluZGV4ID0gMDsKICAgICBpbnQgZGF0YUluZGV4ID0gMDsKLSAgICBmb3IodW5zaWduZWQgaW50IGluX2Jsb2NrID0gMDsgaW5fYmxvY2sgPCBtX25FSW5wdXRzOyBpbl9ibG9jayA9IGluX2Jsb2NrICsgMSl7CisgICAgZm9yKHNpemVfdCBpbl9ibG9jayA9IDA7IGluX2Jsb2NrIDwgbUVJbnB1dHM7IGluX2Jsb2NrKyspIHsKIAotICAgICAgZm9yKHVuc2lnbmVkIGludCBpbl93aXRoID0gMDsgaW5fd2l0aCA8IG1fbkRPdXRwdXRzOyBpbl93aXRoID0gaW5fd2l0aCArIDEpeworICAgICAgZm9yKHNpemVfdCBpbl93aXRoID0gMDsgaW5fd2l0aCA8IG1ET3V0cHV0czsgaW5fd2l0aCsrKSB7CiAgICAgICAgIG1fYW5FSVdpdGhbd2l0aExpc3RJbmRleF0gPSBzdGF0aWNfY2FzdDxURGF0YUlPSUQ+KGRhdGFJbmRleCk7CiAgICAgICAgIHdpdGhMaXN0SW5kZXgrKzsKICAgICAgICAgZGF0YUluZGV4Kys7CkBAIC0yMzQsMjUgKzIzNSwyNSBAQAogICAgIG1fYW5FT1dpdGhbMF0gPSAwOyAvL2ZvciBRTyBhbmQgU1RBVFVTCiAgICAgbV9hbkVPV2l0aFsxXSA9IDE7CiAKLSAgICBmb3IodW5zaWduZWQgaW50IG91dF93aXRoID0gMjsgb3V0X3dpdGggPCBtX25ET3V0cHV0cyArIDI7IG91dF93aXRoID0gb3V0X3dpdGggKyAxKXsKKyAgICBmb3IodW5zaWduZWQgaW50IG91dF93aXRoID0gMjsgb3V0X3dpdGggPCBtRE91dHB1dHMgKyAyOyBvdXRfd2l0aCsrKSB7CiAgICAgICBtX2FuRU9XaXRoW291dF93aXRoXSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ4PihvdXRfd2l0aCk7CiAgICAgfQogICAgIC8vc2V0ICcyNTUnIHNlcGFyYXRvcgotICAgIG1fYW5FT1dpdGhbbV9uRE91dHB1dHMgKyAyXSA9IHNjbVdpdGhMaXN0RGVsaW1pdGVyOworICAgIG1fYW5FT1dpdGhbbURPdXRwdXRzICsgMl0gPSBzY21XaXRoTGlzdERlbGltaXRlcjsKIAogICAgIC8vY3JlYXRlIHRoZSBpbnRlcmZhY2UgU3BlY2lmaWNhdGlvbgotICAgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FSXMgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obV9uRUlucHV0cyk7CisgICAgcGFJbnRlcmZhY2VTcGVjLm1fbk51bUVJcyA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ4PihtRUlucHV0cyk7CiAgICAgcGFJbnRlcmZhY2VTcGVjLm1fYXVuRUlOYW1lcyA9IG1fYW5FdmVudElucHV0TmFtZXM7CiAgICAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FSVdpdGggPSBtX2FuRUlXaXRoOwogICAgIHBhSW50ZXJmYWNlU3BlYy5tX2FuRUlXaXRoSW5kZXhlcyA9IG1fYW5FSVdpdGhJbmRleGVzOwotICAgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FT3MgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obV9uRU91dHB1dHMpOworICAgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1FT3MgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obUVPdXRwdXRzKTsKICAgICBwYUludGVyZmFjZVNwZWMubV9hdW5FT05hbWVzID0gc2NtX2FuRXZlbnRPdXRwdXROYW1lczsKICAgICBwYUludGVyZmFjZVNwZWMubV9hbkVPV2l0aCA9IG1fYW5FT1dpdGg7CiAgICAgcGFJbnRlcmZhY2VTcGVjLm1fYW5FT1dpdGhJbmRleGVzID0gbV9hbkVPV2l0aEluZGV4ZXM7Ci0gICAgcGFJbnRlcmZhY2VTcGVjLm1fbk51bURJcyA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQ4PihtX25ESW5wdXRzKTsKKyAgICBwYUludGVyZmFjZVNwZWMubV9uTnVtRElzID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDg+KG1ESW5wdXRzKTsKICAgICBwYUludGVyZmFjZVNwZWMubV9hdW5ESU5hbWVzID0gbV9hbkRhdGFJbnB1dE5hbWVzOwogICAgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRJRGF0YVR5cGVOYW1lcyA9IG1fYW5EYXRhSW5wdXRUeXBlSWRzOwotICAgIHBhSW50ZXJmYWNlU3BlYy5tX25OdW1ET3MgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obV9uRE91dHB1dHMgKyAyKTsKKyAgICBwYUludGVyZmFjZVNwZWMubV9uTnVtRE9zID0gc3RhdGljX2Nhc3Q8VEZvcnRlVUludDg+KG1ET3V0cHV0cyArIDIpOwogICAgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPTmFtZXMgPSBtX2FuRGF0YU91dHB1dE5hbWVzOwogICAgIHBhSW50ZXJmYWNlU3BlYy5tX2F1bkRPRGF0YVR5cGVOYW1lcyA9IG1fYW5EYXRhT3V0cHV0VHlwZUlkczsKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9GX01VWC5oIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0ZfTVVYLmgKaW5kZXggNTQyODczNC4uYTIyZGQxZiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0ZfTVVYLmgKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX0ZfTVVYLmgKQEAgLTEsMTAgKzEsMTEgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYmgKICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWF0dGhpYXMgUGxhc2NoLCBNb25pa2EgV2VuZ2VyLCBBbG9pcyBab2l0bApAQCAtMzgsMTAgKzM5LDEwIEBACiAgICAgVERhdGFJT0lEICptX2FuRU9XaXRoOwogCiAgICAgLy9zZWxmLWRlZmluZWQgbWVtYmVycwotICAgIHVuc2lnbmVkIGludCBtX25FSW5wdXRzOwotICAgIHVuc2lnbmVkIGludCBtX25FT3V0cHV0czsKLSAgICB1bnNpZ25lZCBpbnQgbV9uRElucHV0czsKLSAgICB1bnNpZ25lZCBpbnQgbV9uRE91dHB1dHM7CisgICAgc2l6ZV90IG1FSW5wdXRzOworICAgIHNpemVfdCBtRU91dHB1dHM7CisgICAgc2l6ZV90IG1ESW5wdXRzOworICAgIHNpemVfdCBtRE91dHB1dHM7CiAKICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpOwogICAgIHZpcnR1YWwgYm9vbCBjcmVhdGVJbnRlcmZhY2VTcGVjKGNvbnN0IGNoYXIgKnBhQ29uZmlnU3RyaW5nLCBTRkJJbnRlcmZhY2VTcGVjICZwYUludGVyZmFjZVNwZWMpOwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdXRpbHMvR0VOX1ZBTFVFUzJBUlJBWS5jcHAgYi9zcmMvbW9kdWxlcy91dGlscy9HRU5fVkFMVUVTMkFSUkFZLmNwcAppbmRleCBkNWRkZDcxLi40MTVjNzhjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91dGlscy9HRU5fVkFMVUVTMkFSUkFZLmNwcAorKysgYi9zcmMvbW9kdWxlcy91dGlscy9HRU5fVkFMVUVTMkFSUkFZLmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5DQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9WQUxVRVMyQVJSQVkuaCBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFTl9WQUxVRVMyQVJSQVkuaAppbmRleCBkOGVkZTYwLi44ZTM5ODEzIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91dGlscy9HRU5fVkFMVUVTMkFSUkFZLmgKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VOX1ZBTFVFUzJBUlJBWS5oCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQogICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1hdHRoaWFzIFBsYXNjaCwgQWxvaXMgWm9pdGwNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9HRVRfQVRfSU5ERVguY3BwIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VUX0FUX0lOREVYLmNwcAppbmRleCA1MDNhMTJiLi5kZjk3YzNhIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91dGlscy9HRVRfQVRfSU5ERVguY3BwCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFVF9BVF9JTkRFWC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXR0aGlhcyBQbGFzY2gNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9HRVRfQVRfSU5ERVguaCBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFVF9BVF9JTkRFWC5oCmluZGV4IDQwMDFiN2MuLmJhNmNlY2MgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL0dFVF9BVF9JTkRFWC5oCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFVF9BVF9JTkRFWC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdXRpbHMvR0VUX1NUUlVDVF9WQUxVRS5jcHAgYi9zcmMvbW9kdWxlcy91dGlscy9HRVRfU1RSVUNUX1ZBTFVFLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGUyM2FkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvR0VUX1NUUlVDVF9WQUxVRS5jcHAKQEAgLTAsMCArMSwxMTUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJHRVRfU1RSVUNUX1ZBTFVFLmgiCisKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJHRVRfU1RSVUNUX1ZBTFVFX2dlbi5jcHAiCisjZW5kaWYKKworI2luY2x1ZGUgPGFyY2gvZGV2bG9nLmg+CisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9HRVRfU1RSVUNUX1ZBTFVFLCBnX25TdHJpbmdJZEdFVF9TVFJVQ1RfVkFMVUUpCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfR0VUX1NUUlVDVF9WQUxVRTo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHsgZ19uU3RyaW5nSWRpbl9zdHJ1Y3QsIGdfblN0cmluZ0lkbWVtYmVyIH07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0dFVF9TVFJVQ1RfVkFMVUU6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHsgZ19uU3RyaW5nSWRBTlksIGdfblN0cmluZ0lkU1RSSU5HIH07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0dFVF9TVFJVQ1RfVkFMVUU6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0geyBnX25TdHJpbmdJZFFPLCBnX25TdHJpbmdJZG91dHB1dCB9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9HRVRfU1RSVUNUX1ZBTFVFOjpzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdID0geyBnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkQU5ZIH07Citjb25zdCBURm9ydGVJbnQxNiBGT1JURV9HRVRfU1RSVUNUX1ZBTFVFOjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7IDAgfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9HRVRfU1RSVUNUX1ZBTFVFOjpzY21fYW5FSVdpdGhbXSA9IHsgMSwgMCwgMjU1IH07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0dFVF9TVFJVQ1RfVkFMVUU6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0geyBnX25TdHJpbmdJZFJFUSB9OworY29uc3QgVERhdGFJT0lEIEZPUlRFX0dFVF9TVFJVQ1RfVkFMVUU6OnNjbV9hbkVPV2l0aFtdID0geyAwLCAxLCAyNTUgfTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX0dFVF9TVFJVQ1RfVkFMVUU6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHsgMCwgLTEgfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfR0VUX1NUUlVDVF9WQUxVRTo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0geyBnX25TdHJpbmdJZENORiB9OworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9HRVRfU1RSVUNUX1ZBTFVFOjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7IDEsIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgc2NtX2FuRUlXaXRoLCBzY21fYW5FSVdpdGhJbmRleGVzLCAxLCBzY21fYW5FdmVudE91dHB1dE5hbWVzLAorICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsIDIsIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLCAyLCBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLCAwLCAwIH07CisKK0NJRUNfQU5ZKiBGT1JURV9HRVRfU1RSVUNUX1ZBTFVFOjpnZXRNZW1iZXJGcm9tTmFtZShDSUVDX1NUUlVDVCogcGFXaGVyZVRvTG9vaywgY2hhciogcGFNZW1iZXJOYW1lKSB7CisgIENJRUNfQU5ZKiByZXRWYWwgPSAwOworCisgIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgZWxlbWVudE5hbWVJZCA9IENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldElkKHBhTWVtYmVyTmFtZSk7CisgIGlmKENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCAhPSBlbGVtZW50TmFtZUlkKSB7CisgICAgcmV0VmFsID0gcGFXaGVyZVRvTG9vay0+Z2V0TWVtYmVyTmFtZWQoZWxlbWVudE5hbWVJZCk7CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbR0VUX1NUUlVDVF9WQUxVRV06IEluIGluc3RhbmNlICVzLCBtZW1iZXIgJXMgd2FzIG5vdCBmb3VuZFxuIiwgZ2V0SW5zdGFuY2VOYW1lKCksIHBhTWVtYmVyTmFtZSk7CisgIH0KKworICByZXR1cm4gcmV0VmFsOworfQorCitDSUVDX0FOWSogRk9SVEVfR0VUX1NUUlVDVF9WQUxVRTo6bG9va0Zvck1lbWJlcihDSUVDX1NUUlVDVCogcGFXaGVyZVRvTG9vaywgY2hhciogcGFNZW1iZXJOYW1lKSB7CisgIENJRUNfQU5ZKiByZXRWYWwgPSAwOworCisgIGNoYXIqIHN0YXJ0T2ZOYW1lID0gcGFNZW1iZXJOYW1lOworICBib29sIGVycm9yT2N1cnJlZCA9IGZhbHNlOworCisgIHdoaWxlKCdcMCcgIT0gKnBhTWVtYmVyTmFtZSkgeworICAgIGlmKCcuJyA9PSAqcGFNZW1iZXJOYW1lKSB7CisgICAgICAqcGFNZW1iZXJOYW1lID0gJ1wwJzsKKworICAgICAgQ0lFQ19BTlkgKnJlc3VsdE1lbWJlciA9IGdldE1lbWJlckZyb21OYW1lKHBhV2hlcmVUb0xvb2ssIHN0YXJ0T2ZOYW1lKTsKKworICAgICAgaWYoMCAhPSByZXN1bHRNZW1iZXIpIHsKKyAgICAgICAgaWYoQ0lFQ19BTlk6OmVfU1RSVUNUID09IHJlc3VsdE1lbWJlci0+Z2V0RGF0YVR5cGVJRCgpKSB7CisgICAgICAgICAgcmV0VmFsID0gbG9va0Zvck1lbWJlcihzdGF0aWNfY2FzdDxDSUVDX1NUUlVDVCo+KHJlc3VsdE1lbWJlciksIHBhTWVtYmVyTmFtZSArIDEpOworICAgICAgICAgIGlmKDAgPT0gcmV0VmFsKSB7CisgICAgICAgICAgICBlcnJvck9jdXJyZWQgPSB0cnVlOworICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBERVZMT0dfRVJST1IoIltHRVRfU1RSVUNUX1ZBTFVFXTogSW4gaW5zdGFuY2UgJXMsIHRoZSBub24tc3RydWN0IG1lbWJlciAlcyBpcyBmb2xsb3dlZCBieSBhIHN1Yi1tZW1iZXIgd2hpY2ggaXMgbm90IGFsbG93ZWRcbiIsIGdldEluc3RhbmNlTmFtZSgpLAorICAgICAgICAgICAgc3RhcnRPZk5hbWUpOworICAgICAgICAgIGVycm9yT2N1cnJlZCA9IHRydWU7CisgICAgICAgIH0KKyAgICAgIH0gZWxzZSB7CisgICAgICAgIERFVkxPR19FUlJPUigiW0dFVF9TVFJVQ1RfVkFMVUVdOiBJbiBpbnN0YW5jZSAlcywgdGhlIG1lbWJlciAlcyBpbiBzdHJ1Y3R1cmUgJXMgZG9lc24ndCBleGlzdFxuIiwgZ2V0SW5zdGFuY2VOYW1lKCksIHN0YXJ0T2ZOYW1lLAorICAgICAgICAgIENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldChwYVdoZXJlVG9Mb29rLT5nZXRTdHJ1Y3RUeXBlTmFtZUlEKCkpKTsKKyAgICAgICAgZXJyb3JPY3VycmVkID0gdHJ1ZTsKKyAgICAgIH0KKyAgICB9CisKKyAgICBpZihlcnJvck9jdXJyZWQgfHwgMCAhPSByZXRWYWwpIHsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgICBwYU1lbWJlck5hbWUrKzsKKyAgfQorCisgIGlmKCFlcnJvck9jdXJyZWQgJiYgMCA9PSByZXRWYWwpIHsKKyAgICByZXRWYWwgPSBnZXRNZW1iZXJGcm9tTmFtZShwYVdoZXJlVG9Mb29rLCBzdGFydE9mTmFtZSk7CisgIH0KKworICByZXR1cm4gcmV0VmFsOworfQorCit2b2lkIEZPUlRFX0dFVF9TVFJVQ1RfVkFMVUU6OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKSB7CisgIGlmKHNjbV9uRXZlbnRSRVFJRCA9PSBwYUVJSUQpIHsKKyAgICBRTygpID0gMDsKKyAgICBpZihDSUVDX0FOWTo6ZV9TVFJVQ1QgPT0gaW5fc3RydWN0KCkuZ2V0RGF0YVR5cGVJRCgpKSB7CisgICAgICBDSUVDX1NUUklORyBjb3B5T2ZNZW1iZXIgPSBtZW1iZXIoKTsKKyAgICAgIENJRUNfQU5ZICpmb3VuZE1lbWJlciA9IGxvb2tGb3JNZW1iZXIoc3RhdGljX2Nhc3Q8Q0lFQ19TVFJVQ1QqPigmaW5fc3RydWN0KCkpLCBjb3B5T2ZNZW1iZXIuZ2V0VmFsdWUoKSk7CisgICAgICBpZigwICE9IGZvdW5kTWVtYmVyKSB7CisgICAgICAgIGlmKGZvdW5kTWVtYmVyLT5nZXREYXRhVHlwZUlEKCkgPT0gb3V0cHV0KCkuZ2V0RGF0YVR5cGVJRCgpKSB7CisgICAgICAgICAgb3V0cHV0KCkuc2V0VmFsdWUoKmZvdW5kTWVtYmVyKTsKKyAgICAgICAgICBRTygpID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBERVZMT0dfRVJST1IoIltHRVRfU1RSVUNUX1ZBTFVFXTogSW4gaW5zdGFuY2UgJXMsIHRoZSBtZW1iZXIgJXMgd2FzIGZvdW5kIGJ1dCBpdCBkb2Vzbid0IG1hdGNoIHRoZSBvdXRwdXQgdHlwZSAlZFxuIiwKKyAgICAgICAgICAgIGdldEluc3RhbmNlTmFtZSgpLCBtZW1iZXIoKS5nZXRWYWx1ZSgpLCBvdXRwdXQoKS5nZXREYXRhVHlwZUlEKCkpOworICAgICAgICB9CisgICAgICB9IC8vZXJyb3IgbG9nZ2luZyB3YXMgZG9uZSBhbHJlYWR5IGluIHRoZSBpbnRlcm5hbCBmdW5jdGlvbgorICAgIH0gZWxzZSB7CisgICAgICBERVZMT0dfRVJST1IoIltHRVRfU1RSVUNUX1ZBTFVFXTogSW4gaW5zdGFuY2UgJXMsIHRoZSBpbnB1dCBzdHJ1Y3R1cmUgaXMgbm90IG9mIHR5cGUgc3RydWN0dXJlIGJ1dCBvZiB0eXBlICVkXG4iLCBnZXRJbnN0YW5jZU5hbWUoKSwKKyAgICAgICAgaW5fc3RydWN0KCkuZ2V0RGF0YVR5cGVJRCgpKTsKKyAgICB9CisKKyAgICBzZW5kT3V0cHV0RXZlbnQoc2NtX25FdmVudENORklEKTsKKyAgfQorfQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9HRVRfU1RSVUNUX1ZBTFVFLmggYi9zcmMvbW9kdWxlcy91dGlscy9HRVRfU1RSVUNUX1ZBTFVFLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJkY2NhMwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL0dFVF9TVFJVQ1RfVkFMVUUuaApAQCAtMCwwICsxLDcyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9HRVRfU1RSVUNUX1ZBTFVFX0hfCisjZGVmaW5lIF9HRVRfU1RSVUNUX1ZBTFVFX0hfCisKKyNpbmNsdWRlIDxmdW5jYmxvYy5oPgorI2luY2x1ZGUgPGZvcnRlX2Jvb2wuaD4KKyNpbmNsdWRlIDxmb3J0ZV9zdHJpbmcuaD4KKyNpbmNsdWRlIDxmb3J0ZV9hbnkuaD4KKworY2xhc3MgRk9SVEVfR0VUX1NUUlVDVF9WQUxVRSA6IHB1YmxpYyBDRnVuY3Rpb25CbG9jayB7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfR0VUX1NUUlVDVF9WQUxVRSkKKworICBwdWJsaWM6CisgICAgRlVOQ1RJT05fQkxPQ0tfQ1RPUihGT1JURV9HRVRfU1RSVUNUX1ZBTFVFKXt9OworCisgICAgdmlydHVhbCB+Rk9SVEVfR0VUX1NUUlVDVF9WQUxVRSgpIHt9OworCisgIHByaXZhdGU6CisKKyAgICBDSUVDX0FOWSAmaW5fc3RydWN0KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0FOWSo+KGdldERJKDApKTsKKyAgICB9OworCisgICAgQ0lFQ19TVFJJTkcgJm1lbWJlcigpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19TVFJJTkcqPihnZXRESSgxKSk7CisgICAgfTsKKworICAgIENJRUNfQk9PTCAmUU8oKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERPKDApKTsKKyAgICB9OworCisgICAgQ0lFQ19BTlkgJm91dHB1dCgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19BTlkqPihnZXRETygxKSk7CisgICAgfTsKKworICAgIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CisKKyAgICBDSUVDX0FOWSogZ2V0TWVtYmVyRnJvbU5hbWUoQ0lFQ19TVFJVQ1QqIHBhV2hlcmVUb0xvb2ssIGNoYXIqIHBhTWVtYmVyTmFtZSk7CisKKyAgICBDSUVDX0FOWSogbG9va0Zvck1lbWJlcihDSUVDX1NUUlVDVCogcGFXaGVyZVRvTG9vaywgY2hhciogcGFNZW1iZXJOYW1lKTsKKworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRSRVFJRCA9IDA7CisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworICAgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50Q05GSUQgPSAwOworICAgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgICAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgICBGT1JURV9GQl9EQVRBX0FSUkFZKDEsIDIsIDIsIDApOworfTsKKworI2VuZGlmIC8vX0dFVF9TVFJVQ1RfVkFMVUVfSF8KKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdXRpbHMvT1VUX0FOWV9DT05TT0xFLmNwcCBiL3NyYy9tb2R1bGVzL3V0aWxzL09VVF9BTllfQ09OU09MRS5jcHAKaW5kZXggNTVlNjVhMC4uYjdlODZlMCAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvT1VUX0FOWV9DT05TT0xFLmNwcAorKysgYi9zcmMvbW9kdWxlcy91dGlscy9PVVRfQU5ZX0NPTlNPTEUuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE0IEFJVCwgQUNJTiwgUHJvZmFjdG9yIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgVGhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgTWF0dGhpYXMgUGxhc2NoCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9PVVRfQU5ZX0NPTlNPTEUuaCBiL3NyYy9tb2R1bGVzL3V0aWxzL09VVF9BTllfQ09OU09MRS5oCmluZGV4IDAxYjlkNDUuLjBhNGE2ODcgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL09VVF9BTllfQ09OU09MRS5oCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL09VVF9BTllfQ09OU09MRS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCBBSVQsIEFDSU4sIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgVGhvbWFzIFN0cmFzc2VyLCBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2gNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9TRVRfQVRfSU5ERVguY3BwIGIvc3JjL21vZHVsZXMvdXRpbHMvU0VUX0FUX0lOREVYLmNwcAppbmRleCAzMDJjZjExLi40OTUwZmE3IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy91dGlscy9TRVRfQVRfSU5ERVguY3BwCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL1NFVF9BVF9JTkRFWC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNYXR0aGlhcyBQbGFzY2gNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9TRVRfQVRfSU5ERVguaCBiL3NyYy9tb2R1bGVzL3V0aWxzL1NFVF9BVF9JTkRFWC5oCmluZGV4IGJkYjc0MjkuLjUxMzM4YWQgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL1NFVF9BVF9JTkRFWC5oCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL1NFVF9BVF9JTkRFWC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWF0dGhpYXMgUGxhc2NoDQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvdXRpbHMvU1RFU1RfRU5ELmNwcCBiL3NyYy9tb2R1bGVzL3V0aWxzL1NURVNUX0VORC5jcHAKaW5kZXggNzczNjRhMi4uNWMwODA1MiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvU1RFU1RfRU5ELmNwcAorKysgYi9zcmMvbW9kdWxlcy91dGlscy9TVEVTVF9FTkQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgLSAyMDE1IFByb2ZhY3RvciBHbWJILCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWljaGFlbCBIb2ZtYW5uLCBBbG9pcyBab2l0bApAQCAtMTQsNiArMTUsNyBAQAogI2luY2x1ZGUgIlNURVNUX0VORF9nZW4uY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiLi4vLi4vc3RkZmJsaWIvaXRhL1JNVF9ERVYuaCIKKyNpbmNsdWRlIDxmb3J0ZV90aHJlYWQuaD4KIAogREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX1NURVNUX0VORCwgZ19uU3RyaW5nSWRTVEVTVF9FTkQpCiAKQEAgLTI5LDYgKzMxLDcgQEAKIAogdm9pZCBGT1JURV9TVEVTVF9FTkQ6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpewogICBpZihzY21fbkV2ZW50UkVRSUQgPT0gcGFfbkVJSUQpeworICAgIENUaHJlYWQ6OnNsZWVwVGhyZWFkKDI1MCk7IC8vYXZvaWQga2lsbGluZyB0aGUgZGV2aWNlIGJlZm9yZSBpdCB3YXMgcHJvcGVybHkgc3RhcnRlZCAoREVWX01HUiBzdGlsbCB3YXMgaW5pdGlhbGl6aW5nIHRoZSBpcENvbW1sYXllciB3aGVuIGl0IHdhcyBraWxsZWQpCiAgICAgZ2V0UmVzb3VyY2UoKS5nZXREZXZpY2UoKS5jaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKGNnX25NR01fQ01EX0tpbGwpOwogICB9CiB9CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9TVEVTVF9FTkQuaCBiL3NyYy9tb2R1bGVzL3V0aWxzL1NURVNUX0VORC5oCmluZGV4IGUxMTRkYmEuLmRkOGVhMWEgMTAwNjQ0Ci0tLSBhL3NyYy9tb2R1bGVzL3V0aWxzL1NURVNUX0VORC5oCisrKyBiL3NyYy9tb2R1bGVzL3V0aWxzL1NURVNUX0VORC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEzIC0gMjAxNSBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWljaGFlbCBIb2ZtYW5uLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL1RFU1RfQ09ORElUSU9OLmNwcCBiL3NyYy9tb2R1bGVzL3V0aWxzL1RFU1RfQ09ORElUSU9OLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2FhODQ3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvVEVTVF9DT05ESVRJT04uY3BwCkBAIC0wLDAgKzEsNzYgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTksIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJURVNUX0NPTkRJVElPTi5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIlRFU1RfQ09ORElUSU9OX2dlbi5jcHAiCisjZW5kaWYKKworI2luY2x1ZGUgPGRldmxvZy5oPgorI2luY2x1ZGUgPHJlc291cmNlLmg+CisjaW5jbHVkZSA8Y3JpdGljYWxyZWdpb24uaD4KKwordW5zaWduZWQgaW50IEZPUlRFX1RFU1RfQ09ORElUSU9OOjpzbUV4ZWN1dGVkVGVzdHMgPSAwOwordW5zaWduZWQgaW50IEZPUlRFX1RFU1RfQ09ORElUSU9OOjpzbUZhaWxlZFRlc3RzID0gMDsKKworYm9vbCBGT1JURV9URVNUX0NPTkRJVElPTjo6c21maW5hbFJlcG9ydFByaW50ZWQgPSBmYWxzZTsKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX1RFU1RfQ09ORElUSU9OLCBnX25TdHJpbmdJZFRFU1RfQ09ORElUSU9OKQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1RFU1RfQ09ORElUSU9OOjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkY2hlY2t9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1RFU1RfQ09ORElUSU9OOjpzY21fYW5EYXRhSW5wdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRCT09MfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfVEVTVF9DT05ESVRJT046OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9URVNUX0NPTkRJVElPTjo6c2NtX2FuRUlXaXRoW10gPSB7MCwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfVEVTVF9DT05ESVRJT046OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfVEVTVF9DT05ESVRJT046OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHstMSwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9URVNUX0NPTkRJVElPTjo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkQ05GfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9URVNUX0NPTkRJVElPTjo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICAwLCAwLCAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAwLCAgMCwgMCwKKyAgMCwgMAorfTsKKworRk9SVEVfVEVTVF9DT05ESVRJT046On5GT1JURV9URVNUX0NPTkRJVElPTigpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGZpbmFsUmVwb3J0UmVnaW9uKG1GaW5hbFJlcG9ydE11dGV4KTsKKyAgaWYoIXNtZmluYWxSZXBvcnRQcmludGVkKSB7CisgICAgc21maW5hbFJlcG9ydFByaW50ZWQgPSB0cnVlOworICAgIERFVkxPR19JTkZPKCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKyAgICBERVZMT0dfSU5GTygiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBbVEVTVF9DT05ESVRJT04gRklOQUwgUkVQT1JUXSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CisgICAgaWYoc21GYWlsZWRUZXN0cykgeworICAgICAgREVWTE9HX0VSUk9SKCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICV1IHRlc3RzIGV4ZWN1dGVkLCAldSBmYWlsZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIsIHNtRXhlY3V0ZWRUZXN0cywgc21GYWlsZWRUZXN0cyk7CisgICAgfSBlbHNlIHsKKyAgICAgIERFVkxPR19JTkZPKCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICV1IHRlc3RzIGV4ZWN1dGVkLCAldSBmYWlsZWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIsIHNtRXhlY3V0ZWRUZXN0cywgc21GYWlsZWRUZXN0cyk7CisgICAgfQorICAgIERFVkxPR19JTkZPKCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKyAgfQorfQorCisKK3ZvaWQgRk9SVEVfVEVTVF9DT05ESVRJT046OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKSB7CisgIGlmKHNjbV9uRXZlbnRSRVFJRCA9PSBwYUVJSUQpIHsKKyAgICBzbUV4ZWN1dGVkVGVzdHMrKzsKKyAgICBpZihjaGVjaygpKSB7CisgICAgICBERVZMT0dfSU5GTygiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBbVEVTVF9DT05ESVRJT05fUEFTU0VEXSAlcy4lcyBwYXNzZWRcbiIsIGdldFJlc291cmNlKCkuZ2V0SW5zdGFuY2VOYW1lKCksIGdldEluc3RhbmNlTmFtZSgpKTsKKyAgICB9IGVsc2UgeworICAgICAgREVWTE9HX0VSUk9SKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gW1RFU1RfQ09ORElUSU9OX0ZBSUxFRF0gJXMuJXMgZmFpbGVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIiwgZ2V0UmVzb3VyY2UoKS5nZXRJbnN0YW5jZU5hbWUoKSwKKyAgICAgICAgZ2V0SW5zdGFuY2VOYW1lKCkpOworICAgICAgc21GYWlsZWRUZXN0cysrOworICAgIH0KKyAgICBzZW5kT3V0cHV0RXZlbnQoc2NtX25FdmVudENORklEKTsKKyAgfQorfQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy9URVNUX0NPTkRJVElPTi5oIGIvc3JjL21vZHVsZXMvdXRpbHMvVEVTVF9DT05ESVRJT04uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjBlYTRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvdXRpbHMvVEVTVF9DT05ESVRJT04uaApAQCAtMCwwICsxLDYyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5LCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgaW1wbGVtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9URVNUX0NPTkRJVElPTl9IXworI2RlZmluZSBfVEVTVF9DT05ESVRJT05fSF8KKworI2luY2x1ZGUgPGZ1bmNibG9jLmg+CisjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgorI2luY2x1ZGUgPGZvcnRlX3N5bmMuaD4KKworY2xhc3MgRk9SVEVfVEVTVF9DT05ESVRJT046IHB1YmxpYyBDRnVuY3Rpb25CbG9ja3sKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9URVNUX0NPTkRJVElPTikKKworcHJpdmF0ZToKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0TmFtZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICBDSUVDX0JPT0wgJmNoZWNrKCkgeworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oZ2V0REkoMCkpOworICB9OworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50UkVRSUQgPSAwOworICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRUlXaXRoSW5kZXhlc1tdOworICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudElucHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudENORklEID0gMDsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgc21FeGVjdXRlZFRlc3RzOworICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgc21GYWlsZWRUZXN0czsKKworICAgIHN0YXRpYyBib29sIHNtZmluYWxSZXBvcnRQcmludGVkOworCisKKyAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMSwgMSwgMCwgMCk7CisKKyAgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKTsKKworICBDU3luY09iamVjdCBtRmluYWxSZXBvcnRNdXRleDsKKworcHVibGljOgorICBGVU5DVElPTl9CTE9DS19DVE9SKEZPUlRFX1RFU1RfQ09ORElUSU9OKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9URVNUX0NPTkRJVElPTigpOworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3V0aWxzL3Rlc3RzL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvdXRpbHMvdGVzdHMvQ01ha2VMaXN0cy50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5MjQ3YzMuLjAwMDAwMDAKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvdGVzdHMvQ01ha2VMaXN0cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotIyBGT1JURSBVVElMSVRZIEZCcw0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotZm9ydGVfYWRkX3Rlc3QoVGVzdF91dGlsc18xIHRlc3RfdXRpbHNfMS5mYm9vdCA1KQ0KLXNldF90ZXN0c19wcm9wZXJ0aWVzIChUZXN0X3V0aWxzXzEgUFJPUEVSVElFUyBXSUxMX0ZBSUwgdHJ1ZSkNCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy91dGlscy90ZXN0cy90ZXN0X3V0aWxzXzEuZmJvb3QgYi9zcmMvbW9kdWxlcy91dGlscy90ZXN0cy90ZXN0X3V0aWxzXzEuZmJvb3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzYTAyMWEuLjAwMDAwMDAKLS0tIGEvc3JjL21vZHVsZXMvdXRpbHMvdGVzdHMvdGVzdF91dGlsc18xLmZib290CisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotOzxSZXF1ZXN0IElEPSIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVNQl9SRVMiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1JFU1RBUlRfMSIgVHlwZT0iRV9SRVNUQVJUIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MIiBUeXBlPSJCT09MMkJPT0wiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJmYWxzZSIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5JTiIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik9VVF9BTllfQ09OU09MRV8xIiBUeXBlPSJPVVRfQU5ZX0NPTlNPTEUiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzEuUUkiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJFUlJPUjogVCIgRGVzdGluYXRpb249Ik9VVF9BTllfQ09OU09MRV8xLkxBQkVMIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iT1VUX0FOWV9DT05TT0xFXzAiIFR5cGU9Ik9VVF9BTllfQ09OU09MRSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJPVVRfQU5ZX0NPTlNPTEVfMC5RSSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJEb25lIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzAuTEFCRUwiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EXzAiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MLkNORiIgRGVzdGluYXRpb249IkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJPVVRfQU5ZX0NPTlNPTEVfMC5SRVEiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik9VVF9BTllfQ09OU09MRV8wLkNORiIgRGVzdGluYXRpb249IlNURVNUX0VORF8wLlJFUSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9SRVNUQVJUXzEuQ09MRCIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5SRVEiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249Ik9VVF9BTllfQ09OU09MRV8xLlJFUSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iT1VUX0FOWV9DT05TT0xFXzEuQ05GIiBEZXN0aW5hdGlvbj0iU1RFU1RfRU5EXzAuUkVRIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249Ik9VVF9BTllfQ09OU09MRV8xLklOIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzAuSU4iIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3dhZ29rYnVzL0NNYWtlTGlzdHMudHh0IGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvQ01ha2VMaXN0cy50eHQKaW5kZXggNjA2MDUwNi4uOTU5OTUwNiAxMDA2NDQKLS0tIGEvc3JjL21vZHVsZXMvd2Fnb2tidXMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvQ01ha2VMaXN0cy50eHQKQEAgLTEsNDkgKzEsNTQgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICAgTWlsYW4gVmF0aG9vcGFuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICAgTWlsYW4gVmF0aG9vcGFuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjICogICAgSm9zZSBDYWJyYWwgLSBBZGQgbW9kdWxhciBJT3MKICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8gCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBXQUdPIEtCVVMgU0lGQnMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBmb3J0ZV9hZGRfbW9kdWxlKFdhZ29LYnVzICJXYWdvIEtidXMgaW50ZXJmYWNlIikKKwogaWYoRk9SVEVfTU9EVUxFX1dhZ29LYnVzKQorICBpZigiJHtGT1JURV9BUkNISVRFQ1RVUkV9IiBTVFJFUVVBTCAiUG9zaXgiKQogCi1mb3J0ZV9hZGRfaGFuZGxlcihXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyIHByb2Nlc3NpbnRlcmZhY2UpCi0KLWlmKCIke0ZPUlRFX0FSQ0hJVEVDVFVSRX0iIFNUUkVRVUFMICJQb3NpeCIpCi0KLSMjQWxsIFdhZ28gZGVwZWRlbmNpZXMgYXJlIGFkZGVkIGhlcmUKLSAgZm9ydGVfYWRkX2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KSAgCi0gIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoLi4vLi4vc3RkZmJsaWIvaW8vSVgpCi0gIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoIC4uLy4uL3N0ZGZibGliL2lvL1FYKSAKLSAgZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcCggLi4vLi4vc3RkZmJsaWIvaW8vUVcpIAotICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKCAuLi8uLi9zdGRmYmxpYi9pby9JVykgCi0gIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAocHJvY2Vzc2ludGVyZmFjZSkgCi0gIGZvcnRlX2FkZF9saW5rX2ZsYWdzKCItV2FsbCIpIAotCi0gIFNFVChGT1JURV9XQUdPX0lOQ0xVREVfRElSICIiIENBQ0hFIFNUUklORyAiUGF0aCB3aGVyZSB0aGUgaW5jbHVkZSBmb3Igd2FnbyBpcyBmb3VuZCIpIAotICBTRVQoRk9SVEVfV0FHT19MSUJfRElSICIiIENBQ0hFIFNUUklORyAiUGF0aCB3aGVyZSB0aGUgIGxpYnJhcmllcyBmb3Igd2FnbyBpcyBmb3VuZCIpIAotCi0gIGZvcnRlX2FkZF9pbmNsdWRlX3N5c3RlbV9kaXJlY3Rvcmllcygke0ZPUlRFX1dBR09fSU5DTFVERV9ESVJ9KQotICBmb3J0ZV9hZGRfaW5jbHVkZV9zeXN0ZW1fZGlyZWN0b3JpZXMoJHtGT1JURV9XQUdPX0lOQ0xVREVfRElSfS9kYWwpCi0gIGZvcnRlX2FkZF9pbmNsdWRlX3N5c3RlbV9kaXJlY3Rvcmllcygke0ZPUlRFX1dBR09fSU5DTFVERV9ESVJ9L09zTGludXgpCi0gIGZvcnRlX2FkZF9saW5rX2RpcmVjdG9yaWVzKCR7Rk9SVEVfV0FHT19MSUJfRElSfSkKKyAgICAjIEFsbCBXYWdvIGRlcGVkZW5jaWVzIGFyZSBhZGRlZCBoZXJlCisgICAgaWYoRk9SVEVfSU8pCisgICAgICBhZGRfc3ViZGlyZWN0b3J5KG1vZHVsYXIpCisgICAgICBtZXNzYWdlKCJCdWlsZGluZyBOZXcgTW9kdWxhciB3YWdvIElPcyIpCisgICAgZWxzZShGT1JURV9JTykKKyAgICAgIG1lc3NhZ2UoIkJ1aWxkaW5nIE9sZCB3YWdvIElPcyIpCisgICAgICBmb3J0ZV9hZGRfaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pICAKKyAgICAgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoLi4vLi4vc3RkZmJsaWIvaW8vSVgpCisgICAgICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKCAuLi8uLi9zdGRmYmxpYi9pby9RWCkgCisgICAgICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKCAuLi8uLi9zdGRmYmxpYi9pby9RVykgCisgICAgICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKCAuLi8uLi9zdGRmYmxpYi9pby9JVykgCisgICAgICBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKHByb2Nlc3NpbnRlcmZhY2UpCisgICAgICBmb3J0ZV9hZGRfaGFuZGxlcihXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyIHByb2Nlc3NpbnRlcmZhY2UpIAorICAgIGVuZGlmKEZPUlRFX0lPKQogICAKLSAgZm9ydGVfYWRkX2xpbmtfbGlicmFyeShsaWJkYWwuYSBsaWJsaWJsb2FkZXIuc28gbGlicHRocmVhZC5zbyBsaWJmZmkuc28gbGliZGJ1cy1nbGliLTEuc28gbGliZ2xpYi0yLjAuc28gbGlicnQuc28pCi0gIGZvcnRlX2FkZF9saW5rX2xpYnJhcnkobGlidHlwZWxhYmVsLnNvIGxpYm9zbGludXguc28gbGliZGJ1c2tidXNjb21tb24uc28pICAgIAorICAgIFNFVChGT1JURV9XQUdPX0lOQ0xVREVfRElSICIiIENBQ0hFIFNUUklORyAiUGF0aCB3aGVyZSB0aGUgaW5jbHVkZSBmb3Igd2FnbyBpcyBmb3VuZCIpIAorICAgIFNFVChGT1JURV9XQUdPX0xJQl9ESVIgIiIgQ0FDSEUgU1RSSU5HICJQYXRoIHdoZXJlIHRoZSAgbGlicmFyaWVzIGZvciB3YWdvIGlzIGZvdW5kIikgCisgIAorICAgIGZvcnRlX2FkZF9pbmNsdWRlX3N5c3RlbV9kaXJlY3Rvcmllcygke0ZPUlRFX1dBR09fSU5DTFVERV9ESVJ9KQorICAgIGZvcnRlX2FkZF9pbmNsdWRlX3N5c3RlbV9kaXJlY3Rvcmllcygke0ZPUlRFX1dBR09fSU5DTFVERV9ESVJ9L2RhbCkKKyAgICBmb3J0ZV9hZGRfaW5jbHVkZV9zeXN0ZW1fZGlyZWN0b3JpZXMoJHtGT1JURV9XQUdPX0lOQ0xVREVfRElSfS9Pc0xpbnV4KQorICAgIGZvcnRlX2FkZF9saW5rX2RpcmVjdG9yaWVzKCR7Rk9SVEVfV0FHT19MSUJfRElSfSkKKyAgICAKKyAgICBmb3J0ZV9hZGRfbGlua19saWJyYXJ5KGxpYmRhbC5hIGxpYmxpYmxvYWRlci5zbyBsaWJwdGhyZWFkLnNvIGxpYmZmaS5zbyBsaWJkYnVzLWdsaWItMS5zbyBsaWJnbGliLTIuMC5zbyBsaWJydC5zbykKKyAgICBmb3J0ZV9hZGRfbGlua19saWJyYXJ5KGxpYnR5cGVsYWJlbC5zbyBsaWJvc2xpbnV4LnNvIGxpYmRidXNrYnVzY29tbW9uLnNvKSAgICAKKyAgICBmb3J0ZV9hZGRfbGlua19mbGFncygiLVdhbGwiKSAKKyAgCisgICAgI1RPRE86IEZ1cnRoZXIgZGVwZW5kZW5jaWVzIGFyZSB0byBiZSBjaGVja2VkIGFuZCBhZGRlZCBsYXRlcgogCi0jVE9ETzogRnVydGhlciBkZXBlbmRlbmNpZXMgYXJlIHRvIGJlIGNoZWNrZWQgYW5kIGFkZGVkIGxhdGVyCi0KLWVsc2UoIiR7Rk9SVEVfQVJDSElURUNUVVJFfSIgU1RSRVFVQUwgIlBvc2l4IikKLSAjVE9ETyBhZGQgY2hlY2sgaWYgd2UgYXJlIHJlYWxseSBidWlsZGluZyBmb3Igd2FnbwotICBNRVNTQUdFKCJ3QUdPX0tCVVMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIEZPUlRFIG9uIExpbnV4IHBsYXRmb3Jtcy4gRGlzYWJsZWQgTW9kdWxlISIpCi0gICAgc2V0KEZPUlRFX01PRFVMRV93QUdPX0tCVVMgT0ZGKQotZW5kaWYoIiR7Rk9SVEVfQVJDSElURUNUVVJFfSIgU1RSRVFVQUwgIlBvc2l4IikKKyAgZWxzZSgiJHtGT1JURV9BUkNISVRFQ1RVUkV9IiBTVFJFUVVBTCAiUG9zaXgiKQorICAgIE1FU1NBR0UoRkFUQUxfRVJST1IgIlRoZSBXQUdPX0tCVVMgSU8gc3lzdGVtIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBGT1JURSBvbiBMaW51eCBwbGF0Zm9ybXMhIikKKyAgZW5kaWYoIiR7Rk9SVEVfQVJDSElURUNUVVJFfSIgU1RSRVFVQUwgIlBvc2l4IikKIAogZW5kaWYoRk9SVEVfTU9EVUxFX1dhZ29LYnVzKQpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcyMDcwZQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwxOCBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIAorCitmb3J0ZV9hZGRfaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pICAKKworZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcCh3YWdvSGFuZGxlIHdhZ29EZXZpY2VDb250cm9sbGVyKQorZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcCh0eXBlcy9XYWdvTWFzdGVyIHR5cGVzL1dhZ29CdXNBZGFwdGVyIHR5cGVzL3dhZ29TbGF2ZUJhc2UpCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKHR5cGVzL1dhZ28xNTA2IHR5cGVzL1dhZ28xNDA1XzYgdHlwZXMvV2FnbzE1MDRfNSB0eXBlcy9XYWdvNDU5KQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ28xNDA1XzYuY3BwIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy9XYWdvMTQwNV82LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTM2ZjVmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy9XYWdvMTQwNV82LmNwcApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKiBGT1JURSBMaWJyYXJ5IEVsZW1lbnQKKyAqKioKKyAqKiogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgdXNpbmcgdGhlIDRESUFDIEZPUlRFIEV4cG9ydCBGaWx0ZXIgVjEuMC54IQorICoqKgorICoqKiBOYW1lOiBXYWdvMTQwNV82CisgKioqIERlc2NyaXB0aW9uOiBTZXJ2aWNlIEludGVyZmFjZSBGdW5jdGlvbiBCbG9jayBUeXBlCisgKioqIFZlcnNpb246IAorICoqKiAgICAgMC4wOiAyMDE2LTExLTMwLzRESUFDLUlERSAtIDRESUFDLUNvbnNvcnRpdW0gLSAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiV2FnbzE0MDVfNi5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIldhZ28xNDA1XzZfZ2VuLmNwcCIKKyNlbmRpZgorCitERUZJTkVfRklSTVdBUkVfRkIoRk9SVEVfV2FnbzE0MDVfNiwgZ19uU3RyaW5nSWRXYWdvMTQwNV82KQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ28xNDA1XzY6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRRSSwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfMSwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfMiwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfMywgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfNCwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfNSwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfNiwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfNywgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfOCwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfOSwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfMTAsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzExLCBnX25TdHJpbmdJZERpZ2l0YWxJbnB1dF8xMiwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfMTMsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzE0LCBnX25TdHJpbmdJZERpZ2l0YWxJbnB1dF8xNSwgZ19uU3RyaW5nSWREaWdpdGFsSW5wdXRfMTZ9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ28xNDA1XzY6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzE0MDVfNjo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRRTywgZ19uU3RyaW5nSWRTVEFUVVN9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ28xNDA1XzY6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRCT09MLCBnX25TdHJpbmdJZFdTVFJJTkd9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9XYWdvMTQwNV82OjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfV2FnbzE0MDVfNjo6c2NtX2FuRUlXaXRoW10gPSB7MSwgMiwgNSwgMywgNCwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDI1NX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ28xNDA1XzY6OnNjbV9hbkV2ZW50SW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkTUFQfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX1dhZ28xNDA1XzY6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NSwgMCwgMSwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX1dhZ28xNDA1XzY6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAyLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ28xNDA1XzY6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZE1BUE8sIGdfblN0cmluZ0lkSU5EfTsKKworY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiBGT1JURV9XYWdvMTQwNV82OjpzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdID0gewore2dfblN0cmluZ0lkV2Fnb0J1c0FkYXB0ZXIsIGdfblN0cmluZ0lkQnVzQWRhcHRlck91dCwgdHJ1ZSB9LAore2dfblN0cmluZ0lkV2Fnb0J1c0FkYXB0ZXIsIGdfblN0cmluZ0lkQnVzQWRhcHRlckluLCBmYWxzZSB9fTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9XYWdvMTQwNV82OjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDEsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAyLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDE3LCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDIsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAyLHNjbV9hc3RBZGFwdGVySW5zdGFuY2VzfTsKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2FnbzE0MDVfNi5oIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy9XYWdvMTQwNV82LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJiYTA2NQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2FnbzE0MDVfNi5oCkBAIC0wLDAgKzEsMTM5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKiBGT1JURSBMaWJyYXJ5IEVsZW1lbnQKKyAqKioKKyAqKiogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgdXNpbmcgdGhlIDRESUFDIEZPUlRFIEV4cG9ydCBGaWx0ZXIgVjEuMC54IQorICoqKgorICoqKiBOYW1lOiBXYWdvMTQwNV82CisgKioqIERlc2NyaXB0aW9uOiBTZXJ2aWNlIEludGVyZmFjZSBGdW5jdGlvbiBCbG9jayBUeXBlCisgKioqIFZlcnNpb246CisgKioqICAgICAwLjA6IDIwMTYtMTEtMzAvNERJQUMtSURFIC0gNERJQUMtQ29uc29ydGl1bSAtCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfV0FHTzE0MDVfNl9IXworI2RlZmluZSBfV0FHTzE0MDVfNl9IXworCisjaW5jbHVkZSA8ZnVuY2Jsb2MuaD4KKyNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+CisjaW5jbHVkZSA8Zm9ydGVfd3N0cmluZy5oPgorI2luY2x1ZGUgIldhZ29CdXNBZGFwdGVyLmgiCisjaW5jbHVkZSAid2Fnb1NsYXZlQmFzZS5oIgorCitjbGFzcyBGT1JURV9XYWdvMTQwNV82OiBwdWJsaWMgV2Fnb1NsYXZlQmFzZXsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9XYWdvMTQwNV82KQorCisgIHB1YmxpYzoKKyAgICBGVU5DVElPTl9CTE9DS19DVE9SX0ZPUl9XQUdPX1NMQVZFUyhGT1JURV9XYWdvMTQwNV82LCAzNjg2NSl7CisgICAgfTsKKworICAgIHZpcnR1YWwgfkZPUlRFX1dhZ28xNDA1XzYoKXt9OworCisgIHByb3RlY3RlZDoKKworICAgIElOSVRfSEFOTERMRVMoMTYsIDAsIDAsIDApCisKKyAgcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgICBDSUVDX0JPT0wgJlFJKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRESSgwKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbElucHV0XzEoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsSW5wdXRfMigpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMikpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxJbnB1dF8zKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgzKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbElucHV0XzQoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDQpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsSW5wdXRfNSgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoNSkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxJbnB1dF82KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg2KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbElucHV0XzcoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDcpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsSW5wdXRfOCgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoOCkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxJbnB1dF85KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg5KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbElucHV0XzEwKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxMCkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxJbnB1dF8xMSgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMTEpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsSW5wdXRfMTIoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEyKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbElucHV0XzEzKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxMykpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxJbnB1dF8xNCgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMTQpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsSW5wdXRfMTUoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDE1KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbElucHV0XzE2KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxNikpOworICAgIH07CisKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICAgIENJRUNfQk9PTCAmUU8oKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERPKDApKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZTVEFUVVMoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERPKDEpKTsKKyAgICB9OworCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICAgIHN0YXRpYyBjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIHNjbV9hc3RBZGFwdGVySW5zdGFuY2VzW107CisKKyAgICBGT1JURV9XYWdvQnVzQWRhcHRlciYgQnVzQWRhcHRlck91dCgpIHsKKyAgICAgIHJldHVybiAoKnN0YXRpY19jYXN0PEZPUlRFX1dhZ29CdXNBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1swXSkpOworICAgIH07CisgICAgc3RhdGljIGNvbnN0IGludCBzY21fbkJ1c0FkYXB0ZXJPdXRBZHBOdW0gPSAwOworICAgIEZPUlRFX1dhZ29CdXNBZGFwdGVyJiBCdXNBZGFwdGVySW4oKSB7CisgICAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxGT1JURV9XYWdvQnVzQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMV0pKTsKKyAgICB9OworICAgIHN0YXRpYyBjb25zdCBpbnQgc2NtX25CdXNBZGFwdGVySW5BZHBOdW0gPSAxOworICAgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgICBGT1JURV9GQl9EQVRBX0FSUkFZKDIsIDE3LCAyLCAyKTsKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy9XYWdvMTUwNF81LmNwcCBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2FnbzE1MDRfNS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRlMTNlYwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2FnbzE1MDRfNS5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKiogRk9SVEUgTGlicmFyeSBFbGVtZW50CisgKioqCisgKioqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHVzaW5nIHRoZSA0RElBQyBGT1JURSBFeHBvcnQgRmlsdGVyIFYxLjAueCEKKyAqKioKKyAqKiogTmFtZTogV2FnbzE1MDRfNQorICoqKiBEZXNjcmlwdGlvbjogU2VydmljZSBJbnRlcmZhY2UgRnVuY3Rpb24gQmxvY2sgVHlwZQorICoqKiBWZXJzaW9uOiAKKyAqKiogICAgIDAuMDogMjAxNi0xMS0zMC80RElBQy1JREUgLSA0RElBQy1Db25zb3J0aXVtIC0gCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIldhZ28xNTA0XzUuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJXYWdvMTUwNF81X2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX1dhZ28xNTA0XzUsIGdfblN0cmluZ0lkV2FnbzE1MDRfNSkKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvMTUwNF81OjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUUksIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF8xLCBnX25TdHJpbmdJZERpZ2l0YWxPdXRwdXRfMiwgZ19uU3RyaW5nSWREaWdpdGFsT3V0cHV0XzMsIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF80LCBnX25TdHJpbmdJZERpZ2l0YWxPdXRwdXRfNSwgZ19uU3RyaW5nSWREaWdpdGFsT3V0cHV0XzYsIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF83LCBnX25TdHJpbmdJZERpZ2l0YWxPdXRwdXRfOCwgZ19uU3RyaW5nSWREaWdpdGFsT3V0cHV0XzksIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF8xMCwgZ19uU3RyaW5nSWREaWdpdGFsT3V0cHV0XzExLCBnX25TdHJpbmdJZERpZ2l0YWxPdXRwdXRfMTIsIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF8xMywgZ19uU3RyaW5nSWREaWdpdGFsT3V0cHV0XzE0LCBnX25TdHJpbmdJZERpZ2l0YWxPdXRwdXRfMTUsIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF8xNn07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzE1MDRfNTo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkQk9PTCwgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvMTUwNF81OjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFFPLCBnX25TdHJpbmdJZFNUQVRVU307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzE1MDRfNTo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX1dhZ28xNTA0XzU6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9XYWdvMTUwNF81OjpzY21fYW5FSVdpdGhbXSA9IHsxLCAyLCA1LCAzLCA0LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzE1MDRfNTo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRNQVB9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfV2FnbzE1MDRfNTo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1LCAwLCAxLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfV2FnbzE1MDRfNTo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIDIsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzE1MDRfNTo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkTUFQTywgZ19uU3RyaW5nSWRJTkR9OworCitjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIEZPUlRFX1dhZ28xNTA0XzU6OnNjbV9hc3RBZGFwdGVySW5zdGFuY2VzW10gPSB7Cit7Z19uU3RyaW5nSWRXYWdvQnVzQWRhcHRlciwgZ19uU3RyaW5nSWRCdXNBZGFwdGVyT3V0LCB0cnVlIH0sCit7Z19uU3RyaW5nSWRXYWdvQnVzQWRhcHRlciwgZ19uU3RyaW5nSWRCdXNBZGFwdGVySW4sIGZhbHNlIH19OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX1dhZ28xNTA0XzU6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDIsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgMTcsICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywKKyAgMiwgIHNjbV9hbkRhdGFPdXRwdXROYW1lcywgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHMsCisgIDIsc2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXN9OworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ28xNTA0XzUuaCBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2FnbzE1MDRfNS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyM2U4ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ28xNTA0XzUuaApAQCAtMCwwICsxLDE0MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKiogRk9SVEUgTGlicmFyeSBFbGVtZW50CisgKioqCisgKioqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHVzaW5nIHRoZSA0RElBQyBGT1JURSBFeHBvcnQgRmlsdGVyIFYxLjAueCEKKyAqKioKKyAqKiogTmFtZTogV2FnbzE1MDRfNQorICoqKiBEZXNjcmlwdGlvbjogU2VydmljZSBJbnRlcmZhY2UgRnVuY3Rpb24gQmxvY2sgVHlwZQorICoqKiBWZXJzaW9uOgorICoqKiAgICAgMC4wOiAyMDE2LTExLTMwLzRESUFDLUlERSAtIDRESUFDLUNvbnNvcnRpdW0gLQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgX1dBR08xNTA0XzVfSF8KKyNkZWZpbmUgX1dBR08xNTA0XzVfSF8KKworI2luY2x1ZGUgPGZ1bmNibG9jLmg+CisjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgorI2luY2x1ZGUgPGZvcnRlX3dzdHJpbmcuaD4KKyNpbmNsdWRlICJXYWdvQnVzQWRhcHRlci5oIgorI2luY2x1ZGUgIndhZ29TbGF2ZUJhc2UuaCIKKworY2xhc3MgRk9SVEVfV2FnbzE1MDRfNTogcHVibGljIFdhZ29TbGF2ZUJhc2V7CisgIERFQ0xBUkVfRklSTVdBUkVfRkIoRk9SVEVfV2FnbzE1MDRfNSkKKworICBwdWJsaWM6CisgICAgRlVOQ1RJT05fQkxPQ0tfQ1RPUl9GT1JfV0FHT19TTEFWRVMoRk9SVEVfV2FnbzE1MDRfNSwgMzY4NjYpeworICAgIH07CisKKyAgICB2aXJ0dWFsIH5GT1JURV9XYWdvMTUwNF81KCl7fTsKKworICBwcm90ZWN0ZWQ6CisKKyAgICBJTklUX0hBTkxETEVTKDAsIDE2LCAwLCAwKQorCisgIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0TmFtZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzW107CisgICAgQ0lFQ19CT09MICZRSSgpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRESSgwKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF8xKCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsT3V0cHV0XzIoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMikpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxPdXRwdXRfMygpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgzKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF80KCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDQpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsT3V0cHV0XzUoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoNSkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxPdXRwdXRfNigpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg2KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF83KCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDcpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsT3V0cHV0XzgoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoOCkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxPdXRwdXRfOSgpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg5KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF8xMCgpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxMCkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxPdXRwdXRfMTEoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMTEpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsT3V0cHV0XzEyKCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEyKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF8xMygpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxMykpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxPdXRwdXRfMTQoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMTQpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsT3V0cHV0XzE1KCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDE1KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF8xNigpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxNikpOworICAgIH07CisKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICAgIENJRUNfQk9PTCAmUU8oKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oZ2V0RE8oMCkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJlNUQVRVUygpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRETygxKSk7CisgICAgfTsKKworICAgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgICAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FSVdpdGhbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudElucHV0TmFtZXNbXTsKKworICAgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgICAgc3RhdGljIGNvbnN0IFREYXRhSU9JRCBzY21fYW5FT1dpdGhbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5FdmVudE91dHB1dE5hbWVzW107CisKKyAgICBzdGF0aWMgY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiBzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdOworCisgICAgRk9SVEVfV2Fnb0J1c0FkYXB0ZXImIEJ1c0FkYXB0ZXJPdXQoKXsKKyAgICAgIHJldHVybiAoKnN0YXRpY19jYXN0PEZPUlRFX1dhZ29CdXNBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1swXSkpOworICAgIH07CisgICAgc3RhdGljIGNvbnN0IGludCBzY21fbkJ1c0FkYXB0ZXJPdXRBZHBOdW0gPSAwOworICAgIEZPUlRFX1dhZ29CdXNBZGFwdGVyJiBCdXNBZGFwdGVySW4oKXsKKyAgICAgIHJldHVybiAoKnN0YXRpY19jYXN0PEZPUlRFX1dhZ29CdXNBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1sxXSkpOworICAgIH07CisgICAgc3RhdGljIGNvbnN0IGludCBzY21fbkJ1c0FkYXB0ZXJJbkFkcE51bSA9IDE7CisgICAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworCisgICAgRk9SVEVfRkJfREFUQV9BUlJBWSgyLCAxNywgMiwgMik7CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy9XYWdvMTUwNi5jcHAgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ28xNTA2LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTg0N2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy9XYWdvMTUwNi5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKiogRk9SVEUgTGlicmFyeSBFbGVtZW50CisgKioqCisgKioqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHVzaW5nIHRoZSA0RElBQyBGT1JURSBFeHBvcnQgRmlsdGVyIFYxLjAueCEKKyAqKioKKyAqKiogTmFtZTogV2FnbzE1MDYKKyAqKiogRGVzY3JpcHRpb246IFNlcnZpY2UgSW50ZXJmYWNlIEZ1bmN0aW9uIEJsb2NrIFR5cGUKKyAqKiogVmVyc2lvbjogCisgKioqICAgICAwLjA6IDIwMTYtMTEtMzAvNERJQUMtSURFIC0gNERJQUMtQ29uc29ydGl1bSAtIAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJXYWdvMTUwNi5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIldhZ28xNTA2X2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX1dhZ28xNTA2LCBnX25TdHJpbmdJZFdhZ28xNTA2KQorCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ28xNTA2OjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUUksIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzEsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzIsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzMsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzQsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzUsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzYsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzcsIGdfblN0cmluZ0lkRGlnaXRhbElucHV0XzgsIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF8xLCBnX25TdHJpbmdJZERpZ2l0YWxPdXRwdXRfMiwgZ19uU3RyaW5nSWREaWdpdGFsT3V0cHV0XzMsIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF80LCBnX25TdHJpbmdJZERpZ2l0YWxPdXRwdXRfNSwgZ19uU3RyaW5nSWREaWdpdGFsT3V0cHV0XzYsIGdfblN0cmluZ0lkRGlnaXRhbE91dHB1dF83LCBnX25TdHJpbmdJZERpZ2l0YWxPdXRwdXRfOH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzE1MDY6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzE1MDY6OnNjbV9hbkRhdGFPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUU8sIGdfblN0cmluZ0lkU1RBVFVTfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvMTUwNjo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX1dhZ28xNTA2OjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfV2FnbzE1MDY6OnNjbV9hbkVJV2l0aFtdID0gezEsIDIsIDUsIDMsIDQsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvMTUwNjo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRNQVB9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfV2FnbzE1MDY6OnNjbV9hbkVPV2l0aFtdID0gezAsIDI1NSwgMCwgMSwgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX1dhZ28xNTA2OjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgMiwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvMTUwNjo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkTUFQTywgZ19uU3RyaW5nSWRJTkR9OworCitjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIEZPUlRFX1dhZ28xNTA2OjpzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdID0gewore2dfblN0cmluZ0lkV2Fnb0J1c0FkYXB0ZXIsIGdfblN0cmluZ0lkQnVzQWRhcHRlck91dCwgdHJ1ZSB9LAore2dfblN0cmluZ0lkV2Fnb0J1c0FkYXB0ZXIsIGdfblN0cmluZ0lkQnVzQWRhcHRlckluLCBmYWxzZSB9fTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9XYWdvMTUwNjo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMiwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxNywgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAyLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMixzY21fYXN0QWRhcHRlckluc3RhbmNlc307CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ28xNTA2LmggYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ28xNTA2LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMyYzI2MgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2FnbzE1MDYuaApAQCAtMCwwICsxLDE0MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKiogRk9SVEUgTGlicmFyeSBFbGVtZW50CisgKioqCisgKioqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHVzaW5nIHRoZSA0RElBQyBGT1JURSBFeHBvcnQgRmlsdGVyIFYxLjAueCEKKyAqKioKKyAqKiogTmFtZTogV2FnbzE1MDYKKyAqKiogRGVzY3JpcHRpb246IFNlcnZpY2UgSW50ZXJmYWNlIEZ1bmN0aW9uIEJsb2NrIFR5cGUKKyAqKiogVmVyc2lvbjoKKyAqKiogICAgIDAuMDogMjAxNi0xMS0zMC80RElBQy1JREUgLSA0RElBQy1Db25zb3J0aXVtIC0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9XQUdPMTUwNl9IXworI2RlZmluZSBfV0FHTzE1MDZfSF8KKworI2luY2x1ZGUgPGZ1bmNibG9jLmg+CisjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgorI2luY2x1ZGUgPGZvcnRlX3dzdHJpbmcuaD4KKyNpbmNsdWRlICJXYWdvQnVzQWRhcHRlci5oIgorI2luY2x1ZGUgIndhZ29TbGF2ZUJhc2UuaCIKKworY2xhc3MgRk9SVEVfV2FnbzE1MDY6IHB1YmxpYyBXYWdvU2xhdmVCYXNlIHsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9XYWdvMTUwNikKKworICBwdWJsaWM6CisgICAgRlVOQ1RJT05fQkxPQ0tfQ1RPUl9GT1JfV0FHT19TTEFWRVMoRk9SVEVfV2FnbzE1MDYsIDM0ODMxKXsKKyAgICB9OworCisgICAgdmlydHVhbCB+Rk9SVEVfV2FnbzE1MDYoKXt9OworCisgIHByb3RlY3RlZDoKKworICAgIElOSVRfSEFOTERMRVMoOCwgOCwgMCwgMCkKKworICBwcml2YXRlOgorICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICAgIENJRUNfQk9PTCAmUUkoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERJKDApKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsSW5wdXRfMSgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMSkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxJbnB1dF8yKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgyKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbElucHV0XzMoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDMpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsSW5wdXRfNCgpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoNCkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxJbnB1dF81KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg1KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbElucHV0XzYoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDYpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsSW5wdXRfNygpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoNykpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxJbnB1dF84KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg4KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF8xKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSg5KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF8yKCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxMCkpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxPdXRwdXRfMygpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMTEpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsT3V0cHV0XzQoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEyKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF81KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxMykpOworICAgIH07CisKKyAgICBDSUVDX1dTVFJJTkcgJkRpZ2l0YWxPdXRwdXRfNigpIHsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkoMTQpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZEaWdpdGFsT3V0cHV0XzcoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDE1KSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmRGlnaXRhbE91dHB1dF84KCkgeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESSgxNikpOworICAgIH07CisKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICAgIENJRUNfQk9PTCAmUU8oKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERPKDApKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZTVEFUVVMoKSB7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERPKDEpKTsKKyAgICB9OworCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICAgIHN0YXRpYyBjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIHNjbV9hc3RBZGFwdGVySW5zdGFuY2VzW107CisKKyAgICBGT1JURV9XYWdvQnVzQWRhcHRlciYgQnVzQWRhcHRlck91dCgpIHsKKyAgICAgIHJldHVybiAoKnN0YXRpY19jYXN0PEZPUlRFX1dhZ29CdXNBZGFwdGVyKj4obV9hcG9BZGFwdGVyc1swXSkpOworICAgIH07CisgICAgc3RhdGljIGNvbnN0IGludCBzY21fbkJ1c0FkYXB0ZXJPdXRBZHBOdW0gPSAwOworICAgIEZPUlRFX1dhZ29CdXNBZGFwdGVyJiBCdXNBZGFwdGVySW4oKSB7CisgICAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxGT1JURV9XYWdvQnVzQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMV0pKTsKKyAgICB9OworICAgIHN0YXRpYyBjb25zdCBpbnQgc2NtX25CdXNBZGFwdGVySW5BZHBOdW0gPSAxOworICAgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMiwgMTcsIDIsIDIpOworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2FnbzQ1OS5jcHAgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ280NTkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlYzM4MDgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ280NTkuY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqIEZPUlRFIExpYnJhcnkgRWxlbWVudAorICoqKgorICoqKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCB1c2luZyB0aGUgNERJQUMgRk9SVEUgRXhwb3J0IEZpbHRlciBWMS4wLnghCisgKioqCisgKioqIE5hbWU6IFdhZ280NTkKKyAqKiogRGVzY3JpcHRpb246IFNlcnZpY2UgSW50ZXJmYWNlIEZ1bmN0aW9uIEJsb2NrIFR5cGUKKyAqKiogVmVyc2lvbjogCisgKioqICAgICAwLjA6IDIwMTYtMTEtMzAvNERJQUMtSURFIC0gNERJQUMtQ29uc29ydGl1bSAtIAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJXYWdvNDU5LmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiV2FnbzQ1OV9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9GSVJNV0FSRV9GQihGT1JURV9XYWdvNDU5LCBnX25TdHJpbmdJZFdhZ280NTkpCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzQ1OTo6c2NtX2FuRGF0YUlucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFFJLCBnX25TdHJpbmdJZEFuYWxvZ0lucHV0XzEsIGdfblN0cmluZ0lkQW5hbG9nSW5wdXRfMiwgZ19uU3RyaW5nSWRBbmFsb2dJbnB1dF8zLCBnX25TdHJpbmdJZEFuYWxvZ0lucHV0XzR9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ280NTk6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFdTVFJJTkcsIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzQ1OTo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRRTywgZ19uU3RyaW5nSWRTVEFUVVN9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ280NTk6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRCT09MLCBnX25TdHJpbmdJZFdTVFJJTkd9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9XYWdvNDU5OjpzY21fYW5FSVdpdGhJbmRleGVzW10gPSB7MH07Citjb25zdCBURGF0YUlPSUQgRk9SVEVfV2FnbzQ1OTo6c2NtX2FuRUlXaXRoW10gPSB7MSwgMiwgMywgNCwgMCwgMjU1fTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzQ1OTo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRNQVB9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfV2FnbzQ1OTo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMjU1LCAwLCAxLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfV2FnbzQ1OTo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIDIsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2FnbzQ1OTo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkTUFQTywgZ19uU3RyaW5nSWRJTkR9OworCitjb25zdCBTQWRhcHRlckluc3RhbmNlRGVmIEZPUlRFX1dhZ280NTk6OnNjbV9hc3RBZGFwdGVySW5zdGFuY2VzW10gPSB7Cit7Z19uU3RyaW5nSWRXYWdvQnVzQWRhcHRlciwgZ19uU3RyaW5nSWRCdXNBZGFwdGVyT3V0LCB0cnVlIH0sCit7Z19uU3RyaW5nSWRXYWdvQnVzQWRhcHRlciwgZ19uU3RyaW5nSWRCdXNBZGFwdGVySW4sIGZhbHNlIH19OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX1dhZ280NTk6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsCisgIDIsICBzY21fYW5FdmVudE91dHB1dE5hbWVzLCAgc2NtX2FuRU9XaXRoLCBzY21fYW5FT1dpdGhJbmRleGVzLCAgNSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAyLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMixzY21fYXN0QWRhcHRlckluc3RhbmNlc307CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ280NTkuaCBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2FnbzQ1OS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZDkzOWEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ280NTkuaApAQCAtMCwwICsxLDkyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKiBGT1JURSBMaWJyYXJ5IEVsZW1lbnQKKyAqKioKKyAqKiogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgdXNpbmcgdGhlIDRESUFDIEZPUlRFIEV4cG9ydCBGaWx0ZXIgVjEuMC54IQorICoqKgorICoqKiBOYW1lOiBXYWdvNDU5CisgKioqIERlc2NyaXB0aW9uOiBTZXJ2aWNlIEludGVyZmFjZSBGdW5jdGlvbiBCbG9jayBUeXBlCisgKioqIFZlcnNpb246CisgKioqICAgICAwLjA6IDIwMTYtMTEtMzAvNERJQUMtSURFIC0gNERJQUMtQ29uc29ydGl1bSAtCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfV0FHTzQ1OV9IXworI2RlZmluZSBfV0FHTzQ1OV9IXworCisjaW5jbHVkZSA8ZnVuY2Jsb2MuaD4KKyNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+CisjaW5jbHVkZSA8Zm9ydGVfd3N0cmluZy5oPgorI2luY2x1ZGUgIldhZ29CdXNBZGFwdGVyLmgiCisjaW5jbHVkZSAid2Fnb1NsYXZlQmFzZS5oIgorCitjbGFzcyBGT1JURV9XYWdvNDU5OiBwdWJsaWMgV2Fnb1NsYXZlQmFzZXsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9XYWdvNDU5KQorCisgIHB1YmxpYzoKKyAgICBGVU5DVElPTl9CTE9DS19DVE9SX0ZPUl9XQUdPX1NMQVZFUyhGT1JURV9XYWdvNDU5LCA0NTkpeworICAgIH07CisKKyAgICB2aXJ0dWFsIH5GT1JURV9XYWdvNDU5KCl7fTsKKworICBwcm90ZWN0ZWQ6CisKKyAgICBJTklUX0hBTkxETEVTKDAsIDAsIDQsIDApCisKKyAgcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgICBDSUVDX0JPT0wgJlFJKCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERJKDApKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZBbmFsb2dJbnB1dF8xKCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDEpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZBbmFsb2dJbnB1dF8yKCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDIpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZBbmFsb2dJbnB1dF8zKCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDMpKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZBbmFsb2dJbnB1dF80KCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKDQpKTsKKyAgICB9OworCisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dE5hbWVzW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXTsKKyAgICBDSUVDX0JPT0wgJlFPKCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfQk9PTCo+KGdldERPKDApKTsKKyAgICB9OworCisgICAgQ0lFQ19XU1RSSU5HICZTVEFUVVMoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0RE8oMSkpOworICAgIH07CisKKyAgICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRUlXaXRoSW5kZXhlc1tdOworICAgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRUlXaXRoW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRJbnB1dE5hbWVzW107CisKKyAgICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICAgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgICAgc3RhdGljIGNvbnN0IFNBZGFwdGVySW5zdGFuY2VEZWYgc2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXNbXTsKKworICAgIEZPUlRFX1dhZ29CdXNBZGFwdGVyJiBCdXNBZGFwdGVyT3V0KCl7CisgICAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxGT1JURV9XYWdvQnVzQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMF0pKTsKKyAgICB9OworICAgIHN0YXRpYyBjb25zdCBpbnQgc2NtX25CdXNBZGFwdGVyT3V0QWRwTnVtID0gMDsKKyAgICBGT1JURV9XYWdvQnVzQWRhcHRlciYgQnVzQWRhcHRlckluKCl7CisgICAgICByZXR1cm4gKCpzdGF0aWNfY2FzdDxGT1JURV9XYWdvQnVzQWRhcHRlcio+KG1fYXBvQWRhcHRlcnNbMV0pKTsKKyAgICB9OworICAgIHN0YXRpYyBjb25zdCBpbnQgc2NtX25CdXNBZGFwdGVySW5BZHBOdW0gPSAxOworICAgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKKworICAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMiwgNSwgMiwgMik7CisKK307CisKKyNlbmRpZiAvL2Nsb3NlIHRoZSBpZmRlZiBzZXF1ZW5jZSBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUKKwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy9XYWdvQnVzQWRhcHRlci5jcHAgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ29CdXNBZGFwdGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWNkZWEwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy9XYWdvQnVzQWRhcHRlci5jcHAKQEAgLTAsMCArMSw1MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqKiogRk9SVEUgTGlicmFyeSBFbGVtZW50CisgKioqCisgKioqIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIHVzaW5nIHRoZSA0RElBQyBGT1JURSBFeHBvcnQgRmlsdGVyIFYxLjAueCEKKyAqKioKKyAqKiogTmFtZTogV2Fnb0J1c0FkYXB0ZXIKKyAqKiogRGVzY3JpcHRpb246IAorICoqKiBWZXJzaW9uOiAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiV2Fnb0J1c0FkYXB0ZXIuaCIKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJXYWdvQnVzQWRhcHRlcl9nZW4uY3BwIgorI2VuZGlmCisKK0RFRklORV9BREFQVEVSX1RZUEUoRk9SVEVfV2Fnb0J1c0FkYXB0ZXIsIGdfblN0cmluZ0lkV2Fnb0J1c0FkYXB0ZXIpCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2Fnb0J1c0FkYXB0ZXI6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRRT307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2Fnb0J1c0FkYXB0ZXI6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0x9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ29CdXNBZGFwdGVyOjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFFJLCBnX25TdHJpbmdJZE1hc3RlcklkLCBnX25TdHJpbmdJZEluZGV4fTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvQnVzQWRhcHRlcjo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkVUlOVCwgZ19uU3RyaW5nSWRVSU5UfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX1dhZ29CdXNBZGFwdGVyOjpzY21fYW5FSVdpdGhbXSA9IHswLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfV2Fnb0J1c0FkYXB0ZXI6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ29CdXNBZGFwdGVyOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOSVRPfTsKKworY29uc3QgVERhdGFJT0lEIEZPUlRFX1dhZ29CdXNBZGFwdGVyOjpzY21fYW5FT1dpdGhbXSA9IHsyLCAxLCAwLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfV2Fnb0J1c0FkYXB0ZXI6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ29CdXNBZGFwdGVyOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRJTklUfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9XYWdvQnVzQWRhcHRlcjo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjU29ja2V0ID0geworICAxLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMSwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAxLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDMsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEZPUlRFX1dhZ29CdXNBZGFwdGVyOjpzY21fc3RGQkludGVyZmFjZVNwZWNQbHVnID0geworICAxLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgIHNjbV9hbkVPV2l0aEluZGV4ZXMsCisgIDEsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsIHNjbV9hbkVJV2l0aEluZGV4ZXMsICAzLCAgc2NtX2FuRGF0YU91dHB1dE5hbWVzLCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkcywKKyAgMSwgIHNjbV9hbkRhdGFJbnB1dE5hbWVzLCBzY21fYW5EYXRhSW5wdXRUeXBlSWRzLAorICAwLCAwCit9OworCitjb25zdCBURm9ydGVVSW50OCBGT1JURV9XYWdvQnVzQWRhcHRlcjo6c2NtU2xhdmVDb25maWd1cmF0aW9uSU9bXSA9IHsgfTsKK2NvbnN0IFRGb3J0ZVVJbnQ4IEZPUlRFX1dhZ29CdXNBZGFwdGVyOjpzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT051bSA9IDA7CisKKworCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ29CdXNBZGFwdGVyLmggYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ29CdXNBZGFwdGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI2ZGRmZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2Fnb0J1c0FkYXB0ZXIuaApAQCAtMCwwICsxLDgwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKiBGT1JURSBMaWJyYXJ5IEVsZW1lbnQKKyAqKioKKyAqKiogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgdXNpbmcgdGhlIDRESUFDIEZPUlRFIEV4cG9ydCBGaWx0ZXIgVjEuMC54IQorICoqKgorICoqKiBOYW1lOiBXYWdvQnVzQWRhcHRlcgorICoqKiBEZXNjcmlwdGlvbjoKKyAqKiogVmVyc2lvbjoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIF9XQUdPQlVTQURBUFRFUl9IXworI2RlZmluZSBfV0FHT0JVU0FEQVBURVJfSF8KKworI2luY2x1ZGUgIi4uLy4uLy4uLy4uL2NvcmUvaW8vY29uZmlnRkIvaW9fYWRhcHRlcl9tdWx0aS5oIgorI2luY2x1ZGUgPHR5cGVsaWIuaD4KKyNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+CisjaW5jbHVkZSA8Zm9ydGVfdWludC5oPgorCitjbGFzcyBGT1JURV9XYWdvQnVzQWRhcHRlciA6IHB1YmxpYyBmb3J0ZTo6Y29yZTo6aW86OklPQ29uZmlnRkJNdWx0aUFkYXB0ZXIgeworICBERUNMQVJFX0FEQVBURVJfVFlQRShGT1JURV9XYWdvQnVzQWRhcHRlcikKKworICBwdWJsaWM6CisKKyAgICBBREFQVEVSX0NUT1JfRk9SX0lPX01VTFRJIChGT1JURV9XYWdvQnVzQWRhcHRlcil7CisgICAgfTsKKworICAgIHN0YXRpYyBjb25zdCBURm9ydGVVSW50OCBzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT1tdOworICAgIHN0YXRpYyBjb25zdCBURm9ydGVVSW50OCBzY21TbGF2ZUNvbmZpZ3VyYXRpb25JT051bTsKKworICAgIHZpcnR1YWwgfkZPUlRFX1dhZ29CdXNBZGFwdGVyKCl7fTsKKworICAgIENJRUNfQk9PTCAmUU8oKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oKGlzU29ja2V0KCkpID8gZ2V0REkoMCkgOiBnZXRETygwKSk7CisgICAgfTsKKworICAgIENJRUNfQk9PTCAmUUkoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oKGlzU29ja2V0KCkpID8gZ2V0RE8oMCkgOiBnZXRESSgwKSk7CisgICAgfTsKKworICAgIENJRUNfVUlOVCAmTWFzdGVySWQoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4oKGlzU29ja2V0KCkpID8gZ2V0RE8oMSkgOiBnZXRESSgxKSk7CisgICAgfTsKKworICAgIENJRUNfVUlOVCAmSW5kZXgoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19VSU5UKj4oKGlzU29ja2V0KCkpID8gZ2V0RE8oMikgOiBnZXRESSgyKSk7CisgICAgfTsKKworICAgIGludCBJTklUTygpeworICAgICAgcmV0dXJuIG1fblBhcmVudEFkYXB0ZXJMaXN0RXZlbnRJRCArIHNjbV9uRXZlbnRJTklUT0lEOworICAgIH0KKworICAgIGludCBJTklUKCl7CisgICAgICByZXR1cm4gbV9uUGFyZW50QWRhcHRlckxpc3RFdmVudElEICsgc2NtX25FdmVudElOSVRJRDsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhSW5wdXROYW1lc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0TmFtZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVPV2l0aEluZGV4ZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVPV2l0aFtdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICAgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlY1NvY2tldDsKKyAgICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWNQbHVnOworCisgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRJTklUT0lEID0gMDsKKyAgICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudElOSVRJRCA9IDA7CisKKyAgICBGT1JURV9BREFQVEVSX0RBVEFfQVJSQVkoMSwgMSwgMSwgMywgMCk7Cit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2Fnb01hc3Rlci5jcHAgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ29NYXN0ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3Mzk3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ29NYXN0ZXIuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqIEZPUlRFIExpYnJhcnkgRWxlbWVudAorICoqKgorICoqKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCB1c2luZyB0aGUgNERJQUMgRk9SVEUgRXhwb3J0IEZpbHRlciBWMS4wLnghCisgKioqCisgKioqIE5hbWU6IFdhZ29NYXN0ZXIKKyAqKiogRGVzY3JpcHRpb246IFNlcnZpY2UgSW50ZXJmYWNlIEZ1bmN0aW9uIEJsb2NrIFR5cGUKKyAqKiogVmVyc2lvbjoKKyAqKiogICAgIDEuMDogMjAxOC0wOS0xMi9jYWJyYWwgLSBudWxsIC0KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaW5jbHVkZSAiV2Fnb01hc3Rlci5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIldhZ29NYXN0ZXJfZ2VuLmNwcCIKKyNlbmRpZgorCisjaW5jbHVkZSAiLi4vd2Fnb0RldmljZUNvbnRyb2xsZXIuaCIKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX1dhZ29NYXN0ZXIsIGdfblN0cmluZ0lkV2Fnb01hc3RlcikKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvTWFzdGVyOjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUUksIGdfblN0cmluZ0lkVXBkYXRlSW50ZXJ2YWx9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX1dhZ29NYXN0ZXI6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHsgZ19uU3RyaW5nSWRCT09MLCBnX25TdHJpbmdJZFVJTlQgfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvTWFzdGVyOjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFFPLCBnX25TdHJpbmdJZFNUQVRVU307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2Fnb01hc3Rlcjo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkV1NUUklOR307CisKK2NvbnN0IFRGb3J0ZUludDE2IEZPUlRFX1dhZ29NYXN0ZXI6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswfTsKK2NvbnN0IFREYXRhSU9JRCBGT1JURV9XYWdvTWFzdGVyOjpzY21fYW5FSVdpdGhbXSA9IHswLCAxLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9XYWdvTWFzdGVyOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOSVR9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfV2Fnb01hc3Rlcjo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMSwgMjU1LCAxLCAwLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfV2Fnb01hc3Rlcjo6c2NtX2FuRU9XaXRoSW5kZXhlc1tdID0gezAsIDMsIC0xfTsKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfV2Fnb01hc3Rlcjo6c2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdID0ge2dfblN0cmluZ0lkSU5JVE8sIGdfblN0cmluZ0lkSU5EfTsKKworY29uc3QgU0FkYXB0ZXJJbnN0YW5jZURlZiBGT1JURV9XYWdvTWFzdGVyOjpzY21fYXN0QWRhcHRlckluc3RhbmNlc1tdID0gewore2dfblN0cmluZ0lkV2Fnb0J1c0FkYXB0ZXIsIGdfblN0cmluZ0lkQnVzQWRhcHRlck91dCwgdHJ1ZSB9fTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9XYWdvTWFzdGVyOjpzY21fc3RGQkludGVyZmFjZVNwZWMgPSB7CisgIDEsICBzY21fYW5FdmVudElucHV0TmFtZXMsICBzY21fYW5FSVdpdGgsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAyLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDIsICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywKKyAgMiwgIHNjbV9hbkRhdGFPdXRwdXROYW1lcywgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHMsCisgIDEsc2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXN9OworCit2b2lkIEZPUlRFX1dhZ29NYXN0ZXI6OnNldEluaXRpYWxWYWx1ZXMoKXsKKyAgVXBkYXRlSW50ZXJ2YWwoKSA9IDI1OworfQorCit2b2lkIEZPUlRFX1dhZ29NYXN0ZXI6OnNldENvbmZpZygpIHsKKyAgV2Fnb0RldmljZUNvbnRyb2xsZXI6OldhZ29Db25maWcgY29uZmlnOworICBjb25maWcudXBkYXRlSW50ZXJ2YWwgPSBVcGRhdGVJbnRlcnZhbCgpOworICBnZXREZXZpY2VDb250cm9sbGVyKCktPnNldENvbmZpZygmY29uZmlnKTsKK30KKworZm9ydGU6OmNvcmU6OmlvOjpJT0RldmljZUNvbnRyb2xsZXIqIEZPUlRFX1dhZ29NYXN0ZXI6OmNyZWF0ZURldmljZUNvbnRyb2xsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pIHsKKyAgcmV0dXJuIG5ldyBXYWdvRGV2aWNlQ29udHJvbGxlcihwYURldmljZUV4ZWN1dGlvbik7Cit9CmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ29NYXN0ZXIuaCBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvV2Fnb01hc3Rlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2YjdiODEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL1dhZ29NYXN0ZXIuaApAQCAtMCwwICsxLDgwIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKiBGT1JURSBMaWJyYXJ5IEVsZW1lbnQKKyAqKioKKyAqKiogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgdXNpbmcgdGhlIDRESUFDIEZPUlRFIEV4cG9ydCBGaWx0ZXIgVjEuMC54IQorICoqKgorICoqKiBOYW1lOiBXYWdvTWFzdGVyCisgKioqIERlc2NyaXB0aW9uOiBTZXJ2aWNlIEludGVyZmFjZSBGdW5jdGlvbiBCbG9jayBUeXBlCisgKioqIFZlcnNpb246CisgKioqICAgICAxLjA6IDIwMTgtMDktMTIvY2FicmFsIC0gbnVsbCAtCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBfV0FHT01BU1RFUl9IXworI2RlZmluZSBfV0FHT01BU1RFUl9IXworCisjaW5jbHVkZSAiLi4vLi4vLi4vLi4vY29yZS9pby9jb25maWdGQi9pb19tYXN0ZXJfbXVsdGkuaCIKKyNpbmNsdWRlICJXYWdvQnVzQWRhcHRlci5oIgorCitjbGFzcyBGT1JURV9XYWdvTWFzdGVyIDogcHVibGljIGZvcnRlOjpjb3JlOjppbzo6SU9Db25maWdGQk11bHRpTWFzdGVyIHsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9XYWdvTWFzdGVyKQorCisgIHB1YmxpYzoKKyAgICBGVU5DVElPTl9CTE9DS19DVE9SX1dJVEhfQkFTRV9DTEFTUyhGT1JURV9XYWdvTWFzdGVyLCBmb3J0ZTo6Y29yZTo6aW86OklPQ29uZmlnRkJNdWx0aU1hc3Rlcil7CisgICAgfTsKKworICAgIHZpcnR1YWwgfkZPUlRFX1dhZ29NYXN0ZXIoKXt9OworCisgICAgQ0lFQ19CT09MICZRTygpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRETygwKSk7CisgICAgfTsKKworICAgIENJRUNfV1NUUklORyAmU1RBVFVTKCl7CisgICAgICByZXR1cm4gKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERPKDEpKTsKKyAgICB9OworCisgICAgQ0lFQ19CT09MICZRSSgpeworICAgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRESSgwKSk7CisgICAgfTsKKworICAgIENJRUNfQk9PTCAmVXBkYXRlSW50ZXJ2YWwoKXsKKyAgICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4oZ2V0REkoMSkpOworICAgIH07CisKKyAgICBGT1JURV9XYWdvQnVzQWRhcHRlciYgQnVzQWRhcHRlck91dCgpeworICAgICAgcmV0dXJuICgqc3RhdGljX2Nhc3Q8Rk9SVEVfV2Fnb0J1c0FkYXB0ZXIqPihtX2Fwb0FkYXB0ZXJzWzBdKSk7CisgICAgfTsKKworICBwcml2YXRlOgorICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFJbnB1dE5hbWVzW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW107CisKKyAgICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudElOSVRJRCA9IDA7CisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9hbkVJV2l0aEluZGV4ZXNbXTsKKyAgICBzdGF0aWMgY29uc3QgVERhdGFJT0lEIHNjbV9hbkVJV2l0aFtdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgICAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRJTklUT0lEID0gMDsKKyAgICBzdGF0aWMgY29uc3QgVEV2ZW50SUQgc2NtX25FdmVudElORElEID0gMTsKKyAgICBzdGF0aWMgY29uc3QgVEZvcnRlSW50MTYgc2NtX2FuRU9XaXRoSW5kZXhlc1tdOworICAgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX2FuRXZlbnRPdXRwdXROYW1lc1tdOworCisgICAgc3RhdGljIGNvbnN0IFNBZGFwdGVySW5zdGFuY2VEZWYgc2NtX2FzdEFkYXB0ZXJJbnN0YW5jZXNbXTsKKworICAgIHN0YXRpYyBjb25zdCBpbnQgc2NtX25CdXNBZGFwdGVyT3V0QWRwTnVtID0gMDsKKyAgICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgICBGT1JURV9GQl9EQVRBX0FSUkFZKDIsIDIsIDIsIDEpOworCisgIHZpcnR1YWwgdm9pZCBzZXRJbml0aWFsVmFsdWVzKCk7CisKKyAgZm9ydGU6OmNvcmU6OmlvOjpJT0RldmljZUNvbnRyb2xsZXIqIGNyZWF0ZURldmljZUNvbnRyb2xsZXIoQ0RldmljZUV4ZWN1dGlvbiYgcGFEZXZpY2VFeGVjdXRpb24pOworCisgICAgdm9pZCBzZXRDb25maWcoKTsKKworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3R5cGVzL3dhZ29TbGF2ZUJhc2UuY3BwIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy93YWdvU2xhdmVCYXNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDZkMzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy93YWdvU2xhdmVCYXNlLmNwcApAQCAtMCwwICsxLDU2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoqKiBGT1JURSBMaWJyYXJ5IEVsZW1lbnQKKyAqKioKKyAqKiogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgdXNpbmcgdGhlIDRESUFDIEZPUlRFIEV4cG9ydCBGaWx0ZXIgVjEuMC54IQorICoqKgorICoqKiBOYW1lOiBXYWdvMTUwNgorICoqKiBEZXNjcmlwdGlvbjogU2VydmljZSBJbnRlcmZhY2UgRnVuY3Rpb24gQmxvY2sgVHlwZQorICoqKiBWZXJzaW9uOgorICoqKiAgICAgMC4wOiAyMDE2LTExLTMwLzRESUFDLUlERSAtIDRESUFDLUNvbnNvcnRpdW0gLQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJ3YWdvU2xhdmVCYXNlLmgiCisjaW5jbHVkZSAiLi4vd2Fnb0RldmljZUNvbnRyb2xsZXIuaCIKKworY29uc3QgVEZvcnRlVUludDggV2Fnb1NsYXZlQmFzZTo6c2NtU2xhdmVDb25maWd1cmF0aW9uSU9bXSA9IHsgfTsKK2NvbnN0IFRGb3J0ZVVJbnQ4IFdhZ29TbGF2ZUJhc2U6OnNjbVNsYXZlQ29uZmlndXJhdGlvbklPTnVtID0gMDsKKworV2Fnb1NsYXZlQmFzZTo6V2Fnb1NsYXZlQmFzZShpbnQgcGFUeXBlLCBDUmVzb3VyY2UqIHBhUmVzb3VyY2UsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIHBhSW50ZXJmYWNlU3BlYywgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLAorICAgIFRGb3J0ZUJ5dGUqIHBhRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSogcGFGQlZhcnNEYXRhKSA6CisgICAgICAgIGZvcnRlOjpjb3JlOjppbzo6SU9Db25maWdGQk11bHRpU2xhdmUoc2NtU2xhdmVDb25maWd1cmF0aW9uSU8sIHNjbVNsYXZlQ29uZmlndXJhdGlvbklPTnVtLCBwYVR5cGUsIHBhUmVzb3VyY2UsIHBhSW50ZXJmYWNlU3BlYywgcGFJbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgICBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSkgeworfQorCit2b2lkIFdhZ29TbGF2ZUJhc2U6OmluaXRIYW5kbGVzQmFzZShzaXplX3QgcGFOdW1iZXJPZkJvb2xJbnB1dHMsIHNpemVfdCBwYU51bWJlck9mQm9vbE91dHB1dHMsIHNpemVfdCBwYU51bWJlck9mQW5hbG9nSW5wdXRzLCBzaXplX3QgcGFOdW1iZXJPZkFuYWxvZ091dHB1dHMpIHsKKyAgc2l6ZV90IG9mZnNldCA9IDE7IC8vc2tpcCBRSQorCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBwYU51bWJlck9mQm9vbElucHV0czsgaSsrKSB7CisgICAgV2Fnb0RldmljZUNvbnRyb2xsZXI6OldhZ29IYW5kbGVEZXNjcmlwdG9yIGRlc2MgPSBXYWdvRGV2aWNlQ29udHJvbGxlcjo6V2Fnb0hhbmRsZURlc2NyaXB0b3IoKnN0YXRpY19jYXN0PENJRUNfV1NUUklORyo+KGdldERJKG9mZnNldCArIGkpKSwKKyAgICAgIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkluLCBtSW5kZXgsIENJRUNfQU5ZOjplX0JPT0wsIHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQzMj4oaSkpOworICAgIGluaXRIYW5kbGUoJmRlc2MpOworICB9CisKKyAgb2Zmc2V0ICs9IHBhTnVtYmVyT2ZCb29sSW5wdXRzOworCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBwYU51bWJlck9mQm9vbE91dHB1dHM7IGkrKykgeworICAgIFdhZ29EZXZpY2VDb250cm9sbGVyOjpXYWdvSGFuZGxlRGVzY3JpcHRvciBkZXNjID0gV2Fnb0RldmljZUNvbnRyb2xsZXI6OldhZ29IYW5kbGVEZXNjcmlwdG9yKCpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESShvZmZzZXQgKyBpKSksCisgICAgICBmb3J0ZTo6Y29yZTo6aW86OklPTWFwcGVyOjpPdXQsIG1JbmRleCwgQ0lFQ19BTlk6OmVfQk9PTCwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPihpKSk7CisgICAgaW5pdEhhbmRsZSgmZGVzYyk7CisgIH0KKworICBvZmZzZXQgKz0gcGFOdW1iZXJPZkJvb2xPdXRwdXRzOworCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBwYU51bWJlck9mQW5hbG9nSW5wdXRzOyBpKyspIHsKKyAgICBXYWdvRGV2aWNlQ29udHJvbGxlcjo6V2Fnb0hhbmRsZURlc2NyaXB0b3IgZGVzYyA9IFdhZ29EZXZpY2VDb250cm9sbGVyOjpXYWdvSGFuZGxlRGVzY3JpcHRvcigqc3RhdGljX2Nhc3Q8Q0lFQ19XU1RSSU5HKj4oZ2V0REkob2Zmc2V0ICsgaSkpLAorICAgICAgZm9ydGU6OmNvcmU6OmlvOjpJT01hcHBlcjo6SW4sIG1JbmRleCwgQ0lFQ19BTlk6OmVfV09SRCwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPihpKSk7CisgICAgaW5pdEhhbmRsZSgmZGVzYyk7CisgIH0KKworICBvZmZzZXQgKz0gcGFOdW1iZXJPZkFuYWxvZ0lucHV0czsKKworICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgcGFOdW1iZXJPZkFuYWxvZ091dHB1dHM7IGkrKykgeworICAgIFdhZ29EZXZpY2VDb250cm9sbGVyOjpXYWdvSGFuZGxlRGVzY3JpcHRvciBkZXNjID0gV2Fnb0RldmljZUNvbnRyb2xsZXI6OldhZ29IYW5kbGVEZXNjcmlwdG9yKCpzdGF0aWNfY2FzdDxDSUVDX1dTVFJJTkcqPihnZXRESShvZmZzZXQgKyBpKSksCisgICAgICBmb3J0ZTo6Y29yZTo6aW86OklPTWFwcGVyOjpPdXQsIG1JbmRleCwgQ0lFQ19BTlk6OmVfV09SRCwgc3RhdGljX2Nhc3Q8VEZvcnRlVUludDMyPihpKSk7CisgICAgaW5pdEhhbmRsZSgmZGVzYyk7CisgIH0KK30KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvd2Fnb1NsYXZlQmFzZS5oIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci90eXBlcy93YWdvU2xhdmVCYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk4ODkwMgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvdHlwZXMvd2Fnb1NsYXZlQmFzZS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKioqIEZPUlRFIExpYnJhcnkgRWxlbWVudAorICoqKgorICoqKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCB1c2luZyB0aGUgNERJQUMgRk9SVEUgRXhwb3J0IEZpbHRlciBWMS4wLnghCisgKioqCisgKioqIE5hbWU6IFdhZ28xNTA2CisgKioqIERlc2NyaXB0aW9uOiBTZXJ2aWNlIEludGVyZmFjZSBGdW5jdGlvbiBCbG9jayBUeXBlCisgKioqIFZlcnNpb246CisgKioqICAgICAwLjA6IDIwMTYtMTEtMzAvNERJQUMtSURFIC0gNERJQUMtQ29uc29ydGl1bSAtCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBTUkNfTU9EVUxFU19XQUdPS0JVU19NT0RVTEFSX1RZUEVTX1dBR09TTEFWRUJBU0VfSF8KKyNkZWZpbmUgU1JDX01PRFVMRVNfV0FHT0tCVVNfTU9EVUxBUl9UWVBFU19XQUdPU0xBVkVCQVNFX0hfCisKKyNpbmNsdWRlICIuLi8uLi8uLi8uLi9jb3JlL2lvL2NvbmZpZ0ZCL2lvX3NsYXZlX211bHRpLmgiCisKKyNkZWZpbmUgRlVOQ1RJT05fQkxPQ0tfQ1RPUl9GT1JfV0FHT19TTEFWRVMoZmJjbGFzcywgdHlwZSkgXAorICBmYmNsYXNzKGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLCBDUmVzb3VyY2UgKnBhX3BvU3JjUmVzKSA6IFwKKyAgV2Fnb1NsYXZlQmFzZSh0eXBlLCBwYV9wb1NyY1JlcywgJnNjbV9zdEZCSW50ZXJmYWNlU3BlYywgcGFfbkluc3RhbmNlTmFtZUlkLCBtX2FuRkJDb25uRGF0YSwgbV9hbkZCVmFyc0RhdGEpCisKKyNkZWZpbmUgSU5JVF9IQU5MRExFUyhub09mQm9vbElucHV0cywgbm9PZkJvb2xPdXRwdXRzLCBub09mQW5hbG9nSW5wdXRzLCBub09mQW5hbG9nT3V0cHV0cykgXAorICAgdm9pZCBpbml0SGFuZGxlcygpIG92ZXJyaWRlIHtpbml0SGFuZGxlc0Jhc2Uobm9PZkJvb2xJbnB1dHMsIG5vT2ZCb29sT3V0cHV0cywgbm9PZkFuYWxvZ0lucHV0cywgbm9PZkFuYWxvZ091dHB1dHMpO307CisKK2NsYXNzIFdhZ29TbGF2ZUJhc2UgOiBwdWJsaWMgZm9ydGU6OmNvcmU6OmlvOjpJT0NvbmZpZ0ZCTXVsdGlTbGF2ZSB7CisKKyAgcHVibGljOgorICAgIFdhZ29TbGF2ZUJhc2UoaW50IHBhVHlwZSwgQ1Jlc291cmNlICpwYVJlc291cmNlLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYUludGVyZmFjZVNwZWMsIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgVEZvcnRlQnl0ZSAqcGFGQkNvbm5EYXRhLCBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpOworCisgICAgdmlydHVhbCB+V2Fnb1NsYXZlQmFzZSgpIHsKKyAgICB9CisKKyAgcHJvdGVjdGVkOgorCisgICAgdm9pZCBpbml0SGFuZGxlc0Jhc2Uoc2l6ZV90IHBhTnVtYmVyT2ZCb29sSW5wdXRzLCBzaXplX3QgcGFOdW1iZXJPZkJvb2xPdXRwdXRzLCBzaXplX3QgcGFOdW1iZXJPZkFuYWxvZ0lucHV0cywgc2l6ZV90IHBhTnVtYmVyT2ZBbmFsb2dPdXRwdXRzKTsKKworICAgIHZpcnR1YWwgdm9pZCBpbml0SGFuZGxlcygpID0gMDsKKworICBwcml2YXRlOgorCisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQ4IHNjbVNsYXZlQ29uZmlndXJhdGlvbklPW107CisgICAgc3RhdGljIGNvbnN0IFRGb3J0ZVVJbnQ4IHNjbVNsYXZlQ29uZmlndXJhdGlvbklPTnVtOworfTsKKworI2VuZGlmIC8qIFNSQ19NT0RVTEVTX1dBR09LQlVTX01PRFVMQVJfVFlQRVNfV0FHT1NMQVZFQkFTRV9IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci93YWdvRGV2aWNlQ29udHJvbGxlci5jcHAgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3dhZ29EZXZpY2VDb250cm9sbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjZmZmI3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci93YWdvRGV2aWNlQ29udHJvbGxlci5jcHAKQEAgLTAsMCArMSwxOTMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlICJ3YWdvRGV2aWNlQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIndhZ29IYW5kbGUuaCIKKyNpbmNsdWRlICIuLi8uLi8uLi9jb3JlL3V0aWxzL2NyaXRpY2FscmVnaW9uLmgiCisKK2NvbnN0IGNoYXIgKiBjb25zdCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6c2NtS0J1c0RldmljZU5hbWUgPSAibGlicGFja2J1cyI7CisKK2NvbnN0IGNoYXIgKiBjb25zdCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6c2NtRmFpbGVkVG9HZXRBcHBsaWNhdGlvbkludGVyZmFjZSA9ICJGYWlsZWQgdG8gZ2V0IHRoZSBhcHBsaWNhdGlvbiBJbnRlcmZhY2UiOworY29uc3QgY2hhciAqIGNvbnN0IFdhZ29EZXZpY2VDb250cm9sbGVyOjpzY21GYWlsZWRUb0luaXRpYWxpemVLQnVzID0KKyAgIkZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBLQnVzIGRldmljZS4gUHJvYmFibHkgdGhlcmUncyBhbm90aGVyIHByb2dyYW0gdGhhdCBpcyB1c2luZyB0aGUgYnVzIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6c2NtRmFpbGVkVG9TY2FuRGV2aWNlcyA9ICJGYWlsZWQgdG8gc2NhbiBkZXZpY2VzIG9uIHRoZSBLQnVzIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6c2NtRmFpbGVkVG9PcGVuS0J1c0RldmljZSA9ICJGYWlsZWQgdG8gb3BlbiBLQnVzIGRldmljZS4iOworCitjb25zdCBjaGFyICogY29uc3QgV2Fnb0RldmljZUNvbnRyb2xsZXI6OnNjbUZhaWxlZFRvQ3JlYXRlS0J1c0luZm8gPSAiQ2FsbCB0byBsZGtjX0tidXNJbmZvX0NyZWF0ZSgpIGZhaWxlZCI7Citjb25zdCBjaGFyICogY29uc3QgV2Fnb0RldmljZUNvbnRyb2xsZXI6OnNjbUZhaWxlZEdldFRlcm1pbmFsSW5mbyA9ICJDYWxsIHRvIGxka2NfS2J1c0luZm9fR2V0VGVybWluYWxJbmZvKCkgZmFpbGVkIjsKK2NvbnN0IGNoYXIgKiBjb25zdCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6c2NtRmFpbGVkR2V0VGVybWluYWxMaXN0ID0gIkNhbGwgdG8gbGRrY19LYnVzSW5mb19HZXRUZXJtaW5hbExpc3QoKSBmYWlsZWQiOworCitjb25zdCBjaGFyICogY29uc3QgV2Fnb0RldmljZUNvbnRyb2xsZXI6OnNjbUZhaWxlZFRvR2V0RGV2aWNlTGlzdCA9ICJGYWlsZWQgdG8gZ2V0IGRldmljZSBsaXN0IjsKKworV2Fnb0RldmljZUNvbnRyb2xsZXI6OldhZ29EZXZpY2VDb250cm9sbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA6CisgICAgZm9ydGU6OmNvcmU6OmlvOjpJT0RldmljZU11bHRpQ29udHJvbGxlcihwYURldmljZUV4ZWN1dGlvbiksIG1BcHBEZXZJbnRlcmZhY2UoMCksIG1UYXNrSWQoMCksIG1LQnVzRGV2aWNlSWQoc2NtSW52YWxpZERldmljZUlkKSwgbVRlcm1pbmFsQ291bnQoMCkgeworCisgIG1lbXNldChtVGVybWluYWxJZHMsIDAsIHNpemVvZihtVGVybWluYWxJZHMpKTsKKyAgbWVtc2V0KG1UZXJtaW5hbEluZm9zLCAwLCBzaXplb2YobVRlcm1pbmFsSW5mb3MpKTsKKyAgbUNvbmZpZy51cGRhdGVJbnRlcnZhbCA9IDI1OworfQorCitXYWdvRGV2aWNlQ29udHJvbGxlcjo6fldhZ29EZXZpY2VDb250cm9sbGVyKCkgeworICAvL2RvIG5vdGhpbmcKK30KKwordm9pZCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6c2V0Q29uZmlnKHN0cnVjdCBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlQ29udHJvbGxlcjo6Q29uZmlnKiBwYUNvbmZpZykgeworICB0aGlzLT5tQ29uZmlnID0gKnN0YXRpY19jYXN0PFdhZ29Db25maWcqPihwYUNvbmZpZyk7Cit9CisKK2NvbnN0IGNoYXIqIFdhZ29EZXZpY2VDb250cm9sbGVyOjppbml0KCkgeworICB0RGV2aWNlSW5mbyBkZXZpY2VMaXN0W3NjbU51bWJlck9mRGV2aWNlc1RvU2Nhbl07IC8vIHRoZSBsaXN0IG9mIGRldmljZXMgZ2l2ZW4gYnkgdGhlIEFESQorCisgIG1BcHBEZXZJbnRlcmZhY2UgPSBhZGlfR2V0QXBwbGljYXRpb25JbnRlcmZhY2UoKTsKKyAgaWYoIW1BcHBEZXZJbnRlcmZhY2UpIHsKKyAgICBERVZMT0dfRVJST1IoIltXYWdvRGV2aWNlQ29udHJvbGxlcl0gJXNcbiIsIHNjbUZhaWxlZFRvR2V0QXBwbGljYXRpb25JbnRlcmZhY2UpOworICAgIHJldHVybiBzY21GYWlsZWRUb0dldEFwcGxpY2F0aW9uSW50ZXJmYWNlOworICB9CisKKyAgaWYoREFMX1NVQ0NFU1MgIT0gbUFwcERldkludGVyZmFjZS0+SW5pdCgpKSB7CisgICAgREVWTE9HX0VSUk9SKCJbV2Fnb0RldmljZUNvbnRyb2xsZXJdICVzXG4iLCBzY21GYWlsZWRUb0luaXRpYWxpemVLQnVzKTsKKyAgICByZXR1cm4gc2NtRmFpbGVkVG9Jbml0aWFsaXplS0J1czsKKyAgfQorCisgIGlmKERBTF9TVUNDRVNTICE9IG1BcHBEZXZJbnRlcmZhY2UtPlNjYW5EZXZpY2VzKCkpIHsKKyAgICBERVZMT0dfRVJST1IoIltXYWdvRGV2aWNlQ29udHJvbGxlcl0gJXNcbiIsIHNjbUZhaWxlZFRvU2NhbkRldmljZXMpOworICAgIHJldHVybiBzY21GYWlsZWRUb1NjYW5EZXZpY2VzOworICB9CisKKyAgbUFwcERldkludGVyZmFjZS0+R2V0RGV2aWNlTGlzdChzaXplb2YoZGV2aWNlTGlzdCksIGRldmljZUxpc3QsICZtVGVybWluYWxDb3VudCk7IC8vYWx3YXlzIHJldHVybiBEQUxfU1VDQ0VTUworCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBtVGVybWluYWxDb3VudDsgKytpKSB7IC8vIGZpbmQga2J1cyBkZXZpY2UKKyAgICBpZigwID09IHN0cmNtcChkZXZpY2VMaXN0W2ldLkRldmljZU5hbWUsIHNjbUtCdXNEZXZpY2VOYW1lKSkgeworICAgICAgbUtCdXNEZXZpY2VJZCA9IGRldmljZUxpc3RbaV0uRGV2aWNlSWQ7CisgICAgICBpZigwICE9IG1BcHBEZXZJbnRlcmZhY2UtPk9wZW5EZXZpY2UobUtCdXNEZXZpY2VJZCkpIHsKKyAgICAgICAgREVWTE9HX0VSUk9SKCJbV2Fnb0RldmljZUNvbnRyb2xsZXJdICVzIFxuIiwgc2NtRmFpbGVkVG9PcGVuS0J1c0RldmljZSk7CisgICAgICAgIHJldHVybiBzY21GYWlsZWRUb09wZW5LQnVzRGV2aWNlOworICAgICAgfQorCisgICAgICByZXR1cm4gbG9hZFRlcm1pbmFsSW5mb3JtYXRpb24oKTsKKyAgICB9CisgIH0KKworICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgbVRlcm1pbmFsQ291bnQ7IGkrKykgeworICAgIERFVkxPR19JTkZPKCJbV2Fnb0RldmljZUNvbnRyb2xsZXJdIEZvdW5kIGRldmljZSB3aXRoIElEOiAlZFxuIiwgbVRlcm1pbmFsSWRzW2ldKTsKKyAgfQorCisgIHJldHVybiAwOworfQorCitmb3J0ZTo6Y29yZTo6aW86OklPSGFuZGxlKiBXYWdvRGV2aWNlQ29udHJvbGxlcjo6aW5pdEhhbmRsZShmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlQ29udHJvbGxlcjo6SGFuZGxlRGVzY3JpcHRvciAqcGFIYW5kbGVEZXNjcmlwdG9yKSB7CisgIFdhZ29IYW5kbGVEZXNjcmlwdG9yIGRlc2MgPSAqc3RhdGljX2Nhc3Q8V2Fnb0hhbmRsZURlc2NyaXB0b3IqPihwYUhhbmRsZURlc2NyaXB0b3IpOworCisgIFRGb3J0ZVVJbnQzMiBvdXRwdXRPZmZzZXQ7CisgIFRGb3J0ZVVJbnQzMiBpbnB1dE9mZnNldDsKKyAgc3dpdGNoKGRlc2MubVR5cGUpeworICAgIGNhc2UgQ0lFQ19BTlk6OmVfQk9PTDoKKyAgICAgIG91dHB1dE9mZnNldCA9IG1UZXJtaW5hbEluZm9zW2Rlc2MubVNsYXZlSW5kZXhdLk9mZnNldE91dHB1dF9iaXRzICsgZGVzYy5tQ2hhbm5lbDsKKyAgICAgIGlucHV0T2Zmc2V0ID0gbVRlcm1pbmFsSW5mb3NbZGVzYy5tU2xhdmVJbmRleF0uT2Zmc2V0SW5wdXRfYml0cyArIGRlc2MubUNoYW5uZWw7CisgICAgICBicmVhazsKKyAgICBjYXNlIENJRUNfQU5ZOjplX1dPUkQ6CisgICAgICBvdXRwdXRPZmZzZXQgPSBtVGVybWluYWxJbmZvc1tkZXNjLm1TbGF2ZUluZGV4XS5PZmZzZXRPdXRwdXRfYml0cyArICgyICogZGVzYy5tQ2hhbm5lbCk7CisgICAgICBpbnB1dE9mZnNldCA9IG1UZXJtaW5hbEluZm9zW2Rlc2MubVNsYXZlSW5kZXhdLk9mZnNldElucHV0X2JpdHMgKyAoMiAqIGRlc2MubUNoYW5uZWwpOworICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIHJldHVybiAwOworICB9CisKKyAgcmV0dXJuIG5ldyBXYWdvSGFuZGxlKHRoaXMsIGRlc2MubVR5cGUsIGRlc2MubURpcmVjdGlvbiwgbUFwcERldkludGVyZmFjZSwgbVRhc2tJZCwgbUtCdXNEZXZpY2VJZCwgb3V0cHV0T2Zmc2V0LCBpbnB1dE9mZnNldCk7Cit9CisKK3ZvaWQgV2Fnb0RldmljZUNvbnRyb2xsZXI6OmRlSW5pdCgpIHsKKyAgaWYoMCAhPSBtQXBwRGV2SW50ZXJmYWNlKSB7CisgICAgaWYoMCAhPSBtQXBwRGV2SW50ZXJmYWNlLT5DbG9zZURldmljZShtS0J1c0RldmljZUlkKSkgeworICAgICAgREVWTE9HX0VSUk9SKCJbV2Fnb0RldmljZUNvbnRyb2xsZXJdIFRoZXJlIHdhcyBhIHByb2JsZW0gY2xvc2luZyB0aGUgS0J1cyBkZXZpY2VcbiIpOworICAgIH0KKyAgICBtQXBwRGV2SW50ZXJmYWNlLT5FeGl0KCk7IC8vIGRpc2Nvbm5lY3QgQURJLUludGVyZmFjZQorICAgIG1LQnVzRGV2aWNlSWQgPSBzY21JbnZhbGlkRGV2aWNlSWQ7CisgICAgbUFwcERldkludGVyZmFjZSA9IDA7CisgIH0KK30KKwordm9pZCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6cnVuTG9vcCgpIHsKKyAgdEFwcGxpY2F0aW9uU3RhdGVDaGFuZ2VkRXZlbnQgc3RFdmVudDsKKworICBzdEV2ZW50LlN0YXRlID0gQXBwbGljYXRpb25TdGF0ZV9SdW5uaW5nOyAvLyBTZXQgYXBwbGljYXRpb24gc3RhdGUgdG8gIlJ1bm5pbmciIHRvIGRyaXZlIGtidXMgYnkgb3Vyc2VsdmVzLgorICBpZihEQUxfU1VDQ0VTUyA9PSBtQXBwRGV2SW50ZXJmYWNlLT5BcHBsaWNhdGlvblN0YXRlQ2hhbmdlZChzdEV2ZW50KSkgeworICAgIHdoaWxlKGlzQWxpdmUoKSkgeworICAgICAgQ1RocmVhZDo6c2xlZXBUaHJlYWQobUNvbmZpZy51cGRhdGVJbnRlcnZhbCk7CisgICAgICBpZighdHJpZ2dlcktCdXNDeWNsZSgpKSB7CisgICAgICAgIGJyZWFrOyAvL3dlIGhhdmUgc2V2ZXJlIHByb2JsZW0gZXhpdCBLQnVzIGhhbmRsaW5nIHRocmVhZAorICAgICAgfQorCisgICAgICBjaGVja0ZvcklucHV0Q2hhbmdlcygpOworICAgIH0KKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIltXYWdvRGV2aWNlQ29udHJvbGxlcl0gU2V0IGFwcGxpY2F0aW9uIHN0YXRlIHRvICdSdW5uaW5nJyBmYWlsZWRcbiIpOworICB9Cit9CisKK3ZvaWQgV2Fnb0RldmljZUNvbnRyb2xsZXI6OmFkZFNsYXZlSGFuZGxlKGludCwgZm9ydGU6OmNvcmU6OmlvOjpJT0hhbmRsZSogcGFIYW5kbGUpIHsKKyAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1IYW5kbGVNdXRleCk7CisgIHBhSGFuZGxlLT5pcyhmb3J0ZTo6Y29yZTo6aW86OklPTWFwcGVyOjpJbikgPyBtSW5wdXRIYW5kbGVzLnB1c2hCYWNrKHBhSGFuZGxlKSA6IG1PdXRwdXRIYW5kbGVzLnB1c2hCYWNrKHBhSGFuZGxlKTsKK30KKwordm9pZCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6ZHJvcFNsYXZlSGFuZGxlcyhpbnQpIHsKKyAgLy8gSXMgaGFuZGxlZCBieSAjZHJvcEhhbmRsZXMgbWV0aG9kCit9CisKK2Jvb2wgV2Fnb0RldmljZUNvbnRyb2xsZXI6OmlzU2xhdmVBdmFpbGFibGUoaW50IHBhSW5kZXgpIHsKKyAgcmV0dXJuIHBhSW5kZXggPCBtVGVybWluYWxDb3VudDsKK30KKworYm9vbCBXYWdvRGV2aWNlQ29udHJvbGxlcjo6Y2hlY2tTbGF2ZVR5cGUoaW50IHBhSW5kZXgsIGludCBwYVR5cGUpIHsKKyAgcmV0dXJuIG1UZXJtaW5hbElkc1twYUluZGV4XSA9PSBwYVR5cGU7Cit9CisKK2Jvb2wgV2Fnb0RldmljZUNvbnRyb2xsZXI6OmlzSGFuZGxlVmFsdWVFcXVhbChmb3J0ZTo6Y29yZTo6aW86OklPSGFuZGxlKiBwYUhhbmRsZSkgeworICByZXR1cm4gIXN0YXRpY19jYXN0PFdhZ29IYW5kbGUqPihwYUhhbmRsZSktPmNoZWNrKCk7Cit9CisKK2NvbnN0IGNoYXIqIFdhZ29EZXZpY2VDb250cm9sbGVyOjpsb2FkVGVybWluYWxJbmZvcm1hdGlvbigpIHsKKyAgaWYoS2J1c0luZm9fRmFpbGVkID09IGxka2NfS2J1c0luZm9fQ3JlYXRlKCkpIHsKKyAgICBERVZMT0dfRVJST1IoIltXYWdvRGV2aWNlQ29udHJvbGxlcl0gJXNcbiIsIHNjbUZhaWxlZFRvQ3JlYXRlS0J1c0luZm8pOworICAgIHJldHVybiBzY21GYWlsZWRUb0NyZWF0ZUtCdXNJbmZvOworICB9CisKKyAgaWYoS2J1c0luZm9fRmFpbGVkID09IGxka2NfS2J1c0luZm9fR2V0VGVybWluYWxJbmZvKE9TX0FSUkFZX1NJWkUobVRlcm1pbmFsSW5mb3MpLCBtVGVybWluYWxJbmZvcywgJm1UZXJtaW5hbENvdW50KSkgeworICAgIERFVkxPR19FUlJPUigiW1dhZ29EZXZpY2VDb250cm9sbGVyXSAlc1xuIiwgc2NtRmFpbGVkR2V0VGVybWluYWxJbmZvKTsKKyAgICBsZGtjX0tidXNJbmZvX0Rlc3Ryb3koKTsKKyAgICByZXR1cm4gc2NtRmFpbGVkR2V0VGVybWluYWxJbmZvOworICB9CisKKyAgaWYoS2J1c0luZm9fRmFpbGVkID09IGxka2NfS2J1c0luZm9fR2V0VGVybWluYWxMaXN0KE9TX0FSUkFZX1NJWkUobVRlcm1pbmFsSWRzKSwgbVRlcm1pbmFsSWRzLCBOVUxMKSkgeworICAgIERFVkxPR19FUlJPUigiW1dhZ29EZXZpY2VDb250cm9sbGVyXSAlc1xuIiwgc2NtRmFpbGVkR2V0VGVybWluYWxMaXN0KTsKKyAgICBsZGtjX0tidXNJbmZvX0Rlc3Ryb3koKTsKKyAgICByZXR1cm4gc2NtRmFpbGVkR2V0VGVybWluYWxMaXN0OworICB9CisKKyAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgV2Fnb0RldmljZUNvbnRyb2xsZXI6OnRyaWdnZXJLQnVzQ3ljbGUoKSB7CisgIHVpbnQzMl90IHB1c2hSZXRWYWwgPSAwOworCisgIGlmKERBTF9TVUNDRVNTID09IG1BcHBEZXZJbnRlcmZhY2UtPkNhbGxEZXZpY2VTcGVjaWZpY0Z1bmN0aW9uKCJsaWJwYWNrYnVzX1B1c2giLCAmcHVzaFJldFZhbCkpIHsKKyAgICBpZihEQUxfU1VDQ0VTUyA9PSBwdXNoUmV0VmFsKSB7CisgICAgICBtQXBwRGV2SW50ZXJmYWNlLT5XYXRjaGRvZ1RyaWdnZXIoKTsKKyAgICAgIHJldHVybiB0cnVlOworICAgIH0gZWxzZSB7CisgICAgICBERVZMT0dfRVJST1IoIltXYWdvRGV2aWNlQ29udHJvbGxlcl0gRnVuY3Rpb24gJ2xpYnBhY2tidXNfUHVzaCcgZmFpbGVkXG4iKTsKKyAgICB9CisgIH0gZWxzZSB7CisgICAgREVWTE9HX0VSUk9SKCJbV2Fnb0RldmljZUNvbnRyb2xsZXJdIENhbGxEZXZpY2VTcGVjaWZpY0Z1bmN0aW9uIGZvciAnbGlicGFja2J1c19QdXNoJyBmYWlsZWRcbiIpOworICB9CisgIHJldHVybiBmYWxzZTsKK30KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvd2Fnb0RldmljZUNvbnRyb2xsZXIuaCBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvd2Fnb0RldmljZUNvbnRyb2xsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODM0ZDc2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci93YWdvRGV2aWNlQ29udHJvbGxlci5oCkBAIC0wLDAgKzEsMTE2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEpvc2UgQ2FicmFsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZuZGVmIFNSQ19NT0RVTEVTX1dBR09LQlVTX01PRFVMQVJfV0FHT0RFVklDRUNPTlRST0xMRVJfSF8KKyNkZWZpbmUgU1JDX01PRFVMRVNfV0FHT0tCVVNfTU9EVUxBUl9XQUdPREVWSUNFQ09OVFJPTExFUl9IXworCisjaW5jbHVkZSAiLi4vLi4vLi4vY29yZS9pby9kZXZpY2UvaW9fY29udHJvbGxlcl9tdWx0aS5oIgorCisjZGVmaW5lIE9TX01VU1RfQkVfQVJSQVkKKworZXh0ZXJuICJDIiB7CisjaW5jbHVkZSA8ZGFsL2FkaV9hcHBsaWNhdGlvbl9pbnRlcmZhY2UuaD4KKyNpbmNsdWRlIDxsZGtjX2tidXNfaW5mb3JtYXRpb24uaD4KKyNpbmNsdWRlIDxsZGtjX2tidXNfcmVnaXN0ZXJfY29tbXVuaWNhdGlvbi5oPgorfQorCitjbGFzcyBXYWdvRGV2aWNlQ29udHJvbGxlciA6IHB1YmxpYyBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyIHsKKyAgcHVibGljOgorICAgIGV4cGxpY2l0IFdhZ29EZXZpY2VDb250cm9sbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKTsKKworICAgIHZpcnR1YWwgfldhZ29EZXZpY2VDb250cm9sbGVyKCk7CisKKyAgICBzdHJ1Y3QgV2Fnb0NvbmZpZyA6IGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyOjpDb25maWcgeworICAgICAgICB1bnNpZ25lZCBpbnQgdXBkYXRlSW50ZXJ2YWw7IC8vITwgU2V0cyB0aGUgZnJlcXVlbmN5IGZvciB0aGUgZGF0YSB1cGRhdGUgY3ljbGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDI1IEh6LgorICAgIH07CisKKyAgICBjbGFzcyBXYWdvSGFuZGxlRGVzY3JpcHRvciA6IHB1YmxpYyBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yIHsKKyAgICAgIHB1YmxpYzoKKyAgICAgICAgQ0lFQ19BTlk6OkVEYXRhVHlwZUlEIG1UeXBlOworICAgICAgICBURm9ydGVVSW50MzIgbUNoYW5uZWw7CisKKyAgICAgICAgV2Fnb0hhbmRsZURlc2NyaXB0b3IoQ0lFQ19XU1RSSU5HIGNvbnN0ICZwYUlkLCBmb3J0ZTo6Y29yZTo6aW86OklPTWFwcGVyOjpEaXJlY3Rpb24gcGFEaXJlY3Rpb24sIGludCBwYVNsYXZlSW5kZXgsIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCBwYVR5cGUsCisgICAgICAgICAgICBURm9ydGVVSW50MzIgcGFDaGFubmVsKSA6CisgICAgICAgICAgICBmb3J0ZTo6Y29yZTo6aW86OklPRGV2aWNlTXVsdGlDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yKHBhSWQsIHBhRGlyZWN0aW9uLCBwYVNsYXZlSW5kZXgpLCBtVHlwZShwYVR5cGUpLCBtQ2hhbm5lbChwYUNoYW5uZWwpIHsKKyAgICAgICAgfQorICAgIH07CisKKyAgICB2b2lkIHNldENvbmZpZyhzdHJ1Y3QgZm9ydGU6OmNvcmU6OmlvOjpJT0RldmljZUNvbnRyb2xsZXI6OkNvbmZpZyogcGFDb25maWcpIG92ZXJyaWRlOworCisgICAgdm9pZCBhZGRTbGF2ZUhhbmRsZShpbnQgaW5kZXgsIGZvcnRlOjpjb3JlOjppbzo6SU9IYW5kbGUqIHBhSGFuZGxlKSBvdmVycmlkZTsKKworICAgIHZvaWQgZHJvcFNsYXZlSGFuZGxlcyhpbnQgcGFJbmRleCkgb3ZlcnJpZGU7CisgIHByb3RlY3RlZDoKKyAgICBjb25zdCBjaGFyKiBpbml0KCk7CisKKyAgICBmb3J0ZTo6Y29yZTo6aW86OklPSGFuZGxlKiBpbml0SGFuZGxlKGZvcnRlOjpjb3JlOjppbzo6SU9EZXZpY2VDb250cm9sbGVyOjpIYW5kbGVEZXNjcmlwdG9yICpwYUhhbmRsZURlc2NyaXB0b3IpIG92ZXJyaWRlOworCisgICAgdm9pZCBkZUluaXQoKSBvdmVycmlkZTsKKworICAgIHZvaWQgcnVuTG9vcCgpIG92ZXJyaWRlOworCisgICAgdEFwcGxpY2F0aW9uRGV2aWNlSW50ZXJmYWNlICptQXBwRGV2SW50ZXJmYWNlOworICAgIHVpbnQzMl90IG1UYXNrSWQ7CisgICAgdERldmljZUlkIG1LQnVzRGV2aWNlSWQ7CisKKyAgICAvKktCdXMgVGVybWluYWwgaW5mb3JtYXRpb24gKi8KKyAgICBzaXplX3QgbVRlcm1pbmFsQ291bnQ7CisgICAgdTE2IG1UZXJtaW5hbElkc1tMREtDX0tCVVNfVEVSTUlOQUxfQ09VTlRfTUFYXTsKKyAgICB0bGRrY19LYnVzSW5mb19UZXJtaW5hbEluZm8gbVRlcm1pbmFsSW5mb3NbTERLQ19LQlVTX1RFUk1JTkFMX0NPVU5UX01BWF07CisKKyAgICBXYWdvQ29uZmlnIG1Db25maWc7CisKKyAgICAvKiEgQGJyaWVmIENoZWNrcyBpZiB0aGUgdmFsdWUgb2YgYSBoYW5kbGUgaGFzIGNoYW5nZWQuIFVzZWQgYnkgdGhlICNjaGVja0ZvcklucHV0Q2hhbmdlcyBtZXRob2QuCisgICAgICoKKyAgICAgKiBAcGFyYW0gaGFuZGxlIEhhbmRsZSB3aGljaCBzaG91bGQgYmUgY29tcGFyZWQgdG8gdGhlIHByZXZpb3VzIElPIHN0YXRlCisgICAgICogQHJldHVybiBUcnVlIGlmIHRoZSBjdXJyZW50IHN0YXRlIGlzIGVxdWFsIHRvIHRoZSBwcmV2aW91cyBJTyBzdGF0ZS4gSW4gY2FzZSBpdCBoYXMgY2hhbmdlZCwgcmV0dXJuIGZhbHNlLgorICAgICAqLworICAgIHZpcnR1YWwgYm9vbCBpc0hhbmRsZVZhbHVlRXF1YWwoZm9ydGU6OmNvcmU6OmlvOjpJT0hhbmRsZSogcGFIYW5kbGUpIG92ZXJyaWRlOworCisgIHByaXZhdGU6CisgICAgLyohIEBicmllZiBDaGVja3MgaWYgYSBzbGF2ZSBleGlzdHMgYXQgdGhlIGdpdmVuIGluZGV4CisgICAgICoKKyAgICAgKiBAcGFyYW0gaW5kZXggSW5kZXgvUG9zaXRpb24gb2YgdGhlIG1vZHVsYXIgc2xhdmUKKyAgICAgKiBAcmV0dXJuIFRydWUgaW4gY2FzZSBhIHNsYXZlIHdhcyBmb3VuZCBhdCB0aGUgZ2l2ZW4gcG9zaXRpb24KKyAgICAgKi8KKyAgICBib29sIGlzU2xhdmVBdmFpbGFibGUoaW50IHBhSW5kZXgpOworCisgICAgLyohIEBicmllZiBDaGVja3MgaWYgdGhlIHNsYXZlIHR5cGUgbWF0Y2hlcyB0aGUgY29uZmlndXJlZCB0eXBlCisgICAgICoKKyAgICAgKiBAcGFyYW0gaW5kZXggSW5kZXgvUG9zaXRpb24gb2YgdGhlIG1vZHVsYXIgc2xhdmUKKyAgICAgKiBAcGFyYW0gdHlwZSBUeXBlIGlkZW50aWZpZXIgd2hpY2ggZGVzY3JpYmVzIHRoZSBtb2R1bGFyIHNsYXZlCisgICAgICogQHJldHVybiBUcnVlIGluIGNhc2UgdGhlIHNsYXZlIGF0IHRoZSBpbmRleCBoYXMgdGhlIGdpdmVuIHR5cGUKKyAgICAgKi8KKyAgICBib29sIGNoZWNrU2xhdmVUeXBlKGludCBwYUluZGV4LCBpbnQgcGFUeXBlKTsKKworICAgIGNvbnN0IGNoYXIqIGxvYWRUZXJtaW5hbEluZm9ybWF0aW9uKCk7CisKKyAgICBib29sIHRyaWdnZXJLQnVzQ3ljbGUoKTsKKworICAgIHN0YXRpYyBjb25zdCB0RGV2aWNlSWQgc2NtSW52YWxpZERldmljZUlkID0gLTE7CisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBzY21OdW1iZXJPZkRldmljZXNUb1NjYW4gPSAxMDsKKworICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtS0J1c0RldmljZU5hbWU7CisKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvR2V0QXBwbGljYXRpb25JbnRlcmZhY2U7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb0luaXRpYWxpemVLQnVzOworICAgIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2NtRmFpbGVkVG9TY2FuRGV2aWNlczsKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvT3BlbktCdXNEZXZpY2U7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRUb0dldERldmljZUxpc3Q7CisKKyAgICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjbUZhaWxlZFRvQ3JlYXRlS0J1c0luZm87CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRHZXRUZXJtaW5hbEluZm87CisgICAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzY21GYWlsZWRHZXRUZXJtaW5hbExpc3Q7CisKK307CisKKyNlbmRpZiAvKiBTUkNfTU9EVUxFU19XQUdPS0JVU19NT0RVTEFSX1dBR09ERVZJQ0VDT05UUk9MTEVSX0hfICovCmRpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy93YWdva2J1cy9tb2R1bGFyL3dhZ29IYW5kbGUuY3BwIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci93YWdvSGFuZGxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWE5YTg2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci93YWdvSGFuZGxlLmNwcApAQCAtMCwwICsxLDEzMiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgIndhZ29IYW5kbGUuaCIKKworV2Fnb0hhbmRsZTo6V2Fnb0hhbmRsZShXYWdvRGV2aWNlQ29udHJvbGxlciAqcGFDb250cm9sbGVyLCBDSUVDX0FOWTo6RURhdGFUeXBlSUQgcGFUeXBlLCBmb3J0ZTo6Y29yZTo6aW86OklPTWFwcGVyOjpEaXJlY3Rpb24gcGFEaXJlY3Rpb24sCisgICAgdEFwcGxpY2F0aW9uRGV2aWNlSW50ZXJmYWNlICogcGFBcHBEZXZJbnRlcmZhY2UsIHVpbnQzMl90IHBhVGFza0lkLCB0RGV2aWNlSWQgcGFLQnVzRGV2aWNlSWQsIFRGb3J0ZVVJbnQzMiBwYU91dHB1dE9mZnNldCwgVEZvcnRlVUludDMyIHBhSW5wdXRPZmZzZXQpIDoKKyAgICBmb3J0ZTo6Y29yZTo6aW86OklPSGFuZGxlKHBhQ29udHJvbGxlciwgcGFEaXJlY3Rpb24sIHBhVHlwZSksIG1BcHBEZXZJbnRlcmZhY2UocGFBcHBEZXZJbnRlcmZhY2UpLCBtVGFza0lkKHBhVGFza0lkKSwgbUtCdXNEZXZpY2VJZChwYUtCdXNEZXZpY2VJZCksCisgICAgICAgIG1PdXRwdXRPZmZzZXQocGFPdXRwdXRPZmZzZXQpLCBtSW5wdXRPZmZzZXQocGFJbnB1dE9mZnNldCkgeworICBzd2l0Y2gobVR5cGUpeworICAgIGNhc2UgQ0lFQ19BTlk6OmVfQk9PTDoKKyAgICAgIG1MYXN0VmFsdWUgPSBuZXcgQ0lFQ19CT09MOworICAgICAgYnJlYWs7CisgICAgY2FzZSBDSUVDX0FOWTo6ZV9XT1JEOgorICAgICAgbUxhc3RWYWx1ZSA9IG5ldyBDSUVDX1dPUkQ7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgbUxhc3RWYWx1ZSA9IDA7CisgIH0KK30KKworV2Fnb0hhbmRsZTo6fldhZ29IYW5kbGUoKSB7CisgIGlmKDAgIT0gbUxhc3RWYWx1ZSkgeworICAgIGRlbGV0ZSBtTGFzdFZhbHVlOworICB9Cit9CisKK3ZvaWQgV2Fnb0hhbmRsZTo6c2V0KGNvbnN0IENJRUNfQU5ZICZwYVN0YXRlKSB7CisgIG1BcHBEZXZJbnRlcmZhY2UtPldyaXRlU3RhcnQobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCk7CisKKyAgc3dpdGNoKG1UeXBlKXsKKyAgICBjYXNlIENJRUNfQU5ZOjplX0JPT0w6CisgICAgICBzZXRCb29sZWFuKHN0YXRpY19jYXN0PGNvbnN0IENJRUNfQk9PTCY+KHBhU3RhdGUpKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgQ0lFQ19BTlk6OmVfV09SRDoKKyAgICAgIHNldFdvcmQoc3RhdGljX2Nhc3Q8Y29uc3QgQ0lFQ19XT1JEJj4ocGFTdGF0ZSkpOworICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIGJyZWFrOworICB9CisKKyAgbUFwcERldkludGVyZmFjZS0+V3JpdGVFbmQobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCk7Cit9CisKK3ZvaWQgV2Fnb0hhbmRsZTo6Z2V0KENJRUNfQU5ZICZwYVN0YXRlKSB7CisgIG1BcHBEZXZJbnRlcmZhY2UtPlJlYWRTdGFydChtS0J1c0RldmljZUlkLCBtVGFza0lkKTsKKworICBzd2l0Y2gobVR5cGUpeworICAgIGNhc2UgQ0lFQ19BTlk6OmVfQk9PTDoKKyAgICAgIGdldEJvb2xlYW4oc3RhdGljX2Nhc3Q8Q0lFQ19CT09MJj4ocGFTdGF0ZSkpOworICAgICAgYnJlYWs7CisgICAgY2FzZSBDSUVDX0FOWTo6ZV9XT1JEOgorICAgICAgZ2V0V29yZChzdGF0aWNfY2FzdDxDSUVDX1dPUkQmPihwYVN0YXRlKSk7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgYnJlYWs7CisgIH0KKworICBtQXBwRGV2SW50ZXJmYWNlLT5SZWFkRW5kKG1LQnVzRGV2aWNlSWQsIG1UYXNrSWQpOworfQorCitib29sIFdhZ29IYW5kbGU6OmNoZWNrKCkgeworICBib29sIGNoYW5nZWQgPSBmYWxzZTsKKyAgc3dpdGNoKG1UeXBlKXsKKyAgICBjYXNlIENJRUNfQU5ZOjplX0JPT0w6CisgICAgICBjaGFuZ2VkID0gY2hlY2tCb29sZWFuKCk7CisgICAgICBicmVhazsKKyAgICBjYXNlIENJRUNfQU5ZOjplX1dPUkQ6CisgICAgICBjaGFuZ2VkID0gY2hlY2tXb3JkKCk7CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgYnJlYWs7CisgIH0KKyAgcmV0dXJuIGNoYW5nZWQ7Cit9CisKK3ZvaWQgV2Fnb0hhbmRsZTo6ZHJvcE9ic2VydmVyKCkgeworICBDSUVDX1dPUkQgc3RhdGUgPSAwOyAvL3Nob3VsZCB3b3JrIGZvciBib29sZWFuIHRvbworICBzZXQoc3RhdGUpOworICBmb3J0ZTo6Y29yZTo6aW86OklPSGFuZGxlOjpkcm9wT2JzZXJ2ZXIoKTsKK30KKwordm9pZCBXYWdvSGFuZGxlOjpnZXRCb29sZWFuKENJRUNfQk9PTCAmcGFTdGF0ZSkgeworICBib29sICppbkRhdGFCb29sID0gMDsKKyAgbUFwcERldkludGVyZmFjZS0+UmVhZEJvb2wobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCwgbUlucHV0T2Zmc2V0LCBpbkRhdGFCb29sKTsKKyAgcGFTdGF0ZSA9IGluRGF0YUJvb2w7Cit9CisKK3ZvaWQgV2Fnb0hhbmRsZTo6Z2V0V29yZChDSUVDX1dPUkQgJnBhU3RhdGUpIHsKKyAgVEZvcnRlQnl0ZSBpbkRhdGFXb3JkWzJdOworICBtQXBwRGV2SW50ZXJmYWNlLT5SZWFkQnl0ZXMobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCwgbUlucHV0T2Zmc2V0LCAyLCBpbkRhdGFXb3JkKTsKKyAgcGFTdGF0ZSA9IHN0YXRpY19jYXN0PFRGb3J0ZVdvcmQ+KChzdGF0aWNfY2FzdDxURm9ydGVXb3JkPihpbkRhdGFXb3JkWzFdKSA8PCA4KSArIChzdGF0aWNfY2FzdDxURm9ydGVXb3JkPihpbkRhdGFXb3JkWzBdKSkpOworfQorCit2b2lkIFdhZ29IYW5kbGU6OnNldEJvb2xlYW4oY29uc3QgQ0lFQ19CT09MICZwYVN0YXRlKSB7CisgIGJvb2wgb3V0RGF0YUJvb2wgPSBwYVN0YXRlOworICBtQXBwRGV2SW50ZXJmYWNlLT5Xcml0ZUJvb2wobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCwgbU91dHB1dE9mZnNldCwgb3V0RGF0YUJvb2wpOworfQorCit2b2lkIFdhZ29IYW5kbGU6OnNldFdvcmQoY29uc3QgQ0lFQ19XT1JEICZwYVN0YXRlKSB7CisgIFRGb3J0ZVdvcmQgZGF0YVdvcmQgPSBwYVN0YXRlOworICBURm9ydGVCeXRlIG91dERhdGFbMl07CisgIG91dERhdGFbMF0gPSBzdGF0aWNfY2FzdDxURm9ydGVCeXRlPihkYXRhV29yZCAmIDB4MDBGRik7CisgIG91dERhdGFbMV0gPSBzdGF0aWNfY2FzdDxURm9ydGVCeXRlPihkYXRhV29yZCA+PiA4KTsKKyAgbUFwcERldkludGVyZmFjZS0+V3JpdGVCeXRlcyhtS0J1c0RldmljZUlkLCBtVGFza0lkLCBtT3V0cHV0T2Zmc2V0LCAyLCBvdXREYXRhKTsKK30KKworYm9vbCBXYWdvSGFuZGxlOjpjaGVja0Jvb2xlYW4oKSB7CisgIGJvb2wgcmV0VmFsOworICBDSUVDX0JPT0wgdmFsdWU7CisgIGdldCh2YWx1ZSk7CisgIHJldFZhbCA9ICh2YWx1ZSAhPSAqc3RhdGljX2Nhc3Q8Q0lFQ19CT09MKj4obUxhc3RWYWx1ZSkpOworICBtTGFzdFZhbHVlLT5zZXRWYWx1ZSh2YWx1ZSk7CisgIHJldHVybiByZXRWYWw7Cit9Citib29sIFdhZ29IYW5kbGU6OmNoZWNrV29yZCgpIHsKKyAgYm9vbCByZXRWYWw7CisgIENJRUNfV09SRCB2YWx1ZTsKKyAgZ2V0KHZhbHVlKTsKKyAgcmV0VmFsID0gKHZhbHVlICE9ICpzdGF0aWNfY2FzdDxDSUVDX1dPUkQqPihtTGFzdFZhbHVlKSk7CisgIG1MYXN0VmFsdWUtPnNldFZhbHVlKHZhbHVlKTsKKyAgcmV0dXJuIHJldFZhbDsKK30KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvd2Fnb0hhbmRsZS5oIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvbW9kdWxhci93YWdvSGFuZGxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhjOGE4OAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL21vZHVsYXIvd2Fnb0hhbmRsZS5oCkBAIC0wLDAgKzEsNTggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZm5kZWYgU1JDX01PRFVMRVNfV0FHT0tCVVNfTU9EVUxBUl9XQUdPSEFORExFX0hfCisjZGVmaW5lIFNSQ19NT0RVTEVTX1dBR09LQlVTX01PRFVMQVJfV0FHT0hBTkRMRV9IXworCisjaW5jbHVkZSAiLi4vLi4vLi4vY29yZS9kYXRhdHlwZXMvZm9ydGVfd29yZC5oIgorI2luY2x1ZGUgIi4uLy4uLy4uL2NvcmUvaW8vbWFwcGVyL2lvX2hhbmRsZS5oIgorI2luY2x1ZGUgIndhZ29EZXZpY2VDb250cm9sbGVyLmgiCisKK2NsYXNzIFdhZ29IYW5kbGUgOiBwdWJsaWMgZm9ydGU6OmNvcmU6OmlvOjpJT0hhbmRsZSB7CisgIHB1YmxpYzoKKyAgICBXYWdvSGFuZGxlKFdhZ29EZXZpY2VDb250cm9sbGVyICpwYUNvbnRyb2xsZXIsIENJRUNfQU5ZOjpFRGF0YVR5cGVJRCBwYVR5cGUsIGZvcnRlOjpjb3JlOjppbzo6SU9NYXBwZXI6OkRpcmVjdGlvbiBwYURpcmVjdGlvbiwKKyAgICAgICAgdEFwcGxpY2F0aW9uRGV2aWNlSW50ZXJmYWNlICogcGFBcHBEZXZJbnRlcmZhY2UsIHVpbnQzMl90IHBhVGFza0lkLCB0RGV2aWNlSWQgcGFLQnVzRGV2aWNlSWQsIFRGb3J0ZVVJbnQzMiBwYU91dHB1dE9mZnNldCwgVEZvcnRlVUludDMyIHBhSW5wdXRPZmZzZXQpOworCisgICAgdmlydHVhbCB+V2Fnb0hhbmRsZSgpOworCisgICAgdmlydHVhbCB2b2lkIHNldChjb25zdCBDSUVDX0FOWSAmKSBvdmVycmlkZTsKKworICAgIHZvaWQgZ2V0KENJRUNfQU5ZICYpIG92ZXJyaWRlOworCisgICAgYm9vbCBjaGVjaygpOworCisgIHByaXZhdGU6CisKKyAgICB2b2lkIGdldEJvb2xlYW4oQ0lFQ19CT09MICZwYVN0YXRlKTsKKworICAgIHZvaWQgZ2V0V29yZChDSUVDX1dPUkQgJnBhU3RhdGUpOworCisgICAgdm9pZCBzZXRCb29sZWFuKGNvbnN0IENJRUNfQk9PTCAmcGFTdGF0ZSk7CisKKyAgICB2b2lkIHNldFdvcmQoY29uc3QgQ0lFQ19XT1JEICZwYVN0YXRlKTsKKworICAgIGJvb2wgY2hlY2tCb29sZWFuKCk7CisKKyAgICBib29sIGNoZWNrV29yZCgpOworCisgICAgdEFwcGxpY2F0aW9uRGV2aWNlSW50ZXJmYWNlICptQXBwRGV2SW50ZXJmYWNlOworICAgIHVpbnQzMl90IG1UYXNrSWQ7CisgICAgdERldmljZUlkIG1LQnVzRGV2aWNlSWQ7CisgICAgVEZvcnRlVUludDMyIG1PdXRwdXRPZmZzZXQ7CisgICAgVEZvcnRlVUludDMyIG1JbnB1dE9mZnNldDsKKyAgICBDSUVDX0FOWSogbUxhc3RWYWx1ZTsKKworICAgIHZpcnR1YWwgdm9pZCBkcm9wT2JzZXJ2ZXIoKSBvdmVycmlkZTsKKworfTsKKworI2VuZGlmIC8qIFNSQ19NT0RVTEVTX1dBR09LQlVTX01PRFVMQVJfV0FHT0hBTkRMRV9IXyAqLwpkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvd2Fnb2tidXMvcHJvY2Vzc2ludGVyZmFjZS5jcHAgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9wcm9jZXNzaW50ZXJmYWNlLmNwcAppbmRleCAxZjNjYTM3Li4zOWNiNGY2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy93YWdva2J1cy9wcm9jZXNzaW50ZXJmYWNlLmNwcAorKysgYi9zcmMvbW9kdWxlcy93YWdva2J1cy9wcm9jZXNzaW50ZXJmYWNlLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE2IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICAgTWlsYW4gVmF0aG9vcGFuLCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCkBAIC0xNCw5MSArMTUsODYgQEAKICNpbmNsdWRlIDxkYXRhdHlwZS5oPgogI2luY2x1ZGUgPGV4dGV2aGFuZGxlcmhlbHBlci5oPgogCi0KIERFRklORV9IQU5ETEVSKFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXIpCiAKLVdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZShDUmVzb3VyY2UgKnBhU3JjUmVzLAotICAgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywKLSAgICBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsIFRGb3J0ZUJ5dGUgKnBhRkJDb25uRGF0YSwKLSAgICBURm9ydGVCeXRlICpwYUZCVmFyc0RhdGEpIDoKLSAgICBDUHJvY2Vzc0ludGVyZmFjZUJhc2UocGFTcmNSZXMsIHBhSW50ZXJmYWNlU3BlYywgcGFJbnN0YW5jZU5hbWVJZCwgcGFGQkNvbm5EYXRhLCBwYUZCVmFyc0RhdGEpLAotICAgIG1TbG90KDApLCBtQ2hhbm5lbCgwKSwgbVRlcm1pbmFsSW5mbygwKSwgbUluaXRpYWxpemVkKGZhbHNlKXsKK1dhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZShDUmVzb3VyY2UgKnBhU3JjUmVzLCBjb25zdCBTRkJJbnRlcmZhY2VTcGVjICpwYUludGVyZmFjZVNwZWMsCisgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSkgOgorICAgIENQcm9jZXNzSW50ZXJmYWNlQmFzZShwYVNyY1JlcywgcGFJbnRlcmZhY2VTcGVjLCBwYUluc3RhbmNlTmFtZUlkLCBwYUZCQ29ubkRhdGEsIHBhRkJWYXJzRGF0YSksIG1TbG90KDApLCBtQ2hhbm5lbCgwKSwgbVRlcm1pbmFsSW5mbygwKSwgbUluaXRpYWxpemVkKGZhbHNlKSB7CiB9CiAKLQotV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6On5XYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSgpeworV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6On5XYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSgpIHsKICAgZGVpbml0aWFsaXNlKCk7CiB9CiAKLWJvb2wgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OmluaXRpYWxpc2UoYm9vbCBwYUlucHV0KXsKK2Jvb2wgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OmluaXRpYWxpc2UoYm9vbCBwYUlucHV0KSB7CiAgIG1Jbml0aWFsaXplZCA9IGZhbHNlOwogICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gcGFyYW1zTGlzdChnZW5lcmF0ZVBhcmFtZXRlckxpc3QoKSk7CiAgIGNoYXIgKnBCdWZmZXI7CiAKICAgaWYoIXBhcmFtc0xpc3QuZW1wdHkoKSkgewotICAgIG1TbG90ID0gc3RydG9sKHBhcmFtc0xpc3RbMF0uY19zdHIoKSwmcEJ1ZmZlciwxMCk7Ci0gICAgbUNoYW5uZWw9IHN0cnRvbChwYXJhbXNMaXN0WzFdLmNfc3RyKCksJnBCdWZmZXIsMTApOworICAgIG1TbG90ID0gc3RydG9sKHBhcmFtc0xpc3RbMF0uY19zdHIoKSwgJnBCdWZmZXIsIDEwKTsKKyAgICBtQ2hhbm5lbCA9IHN0cnRvbChwYXJhbXNMaXN0WzFdLmNfc3RyKCksICZwQnVmZmVyLCAxMCk7CiAgIH0KIAotICBpZigoZ2V0RXh0RXZIYW5kbGVyPENLQnVzSGFuZGxlcj4oKnRoaXMpLmdldFRlcm1pbmFsSWQobVNsb3QpKSl7Ci0gICAgbVRlcm1pbmFsSW5mbyA9IGdldEV4dEV2SGFuZGxlcjxDS0J1c0hhbmRsZXI+KCp0aGlzKS5nZXRUZXJtaW5hbEluZm8obVNsb3QpOwotICAgIGlmKDAgIT0gbVRlcm1pbmFsSW5mbyl7Ci0gICAgICBpZigocGFJbnB1dCkgJiYgKGdldERPKDIpLT5nZXREYXRhVHlwZUlEKCkgPT0gQ0lFQ19BTlk6OmVfQk9PTCkpeworICBpZigoZ2V0RXh0RXZIYW5kbGVyPENLQnVzSGFuZGxlcj4oKnRoaXMpLmlzSWRWYWxpZChzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obVNsb3QpKSkpIHsKKyAgICBtVGVybWluYWxJbmZvID0gZ2V0RXh0RXZIYW5kbGVyPENLQnVzSGFuZGxlcj4oKnRoaXMpLmdldFRlcm1pbmFsSW5mbyhzdGF0aWNfY2FzdDxURm9ydGVVSW50OD4obVNsb3QpKTsKKyAgICBpZigwICE9IG1UZXJtaW5hbEluZm8pIHsKKyAgICAgIGlmKChwYUlucHV0KSAmJiAoZ2V0RE8oMiktPmdldERhdGFUeXBlSUQoKSA9PSBDSUVDX0FOWTo6ZV9CT09MKSkgewogICAgICAgICBnZXRFeHRFdkhhbmRsZXI8Q0tCdXNIYW5kbGVyPigqdGhpcykucmVnaXN0ZXJLQnVzUmVhZEZCKHRoaXMpOwogICAgICAgfQogCiAgICAgICBRTygpID0gUUkoKTsKIAotICAgICAgaWYoIWdldEV4dEV2SGFuZGxlcjxDS0J1c0hhbmRsZXI+KCp0aGlzKS5pc0FsaXZlKCkpeworICAgICAgaWYoIWdldEV4dEV2SGFuZGxlcjxDS0J1c0hhbmRsZXI+KCp0aGlzKS5pc0FsaXZlKCkpIHsKICAgICAgICAgZ2V0RXh0RXZIYW5kbGVyPENLQnVzSGFuZGxlcj4oKnRoaXMpLnN0YXJ0KCk7CiAgICAgICB9CiAKICAgICAgIG1Jbml0aWFsaXplZCA9IHRydWU7CiAgICAgICBzZXRFdmVudENoYWluRXhlY3V0b3IobV9wb0ludm9raW5nRXhlY0Vudik7Ci0gICAgICByZXR1cm4gbUluaXRpYWxpemVkOwogICAgIH0KICAgfQorICByZXR1cm4gbUluaXRpYWxpemVkOwogfQogCi1ib29sIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpkZWluaXRpYWxpc2UoKXsKK2Jvb2wgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OmRlaW5pdGlhbGlzZSgpIHsKICAgZ2V0RXh0RXZIYW5kbGVyPENLQnVzSGFuZGxlcj4oKnRoaXMpLnVucmVnaXN0ZXJLQnVzUmVhZEZCKHRoaXMpOwogICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6cmVhZFBpbigpeworYm9vbCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6cmVhZFBpbigpIHsKICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OndyaXRlUGluKCl7Citib29sIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjp3cml0ZVBpbigpIHsKICAgZ2V0RXh0RXZIYW5kbGVyPENLQnVzSGFuZGxlcj4oKnRoaXMpLndyaXRlT3V0cHV0RGF0YUJpdFRvS0J1cyhtVGVybWluYWxJbmZvLCBtQ2hhbm5lbCwgT1VUX1goKSk7CiAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpyZWFkV29yZCgpeworYm9vbCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6cmVhZFdvcmQoKSB7CiAgIFRGb3J0ZVdvcmQgaW5EYXRhV29yZCgwKTsKICAgZ2V0RXh0RXZIYW5kbGVyPENLQnVzSGFuZGxlcj4oKnRoaXMpLnJlYWRJbnB1dERhdGFXb3JkZnJvbUtCdXMobVRlcm1pbmFsSW5mbywgbUNoYW5uZWwsICZpbkRhdGFXb3JkKTsKICAgSU5fVygpID0gaW5EYXRhV29yZDsKICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OndyaXRlV29yZCgpeworYm9vbCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6d3JpdGVXb3JkKCkgewogICBnZXRFeHRFdkhhbmRsZXI8Q0tCdXNIYW5kbGVyPigqdGhpcykud3JpdGVPdXRwdXREYXRhV29yZFRvS0J1cyhtVGVybWluYWxJbmZvLCBtQ2hhbm5lbCwgT1VUX1coKSk7CiAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpjaGVja0lucHV0RGF0YSgpeworYm9vbCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Y2hlY2tJbnB1dERhdGEoKSB7CiAgIGJvb2wgcmV0VmFsID0gZmFsc2U7CiAgIGJvb2wgaW5EYXRhQm9vbChmYWxzZSk7CiAgIGdldEV4dEV2SGFuZGxlcjxDS0J1c0hhbmRsZXI+KCp0aGlzKS5yZWFkSW5wdXREYXRhQml0ZnJvbUtCdXMobVRlcm1pbmFsSW5mbywgbUNoYW5uZWwsICZpbkRhdGFCb29sKTsKLSAgaWYgKGluRGF0YUJvb2wgIT0gSU5fWCgpKXsKKyAgaWYoaW5EYXRhQm9vbCAhPSBJTl9YKCkpIHsKICAgICBJTl9YKCkgPSBpbkRhdGFCb29sOwogICAgIHJldFZhbCA9IHRydWU7CiAgIH0KICAgcmV0dXJuIHJldFZhbDsKIH0KIAotV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6Q0tCdXNIYW5kbGVyKENEZXZpY2VFeGVjdXRpb24mIHBhRGV2aWNlRXhlY3V0aW9uKSA6IENFeHRlcm5hbEV2ZW50SGFuZGxlcihwYURldmljZUV4ZWN1dGlvbiksCi0gIG1UYXNrSWQoMCl7IC8vIDAgaGFzIGJlZW4gdGFrZW4gZnJvbSBleGFtcGxlIG1heSBuZWVkcyB0byBiZSByZWNoZWNrZWQKK1dhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OkNLQnVzSGFuZGxlcihDRGV2aWNlRXhlY3V0aW9uJiBwYURldmljZUV4ZWN1dGlvbikgOgorICAgIENFeHRlcm5hbEV2ZW50SGFuZGxlcihwYURldmljZUV4ZWN1dGlvbiksIG1UYXNrSWQoMCkgeyAvLyAwIGhhcyBiZWVuIHRha2VuIGZyb20gZXhhbXBsZSBtYXkgbmVlZHMgdG8gYmUgcmVjaGVja2VkCiAgIHREZXZpY2VJbmZvIGRldmljZUxpc3RbMTBdOyAvLyB0aGUgbGlzdCBvZiBkZXZpY2VzIGdpdmVuIGJ5IHRoZSBBREkKICAgc2l6ZV90IG5yRGV2aWNlc0ZvdW5kOyAvLyBudW1iZXIgb2YgZGV2aWNlcyBmb3VuZAogICBtQXBwRGV2SW50ZXJmYWNlID0gYWRpX0dldEFwcGxpY2F0aW9uSW50ZXJmYWNlKCk7CkBAIC0xMDcsMTIgKzEwMywxMiBAQAogICBtQXBwRGV2SW50ZXJmYWNlLT5HZXREZXZpY2VMaXN0KHNpemVvZihkZXZpY2VMaXN0KSwgZGV2aWNlTGlzdCwgJm5yRGV2aWNlc0ZvdW5kKTsKIAogICAvLyBmaW5kIGtidXMgZGV2aWNlCi0gIGZvcihzaXplX3QgaSA9IDA7IGkgPCBuckRldmljZXNGb3VuZDsgKytpKXsKLSAgICBpZihzdHJjbXAoZGV2aWNlTGlzdFtpXS5EZXZpY2VOYW1lLCAibGlicGFja2J1cyIpID09IDApeworICBmb3Ioc2l6ZV90IGkgPSAwOyBpIDwgbnJEZXZpY2VzRm91bmQ7ICsraSkgeworICAgIGlmKHN0cmNtcChkZXZpY2VMaXN0W2ldLkRldmljZU5hbWUsICJsaWJwYWNrYnVzIikgPT0gMCkgewogICAgICAgbUtCdXNEZXZpY2VJZCA9IGRldmljZUxpc3RbaV0uRGV2aWNlSWQ7Ci0gICAgICBpZihtQXBwRGV2SW50ZXJmYWNlLT5PcGVuRGV2aWNlKG1LQnVzRGV2aWNlSWQpID09IERBTF9TVUNDRVNTKXsKLSAgICAgICAgaWYobG9hZFRlcm1pbmFsSW5mb3JtYXRpb24oKSl7Ci0gICAgICAgICByZXR1cm47IC8vd2Ugc3VjY2Vzc2Z1bGx5IGluaXRpYWxpemVkIGV2ZXJ5dGhpbmcgc28gd2UgY2FuIHJldHVybgorICAgICAgaWYobUFwcERldkludGVyZmFjZS0+T3BlbkRldmljZShtS0J1c0RldmljZUlkKSA9PSBEQUxfU1VDQ0VTUykgeworICAgICAgICBpZihsb2FkVGVybWluYWxJbmZvcm1hdGlvbigpKSB7CisgICAgICAgICAgcmV0dXJuOyAvL3dlIHN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZCBldmVyeXRoaW5nIHNvIHdlIGNhbiByZXR1cm4KICAgICAgICAgfQogICAgICAgfQogICAgIH0KQEAgLTEyMiwxMjAgKzExOCwxMDkgQEAKICAgY2xvc2VLQnVzSW50ZXJmYWNlKCk7CiB9CiAKLSBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjp+Q0tCdXNIYW5kbGVyKCl7Ci0gICBjbG9zZUtCdXNJbnRlcmZhY2UoKTsKLSB9CitXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjp+Q0tCdXNIYW5kbGVyKCkgeworICBjbG9zZUtCdXNJbnRlcmZhY2UoKTsKK30KIAotIGJvb2wgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6aXNLQnVzUnVubmluZygpewotICAgcmV0dXJuICgoaXNBbGl2ZSgpKSAmJiAobUtCdXNEZXZpY2VJZCAhPSBzY21JbnZhbGlkRGV2aWNlSWQpKTsKLSB9Citib29sIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OmlzS0J1c1J1bm5pbmcoKSB7CisgIHJldHVybiAoKGlzQWxpdmUoKSkgJiYgKG1LQnVzRGV2aWNlSWQgIT0gc2NtSW52YWxpZERldmljZUlkKSk7Cit9CiAKLSBib29sIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OmxvYWRUZXJtaW5hbEluZm9ybWF0aW9uKCl7Ci0gICBib29sIGJSZXRWYWwgPSBmYWxzZTsKK2Jvb2wgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6bG9hZFRlcm1pbmFsSW5mb3JtYXRpb24oKSB7CisgIGJvb2wgYlJldFZhbCA9IGZhbHNlOwogCi0gICBpZihLYnVzSW5mb19GYWlsZWQgIT0gbGRrY19LYnVzSW5mb19DcmVhdGUoKSl7Ci0gICAgIGlmKEtidXNJbmZvX0ZhaWxlZCAhPSBsZGtjX0tidXNJbmZvX0dldFRlcm1pbmFsSW5mbyhPU19BUlJBWV9TSVpFKG1UZXJtaW5hbERlc2NyaXB0aW9uKSwgbVRlcm1pbmFsRGVzY3JpcHRpb24sICZtVGVybWluYWxDb3VudCkpewotICAgICAgIGlmKEtidXNJbmZvX0ZhaWxlZCAhPSBsZGtjX0tidXNJbmZvX0dldFRlcm1pbmFsTGlzdChPU19BUlJBWV9TSVpFKG1UZXJtaW5hbElkcyksIG1UZXJtaW5hbElkcywgTlVMTCkpewotICAgICAgICAgYlJldFZhbCA9IHRydWU7Ci0gICAgICAgfQotICAgICAgIGVsc2V7Ci0gICAgICAgICBERVZMT0dfRVJST1IoIkNLQnVzSGFuZGxlcjogbGRrY19LYnVzSW5mb19HZXRUZXJtaW5hbExpc3QoKSBmYWlsZWRcbiIpOwotICAgICAgIH0KLSAgICAgfQotICAgICBlbHNlewotICAgICAgIERFVkxPR19FUlJPUigiQ0tCdXNIYW5kbGVyOiBsZGtjX0tidXNJbmZvX0dldFRlcm1pbmFsSW5mbygpIGZhaWxlZFxuIik7Ci0gICAgIH0KLSAgICAgYlJldFZhbCA9IHRydWU7Ci0gIH1lbHNlewotICAgICBERVZMT0dfRVJST1IoIkNLQnVzSGFuZGxlcjogbGRrY19LYnVzSW5mb19DcmVhdGUoKSBmYWlsZWRcbiIpOworICBpZihLYnVzSW5mb19GYWlsZWQgIT0gbGRrY19LYnVzSW5mb19DcmVhdGUoKSkgeworICAgIGlmKEtidXNJbmZvX0ZhaWxlZCAhPSBsZGtjX0tidXNJbmZvX0dldFRlcm1pbmFsSW5mbyhPU19BUlJBWV9TSVpFKG1UZXJtaW5hbERlc2NyaXB0aW9uKSwgbVRlcm1pbmFsRGVzY3JpcHRpb24sICZtVGVybWluYWxDb3VudCkpIHsKKyAgICAgIGlmKEtidXNJbmZvX0ZhaWxlZCAhPSBsZGtjX0tidXNJbmZvX0dldFRlcm1pbmFsTGlzdChPU19BUlJBWV9TSVpFKG1UZXJtaW5hbElkcyksIG1UZXJtaW5hbElkcywgTlVMTCkpIHsKKyAgICAgICAgYlJldFZhbCA9IHRydWU7CisgICAgICB9IGVsc2UgeworICAgICAgICBERVZMT0dfRVJST1IoIkNLQnVzSGFuZGxlcjogbGRrY19LYnVzSW5mb19HZXRUZXJtaW5hbExpc3QoKSBmYWlsZWRcbiIpOworICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICBERVZMT0dfRVJST1IoIkNLQnVzSGFuZGxlcjogbGRrY19LYnVzSW5mb19HZXRUZXJtaW5hbEluZm8oKSBmYWlsZWRcbiIpOworICAgIH0KKyAgICBiUmV0VmFsID0gdHJ1ZTsKKyAgfSBlbHNlIHsKKyAgICBERVZMT0dfRVJST1IoIkNLQnVzSGFuZGxlcjogbGRrY19LYnVzSW5mb19DcmVhdGUoKSBmYWlsZWRcbiIpOwogICB9CiAKLSAgaWYoIWJSZXRWYWwpewotICAgbGRrY19LYnVzSW5mb19EZXN0cm95KCk7CisgIGlmKCFiUmV0VmFsKSB7CisgICAgbGRrY19LYnVzSW5mb19EZXN0cm95KCk7CiAgIH0KIAogICByZXR1cm4gYlJldFZhbDsKIH0KIAotYm9vbCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpnZXRUZXJtaW5hbElkKFRGb3J0ZVVJbnQ4IHBhU2xvdCl7Ci0gIHUxNiB1blJldFZhbCA9IDA7Ci0gIGJvb2wgcmV0VmFsID0gZmFsc2U7Ci0gIGlmKHBhU2xvdCA8PSBtVGVybWluYWxDb3VudCl7Ci0gICAgdW5SZXRWYWwgPSBtVGVybWluYWxJZHNbcGFTbG90XTsKLSAgICByZXRWYWwgPSB0cnVlOwotICB9Ci0gIHJldHVybiByZXRWYWw7Citib29sIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OmlzSWRWYWxpZChURm9ydGVVSW50OCBwYVNsb3QpIHsKKyAgcmV0dXJuIChwYVNsb3QgPD0gbVRlcm1pbmFsQ291bnQpOwogfQogCi10bGRrY19LYnVzSW5mb19UZXJtaW5hbEluZm8gKldhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OmdldFRlcm1pbmFsSW5mbyhURm9ydGVVSW50OCBwYVNsb3QpewordGxka2NfS2J1c0luZm9fVGVybWluYWxJbmZvICpXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpnZXRUZXJtaW5hbEluZm8oVEZvcnRlVUludDggcGFTbG90KSB7CiAgIHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqcHN0UmV0VmFsID0gMDsKLSAgaWYocGFTbG90IDw9IG1UZXJtaW5hbENvdW50KXsKKyAgaWYocGFTbG90IDw9IG1UZXJtaW5hbENvdW50KSB7CiAgICAgcHN0UmV0VmFsID0gJihtVGVybWluYWxEZXNjcmlwdGlvbltwYVNsb3RdKTsKICAgfQogICByZXR1cm4gcHN0UmV0VmFsOwogfQogCi12b2lkIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OnJ1bigpewordm9pZCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpydW4oKSB7CiAgIC8vVE9ETyBhZGQgdGhyZWFkIHByaW9yaXR5IHNldHRpbmdzCiAgIC8vYm9vbCByZXRWYWw9IGZhbHNlOwogICB0QXBwbGljYXRpb25TdGF0ZUNoYW5nZWRFdmVudCBzdEV2ZW50OwogICAvLyBTZXQgYXBwbGljYXRpb24gc3RhdGUgdG8gIlJ1bm5pbmciIHRvIGRyaXZlIGtidXMgYnkgb3Vyc2VsdmVzLgogICBzdEV2ZW50LlN0YXRlID0gQXBwbGljYXRpb25TdGF0ZV9SdW5uaW5nOwotICBpZihEQUxfU1VDQ0VTUyA9PSBtQXBwRGV2SW50ZXJmYWNlLT5BcHBsaWNhdGlvblN0YXRlQ2hhbmdlZChzdEV2ZW50KSl7Ci0gICAgd2hpbGUoaXNBbGl2ZSgpKXsKLSAgICAgQ1RocmVhZDo6c2xlZXBUaHJlYWQoMTApOyAvLyB3YWl0IDEwIG1zICBUT0RPIG1ha2UgdGhpcyBjb25maWd1cmFibGUKLSAgICAgaWYoIXRyaWdnZXJLQnVzQ3ljbGUoKSl7Ci0gICAgICAgLy93ZSBoYXZlIHNldmVyZSBwcm9ibGVtIGV4aXQgS0J1cyBoYW5kbGluZyB0aHJlYWQKLSAgICAgICAvL1RPRE8gY2hlY2sgaG93IGNhbiB3ZSByZWNvdmVyIG9yIGF0IGxlYXN0IGluZm9ybSB0aGUgdXNlcgotICAgICAgIGJyZWFrOwotICAgICB9Ci0gICAgIC8vIHJlYWQgaW5wdXRzIGluZm9ybSBGQnMKLSAgICAgdXBkYXRlUmVhZERhdGEoKTsKKyAgaWYoREFMX1NVQ0NFU1MgPT0gbUFwcERldkludGVyZmFjZS0+QXBwbGljYXRpb25TdGF0ZUNoYW5nZWQoc3RFdmVudCkpIHsKKyAgICB3aGlsZShpc0FsaXZlKCkpIHsKKyAgICAgIENUaHJlYWQ6OnNsZWVwVGhyZWFkKDEwKTsgLy8gd2FpdCAxMCBtcyAgVE9ETyBtYWtlIHRoaXMgY29uZmlndXJhYmxlCisgICAgICBpZighdHJpZ2dlcktCdXNDeWNsZSgpKSB7CisgICAgICAgIC8vd2UgaGF2ZSBzZXZlcmUgcHJvYmxlbSBleGl0IEtCdXMgaGFuZGxpbmcgdGhyZWFkCisgICAgICAgIC8vVE9ETyBjaGVjayBob3cgY2FuIHdlIHJlY292ZXIgb3IgYXQgbGVhc3QgaW5mb3JtIHRoZSB1c2VyCisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAgLy8gcmVhZCBpbnB1dHMgaW5mb3JtIEZCcworICAgICAgdXBkYXRlUmVhZERhdGEoKTsKICAgICB9Ci0gIH0KLSAgZWxzZXsKKyAgfSBlbHNlIHsKICAgICBERVZMT0dfRVJST1IoIkNLQnVzSGFuZGxlcjogU2V0IGFwcGxpY2F0aW9uIHN0YXRlIHRvICdSdW5uaW5nJyBmYWlsZWRcbiIpOwogICB9CiAgIGNsb3NlS0J1c0ludGVyZmFjZSgpOwogfQogCi1ib29sIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OnRyaWdnZXJLQnVzQ3ljbGUoKXsKK2Jvb2wgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6dHJpZ2dlcktCdXNDeWNsZSgpIHsKICAgYm9vbCBiUmV0VmFsID0gZmFsc2U7CiAgIHVpbnQzMl90IHVuUHVzaFJldFZhbCA9IDA7CiAKLSAgaWYoREFMX1NVQ0NFU1MgPT0gbUFwcERldkludGVyZmFjZS0+Q2FsbERldmljZVNwZWNpZmljRnVuY3Rpb24oImxpYnBhY2tidXNfUHVzaCIsICZ1blB1c2hSZXRWYWwpKXsKLSAgICBpZihEQUxfU1VDQ0VTUyA9PSB1blB1c2hSZXRWYWwpeworICBpZihEQUxfU1VDQ0VTUyA9PSBtQXBwRGV2SW50ZXJmYWNlLT5DYWxsRGV2aWNlU3BlY2lmaWNGdW5jdGlvbigibGlicGFja2J1c19QdXNoIiwgJnVuUHVzaFJldFZhbCkpIHsKKyAgICBpZihEQUxfU1VDQ0VTUyA9PSB1blB1c2hSZXRWYWwpIHsKICAgICAgIG1BcHBEZXZJbnRlcmZhY2UtPldhdGNoZG9nVHJpZ2dlcigpOwogICAgICAgYlJldFZhbCA9IHRydWU7Ci0gICAgfQotICAgIGVsc2V7CisgICAgfSBlbHNlIHsKICAgICAgIERFVkxPR19FUlJPUigiQ0tCdXNIYW5kbGVyOiBGdW5jdGlvbiAnbGlicGFja2J1c19QdXNoJyBmYWlsZWRcbiIpOwogICAgIH0KLSAgfQotICBlbHNleworICB9IGVsc2UgewogICAgIERFVkxPR19FUlJPUigiQ0tCdXNIYW5kbGVyOiBDYWxsRGV2aWNlU3BlY2lmaWNGdW5jdGlvbiBmb3IgJ2xpYnBhY2tidXNfUHVzaCcgZmFpbGVkXG4iKTsKICAgfQogICByZXR1cm4gYlJldFZhbDsKIH0KIAotc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+IFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpnZW5lcmF0ZVBhcmFtZXRlckxpc3QoKXsKLSAgc3RkOjogc3RyaW5nc3RyZWFtIHN0cmVhbUJ1ZihzdGQ6OnN0cmluZyhQQVJBTVMoKS5nZXRWYWx1ZSgpKSk7Ci0gIHN0ZDo6IHZlY3RvcjxzdGQ6OnN0cmluZz4gcmV0VmFsOwotICBzdGQ6OiBzdHJpbmcgc2VnbWVudDsKK3N0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Z2VuZXJhdGVQYXJhbWV0ZXJMaXN0KCkgeworICBzdGQ6OnN0cmluZ3N0cmVhbSBzdHJlYW1CdWYoc3RkOjpzdHJpbmcoUEFSQU1TKCkuZ2V0VmFsdWUoKSkpOworICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gcmV0VmFsOworICBzdGQ6OnN0cmluZyBzZWdtZW50OwogCi0gIHdoaWxlKHN0ZDo6Z2V0bGluZShzdHJlYW1CdWYsIHNlZ21lbnQsICcuJykpeyAgIC8vc2VwZXJhdGUgdGhlIFBBUkFNUyBpbnB1dCBieSAnLicgZm9yIGVhc2llciBwcm9jZXNzaW5nCisgIHdoaWxlKHN0ZDo6Z2V0bGluZShzdHJlYW1CdWYsIHNlZ21lbnQsICcuJykpIHsgLy9zZXBlcmF0ZSB0aGUgUEFSQU1TIGlucHV0IGJ5ICcuJyBmb3IgZWFzaWVyIHByb2Nlc3NpbmcKICAgICByZXRWYWwucHVzaF9iYWNrKHNlZ21lbnQpOwogICB9CiAgIHJldHVybiByZXRWYWw7CiB9CiAKLXZvaWQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6dXBkYXRlUmVhZERhdGEoKXsKK3ZvaWQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6dXBkYXRlUmVhZERhdGEoKSB7CiAgIC8vbG9uZyBwYV9WYWx1ZSA9IHN0cnRvbChtX2FjSW5kYXRhLCBOVUxMLCAxNik7CiAgIG1SZWFkRkJMaXN0U3luYy5sb2NrKCk7CiAgIG1BcHBEZXZJbnRlcmZhY2UtPlJlYWRTdGFydChtS0J1c0RldmljZUlkLCBtVGFza0lkKTsgLyogbG9jayBQRC1JbiBkYXRhICovCiAgIFRSZWFkRkJDb250YWluZXI6Okl0ZXJhdG9yIGl0RW5kKG1SZWFkRkJMaXN0LmVuZCgpKTsKLSAgZm9yKFRSZWFkRkJDb250YWluZXI6Okl0ZXJhdG9yIGl0UnVubmVyID0gbVJlYWRGQkxpc3QuYmVnaW4oKTsgaXRSdW5uZXIgIT0gaXRFbmQ7ICsraXRSdW5uZXIpewotICAgIGlmKCgqaXRSdW5uZXIpLT5jaGVja0lucHV0RGF0YSgpKXsKKyAgZm9yKFRSZWFkRkJDb250YWluZXI6Okl0ZXJhdG9yIGl0UnVubmVyID0gbVJlYWRGQkxpc3QuYmVnaW4oKTsgaXRSdW5uZXIgIT0gaXRFbmQ7ICsraXRSdW5uZXIpIHsKKyAgICBpZigoKml0UnVubmVyKS0+Y2hlY2tJbnB1dERhdGEoKSkgewogICAgICAgLy8gSWYgZGF0YSBoYXMgY2hhbmdlZCwgZ2l2ZSB0aGUgaW5kaWNhdGlvbiBldmVudAogICAgICAgc3RhcnROZXdFdmVudENoYWluKCppdFJ1bm5lcik7CiAgICAgfQpAQCAtMjQ1LDI0ICsyMzAsMjMgQEAKICAgbVJlYWRGQkxpc3RTeW5jLnVubG9jaygpOwogfQogCi12b2lkIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OnJlZ2lzdGVyS0J1c1JlYWRGQihXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSAqcGFGQil7Cit2b2lkIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OnJlZ2lzdGVyS0J1c1JlYWRGQihXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSAqcGFGQikgewogICBtUmVhZEZCTGlzdFN5bmMubG9jaygpOwogICBtUmVhZEZCTGlzdC5wdXNoQmFjayhwYUZCKTsKICAgbVJlYWRGQkxpc3RTeW5jLnVubG9jaygpOwogfQogCi12b2lkIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OnVucmVnaXN0ZXJLQnVzUmVhZEZCKFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlICpwYUZCKXsKK3ZvaWQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6dW5yZWdpc3RlcktCdXNSZWFkRkIoV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2UgKnBhRkIpIHsKICAgbVJlYWRGQkxpc3RTeW5jLmxvY2soKTsKICAgVFJlYWRGQkNvbnRhaW5lcjo6SXRlcmF0b3IgaXRSdW5uZXIobVJlYWRGQkxpc3QuYmVnaW4oKSk7CiAgIFRSZWFkRkJDb250YWluZXI6Okl0ZXJhdG9yIGl0UmVmTm9kZShtUmVhZEZCTGlzdC5lbmQoKSk7CiAgIFRSZWFkRkJDb250YWluZXI6Okl0ZXJhdG9yIGl0RW5kKG1SZWFkRkJMaXN0LmVuZCgpKTsKIAotICB3aGlsZShpdFJ1bm5lciAhPSBpdEVuZCl7Ci0gICAgaWYoKml0UnVubmVyID09IHBhRkIpewotICAgICAgaWYoaXRSZWZOb2RlID09IGl0RW5kKXsKKyAgd2hpbGUoaXRSdW5uZXIgIT0gaXRFbmQpIHsKKyAgICBpZigqaXRSdW5uZXIgPT0gcGFGQikgeworICAgICAgaWYoaXRSZWZOb2RlID09IGl0RW5kKSB7CiAgICAgICAgIG1SZWFkRkJMaXN0LnBvcEZyb250KCk7Ci0gICAgICB9Ci0gICAgICBlbHNleworICAgICAgfSBlbHNlIHsKICAgICAgICAgbVJlYWRGQkxpc3QuZXJhc2VBZnRlcihpdFJlZk5vZGUpOwogICAgICAgfQogICAgICAgYnJlYWs7CkBAIC0yNzUsMzUgKzI1OSwzNyBAQAogICBtUmVhZEZCTGlzdFN5bmMudW5sb2NrKCk7CiB9CiAKLXZvaWQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6d3JpdGVPdXRwdXREYXRhQml0VG9LQnVzKHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqcGFUZXJtaW5hbCwgVEZvcnRlVUludDMyIHBhQ2hhbm5lbCwgYm9vbCBwYU91dERhdGFCb29sKXsKK3ZvaWQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6d3JpdGVPdXRwdXREYXRhQml0VG9LQnVzKHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqcGFUZXJtaW5hbCwgVEZvcnRlVUludDMyIHBhQ2hhbm5lbCwgYm9vbCBwYU91dERhdGFCb29sKSB7CiAgIG1BcHBEZXZJbnRlcmZhY2UtPldyaXRlU3RhcnQobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCk7CiAgIG1BcHBEZXZJbnRlcmZhY2UtPldyaXRlQm9vbChtS0J1c0RldmljZUlkLCBtVGFza0lkLCAoKHBhVGVybWluYWwtPk9mZnNldE91dHB1dF9iaXRzKSArIHBhQ2hhbm5lbCksIHBhT3V0RGF0YUJvb2wpOwogICBtQXBwRGV2SW50ZXJmYWNlLT5Xcml0ZUVuZChtS0J1c0RldmljZUlkLCBtVGFza0lkKTsKIH0KIAotdm9pZCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpyZWFkSW5wdXREYXRhQml0ZnJvbUtCdXModGxka2NfS2J1c0luZm9fVGVybWluYWxJbmZvICpwYVRlcm1pbmFsLCBURm9ydGVVSW50MzIgcGFDaGFubmVsLCBib29sICpwYUluRGF0YUJvb2wpewordm9pZCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpyZWFkSW5wdXREYXRhQml0ZnJvbUtCdXModGxka2NfS2J1c0luZm9fVGVybWluYWxJbmZvICpwYVRlcm1pbmFsLCBURm9ydGVVSW50MzIgcGFDaGFubmVsLCBib29sICpwYUluRGF0YUJvb2wpIHsKICAgbUFwcERldkludGVyZmFjZS0+UmVhZEJvb2wobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCwgKChwYVRlcm1pbmFsLT5PZmZzZXRJbnB1dF9iaXRzKSArIHBhQ2hhbm5lbCksIHBhSW5EYXRhQm9vbCk7CiB9CiAKLXZvaWQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6cmVhZElucHV0RGF0YVdvcmRmcm9tS0J1cyggdGxka2NfS2J1c0luZm9fVGVybWluYWxJbmZvICpwYVRlcm1pbmFsLCBURm9ydGVVSW50MzIgcGFDaGFubmVsLCBURm9ydGVXb3JkICpwYUluRGF0YVdvcmQpewordm9pZCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpyZWFkSW5wdXREYXRhV29yZGZyb21LQnVzKHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqcGFUZXJtaW5hbCwgVEZvcnRlVUludDMyIHBhQ2hhbm5lbCwKKyAgICBURm9ydGVXb3JkICpwYUluRGF0YVdvcmQpIHsKICAgVEZvcnRlQnl0ZSBJbkRhdGFbMl07CiAgIG1BcHBEZXZJbnRlcmZhY2UtPlJlYWRTdGFydChtS0J1c0RldmljZUlkLCBtVGFza0lkKTsgLyogbG9jayBQRC1JbiBkYXRhICovCi0gIG1BcHBEZXZJbnRlcmZhY2UtPlJlYWRCeXRlcyhtS0J1c0RldmljZUlkLCBtVGFza0lkLCAoKHBhVGVybWluYWwtPk9mZnNldElucHV0X2JpdHMpICsgKHBhQ2hhbm5lbCoyKSksMiwgSW5EYXRhKTsKKyAgbUFwcERldkludGVyZmFjZS0+UmVhZEJ5dGVzKG1LQnVzRGV2aWNlSWQsIG1UYXNrSWQsICgocGFUZXJtaW5hbC0+T2Zmc2V0SW5wdXRfYml0cykgKyAocGFDaGFubmVsICogMikpLCAyLCBJbkRhdGEpOwogICBtQXBwRGV2SW50ZXJmYWNlLT5SZWFkRW5kKG1LQnVzRGV2aWNlSWQsIG1UYXNrSWQpOyAvKiB1bmxvY2sgUEQtSW4gZGF0YSAqLwogICAqcGFJbkRhdGFXb3JkID0gc3RhdGljX2Nhc3Q8VEZvcnRlV29yZD4oKHN0YXRpY19jYXN0PFRGb3J0ZVdvcmQ+KEluRGF0YVsxXSkgPDwgOCkgKyAoc3RhdGljX2Nhc3Q8VEZvcnRlV29yZD4oSW5EYXRhWzBdKSkpOwogfQogCi12b2lkIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OndyaXRlT3V0cHV0RGF0YVdvcmRUb0tCdXMoIHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqcGFUZXJtaW5hbCwgVEZvcnRlVUludDMyIHBhQ2hhbm5lbCwgVEZvcnRlV29yZCBwYU91dERhdGFXb3JkKXsKK3ZvaWQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6d3JpdGVPdXRwdXREYXRhV29yZFRvS0J1cyh0bGRrY19LYnVzSW5mb19UZXJtaW5hbEluZm8gKnBhVGVybWluYWwsIFRGb3J0ZVVJbnQzMiBwYUNoYW5uZWwsCisgICAgVEZvcnRlV29yZCBwYU91dERhdGFXb3JkKSB7CiAgIFRGb3J0ZUJ5dGUgb3V0RGF0YVsyXTsKLSAgb3V0RGF0YVswXSA9IHN0YXRpY19jYXN0IDxURm9ydGVCeXRlPiAocGFPdXREYXRhV29yZCAmIDB4MDBGRik7Ci0gIG91dERhdGFbMV0gPSBzdGF0aWNfY2FzdCA8VEZvcnRlQnl0ZT4gKHBhT3V0RGF0YVdvcmQgPj4gOCk7CisgIG91dERhdGFbMF0gPSBzdGF0aWNfY2FzdDxURm9ydGVCeXRlPihwYU91dERhdGFXb3JkICYgMHgwMEZGKTsKKyAgb3V0RGF0YVsxXSA9IHN0YXRpY19jYXN0PFRGb3J0ZUJ5dGU+KHBhT3V0RGF0YVdvcmQgPj4gOCk7CiAgIG1BcHBEZXZJbnRlcmZhY2UtPldyaXRlU3RhcnQobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCk7Ci0gIG1BcHBEZXZJbnRlcmZhY2UtPldyaXRlQnl0ZXMobUtCdXNEZXZpY2VJZCwgbVRhc2tJZCwgKChwYVRlcm1pbmFsLT5PZmZzZXRPdXRwdXRfYml0cykgKyAocGFDaGFubmVsKjIpKSwgMiwgIG91dERhdGEpOworICBtQXBwRGV2SW50ZXJmYWNlLT5Xcml0ZUJ5dGVzKG1LQnVzRGV2aWNlSWQsIG1UYXNrSWQsICgocGFUZXJtaW5hbC0+T2Zmc2V0T3V0cHV0X2JpdHMpICsgKHBhQ2hhbm5lbCAqIDIpKSwgMiwgb3V0RGF0YSk7CiAgIG1BcHBEZXZJbnRlcmZhY2UtPldyaXRlRW5kKG1LQnVzRGV2aWNlSWQsIG1UYXNrSWQpOwogfQogCi12b2lkIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OmNsb3NlS0J1c0ludGVyZmFjZSgpewotICBpZigwICE9IG1BcHBEZXZJbnRlcmZhY2Upewordm9pZCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpjbG9zZUtCdXNJbnRlcmZhY2UoKSB7CisgIGlmKDAgIT0gbUFwcERldkludGVyZmFjZSkgewogICAgIG1BcHBEZXZJbnRlcmZhY2UtPkNsb3NlRGV2aWNlKG1LQnVzRGV2aWNlSWQpOyAvLyBjbG9zZSBrYnVzIGRldmljZQogICAgIG1BcHBEZXZJbnRlcmZhY2UtPkV4aXQoKTsgLy8gZGlzY29ubmVjdCBBREktSW50ZXJmYWNlCiAgICAgbUtCdXNEZXZpY2VJZCA9IHNjbUludmFsaWREZXZpY2VJZDsKQEAgLTMxMSwxNSArMjk3LDE1IEBACiAgIH0KIH0KIAotdm9pZCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjplbmFibGVIYW5kbGVyKHZvaWQpewordm9pZCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjplbmFibGVIYW5kbGVyKHZvaWQpIHsKIH0KIAotdm9pZCBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpkaXNhYmxlSGFuZGxlcih2b2lkKXsKK3ZvaWQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6ZGlzYWJsZUhhbmRsZXIodm9pZCkgewogfQogCi12b2lkICBXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZTo6Q0tCdXNIYW5kbGVyOjpzZXRQcmlvcml0eShpbnQgcGFQcmlvcml0eSl7Cit2b2lkIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlOjpDS0J1c0hhbmRsZXI6OnNldFByaW9yaXR5KGludCkgewogfQogCi1pbnQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6Z2V0UHJpb3JpdHkodm9pZCkgY29uc3R7CitpbnQgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2U6OkNLQnVzSGFuZGxlcjo6Z2V0UHJpb3JpdHkodm9pZCkgY29uc3QgewogICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3dhZ29rYnVzL3Byb2Nlc3NpbnRlcmZhY2UuaCBiL3NyYy9tb2R1bGVzL3dhZ29rYnVzL3Byb2Nlc3NpbnRlcmZhY2UuaAppbmRleCA2NzU3MmExLi5mZjZmMjNjIDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy93YWdva2J1cy9wcm9jZXNzaW50ZXJmYWNlLmgKKysrIGIvc3JjL21vZHVsZXMvd2Fnb2tidXMvcHJvY2Vzc2ludGVyZmFjZS5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgICBNaWxhbiBWYXRob29wYW4sIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTMyLDY5ICszMyw2NCBAQAogI2luY2x1ZGUgPGxka2Nfa2J1c19yZWdpc3Rlcl9jb21tdW5pY2F0aW9uLmg+CiB9CiAKLWNsYXNzIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlIDogcHVibGljIENQcm9jZXNzSW50ZXJmYWNlQmFzZXsKK2NsYXNzIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlIDogcHVibGljIENQcm9jZXNzSW50ZXJmYWNlQmFzZSB7CiAgIHB1YmxpYzoKICAgICAvLyB3YWdvIFBGQyBwcm9jZXNzIGludGVyZmFjZSBkZWNsYXJhdGlvbgotICAgIFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlKENSZXNvdXJjZSAqcGFTcmNSZXMsIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgKnBhSW50ZXJmYWNlU3BlYywKLSAgICAgICAgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYUluc3RhbmNlTmFtZUlkLCBURm9ydGVCeXRlICpwYUZCQ29ubkRhdGEsCi0gICAgICAgIFRGb3J0ZUJ5dGUgKnBhRkJWYXJzRGF0YSk7CisgICAgV2Fnb1BGQ1Byb2Nlc3NJbnRlcmZhY2UoQ1Jlc291cmNlICpwYVNyY1JlcywgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyAqcGFJbnRlcmZhY2VTcGVjLCBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhSW5zdGFuY2VOYW1lSWQsCisgICAgICAgIFRGb3J0ZUJ5dGUgKnBhRkJDb25uRGF0YSwgVEZvcnRlQnl0ZSAqcGFGQlZhcnNEYXRhKTsKICAgICB2aXJ0dWFsIH5XYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSgpOwogCiAgICAgLy8gY3BwY2hlY2stc3VwcHJlc3Mgbm9Db25zdHJ1Y3RvcgotICAgICAgICBjbGFzcyBDS0J1c0hhbmRsZXIgOiBwdWJsaWMgQ0V4dGVybmFsRXZlbnRIYW5kbGVyLCBwdWJsaWMgQ1RocmVhZHsKLSAgICAgICAgICAgIERFQ0xBUkVfSEFORExFUihDS0J1c0hhbmRsZXIpCisgICAgY2xhc3MgQ0tCdXNIYW5kbGVyIDogcHVibGljIENFeHRlcm5hbEV2ZW50SGFuZGxlciwgcHVibGljIENUaHJlYWQgeworICAgICAgREVDTEFSRV9IQU5ETEVSKENLQnVzSGFuZGxlcikKIAotICAgICAgICBwdWJsaWM6Ci0gICAgICAgICAgLy8hS0J1cyBpbnRlcmZhY2UgaGFuZGxpbmcgaXMgdXAgYW5kIHJ1bm5pbmcgY29ycmVjdGx5Ci0gICAgICAgICAgYm9vbCBpc0tCdXNSdW5uaW5nKCk7Ci0gICAgICAgICAgLy9ib29sIG9uS0J1c0N5bGNlKFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlICZwYV9yb0tCdXNIYW5kbGVyKTsgY2FuIGJlIHVzZWQgZm9yIG1vcmUgY29tcGxleCBrYnVzIGhhbmRsaW5nCi0gICAgICAgICAgYm9vbCBnZXRUZXJtaW5hbElkKFRGb3J0ZVVJbnQ4IHBhU2xvdCk7Ci0gICAgICAgICAgdGxka2NfS2J1c0luZm9fVGVybWluYWxJbmZvICpnZXRUZXJtaW5hbEluZm8oVEZvcnRlVUludDggcGFTbG90KTsKLSAgICAgICAgICB2b2lkIHJlZ2lzdGVyS0J1c1JlYWRGQihXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSAqcGFGQik7Ci0gICAgICAgICAgdm9pZCB1bnJlZ2lzdGVyS0J1c1JlYWRGQihXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSAqcGFGQik7Ci0gICAgICAgICAgdm9pZCB3cml0ZU91dHB1dERhdGFCaXRUb0tCdXModGxka2NfS2J1c0luZm9fVGVybWluYWxJbmZvICpwYVRlcm1pbmFsLCBURm9ydGVVSW50MzIsCi0gICAgICAgICAgICAgIGJvb2wgcGFPdXREYXRhQm9vbCk7Ci0gICAgICAgICAgdm9pZCB3cml0ZU91dHB1dERhdGFXb3JkVG9LQnVzKHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqcGFUZXJtaW5hbCwKLSAgICAgICAgICAgICAgVEZvcnRlVUludDMyIHBhQ2hhbm5lbCwgVEZvcnRlV29yZCBwYU91dERhdGFXb3JkKTsKLSAgICAgICAgICB2b2lkIHJlYWRJbnB1dERhdGFCaXRmcm9tS0J1cyh0bGRrY19LYnVzSW5mb19UZXJtaW5hbEluZm8gKnBhVGVybWluYWwsCi0gICAgICAgICAgICAgIFRGb3J0ZVVJbnQzMiBwYUNoYW5uZWwsIGJvb2wgKnBhSW5EYXRhQm9vbCk7Ci0gICAgICAgICAgdm9pZCByZWFkSW5wdXREYXRhV29yZGZyb21LQnVzKHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqcGFUZXJtaW5hbCwKLSAgICAgICAgICAgICAgVEZvcnRlVUludDMyIHBhQ2hhbm5lbCwgVEZvcnRlV29yZCAqcGFJbkRhdGFXb3JkKTsKLSAgICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuKCk7Ci0gICAgICAgICAgLyohR28gdGhyb3VnaCB0aGUgcmVhZCBsaXN0IG5vdGlmeWluZyB0aGUgcmVnaXN0ZXJlZCBGQnMgb24gdGhlIG5ldyBjeWNsZSBhbGxvd2luZwotICAgICAgICAgICAqIHRoZW0gdG8gdXBkYXRlIHRoZWlyIGRhdGEgYW5kIGlmIG5lY2Vzc2FyeSBhY3RpdmF0ZSBhbiBldmVudCBjaGFpbiovCisgICAgICBwdWJsaWM6CisgICAgICAgIC8vIUtCdXMgaW50ZXJmYWNlIGhhbmRsaW5nIGlzIHVwIGFuZCBydW5uaW5nIGNvcnJlY3RseQorICAgICAgICBib29sIGlzS0J1c1J1bm5pbmcoKTsKKyAgICAgICAgLy9ib29sIG9uS0J1c0N5bGNlKFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlICZwYV9yb0tCdXNIYW5kbGVyKTsgY2FuIGJlIHVzZWQgZm9yIG1vcmUgY29tcGxleCBrYnVzIGhhbmRsaW5nCisgICAgICAgIGJvb2wgaXNJZFZhbGlkKFRGb3J0ZVVJbnQ4IHBhU2xvdCk7CisgICAgICAgIHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqZ2V0VGVybWluYWxJbmZvKFRGb3J0ZVVJbnQ4IHBhU2xvdCk7CisgICAgICAgIHZvaWQgcmVnaXN0ZXJLQnVzUmVhZEZCKFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlICpwYUZCKTsKKyAgICAgICAgdm9pZCB1bnJlZ2lzdGVyS0J1c1JlYWRGQihXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSAqcGFGQik7CisgICAgICAgIHZvaWQgd3JpdGVPdXRwdXREYXRhQml0VG9LQnVzKHRsZGtjX0tidXNJbmZvX1Rlcm1pbmFsSW5mbyAqcGFUZXJtaW5hbCwgVEZvcnRlVUludDMyLCBib29sIHBhT3V0RGF0YUJvb2wpOworICAgICAgICB2b2lkIHdyaXRlT3V0cHV0RGF0YVdvcmRUb0tCdXModGxka2NfS2J1c0luZm9fVGVybWluYWxJbmZvICpwYVRlcm1pbmFsLCBURm9ydGVVSW50MzIgcGFDaGFubmVsLCBURm9ydGVXb3JkIHBhT3V0RGF0YVdvcmQpOworICAgICAgICB2b2lkIHJlYWRJbnB1dERhdGFCaXRmcm9tS0J1cyh0bGRrY19LYnVzSW5mb19UZXJtaW5hbEluZm8gKnBhVGVybWluYWwsIFRGb3J0ZVVJbnQzMiBwYUNoYW5uZWwsIGJvb2wgKnBhSW5EYXRhQm9vbCk7CisgICAgICAgIHZvaWQgcmVhZElucHV0RGF0YVdvcmRmcm9tS0J1cyh0bGRrY19LYnVzSW5mb19UZXJtaW5hbEluZm8gKnBhVGVybWluYWwsIFRGb3J0ZVVJbnQzMiBwYUNoYW5uZWwsIFRGb3J0ZVdvcmQgKnBhSW5EYXRhV29yZCk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBydW4oKTsKKyAgICAgICAgLyohR28gdGhyb3VnaCB0aGUgcmVhZCBsaXN0IG5vdGlmeWluZyB0aGUgcmVnaXN0ZXJlZCBGQnMgb24gdGhlIG5ldyBjeWNsZSBhbGxvd2luZworICAgICAgICAgKiB0aGVtIHRvIHVwZGF0ZSB0aGVpciBkYXRhIGFuZCBpZiBuZWNlc3NhcnkgYWN0aXZhdGUgYW4gZXZlbnQgY2hhaW4qLwogCi0gICAgICAgICAgLyogZnVuY3Rpb25zIG5lZWRlZCBmb3IgdGhlIGV4dGVybmFsIGV2ZW50IGhhbmRsZXIgaW50ZXJmYWNlICovCi0gICAgICAgICAgdm9pZCBlbmFibGVIYW5kbGVyKHZvaWQpOwotICAgICAgICAgIHZvaWQgZGlzYWJsZUhhbmRsZXIodm9pZCk7Ci0gICAgICAgICAgdm9pZCBzZXRQcmlvcml0eShpbnQgcGFQcmlvcml0eSk7Ci0gICAgICAgICAgaW50IGdldFByaW9yaXR5KHZvaWQpIGNvbnN0OworICAgICAgICAvKiBmdW5jdGlvbnMgbmVlZGVkIGZvciB0aGUgZXh0ZXJuYWwgZXZlbnQgaGFuZGxlciBpbnRlcmZhY2UgKi8KKyAgICAgICAgdm9pZCBlbmFibGVIYW5kbGVyKHZvaWQpOworICAgICAgICB2b2lkIGRpc2FibGVIYW5kbGVyKHZvaWQpOworICAgICAgICB2b2lkIHNldFByaW9yaXR5KGludCBwYVByaW9yaXR5KTsKKyAgICAgICAgaW50IGdldFByaW9yaXR5KHZvaWQpIGNvbnN0OwogCi0gICAgICAgIHByaXZhdGU6Ci0gICAgICAgICAgLy8gUHJpdmF0ZSBtZXRob2RzCi0gICAgICAgICAgdm9pZCB1cGRhdGVSZWFkRGF0YSgpOwotICAgICAgICAgIHZvaWQgY2xvc2VLQnVzSW50ZXJmYWNlKCk7Ci0gICAgICAgICAgYm9vbCB0cmlnZ2VyS0J1c0N5Y2xlKCk7Ci0gICAgICAgICAgYm9vbCBsb2FkVGVybWluYWxJbmZvcm1hdGlvbigpOworICAgICAgcHJpdmF0ZToKKyAgICAgICAgLy8gUHJpdmF0ZSBtZXRob2RzCisgICAgICAgIHZvaWQgdXBkYXRlUmVhZERhdGEoKTsKKyAgICAgICAgdm9pZCBjbG9zZUtCdXNJbnRlcmZhY2UoKTsKKyAgICAgICAgYm9vbCB0cmlnZ2VyS0J1c0N5Y2xlKCk7CisgICAgICAgIGJvb2wgbG9hZFRlcm1pbmFsSW5mb3JtYXRpb24oKTsKIAotICAgICAgICAgIC8vVmFsaWQgZGV2aWNlIGlkcyBhcmUgYWx3YXlzIGdyZWF0ZXIgdGhhbiAwCi0gICAgICAgICAgdHlwZWRlZiBDU2luZ2x5TGlua2VkTGlzdDxXYWdvUEZDUHJvY2Vzc0ludGVyZmFjZSAqPiBUUmVhZEZCQ29udGFpbmVyOworICAgICAgICAvL1ZhbGlkIGRldmljZSBpZHMgYXJlIGFsd2F5cyBncmVhdGVyIHRoYW4gMAorICAgICAgICB0eXBlZGVmIENTaW5nbHlMaW5rZWRMaXN0PFdhZ29QRkNQcm9jZXNzSW50ZXJmYWNlICo+IFRSZWFkRkJDb250YWluZXI7CiAKLSAgICAgICAgICBzdGF0aWMgY29uc3QgdERldmljZUlkIHNjbUludmFsaWREZXZpY2VJZCA9IC0xOworICAgICAgICBzdGF0aWMgY29uc3QgdERldmljZUlkIHNjbUludmFsaWREZXZpY2VJZCA9IC0xOwogCi0gICAgICAgICAgVFJlYWRGQkNvbnRhaW5lciBtUmVhZEZCTGlzdDsKLSAgICAgICAgICBDU3luY09iamVjdCBtUmVhZEZCTGlzdFN5bmM7CisgICAgICAgIFRSZWFkRkJDb250YWluZXIgbVJlYWRGQkxpc3Q7CisgICAgICAgIENTeW5jT2JqZWN0IG1SZWFkRkJMaXN0U3luYzsKIAotICAgICAgICAgIC8vRGF0YSB0eXBlcyBmb3IgS0J1cyBTZWFyY2gKLSAgICAgICAgICB0QXBwbGljYXRpb25EZXZpY2VJbnRlcmZhY2UgKiBtQXBwRGV2SW50ZXJmYWNlOwotICAgICAgICAgIHVpbnQzMl90IG1UYXNrSWQ7Ci0gICAgICAgICAgdERldmljZUlkIG1LQnVzRGV2aWNlSWQ7CisgICAgICAgIC8vRGF0YSB0eXBlcyBmb3IgS0J1cyBTZWFyY2gKKyAgICAgICAgdEFwcGxpY2F0aW9uRGV2aWNlSW50ZXJmYWNlICogbUFwcERldkludGVyZmFjZTsKKyAgICAgICAgdWludDMyX3QgbVRhc2tJZDsKKyAgICAgICAgdERldmljZUlkIG1LQnVzRGV2aWNlSWQ7CiAKLSAgICAgICAgICAvKktCdXMgVGVybWluYWwgaW5mb3JtYXRpb24gKi8KLSAgICAgICAgICBzaXplX3QgbVRlcm1pbmFsQ291bnQ7Ci0gICAgICAgICAgdTE2IG1UZXJtaW5hbElkc1tMREtDX0tCVVNfVEVSTUlOQUxfQ09VTlRfTUFYXTsKLSAgICAgICAgICB0bGRrY19LYnVzSW5mb19UZXJtaW5hbEluZm8gbVRlcm1pbmFsRGVzY3JpcHRpb25bTERLQ19LQlVTX1RFUk1JTkFMX0NPVU5UX01BWF07Ci0gICAgICB9OworICAgICAgICAvKktCdXMgVGVybWluYWwgaW5mb3JtYXRpb24gKi8KKyAgICAgICAgc2l6ZV90IG1UZXJtaW5hbENvdW50OworICAgICAgICB1MTYgbVRlcm1pbmFsSWRzW0xES0NfS0JVU19URVJNSU5BTF9DT1VOVF9NQVhdOworICAgICAgICB0bGRrY19LYnVzSW5mb19UZXJtaW5hbEluZm8gbVRlcm1pbmFsRGVzY3JpcHRpb25bTERLQ19LQlVTX1RFUk1JTkFMX0NPVU5UX01BWF07CisgICAgfTsKIAogICBwcm90ZWN0ZWQ6CiAgICAgLy8gUHJvdGVjdGVkIG1lbWJlciB2YXJpYWJsZXMKZGlmZiAtLWdpdCBhL3NyYy9tb2R1bGVzL3hxdWVyeS9DTWFrZUxpc3RzLnR4dCBiL3NyYy9tb2R1bGVzL3hxdWVyeS9DTWFrZUxpc3RzLnR4dAppbmRleCBjNjdkM2FkLi43ZTg2Y2Q2IDEwMDY0NAotLS0gYS9zcmMvbW9kdWxlcy94cXVlcnkvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL21vZHVsZXMveHF1ZXJ5L0NNYWtlTGlzdHMudHh0CkBAIC0xLDUgKzEsNSBAQAogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICisjIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKICMgKgogIyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUKICMgKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMApkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL0NNYWtlTGlzdHMudHh0IGIvc3JjL3N0ZGZibGliL0NNYWtlTGlzdHMudHh0CmluZGV4IGJlOGZhN2EuLmNkOTI2YTcgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvc3RkZmJsaWIvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDEwLCAyMDExIEFDSU4KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTAsIDIwMTEgQUNJTgorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKiAgIEpvaGFubmVzIE1lc3NtZXIgLSBhZGQgSU8gZGlyZWN0b3J5CiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvQVJUaW1lT3V0LmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvQVJUaW1lT3V0LmNwcAppbmRleCA4MzI4YjliLi45MWZhYWMyIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0FSVGltZU91dC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9BUlRpbWVPdXQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvQVJUaW1lT3V0LmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0FSVGltZU91dC5oCmluZGV4IDA2MDc4NTMuLjgyMDY5MjAgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvQVJUaW1lT3V0LmgKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9BUlRpbWVPdXQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0FUaW1lT3V0LmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvQVRpbWVPdXQuY3BwCmluZGV4IDhhYTI4MTkuLjNjODFkOWUgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvQVRpbWVPdXQuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvQVRpbWVPdXQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvQVRpbWVPdXQuaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvQVRpbWVPdXQuaAppbmRleCA1NzcxZTkzLi4xOWE3OTdiIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0FUaW1lT3V0LmgKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9BVGltZU91dC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvQ01ha2VMaXN0cy50eHQgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0NNYWtlTGlzdHMudHh0CmluZGV4IGNmY2FlOGYuLmE0ZWIxYzkgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIEFsb2lzIFpvaXRsLCBNb25pa2EgV2VuZ2VyDQorIyBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXINCiAjICogICAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogDQpAQCAtMjIsNCArMjMsNCBAQAogZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChFX0NZQ0xFICAgRV9ERU1VWCAgRV9GX1RSSUcgIEVfUEVSTUlUKSANCiBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEVfUkRFTEFZICAgRV9SRVNUQVJUIEVfUl9UUklHIEVfU1BMSVQgICBFX1NXSVRDSCkNCiBmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEdFTl9FX0RFTVVYIEdFTl9FX01VWCkNCi1mb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEFUaW1lT3V0IEVfVGltZU91dCBBUlRpbWVPdXQgRV9SVGltZU91dCkNCitmb3J0ZV9hZGRfc291cmNlZmlsZV9oY3BwKEFUaW1lT3V0IEVfVGltZU91dCBBUlRpbWVPdXQgRV9SVGltZU91dCBFX1RfRkYpDQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NURC5jcHAgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RELmNwcAppbmRleCBlYjM1MTJiLi5iMjVjMmI0IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RELmNwcAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RELmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgQUNJTg0KICAqICAgICAgICAgICAgICAgMjAxOSBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eSBMaW56DQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NURC5oIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NURC5oCmluZGV4IDZiMWE0YjAuLjYyMDYxMjcgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9DVEQuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIE1vbmlrYSBXZW5nZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9DVFUuY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NUVS5jcHAKaW5kZXggMWU2NzMyYS4uY2Y5Zjk4MyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NUVS5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NUVS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RVLmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RVLmgKaW5kZXggZDA0ZTczMS4uZjE0ZTdkYiAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NUVS5oCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9DVFUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9DVFVELmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9DVFVELmNwcAppbmRleCBlNDFmNjNkLi5jMGFiNzBhIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RVRC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NUVUQuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAogICogICAgICAgICAgICAgICAyMDE5IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5IExpbnoKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NUVUQuaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9DVFVELmgKaW5kZXggMTAwMTNmYS4uMGU0NTVlMyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NUVUQuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RVRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9DWUNMRS5jcHAgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1lDTEUuY3BwCmluZGV4IDkwOWM1YWUuLjUwNTVmNWYgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9DWUNMRS5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NZQ0xFLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlcgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0NZQ0xFLmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1lDTEUuaAppbmRleCAzOGYxZGU4Li4wNTA0MzczIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1lDTEUuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfQ1lDTEUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlcgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0RFTEFZLmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9ERUxBWS5jcHAKaW5kZXggMzgyYWVjMi4uOTU0YjhiMyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0RFTEFZLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfREVMQVkuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE0IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyCkBAIC0yNywxMCArMjgsOCBAQAogICAgIG1BY3RpdmUgPSBmYWxzZTsKICAgfQogICBlbHNlewotICAgIGlmKGNzbV9uRXZlbnRTVEFSVElEICA9PSBwYV9uRUlJRCApewotICAgICAgaWYoIW1BY3RpdmUpewotICAgICAgICBzZXRFdmVudENoYWluRXhlY3V0b3IobV9wb0ludm9raW5nRXhlY0Vudik7ICAvLyBFX0RFTEFZIHdpbGwgZXhlY3V0ZSBpbiB0aGUgc2FtZSB0aHJlYWQgb24gYXMgZnJvbSB3aGVyZSBpdCBoYXMgYmVlbiB0cmlnZ2VyZWQuCi0gICAgICB9CisgICAgaWYoY3NtX25FdmVudFNUQVJUSUQgPT0gcGFfbkVJSUQgJiYgIW1BY3RpdmUpIHsKKyAgICAgIHNldEV2ZW50Q2hhaW5FeGVjdXRvcihtX3BvSW52b2tpbmdFeGVjRW52KTsgLy8gRV9ERUxBWSB3aWxsIGV4ZWN1dGUgaW4gdGhlIHNhbWUgdGhyZWFkIG9uIGFzIGZyb20gd2hlcmUgaXQgaGFzIGJlZW4gdHJpZ2dlcmVkLgogICAgIH0KICAgICBDVGltZWRGQjo6ZXhlY3V0ZUV2ZW50KHBhX25FSUlEKTsKICAgfQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0RFTEFZLmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfREVMQVkuaAppbmRleCA2MGJmYTNmLi5jNjc4OTYyIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfREVMQVkuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfREVMQVkuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlcgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0RFTVVYLmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9ERU1VWC5jcHAKaW5kZXggMmMzOWQ2Ny4uZmIzMDA2NiAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0RFTVVYLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfREVNVVguY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueQpAQCAtNDQsMTEgKzQ1LDEwIEBACiB9OwogCiB2b2lkIEVfREVNVVg6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpewotICBpZihzY21fbkV2ZW50RUlJRCA9PSBwYV9uRUlJRCl7Ci0gICAgaWYoSygpIDw9IDMpewotICAgICAgc2VuZE91dHB1dEV2ZW50KCBLKCkpOyAvLyB0aGUgdmFsdWUgb2YgSyBjb3JyZXNwb25kcyB0byB0aGUgb3V0cHV0ZXZlbnQgSUQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFzIGEgcmVzdWx0IG9mIHRoaXMgd2UgY291bGQgbWFrZSBhIGdlbmVyaWMgRV9ERU1VWAotICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbmQgZXZlbiBhIGdlbmVyaWMgRV9NVVgKLSAgICB9CisgIGlmKHNjbV9uRXZlbnRFSUlEID09IHBhX25FSUlEICYmIEsoKSA8PSAzKSB7CisgICAgc2VuZE91dHB1dEV2ZW50KEsoKSk7CisgICAgLy8gdGhlIHZhbHVlIG9mIEsgY29ycmVzcG9uZHMgdG8gdGhlIG91dHB1dGV2ZW50IElEOworICAgIC8vIGFzIGEgcmVzdWx0IG9mIHRoaXMgd2UgY291bGQgbWFrZSBhIGdlbmVyaWMgRV9ERU1VWAorICAgIC8vIGFuZCBldmVuIGEgZ2VuZXJpYyBFX01VWAogICB9CiB9CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfREVNVVguaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9ERU1VWC5oCmluZGV4IGM3ZjhiYTguLjQ3NmM1YzUgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9ERU1VWC5oCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9ERU1VWC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlcgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0RfRkYuY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0RfRkYuY3BwCmluZGV4IGU4MjU2YWIuLmYxYzZlYmYgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9EX0ZGLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfRF9GRi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255CkBAIC00OCwxMCArNDksOCBAQAogfTsKIAogdm9pZCBFX0RfRkY6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpewotICBpZihzY21fbkV2ZW50Q0xLSUQgPT0gcGFfbkVJSUQpewotICAgIGlmKEQoKSAhPSBRKCkpewotICAgICAgUSgpID0gRCgpOwotICAgICAgc2VuZE91dHB1dEV2ZW50KCBzY21fbkV2ZW50RU9JRCk7Ci0gICAgfQorICBpZihzY21fbkV2ZW50Q0xLSUQgPT0gcGFfbkVJSUQgJiYgRCgpICE9IFEoKSkgeworICAgIFEoKSA9IEQoKTsKKyAgICBzZW5kT3V0cHV0RXZlbnQoc2NtX25FdmVudEVPSUQpOwogICB9CiB9CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfRF9GRi5oIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0RfRkYuaAppbmRleCAwZDEyMGQxLi5kMzgyZWQ4IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfRF9GRi5oCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9EX0ZGLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfRl9UUklHLmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9GX1RSSUcuY3BwCmluZGV4IDE3ODZiODguLjU5NTE5MTcgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9GX1RSSUcuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9GX1RSSUcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEzIEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0ZfVFJJRy5oIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX0ZfVFJJRy5oCmluZGV4IDlkODdiZjAuLmJmMmRiNjggMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9GX1RSSUcuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfRl9UUklHLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDExIEFDSU4NCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueQ0KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9NRVJHRS5jcHAgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfTUVSR0UuY3BwCmluZGV4IGIxNTU2M2MuLjE5ODhhNTAgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9NRVJHRS5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX01FUkdFLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX01FUkdFLmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfTUVSR0UuaAppbmRleCA0OWZmMzM5Li5jNGI2OWM5IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfTUVSR0UuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfTUVSR0UuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9QRVJNSVQuY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1BFUk1JVC5jcHAKaW5kZXggNDY2NDdiMC4uZWExYjI4YSAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1BFUk1JVC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1BFUk1JVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9QRVJNSVQuaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9QRVJNSVQuaAppbmRleCBiOTRkM2U4Li4wMTQ4Njc1IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUEVSTUlULmgKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1BFUk1JVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBSZW5lIFNtb2RpYywgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SREVMQVkuY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JERUxBWS5jcHAKaW5kZXggMTU0N2UyZS4uNTQ1YTdkNSAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JERUxBWS5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JERUxBWS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JERUxBWS5oIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JERUxBWS5oCmluZGV4IDc3ZDAyNDYuLmUzYmVlYjQgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SREVMQVkuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUkRFTEFZLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JFTkQuY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JFTkQuY3BwCmluZGV4IDBkNjhkOTYuLmVlYWE2OWIgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SRU5ELmNwcAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUkVORC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SRU5ELmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUkVORC5oCmluZGV4IDkwODBkYTQuLjgwZjIxOTIgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SRU5ELmgKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JFTkQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SRVNUQVJULmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SRVNUQVJULmNwcAppbmRleCBjNzcyODQyLi42ZWFkNWIzIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUkVTVEFSVC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JFU1RBUlQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIFRob21hcyBTdHJhc3NlciwgUmVuZSBTbW9kaWMsIEdlcmhhcmQgRWJlbmhvZmVyLA0KQEAgLTQzLDE2ICs0NCwxNCBAQAogICAwDQogfTsNCiANCi12b2lkIEVfUkVTVEFSVDo6ZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCl7DQotICBpZihjZ19uRXh0ZXJuYWxFdmVudElEID09IHBhX25FSUlEKXsNCi0gICAgaWYoY2dfbkludmFsaWRFdmVudElEICE9IG1FdmVudFRvU2VuZCl7DQotICAgICAgc2VuZE91dHB1dEV2ZW50KG1FdmVudFRvU2VuZCk7DQotICAgICAgaWYoY3NtU1RPUElEID09IG1FdmVudFRvU2VuZCl7DQotICAgICAgICAvL3N0b3AgZXZlbnQgaXMgc2VudCBwdXQgdGhlIEZCIGZpbmFsbHkgaW50byB0aGUgc3RvcHBlZCBzdGF0ZQ0KLSAgICAgICAgQ0Z1bmN0aW9uQmxvY2s6OmNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfU3RvcCk7DQotICAgICAgICAvLyByZWxlYXNlIHNlbWFwaG9yZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSBzdG9wIGV2ZW50IHdhcyBzZW50IG5vdw0KLSAgICAgICAgbVN1c3BlbmRTZW1hcGhvcmUuaW5jKCk7DQotICAgICAgfQ0KK3ZvaWQgRV9SRVNUQVJUOjpleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKSB7DQorICBpZihjZ19uRXh0ZXJuYWxFdmVudElEID09IHBhX25FSUlEICYmIGNnX25JbnZhbGlkRXZlbnRJRCAhPSBtRXZlbnRUb1NlbmQpIHsNCisgICAgc2VuZE91dHB1dEV2ZW50KG1FdmVudFRvU2VuZCk7DQorICAgIGlmKGNzbVNUT1BJRCA9PSBtRXZlbnRUb1NlbmQpIHsNCisgICAgICAvL3N0b3AgZXZlbnQgaXMgc2VudCBwdXQgdGhlIEZCIGZpbmFsbHkgaW50byB0aGUgc3RvcHBlZCBzdGF0ZQ0KKyAgICAgIENGdW5jdGlvbkJsb2NrOjpjaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKGNnX25NR01fQ01EX1N0b3ApOw0KKyAgICAgIC8vIHJlbGVhc2Ugc2VtYXBob3JlIHRvIGluZGljYXRlIHRoYXQgdGhlIHN0b3AgZXZlbnQgd2FzIHNlbnQgbm93DQorICAgICAgbVN1c3BlbmRTZW1hcGhvcmUuaW5jKCk7DQogICAgIH0NCiAgIH0NCiB9DQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JFU1RBUlQuaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SRVNUQVJULmgKaW5kZXggYjkyMjUyMS4uN2E1ZTNiNyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JFU1RBUlQuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUkVTVEFSVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljLCBHZXJoYXJkIEViZW5ob2ZlciwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsDQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JTLmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SUy5jcHAKaW5kZXggYjYyMWRiYi4uODNjZGU2MSAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JTLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUlMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDEzIEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JTLmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUlMuaAppbmRleCAzMzRlMzQ2Li41ODNiNzA2IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUlMuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUlMuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SVGltZU91dC5jcHAgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUlRpbWVPdXQuY3BwCmluZGV4IGUzNzQxMzQuLmI5MDZlZmYgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SVGltZU91dC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JUaW1lT3V0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUlRpbWVPdXQuaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SVGltZU91dC5oCmluZGV4IGJjODllMjIuLmI1NTE1NGEgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SVGltZU91dC5oCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SVGltZU91dC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SX1RSSUcuY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JfVFJJRy5jcHAKaW5kZXggNmQxZmNiYi4uZTExNzY4OCAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JfVFJJRy5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JfVFJJRy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTMgQUNJTiwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUl9UUklHLmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfUl9UUklHLmgKaW5kZXggNzFjMjY5ZS4uYTgzMGVmNCAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1JfVFJJRy5oCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9SX1RSSUcuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTEgQUNJTg0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255DQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NFTEVDVC5jcHAgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU0VMRUNULmNwcAppbmRleCBlMzgzODJiLi5lNzBmZDc3IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU0VMRUNULmNwcAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU0VMRUNULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMyBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NFTEVDVC5oIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NFTEVDVC5oCmluZGV4IDZlYThkNGEuLmMwN2NhODIgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TRUxFQ1QuaAorKysgYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU0VMRUNULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU1BMSVQuY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NQTElULmNwcAppbmRleCBlMjkyODU1Li5lZGZjYzhhIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU1BMSVQuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TUExJVC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TUExJVC5oIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NQTElULmgKaW5kZXggNjQzZGZiMi4uYmQ2YjhhMyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NQTElULmgKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NQTElULmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU1IuY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NSLmNwcAppbmRleCA0Njk2YjdlLi45ZjA4N2EwIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU1IuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TUi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgUmVuZSBTbW9kaWMsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU1IuaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TUi5oCmluZGV4IGU2MzdkZGMuLjI5MTY4ZTggMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TUi5oCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TUi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXIsIFJlbmUgU21vZGljLCBHZXJoYXJkIEViZW5ob2ZlciwKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TV0lUQ0guY3BwIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NXSVRDSC5jcHAKaW5kZXggY2Q0NDAxNS4uZjRiNGVlNyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NXSVRDSC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NXSVRDSC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU1dJVENILmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfU1dJVENILmgKaW5kZXggNGMwZmU2Mi4uY2IzNTQ2MiAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1NXSVRDSC5oCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9TV0lUQ0guaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9UX0ZGLmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9UX0ZGLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGZjMDM0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1RfRkYuY3BwCkBAIC0wLDAgKzEsNzggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiRV9UX0ZGLmgiCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiRV9UX0ZGX2dlbi5jcHAiCisjZW5kaWYKKworREVGSU5FX0ZJUk1XQVJFX0ZCKEZPUlRFX0VfVF9GRiwgZ19uU3RyaW5nSWRFX1RfRkYpCisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgRk9SVEVfRV9UX0ZGOjpzY21fYW5EYXRhT3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZFF9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0VfVF9GRjo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0x9OworCitjb25zdCBURm9ydGVJbnQxNiBGT1JURV9FX1RfRkY6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHstMX07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIEZPUlRFX0VfVF9GRjo6c2NtX2FuRXZlbnRJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRDTEt9OworCitjb25zdCBURGF0YUlPSUQgRk9SVEVfRV9UX0ZGOjpzY21fYW5FT1dpdGhbXSA9IHswLCAyNTV9OworY29uc3QgVEZvcnRlSW50MTYgRk9SVEVfRV9UX0ZGOjpzY21fYW5FT1dpdGhJbmRleGVzW10gPSB7MCwgLTF9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBGT1JURV9FX1RfRkY6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZEVPfTsKKworY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBGT1JURV9FX1RfRkY6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsKKyAgMSwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIDAsICBzY21fYW5FSVdpdGhJbmRleGVzLAorICAxLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDAsICAwLCAwLCAKKyAgMSwgIHNjbV9hbkRhdGFPdXRwdXROYW1lcywgc2NtX2FuRGF0YU91dHB1dFR5cGVJZHMsCisgIDAsIDAKK307CisKK3ZvaWQgRk9SVEVfRV9UX0ZGOjphbGdfVE9HR0xFKHZvaWQpeworUSgpID0gIVEoKTsKK30KKworCit2b2lkIEZPUlRFX0VfVF9GRjo6ZW50ZXJTdGF0ZVNUQVJUKHZvaWQpeworICBtX25FQ0NTdGF0ZSA9IHNjbV9uU3RhdGVTVEFSVDsKK30KKwordm9pZCBGT1JURV9FX1RfRkY6OmVudGVyU3RhdGVTRVQodm9pZCl7CisgIG1fbkVDQ1N0YXRlID0gc2NtX25TdGF0ZVNFVDsKKyAgYWxnX1RPR0dMRSgpOworICBzZW5kT3V0cHV0RXZlbnQoIHNjbV9uRXZlbnRFT0lEKTsKK30KKwordm9pZCBGT1JURV9FX1RfRkY6OmV4ZWN1dGVFdmVudChpbnQgcGFfbkVJSUQpeworICBib29sIGJUcmFuc2l0aW9uQ2xlYXJlZDsKKyAgZG97CisgICAgYlRyYW5zaXRpb25DbGVhcmVkID0gdHJ1ZTsKKyAgICBzd2l0Y2gobV9uRUNDU3RhdGUpeworICAgICAgY2FzZSBzY21fblN0YXRlU1RBUlQ6CisgICAgICAgIGlmKHNjbV9uRXZlbnRDTEtJRCA9PSBwYV9uRUlJRCkKKyAgICAgICAgICBlbnRlclN0YXRlU0VUKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBiVHJhbnNpdGlvbkNsZWFyZWQgID0gZmFsc2U7IC8vbm8gdHJhbnNpdGlvbiBjbGVhcmVkCisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSBzY21fblN0YXRlU0VUOgorICAgICAgICBpZigoMSkpCisgICAgICAgICAgZW50ZXJTdGF0ZVNUQVJUKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICBiVHJhbnNpdGlvbkNsZWFyZWQgID0gZmFsc2U7IC8vbm8gdHJhbnNpdGlvbiBjbGVhcmVkCisgICAgICAgIGJyZWFrOworICAgICAgZGVmYXVsdDoKKyAgICAgIERFVkxPR19FUlJPUigiVGhlIHN0YXRlIGlzIG5vdCBpbiB0aGUgdmFsaWQgcmFuZ2UhIFRoZSBzdGF0ZSB2YWx1ZSBpczogJWQuIFRoZSBtYXggdmFsdWUgY2FuIGJlOiAxLiIsIG1fbkVDQ1N0YXRlLm9wZXJhdG9yIFRGb3J0ZVVJbnQxNiAoKSk7CisgICAgICAgIG1fbkVDQ1N0YXRlID0gMDsgLy8wIGlzIGFsd2F5cyB0aGUgaW5pdGlhbCBzdGF0ZQorICAgICAgICBicmVhazsKKyAgICB9CisgICAgcGFfbkVJSUQgPSBjZ19uSW52YWxpZEV2ZW50SUQ7ICAvLyB3ZSBoYXZlIHRvIGNsZWFyIHRoZSBldmVudCBhZnRlciB0aGUgZmlyc3QgY2hlY2sgaW4gb3JkZXIgdG8gZW5zdXJlIGNvcnJlY3QgYmVoYXZpb3IKKyAgfXdoaWxlKGJUcmFuc2l0aW9uQ2xlYXJlZCk7Cit9CisKKwpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1RfRkYuaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9UX0ZGLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEwNjBkMwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9UX0ZGLmgKQEAgLTAsMCArMSw2MCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZm5kZWYgX0VfVF9GRl9IXworI2RlZmluZSBfRV9UX0ZGX0hfCisKKyNpbmNsdWRlIDxiYXNpY2ZiLmg+CisjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgorCitjbGFzcyBGT1JURV9FX1RfRkY6IHB1YmxpYyBDQmFzaWNGQnsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihGT1JURV9FX1RfRkYpCisKK3ByaXZhdGU6CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkRhdGFPdXRwdXROYW1lc1tdOworICBzdGF0aWMgY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzY21fYW5EYXRhT3V0cHV0VHlwZUlkc1tdOworICBDSUVDX0JPT0wgJlEoKSB7CisgICAgcmV0dXJuICpzdGF0aWNfY2FzdDxDSUVDX0JPT0wqPihnZXRETygwKSk7CisgIH07CisKKyAgc3RhdGljIGNvbnN0IFRFdmVudElEIHNjbV9uRXZlbnRDTEtJRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FSVdpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50SW5wdXROYW1lc1tdOworCisgIHN0YXRpYyBjb25zdCBURXZlbnRJRCBzY21fbkV2ZW50RU9JRCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fYW5FT1dpdGhJbmRleGVzW107CisgIHN0YXRpYyBjb25zdCBURGF0YUlPSUQgc2NtX2FuRU9XaXRoW107CisgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXTsKKworICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RGQkludGVyZmFjZVNwZWM7CisKKyAgIEZPUlRFX0JBU0lDX0ZCX0RBVEFfQVJSQVkoMSwgMCwgMSwgMCwgMCk7CisgIHZvaWQgYWxnX1RPR0dMRSh2b2lkKTsKKyAgc3RhdGljIGNvbnN0IFRGb3J0ZUludDE2IHNjbV9uU3RhdGVTVEFSVCA9IDA7CisgIHN0YXRpYyBjb25zdCBURm9ydGVJbnQxNiBzY21fblN0YXRlU0VUID0gMTsKKworICB2b2lkIGVudGVyU3RhdGVTVEFSVCh2b2lkKTsKKyAgdm9pZCBlbnRlclN0YXRlU0VUKHZvaWQpOworCisgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKTsKKworcHVibGljOgorICBGT1JURV9FX1RfRkYoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSAqcGFfcG9TcmNSZXMpIDogCisgICAgICAgQ0Jhc2ljRkIocGFfcG9TcmNSZXMsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgICAgICAgMCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKXsKKyAgfTsKKworICB2aXJ0dWFsIH5GT1JURV9FX1RfRkYoKXt9OworCit9OworCisjZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlCisKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9UaW1lT3V0LmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9UaW1lT3V0LmNwcAppbmRleCBmYThkZGQ3Li5lNGVmNzQzIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfVGltZU91dC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1RpbWVPdXQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9UaW1lT3V0LmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0VfVGltZU91dC5oCmluZGV4IGJmYWNjMDkuLmEyZDJiMGUgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvRV9UaW1lT3V0LmgKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9FX1RpbWVPdXQuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0dFTl9FX0RFTVVYLmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfREVNVVguY3BwCmluZGV4IDg5MmIyOTAuLmNlNjkxOTYgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfREVNVVguY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfREVNVVguY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBNYXR0aGlhcyBQbGFzY2gKQEAgLTM1LDEwICszNiw4IEBACiB9CiAKIHZvaWQgR0VOX0VfREVNVVg6OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKXsKLSAgaWYoc2NtX25FdmVudEVJSUQgPT0gcGFFSUlEKXsKLSAgICBpZihLKCkgPCBtX3BzdEludGVyZmFjZVNwZWMtPm1fbk51bUVPcyl7Ci0gICAgICBzZW5kT3V0cHV0RXZlbnQoSygpKTsgLy8gdGhlIHZhbHVlIG9mIEsgY29ycmVzcG9uZHMgdG8gdGhlIG91dHB1dCBldmVudCBJRDsKLSAgICB9CisgIGlmKHNjbV9uRXZlbnRFSUlEID09IHBhRUlJRCAmJiBLKCkgPCBtX3BzdEludGVyZmFjZVNwZWMtPm1fbk51bUVPcykgeworICAgIHNlbmRPdXRwdXRFdmVudChLKCkpOyAvLyB0aGUgdmFsdWUgb2YgSyBjb3JyZXNwb25kcyB0byB0aGUgb3V0cHV0IGV2ZW50IElEOwogICB9CiB9CiAKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfREVNVVguaCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfREVNVVguaAppbmRleCA5NTI2YTJlLi4xNGM5NGFkIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0dFTl9FX0RFTVVYLmgKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9HRU5fRV9ERU1VWC5oCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4KICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfTVVYLmNwcCBiL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfTVVYLmNwcAppbmRleCAyZTQ5NjAzLi5lOTQ5NGU1IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvZXZlbnRzL0dFTl9FX01VWC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9HRU5fRV9NVVguY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBNYXR0aGlhcyBQbGFzY2gKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfTVVYLmggYi9zcmMvc3RkZmJsaWIvZXZlbnRzL0dFTl9FX01VWC5oCmluZGV4IDkyMWE4ZjIuLmQyY2MzZTggMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9ldmVudHMvR0VOX0VfTVVYLmgKKysrIGIvc3JjL3N0ZGZibGliL2V2ZW50cy9HRU5fRV9NVVguaApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCiAgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5Ci0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaW8vSUIuY3BwIGIvc3JjL3N0ZGZibGliL2lvL0lCLmNwcAppbmRleCA0ZWFlYmZiLi45ZTFlNmM1IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaW8vSUIuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9pby9JQi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBhZGRzIGludGlhbCBpbXBsZW1lbXRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2lvL0lCLmggYi9zcmMvc3RkZmJsaWIvaW8vSUIuaAppbmRleCBiMDVmMTZiLi5mZGRjZjJiIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaW8vSUIuaAorKysgYi9zcmMvc3RkZmJsaWIvaW8vSUIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZHMgaW50aWFsIGltcGxlbWVtdGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaW8vSUQuY3BwIGIvc3JjL3N0ZGZibGliL2lvL0lELmNwcAppbmRleCA2ZDNkOTYzLi45YTE1NThlIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaW8vSUQuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9pby9JRC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNSwgMjAxNiBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgR2VyZCBLYWlueiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaW8vSUQuaCBiL3NyYy9zdGRmYmxpYi9pby9JRC5oCmluZGV4IDdiMTk2NDkuLjJiZTU0OWIgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pby9JRC5oCisrKyBiL3NyYy9zdGRmYmxpYi9pby9JRC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE1LCAyMDE2IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEdlcmQgS2FpbnogLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9JTC5jcHAgYi9zcmMvc3RkZmJsaWIvaW8vSUwuY3BwCmluZGV4IDRhMDIzYWQuLjk2NTc1N2EgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pby9JTC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2lvL0lMLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZHMgaW50aWFsIGltcGxlbWVtdGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaW8vSUwuaCBiL3NyYy9zdGRmYmxpYi9pby9JTC5oCmluZGV4IDViMTRkOTUuLjI4YmQ0NGEgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pby9JTC5oCisrKyBiL3NyYy9zdGRmYmxpYi9pby9JTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gYWRkcyBpbnRpYWwgaW1wbGVtZW10YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9JVy5jcHAgYi9zcmMvc3RkZmJsaWIvaW8vSVcuY3BwCmluZGV4IGU0ZjBhZmEuLjRhOGIwMjIgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pby9JVy5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2lvL0lXLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBHZXJkIEthaW56IC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9JVy5oIGIvc3JjL3N0ZGZibGliL2lvL0lXLmgKaW5kZXggMmM2MzZhNS4uOTczOTJmZSAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL0lXLmgKKysrIGIvc3JjL3N0ZGZibGliL2lvL0lXLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgR2VyZCBLYWlueiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2lvL0lYLmNwcCBiL3NyYy9zdGRmYmxpYi9pby9JWC5jcHAKaW5kZXggNGNhODc3Yy4uYTM2NGZhYyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL0lYLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvaW8vSVguY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IC0gMjAxNSBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgV2FsZGVtYXIgRWlzZW5tZW5nZXIsIE1vbmlrYSBXZW5nZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9JWC5oIGIvc3JjL3N0ZGZibGliL2lvL0lYLmgKaW5kZXggNjI3OGQ4MS4uZTYxYjFhYiAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL0lYLmgKKysrIGIvc3JjL3N0ZGZibGliL2lvL0lYLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgLSAyMDE1IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsLCBXYWxkZW1hciBFaXNlbm1lbmdlciwgTW9uaWthIFdlbmdlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2lvL1FCLmNwcCBiL3NyYy9zdGRmYmxpYi9pby9RQi5jcHAKaW5kZXggNmNkNWUzYS4uOGNkNmFmNCAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FCLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvaW8vUUIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gYWRkcyBpbnRpYWwgaW1wbGVtZW10YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9RQi5oIGIvc3JjL3N0ZGZibGliL2lvL1FCLmgKaW5kZXggYWU4ODZiZC4uYTA2NTQ0NCAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FCLmgKKysrIGIvc3JjL3N0ZGZibGliL2lvL1FCLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBhZGRzIGludGlhbCBpbXBsZW1lbXRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2lvL1FELmNwcCBiL3NyYy9zdGRmYmxpYi9pby9RRC5jcHAKaW5kZXggYzVmYzcxZC4uN2JkNzAyZiAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FELmNwcAorKysgYi9zcmMvc3RkZmJsaWIvaW8vUUQuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE1LCAyMDE2IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEdlcmQgS2FpbnogLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9RRC5oIGIvc3JjL3N0ZGZibGliL2lvL1FELmgKaW5kZXggZTdkYzZmYi4uMTAxNzc5YyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FELmgKKysrIGIvc3JjL3N0ZGZibGliL2lvL1FELmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIDIwMTYgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgR2VyZCBLYWlueiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2lvL1FMLmNwcCBiL3NyYy9zdGRmYmxpYi9pby9RTC5jcHAKaW5kZXggODJlMWMyNS4uYjdmNGYwZiAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FMLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvaW8vUUwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gYWRkcyBpbnRpYWwgaW1wbGVtZW10YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9RTC5oIGIvc3JjL3N0ZGZibGliL2lvL1FMLmgKaW5kZXggOTRmMjMwMS4uYjgwMDgyMyAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FMLmgKKysrIGIvc3JjL3N0ZGZibGliL2lvL1FMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBhZGRzIGludGlhbCBpbXBsZW1lbXRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2lvL1FXLmNwcCBiL3NyYy9zdGRmYmxpYi9pby9RVy5jcHAKaW5kZXggNTIwN2Q5ZC4uMzFkYTk5MiAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FXLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvaW8vUVcuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEdlcmQgS2FpbnogLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9RVy5oIGIvc3JjL3N0ZGZibGliL2lvL1FXLmgKaW5kZXggNWFiZjRkNC4uNjAyYjgzZiAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FXLmgKKysrIGIvc3JjL3N0ZGZibGliL2lvL1FXLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTUgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgR2VyZCBLYWlueiAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2lvL1FYLmNwcCBiL3NyYy9zdGRmYmxpYi9pby9RWC5jcHAKaW5kZXggMGVlMDEzNS4uMTY3MDllYSAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL1FYLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvaW8vUVguY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgLSAyMDE1IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgV2FsZGVtYXIgRWlzZW5tZW5nZXIgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2lvL1FYLmggYi9zcmMvc3RkZmJsaWIvaW8vUVguaAppbmRleCAyZjg0YmRhLi4xMTkxMDA1IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaW8vUVguaAorKysgYi9zcmMvc3RkZmJsaWIvaW8vUVguaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IC0gMjAxNSBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIFdhbGRlbWFyIEVpc2VubWVuZ2VyIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pby9wcm9jZXNzaW50ZXJmYWNlYmFzZS5oIGIvc3JjL3N0ZGZibGliL2lvL3Byb2Nlc3NpbnRlcmZhY2ViYXNlLmgKaW5kZXggZDJmYTM5Yy4uZjU1NmE3ZSAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2lvL3Byb2Nlc3NpbnRlcmZhY2ViYXNlLmgKKysrIGIvc3JjL3N0ZGZibGliL2lvL3Byb2Nlc3NpbnRlcmZhY2ViYXNlLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNCAtIDIwMTUgZm9ydGlzcyBHbWJILCAyMDE4IFRVIFdpZW4vQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaXRhL0NNYWtlTGlzdHMudHh0IGIvc3JjL3N0ZGZibGliL2l0YS9DTWFrZUxpc3RzLnR4dAppbmRleCAxZWM4YTQ1Li43YzA5MWM1IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaXRhL0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9zdGRmYmxpYi9pdGEvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMCBBQ0lODQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBBbG9pcyBab2l0bA0KKyMgQ29weXJpZ2h0IChjKSAyMDEwIEFDSU4NCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsDQogIyAqICAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCkBAIC0xNCw0ICsxNSw3IEBACiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIFNFVChTT1VSQ0VfR1JPVVAgJHtTT1VSQ0VfR1JPVVB9XFxpdGEpDQogZm9ydGVfYWRkX3NvdXJjZWZpbGVfaGNwcChERVZfTUdSICBFTUJfUkVTICBSTVRfREVWICBSTVRfUkVTKQ0KLWZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRm9ydGVCb290RmlsZUxvYWRlcikNCisNCitpZihGT1JURV9TVVBQT1JUX0JPT1RfRklMRSkNCisgIGZvcnRlX2FkZF9zb3VyY2VmaWxlX2hjcHAoRm9ydGVCb290RmlsZUxvYWRlcikNCitlbmRpZihGT1JURV9TVVBQT1JUX0JPT1RfRklMRSkNCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaXRhL0RFVl9NR1IuY3BwIGIvc3JjL3N0ZGZibGliL2l0YS9ERVZfTUdSLmNwcAppbmRleCA4YWFmYTM0Li42NmM0MTJkIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaXRhL0RFVl9NR1IuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9pdGEvREVWX01HUi5jcHAKQEAgLTEsNjc2ICsxLDY5NyBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDE1IEFDSU4sIFByb2ZhY3RvciBHbWJILCBmb3J0aXNzIEdtYkgNCi0gKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5DQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0gKg0KLSAqIENvbnRyaWJ1dG9yczoNCi0gKiAgIEFsb2lzIFpvaXRsLCBSZW5lIFNtb2RpYywgVGhvbWFzIFN0cmFzc2VyLCBHZXJoYXJkIEViZW5ob2ZlciwNCi0gKiAgIE9saXZlciBIdW1tZXIsIEluZ28gSGVnbnksIE1pY2hhZWwgSG9mbWFubiwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMNCi0gKiAgICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQotICogICBNb25pa2EgV2VuZ2VyDQotICogICAgLSBmaXg6IGFwb3N0cm9waGVzIGFyZSBkZWxldGVkIGluIHBhcnNlV3JpdGVDb25uZWN0aW9uRGF0YQ0KLSAqICAgSmVucyBSZWltYW5uDQotICogICAgLSBFbmhhbmNlIGJvb3RmaWxlIGxvYWRpbmcgYmVoYXZpb3INCi0gKiAgICBBbG9pcyBab2l0bCAtIGludHJvZHVjZWQgbmV3IENHZW5GQiBjbGFzcyBmb3IgYmV0dGVyIGhhbmRsaW5nIGdlbmVyaWMgRkJzDQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotI2luY2x1ZGUgPHN0cmluZy5oPg0KLSNpbmNsdWRlICJERVZfTUdSLmgiDQotI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUA0KLSNpbmNsdWRlICJERVZfTUdSX2dlbi5jcHAiDQotI2VuZGlmDQotI2luY2x1ZGUgIi4uLy4uL2NvcmUvZGV2aWNlLmgiDQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotI2luY2x1ZGUgPHN0ZGxpYi5oPg0KLSNpbmNsdWRlICJGb3J0ZUJvb3RGaWxlTG9hZGVyLmgiDQotI2luY2x1ZGUgIi4uLy4uL2NvcmUvdXRpbHMvc3RyaW5nX3V0aWxzLmgiDQotDQotREVGSU5FX0ZJUk1XQVJFX0ZCKERFVl9NR1IsIGdfblN0cmluZ0lkREVWX01HUikNCi0NCi1jb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIERFVl9NR1I6OnNjbV9hbkRhdGFJbnB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRRSSwgZ19uU3RyaW5nSWRJRCwgZ19uU3RyaW5nSWRSRVNQfTsNCi0NCi1jb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIERFVl9NR1I6OnNjbV9hbkRhdGFJbnB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkV1NUUklORywgZ19uU3RyaW5nSWRTVFJJTkd9Ow0KLQ0KLWNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgREVWX01HUjo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRRTywgZ19uU3RyaW5nSWRTVEFUVVMsIGdfblN0cmluZ0lkRFNULCBnX25TdHJpbmdJZFJRU1R9Ow0KLQ0KLWNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgREVWX01HUjo6c2NtX2FuRGF0YU91dHB1dFR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZEJPT0wsIGdfblN0cmluZ0lkU1RSSU5HLCBnX25TdHJpbmdJZFNUUklORywgZ19uU3RyaW5nSWRTVFJJTkd9Ow0KLQ0KLWNvbnN0IFRGb3J0ZUludDE2IERFVl9NR1I6OnNjbV9hbkVJV2l0aEluZGV4ZXNbXSA9IHswLCAtMX07DQotY29uc3QgVERhdGFJT0lEIERFVl9NR1I6OnNjbV9hbkVJV2l0aFtdID0gezAsIDEsIDI1NX07DQotY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBERVZfTUdSOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOSVQsIGdfblN0cmluZ0lkUkVRfTsNCi0NCi1jb25zdCBURGF0YUlPSUQgREVWX01HUjo6c2NtX2FuRU9XaXRoW10gPSB7MCwgMSwgMjU1LCAyLCAzLCAyNTV9Ow0KLWNvbnN0IFRGb3J0ZUludDE2IERFVl9NR1I6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMSwgM307DQotY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBERVZfTUdSOjpzY21fYW5FdmVudE91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRJTklUTywgZ19uU3RyaW5nSWRDTkZ9Ow0KLQ0KLWNvbnN0IFNGQkludGVyZmFjZVNwZWMgREVWX01HUjo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0gew0KLSAgMiwgIHNjbV9hbkV2ZW50SW5wdXROYW1lcywgIHNjbV9hbkVJV2l0aCwgIHNjbV9hbkVJV2l0aEluZGV4ZXMsDQotICAyLCAgc2NtX2FuRXZlbnRPdXRwdXROYW1lcywgIHNjbV9hbkVPV2l0aCwgc2NtX2FuRU9XaXRoSW5kZXhlcywgIDMsICBzY21fYW5EYXRhSW5wdXROYW1lcywgc2NtX2FuRGF0YUlucHV0VHlwZUlkcywNCi0gIDQsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLA0KLSAgMCwgMA0KLX07DQotDQotY29uc3QgY2hhciAqIGNvbnN0IERFVl9NR1I6OnNjbV9zTUdNUmVzcG9uc2VUZXh0c1sxM10gPSB7ICJSRFkiLCAiQkFEX1BBUkFNUyIsICJMT0NBTF9URVJNSU5BVElPTiIsICJTWVNURU1fVEVSTUlOQVRJT04iLCAiTk9UX1JFQURZIiwgIlVOU1VQUE9SVEVEX0NNRCIsICJVTlNVUFBPUlRFRF9UWVBFIiwgIk5PX1NVQ0hfT0JKRUNUIiwgIklOVkFMSURfT0JKRUNUIiwgIklOVkFMSURfT1BFUkFUSU9OIiwgIklOVkFMSURfU1RBVEUiLCAiT1ZFUkZMT1ciLCAiSU5WQUxJRF9EU1QiIH07DQotDQotdm9pZCBERVZfTUdSOjpleGVjdXRlRXZlbnQoaW50IHBhRUlJRCl7DQotICBpZihzY21fbkV2ZW50SU5JVElEID09IHBhRUlJRCl7DQotI2lmZGVmIEZPUlRFX1NVUFBPUlRfQk9PVF9GSUxFDQotICAgIGlmKCh0cnVlID09IFFJKCkpICYmIChmYWxzZSA9PSBRTygpKSl7DQotICAgICAgLy90aGlzIGlzIHRoZSBmaXJzdCB0aW1lIGluaXQgaXMgY2FsbGVkIHRyeSB0byBsb2FkIGEgYm9vdCBmaWxlDQotICAgICAgRm9ydGVCb290RmlsZUxvYWRlciBsb2FkZXIoKnRoaXMpOw0KLSAgICAgIGlmKGxvYWRlci5pc09wZW4oKSAmJiBMT0FEX1JFU1VMVF9PSyA9PSBsb2FkZXIubG9hZEJvb3RGaWxlKCkpew0KLSAgICAgICAgICBERVZMT0dfSU5GTygiQm9vdGZpbGUgY29ycmVjdGx5IGxvYWRlZFxuIik7DQotICAgICAgfQ0KLSAgICB9DQotI2VuZGlmDQotICAgIENDb21tRkI6OmV4ZWN1dGVFdmVudChwYUVJSUQpOyAgLy9pbml0aWFsaXplIHRoZSB1bmRlcmx5aW5nIHNlcnZlciBGQg0KLSAgfWVsc2V7DQotICAgIGlmKGNnX25FeHRlcm5hbEV2ZW50SUQgPT0gcGFFSUlEICYmIC8vd2UgcmVjZWl2ZWQgYSBtZXNzYWdlIG9uIHRoZSBuZXR3b3JrIGxldCB0aGUgc2VydmVyIGNvcnJlY3RseSBoYW5kbGUgaXQNCi0gICAgICAgIGZvcnRlOjpjb21faW5mcmE6OmVfUHJvY2Vzc0RhdGFPayA9PSBDQ29tbUZCOjpyZWNlaXZlRGF0YSgpKXsgLy90aGUgbWVzc2FnZSB3YXMgY29ycmVjdGx5IHJlY2VpdmVkDQotICAgICAgZXhlY3V0ZVJRU1QoKTsNCi0gICAgICAvL3NlbmQgcmVzcG9uc2UNCi0gICAgICBDQ29tbUZCOjpzZW5kRGF0YSgpOw0KLSAgICB9DQotICB9DQotfQ0KLQ0KLXZvaWQgREVWX01HUjo6ZXhlY3V0ZVJRU1Qodm9pZCl7DQotICBtQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5jbGVhcigpOw0KLSAgRU1HTVJlc3BvbnNlIHJlc3AgPSBwYXJzZUFuZEV4ZWN1dGVNR01Db21tYW5kKERTVCgpLmdldFZhbHVlKCksIFJRU1QoKS5nZXRWYWx1ZSgpKTsNCi0gIA0KLSNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0gIGlmICgwICE9IG1Db21tYW5kLm1Nb25pdG9yUmVzcG9uc2UubGVuZ3RoKCkpIHsNCi0gICAgZ2VuZXJhdGVNb25pdG9yUmVzcG9uc2UocmVzcCwgbUNvbW1hbmQpOw0KLSAgfSBlbHNlDQotI2VuZGlmIC8vRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HDQotICBpZigwIDwgbUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMubGVuZ3RoKCkpew0KLSAgICBnZW5lcmF0ZUxvbmdSZXNwb25zZShyZXNwLCBtQ29tbWFuZCk7DQotICB9DQotICBlbHNlew0KLSAgICBnZW5lcmF0ZVJlc3BvbnNlKG1Db21tYW5kLm1JRCwgcmVzcCk7DQotICB9DQotfQ0KLQ0KLWNoYXIgKkRFVl9NR1I6OnBhcnNlUmVxdWVzdChjaGFyICpwYVJlcXVlc3RTdHJpbmcsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsNCi0vL2ZpcnN0IGNoZWNrIGlmIGl0IGlzIGFuIG1hbmFnZW1lbnQgcmVxdWVzdA0KLSAgY2hhciAqYWNDb21tYW5kU3RhcnQgPSAwOw0KLSAgc3RhdGljIGNvbnN0IGludCBzY25Db21tYW5kTGVuZ3RoW10gPSB7NywgNywgNiwgNSwgNSwgNiwgNSwgNiwgNn07DQotDQotICBpZighc3RybmNtcCgiPFJlcXVlc3QgSUQ9XCIiLCBwYVJlcXVlc3RTdHJpbmcsIDEzKSl7DQotICAgIGludCBpID0gMTM7DQotICAgIGludCBqOw0KLSAgICBwYUNvbW1hbmQubUlEID0gJihwYVJlcXVlc3RTdHJpbmdbaV0pOw0KLSAgICBmb3IoaiA9IDA7IHBhUmVxdWVzdFN0cmluZ1tpXSAhPSAnXCInOyArK2ksICsrail7DQotICAgICAgaWYoaiA+PSA3KXsNCi0gICAgICAgIHJldHVybiAwOw0KLSAgICAgIH0NCi0gICAgfQ0KLSAgICBwYVJlcXVlc3RTdHJpbmdbaV0gPSAnXDAnOyAvL2Nsb3NlIElEDQotICAgICsraTsNCi0gICAgYWNDb21tYW5kU3RhcnQgPSBzdHJjaHIoKCZwYVJlcXVlc3RTdHJpbmdbaV0pLCAnXCInKTsNCi0gICAgaWYoYWNDb21tYW5kU3RhcnQgIT0gMCl7DQotICAgICAgYWNDb21tYW5kU3RhcnQrKzsgLy90aGlzIGlzIHRoZSByZWFsIHN0YXJ0IG9mIHRoZSBjb21tYW5kDQotICAgICAgaWYoIXN0cm5jbXAoIkNSRUFURSIsIGFjQ29tbWFuZFN0YXJ0LCA2KSl7DQotICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0NyZWF0ZV9Hcm91cDsNCi0gICAgICB9DQotICAgICAgZWxzZSBpZighc3RybmNtcCgiREVMRVRFIiwgYWNDb21tYW5kU3RhcnQsIDYpKXsNCi0gICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfRGVsZXRlX0dyb3VwOw0KLSAgICAgIH0NCi0gICAgICBlbHNlIGlmKCFzdHJuY21wKCJTVEFSVCIsIGFjQ29tbWFuZFN0YXJ0LCA1KSl7DQotICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1N0YXJ0Ow0KLSAgICAgIH0NCi0gICAgICBlbHNlIGlmKCFzdHJuY21wKCJTVE9QIiwgYWNDb21tYW5kU3RhcnQsIDQpKXsNCi0gICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfU3RvcDsNCi0gICAgICB9DQotICAgICAgZWxzZSBpZighc3RybmNtcCgiS0lMTCIsIGFjQ29tbWFuZFN0YXJ0LCA0KSl7DQotICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0tpbGw7DQotICAgICAgfQ0KLSAgICAgIGVsc2UgaWYoIXN0cm5jbXAoIlJFU0VUIiwgYWNDb21tYW5kU3RhcnQsIDUpKXsNCi0gICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfUmVzZXQ7DQotICAgICAgfQ0KLSAgICAgIGVsc2UgaWYoIXN0cm5jbXAoIlJFQUQiLCBhY0NvbW1hbmRTdGFydCwgNCkpew0KLSAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9SZWFkOw0KLSAgICAgIH0NCi0gICAgICBlbHNlIGlmKCFzdHJuY21wKCJXUklURSIsIGFjQ29tbWFuZFN0YXJ0LCA1KSl7DQotICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1dyaXRlOw0KLSAgICAgIH0NCi0jaWZkZWYgRk9SVEVfU1VQUE9SVF9RVUVSWV9DTUQNCi0gICAgICBlbHNlIGlmKCFzdHJuY21wKCJRVUVSWSIsIGFjQ29tbWFuZFN0YXJ0LCA1KSl7DQotICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1F1ZXJ5X0dyb3VwOw0KLSAgICAgIH0NCi0jZW5kaWYNCi0gICAgICBlbHNlew0KLSAgICAgICAgcmV0dXJuIDA7DQotICAgICAgfQ0KLSAgICAgIGFjQ29tbWFuZFN0YXJ0ICs9IHNjbkNvbW1hbmRMZW5ndGhbcGFDb21tYW5kLm1DTURdOw0KLSAgICB9DQotICB9DQotICByZXR1cm4gYWNDb21tYW5kU3RhcnQ7DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9EWU5BTUlDX1RZUEVfTE9BRA0KLWJvb2wgREVWX01HUjo6cGFyc2VYVHlwZShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQsIGNoYXIgKnBhUmVxdWVzdFR5cGUpew0KLSAgYm9vbCByZXRWYWwgPSBmYWxzZTsNCi0gIHNpemVfdCBuUmVxTGVuZ3RoID0gc3RybGVuKChjb25zdCBjaGFyICopIHBhUmVxdWVzdFR5cGUpOw0KLSAgaWYoIXN0cm5jbXAocGFSZXF1ZXN0VHlwZSwgcGFSZXF1ZXN0UGFydExlZnQsIG5SZXFMZW5ndGgpKXsNCi0gICAgcGFSZXF1ZXN0UGFydExlZnQgPSAmKHBhUmVxdWVzdFBhcnRMZWZ0W25SZXFMZW5ndGhdKTsNCi0gICAgaWYoJyonICE9IHBhUmVxdWVzdFBhcnRMZWZ0WzBdKXsNCi0gICAgICBpbnQgaSA9IHBhcnNlSWRlbnRpZmllcihwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kLm1GaXJzdFBhcmFtKTsNCi0gICAgICBwYVJlcXVlc3RQYXJ0TGVmdCA9ICgtMSA9PSBpKSA/IDAgOiBzdHJjaHIoJihwYVJlcXVlc3RQYXJ0TGVmdFtpICsgMV0pLCAnPicpOw0KLSAgICB9DQotICAgIGlmKDAgIT0gcGFSZXF1ZXN0UGFydExlZnQpew0KLSAgICAgIHBhUmVxdWVzdFBhcnRMZWZ0Kys7DQotICAgICAgY2hhciogZW5kT2ZSZXF1ZXN0ID0gc3RyY2hyKHBhUmVxdWVzdFBhcnRMZWZ0LCAnPCcpOw0KLSAgICAgICplbmRPZlJlcXVlc3QgPSAnXDAnOw0KLSAgICAgIGZvcnRlOjpjb3JlOjp1dGlsOjp0cmFuc2Zvcm1Fc2NhcGVkWE1MVG9Ob25Fc2NhcGVkVGV4dChwYVJlcXVlc3RQYXJ0TGVmdCk7DQotICAgICAgcGFDb21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zID0gcGFSZXF1ZXN0UGFydExlZnQ7DQotICAgICAgcmV0VmFsID0gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLSAgcmV0dXJuIHJldFZhbDsNCi19DQotI2VuZGlmDQotDQotYm9vbCBERVZfTUdSOjpwYXJzZUZCRGF0YShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpew0KLSAgYm9vbCByZXRWYWwgPSBmYWxzZTsNCi0NCi0gIGlmKCFzdHJuY21wKCJGQiBOYW1lPVwiIiwgcGFSZXF1ZXN0UGFydExlZnQsIDkpKXsNCi0gICAgY2hhciAqYWNCdWYgPSAmKHBhUmVxdWVzdFBhcnRMZWZ0WzldKTsNCi0gICAgaW50IGkgPSAwOw0KLSAgICBpZihhY0J1ZlswXSAhPSAnKicpew0KLSAgICAgIGkgPSBwYXJzZUlkZW50aWZpZXIoYWNCdWYsIHBhQ29tbWFuZC5tRmlyc3RQYXJhbSk7DQotICAgICAgYWNCdWYgPSAoLTEgPT0gaSkgPyAwIDogc3RyY2hyKCYoYWNCdWZbaSArIDFdKSwgJ1wiJyk7DQotICAgIH0NCi0gICAgZWxzZXsNCi0gICAgICBhY0J1ZiA9IHN0cmNocigmKGFjQnVmW2kgKyAyXSksICdcIicpOw0KLSAgICB9DQotDQotICAgIGlmKGFjQnVmICE9IDApew0KLSAgICAgIGlmKGFjQnVmWzFdICE9ICcqJyl7DQotICAgICAgICArK2FjQnVmOw0KLSAgICAgICAgaSA9IHBhcnNlSWRlbnRpZmllcihhY0J1ZiwgcGFDb21tYW5kLm1TZWNvbmRQYXJhbSk7DQotICAgICAgICBpZigtMSAhPSBpKXsNCi0gICAgICAgICAgYWNCdWYgPSBzdHJjaHIoJihhY0J1ZltpICsgMV0pLCAnXCInKTsNCi0gICAgICAgICAgaWYoYWNCdWYgIT0gMCl7DQotICAgICAgICAgICAgLy8gV2UgaGF2ZSBhbiBhcHBsaWNhdGlvbiBuYW1lIGdpdmVuDQotICAgICAgICAgICAgKythY0J1ZjsNCi0gICAgICAgICAgICBURm9ydGVVSW50MTYgbkJ1Zkxlbmd0aCA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oc3RyY3NwbihhY0J1ZiwgIlwiIikgKyAxKTsNCi0gICAgICAgICAgICBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuYXNzaWduKGFjQnVmLCBuQnVmTGVuZ3RoKTsNCi0gICAgICAgICAgfQ0KLSAgICAgICAgfQ0KLSAgICAgICAgZWxzZXsNCi0gICAgICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICAgICAgfQ0KLSAgICAgIH0NCi0gICAgICByZXRWYWwgPSB0cnVlOw0KLSAgICB9DQotICB9DQotICByZXR1cm4gcmV0VmFsOw0KLX0NCi0NCi1pbnQgREVWX01HUjo6cGFyc2VJZGVudGlmaWVyKGNoYXIgKnBhSWRlbnRpZmllclN0YXJ0LCBmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYUlkZW50aWZpZXIpew0KLSAgZm9yKGNoYXIgKnJ1bm5lciA9IHBhSWRlbnRpZmllclN0YXJ0LCAqc3RhcnQgPSBwYUlkZW50aWZpZXJTdGFydDsgJ1wwJyAhPSAqcnVubmVyOyArK3J1bm5lcil7DQotICAgIGlmKCcuJyA9PSAqcnVubmVyKXsNCi0gICAgICAqcnVubmVyID0gJ1wwJzsNCi0gICAgICBpZighcGFJZGVudGlmaWVyLnB1c2hCYWNrKENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmluc2VydChzdGFydCkpKXsNCi0gICAgICAgIHJldHVybiAtMTsNCi0gICAgICB9DQotICAgICAgKnJ1bm5lciA9ICcuJzsNCi0gICAgICBzdGFydCA9IHJ1bm5lciArIDE7DQotICAgIH0gZWxzZSBpZiAoJyInID09ICpydW5uZXIpew0KLSAgICAgICpydW5uZXIgPSAnXDAnOw0KLSAgICAgIGlmKCFwYUlkZW50aWZpZXIucHVzaEJhY2soQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuaW5zZXJ0KHN0YXJ0KSkpew0KLSAgICAgICAgcmV0dXJuIC0xOw0KLSAgICAgIH0NCi0gICAgICAqcnVubmVyID0gJyInOw0KLSAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHJ1bm5lciAtIHBhSWRlbnRpZmllclN0YXJ0KTsNCi0gICAgfQ0KLSAgfQ0KLSAgcmV0dXJuIC0xOw0KLX0NCi0NCi1ib29sIERFVl9NR1I6OnBhcnNlQ29ubmVjdGlvbkRhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsNCi0gIGJvb2wgYlJldFZhbCA9IGZhbHNlOw0KLSAgaWYoIXN0cm5jbXAoIkNvbm5lY3Rpb24gU291cmNlPVwiIiwgcGFSZXF1ZXN0UGFydExlZnQsIHNpemVvZigiQ29ubmVjdGlvbiBTb3VyY2U9XCIiKSAtIDEpKXsNCi0gICAgaW50IGkgPSBwYXJzZUlkZW50aWZpZXIoJihwYVJlcXVlc3RQYXJ0TGVmdFsxOV0pLCBwYUNvbW1hbmQubUZpcnN0UGFyYW0pOw0KLSAgICBpZigtMSAhPSBpKXsNCi0gICAgICBjaGFyICphY0J1ZiA9IHN0cmNocigmKHBhUmVxdWVzdFBhcnRMZWZ0W2kgKyAyMV0pLCAnXCInKTsNCi0gICAgICBpZihhY0J1ZiAhPSAwKXsNCi0gICAgICAgIHBhcnNlSWRlbnRpZmllcigmKGFjQnVmWzFdKSwgcGFDb21tYW5kLm1TZWNvbmRQYXJhbSk7DQotICAgICAgICBiUmV0VmFsID0gKC0xICE9IGkpOw0KLSAgICAgIH0NCi0gICAgfQ0KLSAgfQ0KLSAgcmV0dXJuIGJSZXRWYWw7DQotfQ0KLQ0KLWJvb2wgREVWX01HUjo6cGFyc2VXcml0ZUNvbm5lY3Rpb25EYXRhKGNoYXIgKnBhUmVxdWVzdFBhcnRMZWZ0LCBmb3J0ZTo6Y29yZTo6U01hbmFnZW1lbnRDTUQgJnBhQ29tbWFuZCl7DQotICBib29sIHJldFZhbCA9IGZhbHNlOw0KLSAgaWYoIXN0cm5jbXAoIkNvbm5lY3Rpb24gU291cmNlPVwiIiwgcGFSZXF1ZXN0UGFydExlZnQsIHNpemVvZigiQ29ubmVjdGlvbiBTb3VyY2U9XCIiKSAtIDEpKXsNCi0gICAgcGFSZXF1ZXN0UGFydExlZnQgPSAmKHBhUmVxdWVzdFBhcnRMZWZ0WzE5XSk7DQotDQotICAgIGNoYXIqIGVuZE9mU291cmNlID0gc3RyY2hyKHBhUmVxdWVzdFBhcnRMZWZ0LCAnXCInKTsNCi0gICAgaWYoMCA9PSBlbmRPZlNvdXJjZSl7DQotICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICB9DQotICAgICplbmRPZlNvdXJjZSA9ICdcMCc7DQotICAgIGZvcnRlOjpjb3JlOjp1dGlsOjp0cmFuc2Zvcm1Fc2NhcGVkWE1MVG9Ob25Fc2NhcGVkVGV4dChwYVJlcXVlc3RQYXJ0TGVmdCk7DQotICAgIHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcyA9IHBhUmVxdWVzdFBhcnRMZWZ0Ow0KLSAgICAqZW5kT2ZTb3VyY2UgPSAnIic7ICAvLyByZXN0b3JlIHRoZSBzdHJpbmcNCi0gICAgcGFSZXF1ZXN0UGFydExlZnQgPSBzdHJjaHIoZW5kT2ZTb3VyY2UgKyAxLCAnXCInKTsNCi0gICAgaWYoMCAhPSBwYVJlcXVlc3RQYXJ0TGVmdCl7DQotICAgICAgcmV0VmFsID0gKC0xICE9IHBhcnNlSWRlbnRpZmllcigmcGFSZXF1ZXN0UGFydExlZnRbMV0sIHBhQ29tbWFuZC5tRmlyc3RQYXJhbSkpOw0KLSAgICB9DQotICB9DQotICByZXR1cm4gcmV0VmFsOw0KLX0NCi0NCi12b2lkIERFVl9NR1I6OnBhcnNlQ3JlYXRlRGF0YShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpew0KLSAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9JTlZBTElEOw0KLSAgaWYoMCAhPSBwYVJlcXVlc3RQYXJ0TGVmdCl7DQotICAgICAgc3dpdGNoIChwYVJlcXVlc3RQYXJ0TGVmdFswXSl7DQotI2lmZGVmIEZPUlRFX0RZTkFNSUNfVFlQRV9MT0FEDQotICAgICAgICBjYXNlICdBJzogLy8gd2UgaGF2ZSBhbiBBZGFwdGVyIHRvIENyZWF0ZQ0KLSAgICAgICAgICBpZihwYXJzZVhUeXBlKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQsICJBZGFwdGVyVHlwZSBOYW1lPVwiIikpew0KLSAgICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfQ3JlYXRlX0FkYXB0ZXJUeXBlOw0KLSAgICAgICAgICB9DQotICAgICAgICAgIGJyZWFrOw0KLSNlbmRpZg0KLSAgICAgICAgY2FzZSAnRic6IC8vIHdlIGhhdmUgYW4gRkIgdG8gQ3JlYXRlDQotICAgICAgICAgIGlmKHBhcnNlRkJEYXRhKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQpKXsNCi0gICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0NyZWF0ZV9GQkluc3RhbmNlOw0KLSAgICAgICAgICB9DQotI2lmZGVmIEZPUlRFX0RZTkFNSUNfVFlQRV9MT0FEDQotICAgICAgICAgIGVsc2UgaWYocGFyc2VYVHlwZShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kLCAiRkJUeXBlIE5hbWU9XCIiKSl7DQotICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9DcmVhdGVfRkJUeXBlOw0KLSAgICAgICAgICB9DQotI2VuZGlmDQotICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgY2FzZSAnQyc6IC8vIHdlIGhhdmUgYW4gQ29ubmVjdGlvbiB0byBDcmVhdGUNCi0gICAgICAgICAgaWYocGFyc2VDb25uZWN0aW9uRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7DQotICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9DcmVhdGVfQ29ubmVjdGlvbjsNCi0gICAgICAgICAgfQ0KLSAgICAgICAgICBicmVhazsNCi0jaWZkZWYgRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HDQotICAgICAgICBjYXNlICdXJzogLy8gd2UgaGF2ZSBhbiBXYXRjaCB0byBBZGQNCi0gICAgICAgICAgaWYocGFyc2VNb25pdG9yaW5nRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7DQotICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX0FkZF9XYXRjaDsNCi0gICAgICAgICAgfQ0KLSAgICAgICAgICBicmVhazsNCi0jZW5kaWYgLy9GT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0gICAgICAgIGRlZmF1bHQ6DQotICAgICAgICAgIGJyZWFrOw0KLSAgICAgIH0NCi0gIH0NCi19DQotDQotdm9pZCBERVZfTUdSOjpwYXJzZURlbGV0ZURhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsNCi0gIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfSU5WQUxJRDsNCi0gIGlmKDAgIT0gcGFSZXF1ZXN0UGFydExlZnQpew0KLSAgICBzd2l0Y2ggKHBhUmVxdWVzdFBhcnRMZWZ0WzBdKXsNCi0gICAgICBjYXNlICdGJzogLy8gd2UgaGF2ZSBhbiBGQiB0byBkZWxldGUNCi0gICAgICAgIGlmKHBhcnNlRkJEYXRhKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQpKXsNCi0gICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9EZWxldGVfRkJJbnN0YW5jZTsNCi0gICAgICAgIH0NCi0gICAgICAgIGJyZWFrOw0KLSAgICAgIGNhc2UgJ0MnOiAvLyB3ZSBoYXZlIGFuIENvbm5lY3Rpb24gdG8gZGVsZXRlDQotICAgICAgICBpZihwYXJzZUNvbm5lY3Rpb25EYXRhKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQpKXsNCi0gICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9EZWxldGVfQ29ubmVjdGlvbjsNCi0gICAgICAgIH0NCi0gICAgICAgIGJyZWFrOw0KLSNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0gICAgICBjYXNlICdXJzogLy8gd2UgaGF2ZSBhbiBXYXRjaCB0byByZW1vdmUNCi0gICAgICAgIGlmKHBhcnNlTW9uaXRvcmluZ0RhdGEocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZCkpew0KLSAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX1JlbW92ZV9XYXRjaDsNCi0gICAgICAgIH0NCi0gICAgICAgIGJyZWFrOw0KLSNlbmRpZiAvLyBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0gICAgICBkZWZhdWx0Og0KLSAgICAgICAgYnJlYWs7DQotICAgIH0NCi0gIH0NCi19DQotDQotdm9pZCBERVZfTUdSOjpwYXJzZUFkZGl0aW9uYWxTdGF0ZUNvbW1hbmREYXRhKGNoYXIgKnBhUmVxdWVzdFBhcnRMZWZ0LCBmb3J0ZTo6Y29yZTo6U01hbmFnZW1lbnRDTUQgJnBhQ29tbWFuZCl7DQotICBpZigwICE9IHBhUmVxdWVzdFBhcnRMZWZ0KXsNCi0gICAgaWYoJy8nICE9IHBhUmVxdWVzdFBhcnRMZWZ0WzBdICYmICAvL2lmIHdlIGhhdmUgYW4gYWRkaXRpb25hbCB4bWwgdG9rZW4gcGFyc2UgaWYgaXQgaXMgYW4gRkIgZGVmaW5pdGlvbg0KLSAgICAgICAgIXBhcnNlRkJEYXRhKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQpKXsNCi0gICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0lOVkFMSUQ7DQotICAgIH0NCi0gIH0NCi19DQotDQotdm9pZCBERVZfTUdSOjpwYXJzZVJlYWREYXRhKGNoYXIgKnBhUmVxdWVzdFBhcnRMZWZ0LCBmb3J0ZTo6Y29yZTo6U01hbmFnZW1lbnRDTUQgJnBhQ29tbWFuZCl7DQotICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0lOVkFMSUQ7DQotICBpZigwICE9IHBhUmVxdWVzdFBhcnRMZWZ0KXsNCi0jaWZkZWYgRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HDQotICAgIGlmKCdXJyA9PSBwYVJlcXVlc3RQYXJ0TGVmdFswXSl7DQotICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfTW9uaXRvcmluZ19SZWFkX1dhdGNoZXM7DQotICAgIH0gZWxzZQ0KLSNlbmRpZiAvLyBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0gICAgICBpZihwYXJzZUNvbm5lY3Rpb25EYXRhKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQpKXsNCi0gICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfUmVhZDsNCi0gICAgICB9DQotICB9DQotfQ0KLQ0KLXZvaWQgREVWX01HUjo6cGFyc2VXcml0ZURhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsNCi0gIC8vV2UgbmVlZCBhbiBhZGRpdGlvbmFsIHhtbCBjb25uZWN0aW9uIHRva2VuIHBhcnNlIGlmIGl0IGlzIGFuIGNvbm5lY3Rpb24gZGVmaW5pdGlvbg0KLSAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9JTlZBTElEOw0KLSAgaWYoMCAhPSBwYVJlcXVlc3RQYXJ0TGVmdCAmJiBwYXJzZVdyaXRlQ29ubmVjdGlvbkRhdGEocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZCkpew0KLSNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0gICAgY2hhciAqcGNoID0gc3Ryc3RyKHBhUmVxdWVzdFBhcnRMZWZ0LCAiZm9yY2U9XCIiKTsNCi0gICAgaWYgKDAgIT0gcGNoKSB7DQotICAgICAgaWYgKCFzdHJuY21wKCZwY2hbN10sICJ0cnVlIiwgc2l6ZW9mKCJ0cnVlIikgLSAxKSkgew0KLSAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX0ZvcmNlOw0KLSAgICAgIH0gZWxzZSBpZiAoIXN0cm5jbXAoJnBjaFs3XSwgImZhbHNlIiwgc2l6ZW9mKCJmYWxzZSIpIC0gMSkpIHsNCi0gICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfTW9uaXRvcmluZ19DbGVhckZvcmNlOw0KLSAgICAgIH0NCi0gICAgfSBlbHNlIGlmICgoMiA9PSBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMubGVuZ3RoKCkpICYmDQotICAgICAgKCgnJCcgPT0gcGFDb21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKClbMF0pICYmDQotICAgICAgICAoKCdlJyA9PSBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKVsxXSkgfHwoJ0UnID09IHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpWzFdKSApKSl7DQotICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX1RyaWdnZXJfRXZlbnQ7DQotICAgIH1lbHNlIGlmICgoMyA9PSBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMubGVuZ3RoKCkpICYmDQotICAgICAgKCgnJCcgPT0gcGFDb21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKClbMF0pICYmDQotICAgICAgICgoJ2UnID09IHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpWzFdKSB8fCgnRScgPT0gcGFDb21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKClbMV0pICkgJiYNCi0gICAgICAgKCgncicgPT0gcGFDb21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKClbMl0pIHx8KCdSJyA9PSBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKVsyXSkgKSApKXsNCi0gICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX01vbml0b3JpbmdfUmVzZXRfRXZlbnRfQ291bnQ7DQotICAgIH1lbHNlDQotI2VuZGlmIC8vIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORw0KLSAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfV3JpdGU7DQotICB9DQotfQ0KLQ0KLSNpZmRlZiBGT1JURV9TVVBQT1JUX1FVRVJZX0NNRA0KLXZvaWQgREVWX01HUjo6cGFyc2VRdWVyeURhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsNCi0gIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfSU5WQUxJRDsNCi0gIGlmKDAgIT0gcGFSZXF1ZXN0UGFydExlZnQpew0KLSAgICBzd2l0Y2ggKHBhUmVxdWVzdFBhcnRMZWZ0WzBdKXsNCi0gICAgICBjYXNlICdGJzogLy8gcXVlcnkgZmIgb3IgZmIgdHlwZSBsaXN0DQotICAgICAgICBpZighc3RybmNtcChwYVJlcXVlc3RQYXJ0TGVmdCwgIkZCVCIsIHNpemVvZigiRkJUIikgLSAxKSl7DQotICAgICAgICAgIGlmKHBhcnNlVHlwZUxpc3REYXRhKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQpKXsNCi0gICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1FVRVJZX0ZCVHlwZXM7DQotICAgICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RdWVyeV9Hcm91cDsNCi0gICAgICAgICAgfQ0KLSAgICAgICAgfWVsc2UgaWYocGFyc2VGQkRhdGEocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZCkpew0KLSAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1FVRVJZX0ZCOw0KLSAgICAgICAgfQ0KLSAgICAgICAgYnJlYWs7DQotICAgICAgY2FzZSAnQyc6IC8vIHF1ZXJ5IGNvbm5lY3Rpb24gbGlzdA0KLSAgICAgICAgaWYocGFyc2VDb25uZWN0aW9uRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7DQotICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfUVVFUllfQ29ubmVjdGlvbjsNCi0gICAgICAgIH0NCi0gICAgICAgIGJyZWFrOw0KLSAgICAgIGNhc2UgJ0QnOiAvLyBxdWVyeSBkYXRhdHlwZSBsaXN0DQotICAgICAgICBpZighc3RybmNtcChwYVJlcXVlc3RQYXJ0TGVmdCwgIkRhdGFUeXBlIiwgc2l6ZW9mKCJEYXRhVHlwZSIpIC0gMSkpew0KLSAgICAgICAgICBpZihwYXJzZVR5cGVMaXN0RGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7DQotICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RVUVSWV9EVFR5cGVzOw0KLSAgICAgICAgICB9IGVsc2Ugew0KLSAgICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfUXVlcnlfR3JvdXA7DQotICAgICAgICAgIH0NCi0gICAgICAgIH0NCi0gICAgICAgIGJyZWFrOw0KLSAgICAgIGNhc2UgJ0EnOiAvLyBxdWVyeSBhZGFwdGVydHlwZSBsaXN0DQotICAgICAgICBpZighc3RybmNtcChwYVJlcXVlc3RQYXJ0TGVmdCwgIkFkYXB0ZXJUIiwgc2l6ZW9mKCJBZGFwdGVyVCIpIC0gMSkpew0KLSAgICAgICAgICBpZihwYXJzZVR5cGVMaXN0RGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7DQotICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RVUVSWV9BZGFwdGVyVHlwZXM7DQotICAgICAgICAgIH0gZWxzZSB7DQotICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RdWVyeV9Hcm91cDsNCi0gICAgICAgICAgfQ0KLSAgICAgICAgfQ0KLQ0KLSAgICAgICAgYnJlYWs7DQotICAgICAgZGVmYXVsdDoNCi0gICAgICAgIGJyZWFrOw0KLSAgICB9DQotICB9DQotfQ0KLQ0KLWJvb2wgREVWX01HUjo6cGFyc2VUeXBlTGlzdERhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmKXsNCi0gIGJvb2wgcmV0VmFsID0gdHJ1ZTsNCi0NCi0gIGlmICghc3RybmNtcCgiRGF0YVR5cGUgTmFtZT1cIiIsIHBhUmVxdWVzdFBhcnRMZWZ0LCBzaXplb2YoIkRhdGFUeXBlIE5hbWU9XCIiKSAtIDEpKSB7DQotICAgIGlmKHBhUmVxdWVzdFBhcnRMZWZ0WzE1XSAhPSAnKicpeyAvL2RvZXMgbm90IHN1cHBvcnQgcXVlcnkgZm9yIERhdGFUeXBlLURlY2xhcmF0aW9uDQotICAgICAgcmV0VmFsID0gZmFsc2U7DQotICAgIH0NCi0gIH0NCi0gIGVsc2UgaWYoIXN0cm5jbXAoIkZCVHlwZSBOYW1lPVwiIiwgcGFSZXF1ZXN0UGFydExlZnQsIHNpemVvZigiRkJUeXBlIE5hbWU9XCIiKSAtIDEpKXsNCi0gICAgaWYocGFSZXF1ZXN0UGFydExlZnRbMTNdICE9ICcqJyl7IC8vZG9lcyBub3Qgc3VwcG9ydCBxdWVyeSBmb3IgRGF0YVR5cGUtRGVjbGFyYXRpb24NCi0gICAgICByZXRWYWwgPSBmYWxzZTsNCi0gICAgfQ0KLSAgfQ0KLSAgZWxzZSBpZighc3RybmNtcCgiQWRhcHRlclR5cGUgTmFtZT1cIiIsIHBhUmVxdWVzdFBhcnRMZWZ0LCBzaXplb2YoIkFkYXB0ZXJUeXBlIE5hbWU9XCIiKSAtIDEpKXsNCi0gICAgaWYocGFSZXF1ZXN0UGFydExlZnRbMThdICE9ICcqJyl7IC8vZG9lcyBub3Qgc3VwcG9ydCBxdWVyeSBmb3IgRGF0YVR5cGUtRGVjbGFyYXRpb24NCi0gICAgICByZXRWYWwgPSBmYWxzZTsNCi0gICAgfQ0KLSAgfQ0KLSAgcmV0dXJuIHJldFZhbDsNCi19DQotI2VuZGlmDQotDQotdm9pZCBERVZfTUdSOjpnZW5lcmF0ZVJlc3BvbnNlKGNvbnN0IGNoYXIgKnBhSUQsIEVNR01SZXNwb25zZSBwYVJlc3Apew0KLSAgUkVTUCgpLmNsZWFyKCk7DQotICBSRVNQKCkuYXBwZW5kKCI8UmVzcG9uc2UgSUQ9XCIiKTsNCi0gIGlmICgwICE9IHBhSUQpIHsNCi0gICAgUkVTUCgpLmFwcGVuZChwYUlEKTsNCi0gIH0NCi0gIFJFU1AoKS5hcHBlbmQoIlwiIik7DQotICBpZihlX1JEWSAhPSBwYVJlc3Apew0KLSAgICBSRVNQKCkuYXBwZW5kKCIgUmVhc29uPVwiIik7DQotICAgIFJFU1AoKS5hcHBlbmQoc2NtX3NNR01SZXNwb25zZVRleHRzW3BhUmVzcF0pOw0KLSAgICBSRVNQKCkuYXBwZW5kKCJcIiIpOw0KLSAgfQ0KLSAgUkVTUCgpLmFwcGVuZCgiIC8+Iik7DQotfQ0KLQ0KLXZvaWQgREVWX01HUjo6Z2VuZXJhdGVMb25nUmVzcG9uc2UoRU1HTVJlc3BvbnNlIHBhUmVzcCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNNRCl7DQotICBSRVNQKCkuY2xlYXIoKTsNCi0gIFJFU1AoKS5yZXNlcnZlKHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4oMjU1ICsgKHBhQ01ELm1BZGRpdGlvbmFsUGFyYW1zLmxlbmd0aCgpKSkpOw0KLSAgUkVTUCgpLmFwcGVuZCgiPFJlc3BvbnNlIElEPVwiIik7DQotICBpZiAoMCAhPSBwYUNNRC5tSUQpIHsNCi0gICAgUkVTUCgpLmFwcGVuZChwYUNNRC5tSUQpOw0KLSAgfQ0KLSAgUkVTUCgpLmFwcGVuZCgiXCIiKTsNCi0gIGlmKGVfUkRZICE9IHBhUmVzcCl7DQotICAgIFJFU1AoKS5hcHBlbmQoIiBSZWFzb249XCIiKTsNCi0gICAgUkVTUCgpLmFwcGVuZChzY21fc01HTVJlc3BvbnNlVGV4dHNbcGFSZXNwXSk7DQotICAgIFJFU1AoKS5hcHBlbmQoIlwiPlxuICAiKTsNCi0gIH0NCi0gIGVsc2V7DQotICAgIFJFU1AoKS5hcHBlbmQoIj5cbiAgIik7DQotICAgIGlmKHBhQ01ELm1DTUQgPT0gY2dfbk1HTV9DTURfUmVhZCl7DQotICAgICAgUkVTUCgpLmFwcGVuZCgiPENvbm5lY3Rpb24gU291cmNlPVwiIik7DQotICAgICAgYXBwZWRJZGVudGlmaWVyTmFtZShSRVNQKCksIHBhQ01ELm1GaXJzdFBhcmFtKTsNCi0gICAgICBSRVNQKCkuYXBwZW5kKCJcIiBEZXN0aW5hdGlvbj1cIiIpOw0KLSAgICAgIFJFU1AoKS5hcHBlbmQocGFDTUQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKSk7DQotICAgICAgUkVTUCgpLmFwcGVuZCgiXCIgLz4iKTsNCi0gICAgfQ0KLSNpZmRlZiBGT1JURV9TVVBQT1JUX1FVRVJZX0NNRA0KLSAgICBlbHNlIGlmKHBhQ01ELm1DTUQgPT0gY2dfbk1HTV9DTURfUVVFUllfQ29ubmVjdGlvbil7DQotICAgICAgaWYgKChwYUNNRC5tRmlyc3RQYXJhbS5pc0VtcHR5KCkpICYmDQotICAgICAgICAgIChwYUNNRC5tU2Vjb25kUGFyYW0uaXNFbXB0eSgpKSkgeyAvL3NyYyAmIGRzdCA9ICoNCi0gICAgICAgICAgUkVTUCgpLmFwcGVuZChwYUNNRC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpKTsNCi0gICAgICB9DQotICAgICAgZWxzZSB7IC8vZWl0aGVyIHNyYyBvciBkc3QgPSAqIChib3RoICE9ICogc2hvdWxkIGJlIHRyZWF0ZWQgYnkgZ2VuZXJhdGVSZXNwb25zZQ0KLSAgICAgICAgUkVTUCgpLmFwcGVuZCgiPEVuZHBvaW50TGlzdD5cbiAgICAiKTsNCi0gICAgICAgIFJFU1AoKS5hcHBlbmQocGFDTUQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKSk7DQotICAgICAgICBSRVNQKCkuYXBwZW5kKCJcbiAgPC9FbmRwb2ludExpc3Q+Iik7DQotICAgICAgfQ0KLSAgICB9DQotICAgIGVsc2UgaWYocGFDTUQubUNNRCA9PSBjZ19uTUdNX0NNRF9RVUVSWV9GQil7DQotICAgICAgaWYoIXBhQ01ELm1GaXJzdFBhcmFtLmlzRW1wdHkoKSkgeyAgLy9OYW1lICE9ICIqIg0KLSAgICAgICAgaWYoIXBhQ01ELm1TZWNvbmRQYXJhbS5pc0VtcHR5KCkpeyAvL1R5cGUgIT0gIioiDQotICAgICAgICAgIFJFU1AoKS5hcHBlbmQoIjxGQlN0YXR1cyBTdGF0dXM9XCIiKTsNCi0gICAgICAgICAgUkVTUCgpLmFwcGVuZChwYUNNRC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpKTsNCi0gICAgICAgICAgUkVTUCgpLmFwcGVuZCgiXCIgLz4iKTsNCi0gICAgICAgIH0gZWxzZSB7IC8vVHlwZSA9PSAiKiINCi0gICAgICAgICAgUkVTUCgpLmFwcGVuZCgiPEZCIE5hbWU9XCIiKTsNCi0gICAgICAgICAgYXBwZWRJZGVudGlmaWVyTmFtZShSRVNQKCksIHBhQ01ELm1GaXJzdFBhcmFtKTsNCi0gICAgICAgICAgUkVTUCgpLmFwcGVuZCgiXCIgVHlwZT1cIiIpOw0KLSAgICAgICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKCkpOw0KLSAgICAgICAgICBSRVNQKCkuYXBwZW5kKCJcIiAvPiIpOw0KLSAgICAgICAgfQ0KLSAgICAgIH0NCi0gICAgICBlbHNlew0KLSAgICAgICAgUkVTUCgpLmFwcGVuZCgiPEZCTGlzdD5cbiAgICAiKTsNCi0gICAgICAgIFJFU1AoKS5hcHBlbmQocGFDTUQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKSk7DQotICAgICAgICBSRVNQKCkuYXBwZW5kKCJcbiAgPC9GQkxpc3Q+Iik7DQotICAgICAgfQ0KLSAgICB9DQotICAgIGVsc2UgaWYocGFDTUQubUNNRCA9PSBjZ19uTUdNX0NNRF9RVUVSWV9GQlR5cGVzIHx8IHBhQ01ELm1DTUQgPT0gY2dfbk1HTV9DTURfUVVFUllfQWRhcHRlclR5cGVzKXsNCi0gICAgICBSRVNQKCkuYXBwZW5kKCI8TmFtZUxpc3Q+XG4gICAgIik7DQotICAgICAgUkVTUCgpLmFwcGVuZChwYUNNRC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpKTsNCi0gICAgICBSRVNQKCkuYXBwZW5kKCJcbiAgPC9OYW1lTGlzdD4iKTsNCi0gICAgfQ0KLSAgICBlbHNlIGlmKHBhQ01ELm1DTUQgPT0gY2dfbk1HTV9DTURfUVVFUllfRFRUeXBlcyl7DQotICAgICAgUkVTUCgpLmFwcGVuZCgiPERUTGlzdD5cbiAgICAiKTsNCi0gICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKCkpOw0KLSAgICAgIFJFU1AoKS5hcHBlbmQoIlxuICA8L0RUTGlzdD4iKTsNCi0gICAgfQ0KLSNlbmRpZg0KLSAgfQ0KLSAgUkVTUCgpLmFwcGVuZCgiXG48L1Jlc3BvbnNlPiIpOw0KLX0NCi0NCi12b2lkIERFVl9NR1I6OmFwcGVkSWRlbnRpZmllck5hbWUoQ0lFQ19TVFJJTkcmIHBhRGVzdCwgZm9ydGU6OmNvcmU6OlROYW1lSWRlbnRpZmllciAmcGFJZGVudGlmaWVyKXsNCi0gIGlmKCFwYUlkZW50aWZpZXIuaXNFbXB0eSgpKXsNCi0gICAgZm9yKGZvcnRlOjpjb3JlOjpUTmFtZUlkZW50aWZpZXI6OkNJdGVyYXRvciBydW5uZXIocGFJZGVudGlmaWVyLmJlZ2luKCkpOw0KLSAgICAgICAgcnVubmVyICE9IHBhSWRlbnRpZmllci5lbmQoKTsgKytydW5uZXIpew0KLSAgICAgIHBhRGVzdC5hcHBlbmQoQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KCpydW5uZXIpKTsNCi0gICAgICBwYURlc3QuYXBwZW5kKCIuIik7DQotICAgIH0NCi0gICAgcGFEZXN0LmFwcGVuZChDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQocGFJZGVudGlmaWVyLmJhY2soKSkpOw0KLSAgfQ0KLX0NCi0NCi1ERVZfTUdSOjpERVZfTUdSKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYVNyY1JlcykgOg0KLSAgICBDQ29tbUZCKHBhSW5zdGFuY2VOYW1lSWQsIHBhU3JjUmVzLCBmb3J0ZTo6Y29tX2luZnJhOjplX1NlcnZlciksDQotICAgIG1fcG9EZXZpY2UocGFTcmNSZXMtPmdldERldmljZSgpKSB7DQotICBzZXR1cEZCSW50ZXJmYWNlKCZzY21fc3RGQkludGVyZmFjZVNwZWMsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSk7DQotICBtQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5yZXNlcnZlKDI1NSk7DQotICBtQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5jbGVhcigpOw0KLX0NCi0NCi1ERVZfTUdSOjp+REVWX01HUigpew0KLSAgZnJlZUFsbERhdGEoKTsNCi0gIG1fcHN0SW50ZXJmYWNlU3BlYyA9IDA7ICAvL2Jsb2NrIGFueSB3cm9uZyBjbGVhbnVwIGluIHRoZSBnZW5lcmljIGZiIGJhc2UgY2xhc3Mgb2YgQ0Jhc2VDb21tRkINCi19DQotDQotRU1HTVJlc3BvbnNlIERFVl9NR1I6OnBhcnNlQW5kRXhlY3V0ZU1HTUNvbW1hbmQoY2hhciAqcGFEZXN0LCBjaGFyICpwYUNvbW1hbmQpew0KLSAgRU1HTVJlc3BvbnNlIGVSZXNwID0gZV9JTlZBTElEX09CSkVDVDsNCi0gIGlmKDAgIT0gc3RyY2hyKHBhQ29tbWFuZCwgJz4nKSl7DQotICAgIG1Db21tYW5kLm1EZXN0aW5hdGlvbiA9IChzdHJsZW4ocGFEZXN0KSAhPSAwKSA/IENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmluc2VydChwYURlc3QpIDogQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkOw0KLSAgICBtQ29tbWFuZC5tRmlyc3RQYXJhbS5jbGVhcigpOw0KLSAgICBtQ29tbWFuZC5tU2Vjb25kUGFyYW0uY2xlYXIoKTsNCi0gICAgaWYgKCAyNTUgPD0gbUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0Q2FwYWNpdHkoKSkgew0KLSAgICAgIG1Db21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zLnJlc2VydmUoMjU1KTsNCi0gICAgfQ0KLSAgICBtQ29tbWFuZC5tSUQ9MDsNCi0jaWZkZWYgRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HDQotICBtQ29tbWFuZC5tTW9uaXRvclJlc3BvbnNlLmNsZWFyKCk7DQotI2VuZGlmIC8vIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORw0KLSAgICBjaGFyICphY1JlcXVlc3RQYXJ0TGVmdCA9IHBhcnNlUmVxdWVzdChwYUNvbW1hbmQsIG1Db21tYW5kKTsNCi0gICAgaWYoMCAhPSBhY1JlcXVlc3RQYXJ0TGVmdCl7DQotICAgICAgYWNSZXF1ZXN0UGFydExlZnQgPSBzdHJjaHIoYWNSZXF1ZXN0UGFydExlZnQsICc8Jyk7DQotICAgICAgaWYoMCAhPSBhY1JlcXVlc3RQYXJ0TGVmdCl7DQotICAgICAgICBhY1JlcXVlc3RQYXJ0TGVmdCsrOyAvL3BvaW50IHRvIHRoZSBuZXh0IGNoYXJhY3RlciBhZnRlciB0aGUgPA0KLSAgICAgIH0NCi0gICAgICAvLyB3ZSBnb3QgdGhlIGNvbW1hbmQgZm9yIGV4ZWN1dGlvbg0KLSAgICAgIC8vIG5vdyBjaGVjayB0aGUgcmVzdCBvZiB0aGUgZGF0YQ0KLSAgICAgIHN3aXRjaCAobUNvbW1hbmQubUNNRCl7DQotICAgICAgICBjYXNlIGNnX25NR01fQ01EX0NyZWF0ZV9Hcm91cDogLy8gY3JlYXRlIHNvbWV0aGluZw0KLSAgICAgICAgICBwYXJzZUNyZWF0ZURhdGEoYWNSZXF1ZXN0UGFydExlZnQsIG1Db21tYW5kKTsNCi0gICAgICAgICAgYnJlYWs7DQotICAgICAgICBjYXNlIGNnX25NR01fQ01EX0RlbGV0ZV9Hcm91cDogLy9kZWxldGUgc29tZXRoaW5nDQotICAgICAgICAgIHBhcnNlRGVsZXRlRGF0YShhY1JlcXVlc3RQYXJ0TGVmdCwgbUNvbW1hbmQpOw0KLSAgICAgICAgICBicmVhazsNCi0gICAgICAgIGNhc2UgY2dfbk1HTV9DTURfU3RhcnQ6DQotICAgICAgICBjYXNlIGNnX25NR01fQ01EX1N0b3A6DQotICAgICAgICBjYXNlIGNnX25NR01fQ01EX0tpbGw6DQotICAgICAgICBjYXNlIGNnX25NR01fQ01EX1Jlc2V0Og0KLSAgICAgICAgICBwYXJzZUFkZGl0aW9uYWxTdGF0ZUNvbW1hbmREYXRhKGFjUmVxdWVzdFBhcnRMZWZ0LCBtQ29tbWFuZCk7DQotICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgY2FzZSBjZ19uTUdNX0NNRF9SZWFkOg0KLSAgICAgICAgICBwYXJzZVJlYWREYXRhKGFjUmVxdWVzdFBhcnRMZWZ0LCBtQ29tbWFuZCk7DQotICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgY2FzZSBjZ19uTUdNX0NNRF9Xcml0ZToNCi0gICAgICAgICAgcGFyc2VXcml0ZURhdGEoYWNSZXF1ZXN0UGFydExlZnQsIG1Db21tYW5kKTsNCi0gICAgICAgICAgYnJlYWs7DQotI2lmZGVmIEZPUlRFX1NVUFBPUlRfUVVFUllfQ01EDQotICAgICAgICBjYXNlIGNnX25NR01fQ01EX1F1ZXJ5X0dyb3VwOiAvLyBxdWVyeSBzb21ldGhpbmcNCi0gICAgICAgICAgcGFyc2VRdWVyeURhdGEoYWNSZXF1ZXN0UGFydExlZnQsIG1Db21tYW5kKTsNCi0jZW5kaWYNCi0gICAgICAgICAgYnJlYWs7DQotICAgICAgICBkZWZhdWx0Og0KLSAgICAgICAgICBicmVhazsNCi0gICAgICB9DQotDQotICAgICAgaWYoY2dfbk1HTV9DTURfSU5WQUxJRCAhPSBtQ29tbWFuZC5tQ01EKSB7DQotICAgICAgICAgIGVSZXNwID0gbV9wb0RldmljZS5leGVjdXRlTUdNQ29tbWFuZChtQ29tbWFuZCk7DQotICAgICAgfQ0KLSAgICB9DQotICAgIGVsc2Ugew0KLSAgICAgIGVSZXNwID0gZV9VTlNVUFBPUlRFRF9DTUQ7DQotICAgIH0NCi0gIH0NCi0gIHJldHVybiBlUmVzcDsNCi19DQotDQotI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORw0KLQ0KLWJvb2wgREVWX01HUjo6cGFyc2VNb25pdG9yaW5nRGF0YShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpew0KLSAgYm9vbCBiUmV0VmFsID0gZmFsc2U7DQotICBpZighc3RybmNtcCgiV2F0Y2ggU291cmNlPVwiIiwgcGFSZXF1ZXN0UGFydExlZnQsIHNpemVvZigiV2F0Y2ggU291cmNlPVwiIikgLSAxKSl7DQotICAgIGludCBpID0gcGFyc2VJZGVudGlmaWVyKCYocGFSZXF1ZXN0UGFydExlZnRbMTRdKSwgcGFDb21tYW5kLm1GaXJzdFBhcmFtKTsNCi0gICAgaWYoLTEgIT0gaSl7DQotICAgICAgY2hhciAqYWNCdWYgPSBzdHJjaHIoJihwYVJlcXVlc3RQYXJ0TGVmdFtpICsgMTZdKSwgJ1wiJyk7DQotICAgICAgaWYoYWNCdWYgIT0gMCl7DQotICAgICAgICBwYXJzZUlkZW50aWZpZXIoJihhY0J1ZlsxXSksIHBhQ29tbWFuZC5tU2Vjb25kUGFyYW0pOw0KLSAgICAgICAgYlJldFZhbCA9ICgtMSAhPSBpKTsNCi0gICAgICB9DQotICAgIH0NCi0gIH0NCi0gIHJldHVybiBiUmV0VmFsOw0KLX0NCi0NCi12b2lkIERFVl9NR1I6OmdlbmVyYXRlTW9uaXRvclJlc3BvbnNlKEVNR01SZXNwb25zZSBwYVJlc3AsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDTUQpew0KLSAgUkVTUCgpLmNsZWFyKCk7DQotICBpZihlX1JEWSAhPSBwYVJlc3Apew0KLSAgICBSRVNQKCkuYXBwZW5kKCI8UmVzcG9uc2UgSUQ9XCIiKTsNCi0gICAgUkVTUCgpLmFwcGVuZChwYUNNRC5tSUQpOw0KLSAgICBSRVNQKCkuYXBwZW5kKCJcIiIpOw0KLSAgICBSRVNQKCkuYXBwZW5kKCIgUmVhc29uPVwiIik7DQotICAgIFJFU1AoKS5hcHBlbmQoc2NtX3NNR01SZXNwb25zZVRleHRzW3BhUmVzcF0pOw0KLSAgICBSRVNQKCkuYXBwZW5kKCJcIj5cbiAgIik7DQotICAgIFJFU1AoKS5hcHBlbmQoIlxuPC9SZXNwb25zZT4iKTsNCi0gIH1lbHNlew0KLSAgICBURm9ydGVVSW50MTYgc2l6ZSA9IHN0YXRpY19jYXN0PFRGb3J0ZVVJbnQxNj4ocGFDTUQubU1vbml0b3JSZXNwb25zZS5sZW5ndGgoKSArIHN0cmxlbihwYUNNRC5tSUQpICsgNzQpOw0KLSAgICBSRVNQKCkucmVzZXJ2ZShzaXplKTsNCi0NCi0gICAgUkVTUCgpLmNsZWFyKCk7DQotICAgIFJFU1AoKS5hcHBlbmQoIjxSZXNwb25zZSBJRD1cIiIpOw0KLSAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1JRCk7DQotICAgIFJFU1AoKS5hcHBlbmQoIlwiIik7DQotICAgIFJFU1AoKS5hcHBlbmQoIj5cbiAgIik7DQotICAgIGlmKHBhQ01ELm1DTUQgPT0gY2dfbk1HTV9DTURfTW9uaXRvcmluZ19SZWFkX1dhdGNoZXMpIHsNCi0gICAgICBSRVNQKCkuYXBwZW5kKCI8V2F0Y2hlcz5cbiAgICAiKTsNCi0gICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1Nb25pdG9yUmVzcG9uc2UuZ2V0VmFsdWUoKSk7DQotICAgICAgUkVTUCgpLmFwcGVuZCgiXG4gIDwvV2F0Y2hlcz4iKTsNCi0gICAgfQ0KLSAgICBSRVNQKCkuYXBwZW5kKCJcbjwvUmVzcG9uc2U+Iik7DQotICB9DQotICBwYUNNRC5tTW9uaXRvclJlc3BvbnNlLmNsZWFyKCk7DQotfQ0KLQ0KLSNlbmRpZiAvLyBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcNCi0NCi1ib29sIERFVl9NR1I6OmV4ZWN1dGVDb21tYW5kKGNoYXIgKnBhRGVzdCwgY2hhciAqcGFDb21tYW5kKXsNCi0gIEVNR01SZXNwb25zZSBlUmVzcCA9IHBhcnNlQW5kRXhlY3V0ZU1HTUNvbW1hbmQocGFEZXN0LCBwYUNvbW1hbmQpOw0KLSAgaWYoZVJlc3AgIT0gZV9SRFkpew0KLSAgICBERVZMT0dfRVJST1IoIkJvb3QgZmlsZSBlcnJvci4gREVWX01HUiBzYXlzIGVycm9yIGlzICVzXG4iLCBERVZfTUdSOjpzY21fc01HTVJlc3BvbnNlVGV4dHNbZVJlc3BdKTsNCi0gIH0NCi0gIHJldHVybiAoZVJlc3AgPT0gZV9SRFkpOw0KLX0NCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICisgKiAgICAgICAgICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljLCBUaG9tYXMgU3RyYXNzZXIsIEdlcmhhcmQgRWJlbmhvZmVyLAorICogICBPbGl2ZXIgSHVtbWVyLCBJbmdvIEhlZ255LCBNaWNoYWVsIEhvZm1hbm4sIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCisgKiAgICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIE1vbmlrYSBXZW5nZXIKKyAqICAgIC0gZml4OiBhcG9zdHJvcGhlcyBhcmUgZGVsZXRlZCBpbiBwYXJzZVdyaXRlQ29ubmVjdGlvbkRhdGEKKyAqICAgSmVucyBSZWltYW5uCisgKiAgICAtIEVuaGFuY2UgYm9vdGZpbGUgbG9hZGluZyBiZWhhdmlvcgorICogICAgQWxvaXMgWm9pdGwgLSBpbnRyb2R1Y2VkIG5ldyBDR2VuRkIgY2xhc3MgZm9yIGJldHRlciBoYW5kbGluZyBnZW5lcmljIEZCcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAiREVWX01HUi5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkRFVl9NR1JfZ2VuLmNwcCIKKyNlbmRpZgorI2luY2x1ZGUgIi4uLy4uL2NvcmUvZGV2aWNlLmgiCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlICJGb3J0ZUJvb3RGaWxlTG9hZGVyLmgiCisjaW5jbHVkZSAiLi4vLi4vY29yZS91dGlscy9zdHJpbmdfdXRpbHMuaCIKKworREVGSU5FX0ZJUk1XQVJFX0ZCKERFVl9NR1IsIGdfblN0cmluZ0lkREVWX01HUikKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBERVZfTUdSOjpzY21fYW5EYXRhSW5wdXROYW1lc1tdID0ge2dfblN0cmluZ0lkUUksIGdfblN0cmluZ0lkSUQsIGdfblN0cmluZ0lkUkVTUH07CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgREVWX01HUjo6c2NtX2FuRGF0YUlucHV0VHlwZUlkc1tdID0ge2dfblN0cmluZ0lkQk9PTCwgZ19uU3RyaW5nSWRXU1RSSU5HLCBnX25TdHJpbmdJZFNUUklOR307CisKK2NvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgREVWX01HUjo6c2NtX2FuRGF0YU91dHB1dE5hbWVzW10gPSB7Z19uU3RyaW5nSWRRTywgZ19uU3RyaW5nSWRTVEFUVVMsIGdfblN0cmluZ0lkRFNULCBnX25TdHJpbmdJZFJRU1R9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIERFVl9NR1I6OnNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzW10gPSB7Z19uU3RyaW5nSWRCT09MLCBnX25TdHJpbmdJZFNUUklORywgZ19uU3RyaW5nSWRTVFJJTkcsIGdfblN0cmluZ0lkU1RSSU5HfTsKKworY29uc3QgVEZvcnRlSW50MTYgREVWX01HUjo6c2NtX2FuRUlXaXRoSW5kZXhlc1tdID0gezAsIC0xfTsKK2NvbnN0IFREYXRhSU9JRCBERVZfTUdSOjpzY21fYW5FSVdpdGhbXSA9IHswLCAxLCAyNTV9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBERVZfTUdSOjpzY21fYW5FdmVudElucHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOSVQsIGdfblN0cmluZ0lkUkVRfTsKKworY29uc3QgVERhdGFJT0lEIERFVl9NR1I6OnNjbV9hbkVPV2l0aFtdID0gezAsIDEsIDI1NSwgMiwgMywgMjU1fTsKK2NvbnN0IFRGb3J0ZUludDE2IERFVl9NR1I6OnNjbV9hbkVPV2l0aEluZGV4ZXNbXSA9IHswLCAtMSwgM307Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIERFVl9NR1I6OnNjbV9hbkV2ZW50T3V0cHV0TmFtZXNbXSA9IHtnX25TdHJpbmdJZElOSVRPLCBnX25TdHJpbmdJZENORn07CisKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgREVWX01HUjo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0geworICAyLCAgc2NtX2FuRXZlbnRJbnB1dE5hbWVzLCAgc2NtX2FuRUlXaXRoLCAgc2NtX2FuRUlXaXRoSW5kZXhlcywKKyAgMiwgIHNjbV9hbkV2ZW50T3V0cHV0TmFtZXMsICBzY21fYW5FT1dpdGgsIHNjbV9hbkVPV2l0aEluZGV4ZXMsICAzLCAgc2NtX2FuRGF0YUlucHV0TmFtZXMsIHNjbV9hbkRhdGFJbnB1dFR5cGVJZHMsCisgIDQsICBzY21fYW5EYXRhT3V0cHV0TmFtZXMsIHNjbV9hbkRhdGFPdXRwdXRUeXBlSWRzLAorICAwLCAwCit9OworCitjb25zdCBjaGFyICogY29uc3QgREVWX01HUjo6c2NtX3NNR01SZXNwb25zZVRleHRzWzEzXSA9IHsgIlJEWSIsICJCQURfUEFSQU1TIiwgIkxPQ0FMX1RFUk1JTkFUSU9OIiwgIlNZU1RFTV9URVJNSU5BVElPTiIsICJOT1RfUkVBRFkiLCAiVU5TVVBQT1JURURfQ01EIiwgIlVOU1VQUE9SVEVEX1RZUEUiLCAiTk9fU1VDSF9PQkpFQ1QiLCAiSU5WQUxJRF9PQkpFQ1QiLCAiSU5WQUxJRF9PUEVSQVRJT04iLCAiSU5WQUxJRF9TVEFURSIsICJPVkVSRkxPVyIsICJJTlZBTElEX0RTVCIgfTsKKwordm9pZCBERVZfTUdSOjpleGVjdXRlRXZlbnQoaW50IHBhRUlJRCl7CisgIGlmKHNjbV9uRXZlbnRJTklUSUQgPT0gcGFFSUlEKXsKKyNpZmRlZiBGT1JURV9TVVBQT1JUX0JPT1RfRklMRQorICAgIGlmKCh0cnVlID09IFFJKCkpICYmIChmYWxzZSA9PSBRTygpKSl7CisgICAgICAvL3RoaXMgaXMgdGhlIGZpcnN0IHRpbWUgaW5pdCBpcyBjYWxsZWQgdHJ5IHRvIGxvYWQgYSBib290IGZpbGUKKyAgICAgIEZvcnRlQm9vdEZpbGVMb2FkZXIgbG9hZGVyKCp0aGlzKTsKKyAgICAgIGlmKGxvYWRlci5pc09wZW4oKSAmJiBMT0FEX1JFU1VMVF9PSyA9PSBsb2FkZXIubG9hZEJvb3RGaWxlKCkpeworICAgICAgICAgIERFVkxPR19JTkZPKCJCb290ZmlsZSBjb3JyZWN0bHkgbG9hZGVkXG4iKTsKKyAgICAgIH0KKyAgICB9CisjZW5kaWYKKyAgICBDQ29tbUZCOjpleGVjdXRlRXZlbnQocGFFSUlEKTsgIC8vaW5pdGlhbGl6ZSB0aGUgdW5kZXJseWluZyBzZXJ2ZXIgRkIKKyAgfWVsc2V7CisgICAgaWYoY2dfbkV4dGVybmFsRXZlbnRJRCA9PSBwYUVJSUQgJiYgLy93ZSByZWNlaXZlZCBhIG1lc3NhZ2Ugb24gdGhlIG5ldHdvcmsgbGV0IHRoZSBzZXJ2ZXIgY29ycmVjdGx5IGhhbmRsZSBpdAorICAgICAgICBmb3J0ZTo6Y29tX2luZnJhOjplX1Byb2Nlc3NEYXRhT2sgPT0gQ0NvbW1GQjo6cmVjZWl2ZURhdGEoKSl7IC8vdGhlIG1lc3NhZ2Ugd2FzIGNvcnJlY3RseSByZWNlaXZlZAorICAgICAgZXhlY3V0ZVJRU1QoKTsKKyAgICAgIC8vc2VuZCByZXNwb25zZQorICAgICAgQ0NvbW1GQjo6c2VuZERhdGEoKTsKKyAgICB9CisgIH0KK30KKwordm9pZCBERVZfTUdSOjpleGVjdXRlUlFTVCh2b2lkKXsKKyAgbUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuY2xlYXIoKTsKKyAgRU1HTVJlc3BvbnNlIHJlc3AgPSBwYXJzZUFuZEV4ZWN1dGVNR01Db21tYW5kKERTVCgpLmdldFZhbHVlKCksIFJRU1QoKS5nZXRWYWx1ZSgpKTsKKworI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICBpZiAoMCAhPSBtQ29tbWFuZC5tTW9uaXRvclJlc3BvbnNlLmxlbmd0aCgpKSB7CisgICAgZ2VuZXJhdGVNb25pdG9yUmVzcG9uc2UocmVzcCwgbUNvbW1hbmQpOworICB9IGVsc2UKKyNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICBpZigwIDwgbUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMubGVuZ3RoKCkpeworICAgIGdlbmVyYXRlTG9uZ1Jlc3BvbnNlKHJlc3AsIG1Db21tYW5kKTsKKyAgfQorICBlbHNleworICAgIGdlbmVyYXRlUmVzcG9uc2UobUNvbW1hbmQubUlELCByZXNwKTsKKyAgfQorfQorCitjaGFyICpERVZfTUdSOjpwYXJzZVJlcXVlc3QoY2hhciAqcGFSZXF1ZXN0U3RyaW5nLCBmb3J0ZTo6Y29yZTo6U01hbmFnZW1lbnRDTUQgJnBhQ29tbWFuZCl7CisvL2ZpcnN0IGNoZWNrIGlmIGl0IGlzIGFuIG1hbmFnZW1lbnQgcmVxdWVzdAorICBjaGFyICphY0NvbW1hbmRTdGFydCA9IDA7CisgIHN0YXRpYyBjb25zdCBpbnQgc2NuQ29tbWFuZExlbmd0aFtdID0gezcsIDcsIDYsIDUsIDUsIDYsIDUsIDYsIDZ9OworCisgIGlmKCFzdHJuY21wKCI8UmVxdWVzdCBJRD1cIiIsIHBhUmVxdWVzdFN0cmluZywgMTMpKXsKKyAgICBpbnQgaSA9IDEzOworICAgIGludCBqOworICAgIHBhQ29tbWFuZC5tSUQgPSAmKHBhUmVxdWVzdFN0cmluZ1tpXSk7CisgICAgZm9yKGogPSAwOyBwYVJlcXVlc3RTdHJpbmdbaV0gIT0gJ1wiJzsgKytpLCArK2opeworICAgICAgaWYoaiA+PSA3KXsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgICB9CisgICAgfQorICAgIHBhUmVxdWVzdFN0cmluZ1tpXSA9ICdcMCc7IC8vY2xvc2UgSUQKKyAgICArK2k7CisgICAgYWNDb21tYW5kU3RhcnQgPSBzdHJjaHIoKCZwYVJlcXVlc3RTdHJpbmdbaV0pLCAnXCInKTsKKyAgICBpZihhY0NvbW1hbmRTdGFydCAhPSAwKXsKKyAgICAgIGFjQ29tbWFuZFN0YXJ0Kys7IC8vdGhpcyBpcyB0aGUgcmVhbCBzdGFydCBvZiB0aGUgY29tbWFuZAorICAgICAgaWYoIXN0cm5jbXAoIkNSRUFURSIsIGFjQ29tbWFuZFN0YXJ0LCA2KSl7CisgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfQ3JlYXRlX0dyb3VwOworICAgICAgfQorICAgICAgZWxzZSBpZighc3RybmNtcCgiREVMRVRFIiwgYWNDb21tYW5kU3RhcnQsIDYpKXsKKyAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9EZWxldGVfR3JvdXA7CisgICAgICB9CisgICAgICBlbHNlIGlmKCFzdHJuY21wKCJTVEFSVCIsIGFjQ29tbWFuZFN0YXJ0LCA1KSl7CisgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfU3RhcnQ7CisgICAgICB9CisgICAgICBlbHNlIGlmKCFzdHJuY21wKCJTVE9QIiwgYWNDb21tYW5kU3RhcnQsIDQpKXsKKyAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9TdG9wOworICAgICAgfQorICAgICAgZWxzZSBpZighc3RybmNtcCgiS0lMTCIsIGFjQ29tbWFuZFN0YXJ0LCA0KSl7CisgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfS2lsbDsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYoIXN0cm5jbXAoIlJFU0VUIiwgYWNDb21tYW5kU3RhcnQsIDUpKXsKKyAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9SZXNldDsKKyAgICAgIH0KKyAgICAgIGVsc2UgaWYoIXN0cm5jbXAoIlJFQUQiLCBhY0NvbW1hbmRTdGFydCwgNCkpeworICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1JlYWQ7CisgICAgICB9CisgICAgICBlbHNlIGlmKCFzdHJuY21wKCJXUklURSIsIGFjQ29tbWFuZFN0YXJ0LCA1KSl7CisgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfV3JpdGU7CisgICAgICB9CisjaWZkZWYgRk9SVEVfU1VQUE9SVF9RVUVSWV9DTUQKKyAgICAgIGVsc2UgaWYoIXN0cm5jbXAoIlFVRVJZIiwgYWNDb21tYW5kU3RhcnQsIDUpKXsKKyAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RdWVyeV9Hcm91cDsKKyAgICAgIH0KKyNlbmRpZgorICAgICAgZWxzZXsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgICB9CisgICAgICBhY0NvbW1hbmRTdGFydCArPSBzY25Db21tYW5kTGVuZ3RoW3BhQ29tbWFuZC5tQ01EXTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIGFjQ29tbWFuZFN0YXJ0OworfQorCisjaWZkZWYgRk9SVEVfRFlOQU1JQ19UWVBFX0xPQUQKK2Jvb2wgREVWX01HUjo6cGFyc2VYVHlwZShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQsIGNvbnN0IGNoYXIgKnBhUmVxdWVzdFR5cGUpIHsKKyAgYm9vbCByZXRWYWwgPSBmYWxzZTsKKyAgc2l6ZV90IG5SZXFMZW5ndGggPSBzdHJsZW4ocGFSZXF1ZXN0VHlwZSk7CisgIGlmKCFzdHJuY21wKHBhUmVxdWVzdFR5cGUsIHBhUmVxdWVzdFBhcnRMZWZ0LCBuUmVxTGVuZ3RoKSl7CisgICAgcGFSZXF1ZXN0UGFydExlZnQgPSAmKHBhUmVxdWVzdFBhcnRMZWZ0W25SZXFMZW5ndGhdKTsKKyAgICBpZignKicgIT0gcGFSZXF1ZXN0UGFydExlZnRbMF0peworICAgICAgaW50IGkgPSBwYXJzZUlkZW50aWZpZXIocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZC5tRmlyc3RQYXJhbSk7CisgICAgICBwYVJlcXVlc3RQYXJ0TGVmdCA9ICgtMSA9PSBpKSA/IDAgOiBzdHJjaHIoJihwYVJlcXVlc3RQYXJ0TGVmdFtpICsgMV0pLCAnPicpOworICAgIH0KKyAgICBpZigwICE9IHBhUmVxdWVzdFBhcnRMZWZ0KXsKKyAgICAgIHBhUmVxdWVzdFBhcnRMZWZ0Kys7CisgICAgICBjaGFyKiBlbmRPZlJlcXVlc3QgPSBzdHJjaHIocGFSZXF1ZXN0UGFydExlZnQsICc8Jyk7CisgICAgICAqZW5kT2ZSZXF1ZXN0ID0gJ1wwJzsKKyAgICAgIGZvcnRlOjpjb3JlOjp1dGlsOjp0cmFuc2Zvcm1Fc2NhcGVkWE1MVG9Ob25Fc2NhcGVkVGV4dChwYVJlcXVlc3RQYXJ0TGVmdCk7CisgICAgICBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMgPSBwYVJlcXVlc3RQYXJ0TGVmdDsKKyAgICAgIHJldFZhbCA9IHRydWU7CisgICAgfQorICB9CisgIHJldHVybiByZXRWYWw7Cit9CisjZW5kaWYKKworYm9vbCBERVZfTUdSOjpwYXJzZUZCRGF0YShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpeworICBib29sIHJldFZhbCA9IGZhbHNlOworCisgIGlmKCFzdHJuY21wKCJGQiBOYW1lPVwiIiwgcGFSZXF1ZXN0UGFydExlZnQsIDkpKXsKKyAgICBjaGFyICphY0J1ZiA9ICYocGFSZXF1ZXN0UGFydExlZnRbOV0pOworICAgIGludCBpID0gMDsKKyAgICBpZihhY0J1ZlswXSAhPSAnKicpeworICAgICAgaSA9IHBhcnNlSWRlbnRpZmllcihhY0J1ZiwgcGFDb21tYW5kLm1GaXJzdFBhcmFtKTsKKyAgICAgIGFjQnVmID0gKC0xID09IGkpID8gMCA6IHN0cmNocigmKGFjQnVmW2kgKyAxXSksICdcIicpOworICAgIH0KKyAgICBlbHNleworICAgICAgYWNCdWYgPSBzdHJjaHIoJihhY0J1ZltpICsgMl0pLCAnXCInKTsKKyAgICB9CisKKyAgICBpZihhY0J1ZiAhPSAwKXsKKyAgICAgIGlmKGFjQnVmWzFdICE9ICcqJyl7CisgICAgICAgICsrYWNCdWY7CisgICAgICAgIGkgPSBwYXJzZUlkZW50aWZpZXIoYWNCdWYsIHBhQ29tbWFuZC5tU2Vjb25kUGFyYW0pOworICAgICAgICBpZigtMSAhPSBpKXsKKyAgICAgICAgICBhY0J1ZiA9IHN0cmNocigmKGFjQnVmW2kgKyAxXSksICdcIicpOworICAgICAgICAgIGlmKGFjQnVmICE9IDApeworICAgICAgICAgICAgLy8gV2UgaGF2ZSBhbiBhcHBsaWNhdGlvbiBuYW1lIGdpdmVuCisgICAgICAgICAgICArK2FjQnVmOworICAgICAgICAgICAgVEZvcnRlVUludDE2IG5CdWZMZW5ndGggPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KHN0cmNzcG4oYWNCdWYsICJcIiIpICsgMSk7CisgICAgICAgICAgICBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuYXNzaWduKGFjQnVmLCBuQnVmTGVuZ3RoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZXsKKyAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIHJldFZhbCA9IHRydWU7CisgICAgfQorICB9CisgIHJldHVybiByZXRWYWw7Cit9CisKK2ludCBERVZfTUdSOjpwYXJzZUlkZW50aWZpZXIoY2hhciAqcGFJZGVudGlmaWVyU3RhcnQsIGZvcnRlOjpjb3JlOjpUTmFtZUlkZW50aWZpZXIgJnBhSWRlbnRpZmllcil7CisgIGZvcihjaGFyICpydW5uZXIgPSBwYUlkZW50aWZpZXJTdGFydCwgKnN0YXJ0ID0gcGFJZGVudGlmaWVyU3RhcnQ7ICdcMCcgIT0gKnJ1bm5lcjsgKytydW5uZXIpeworICAgIGlmKCcuJyA9PSAqcnVubmVyKXsKKyAgICAgICpydW5uZXIgPSAnXDAnOworICAgICAgaWYoIXBhSWRlbnRpZmllci5wdXNoQmFjayhDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5pbnNlcnQoc3RhcnQpKSl7CisgICAgICAgIHJldHVybiAtMTsKKyAgICAgIH0KKyAgICAgICpydW5uZXIgPSAnLic7CisgICAgICBzdGFydCA9IHJ1bm5lciArIDE7CisgICAgfSBlbHNlIGlmICgnIicgPT0gKnJ1bm5lcil7CisgICAgICAqcnVubmVyID0gJ1wwJzsKKyAgICAgIGlmKCFwYUlkZW50aWZpZXIucHVzaEJhY2soQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuaW5zZXJ0KHN0YXJ0KSkpeworICAgICAgICByZXR1cm4gLTE7CisgICAgICB9CisgICAgICAqcnVubmVyID0gJyInOworICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4ocnVubmVyIC0gcGFJZGVudGlmaWVyU3RhcnQpOworICAgIH0KKyAgfQorICByZXR1cm4gLTE7Cit9CisKK2Jvb2wgREVWX01HUjo6cGFyc2VDb25uZWN0aW9uRGF0YShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpeworICBib29sIGJSZXRWYWwgPSBmYWxzZTsKKyAgaWYoIXN0cm5jbXAoIkNvbm5lY3Rpb24gU291cmNlPVwiIiwgcGFSZXF1ZXN0UGFydExlZnQsIHNpemVvZigiQ29ubmVjdGlvbiBTb3VyY2U9XCIiKSAtIDEpKXsKKyAgICBpbnQgaSA9IHBhcnNlSWRlbnRpZmllcigmKHBhUmVxdWVzdFBhcnRMZWZ0WzE5XSksIHBhQ29tbWFuZC5tRmlyc3RQYXJhbSk7CisgICAgaWYoLTEgIT0gaSl7CisgICAgICBjaGFyICphY0J1ZiA9IHN0cmNocigmKHBhUmVxdWVzdFBhcnRMZWZ0W2kgKyAyMV0pLCAnXCInKTsKKyAgICAgIGlmKGFjQnVmICE9IDApeworICAgICAgICBwYXJzZUlkZW50aWZpZXIoJihhY0J1ZlsxXSksIHBhQ29tbWFuZC5tU2Vjb25kUGFyYW0pOworICAgICAgICBiUmV0VmFsID0gKC0xICE9IGkpOworICAgICAgfQorICAgIH0KKyAgfQorICByZXR1cm4gYlJldFZhbDsKK30KKworYm9vbCBERVZfTUdSOjpwYXJzZVdyaXRlQ29ubmVjdGlvbkRhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsKKyAgYm9vbCByZXRWYWwgPSBmYWxzZTsKKyAgaWYoIXN0cm5jbXAoIkNvbm5lY3Rpb24gU291cmNlPVwiIiwgcGFSZXF1ZXN0UGFydExlZnQsIHNpemVvZigiQ29ubmVjdGlvbiBTb3VyY2U9XCIiKSAtIDEpKXsKKyAgICBwYVJlcXVlc3RQYXJ0TGVmdCA9ICYocGFSZXF1ZXN0UGFydExlZnRbMTldKTsKKworICAgIGNoYXIqIGVuZE9mU291cmNlID0gc3RyY2hyKHBhUmVxdWVzdFBhcnRMZWZ0LCAnXCInKTsKKyAgICBpZigwID09IGVuZE9mU291cmNlKXsKKyAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgKmVuZE9mU291cmNlID0gJ1wwJzsKKyAgICBmb3J0ZTo6Y29yZTo6dXRpbDo6dHJhbnNmb3JtRXNjYXBlZFhNTFRvTm9uRXNjYXBlZFRleHQocGFSZXF1ZXN0UGFydExlZnQpOworICAgIHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcyA9IHBhUmVxdWVzdFBhcnRMZWZ0OworICAgICplbmRPZlNvdXJjZSA9ICciJzsgLy8gcmVzdG9yZSB0aGUgc3RyaW5nCisgICAgcGFSZXF1ZXN0UGFydExlZnQgPSBzdHJjaHIoZW5kT2ZTb3VyY2UgKyAxLCAnXCInKTsKKyAgICBpZigwICE9IHBhUmVxdWVzdFBhcnRMZWZ0KXsKKyAgICAgIHJldFZhbCA9ICgtMSAhPSBwYXJzZUlkZW50aWZpZXIoJnBhUmVxdWVzdFBhcnRMZWZ0WzFdLCBwYUNvbW1hbmQubUZpcnN0UGFyYW0pKTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJldFZhbDsKK30KKwordm9pZCBERVZfTUdSOjpwYXJzZUNyZWF0ZURhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsKKyAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9JTlZBTElEOworICBpZigwICE9IHBhUmVxdWVzdFBhcnRMZWZ0KXsKKyAgICAgIHN3aXRjaCAocGFSZXF1ZXN0UGFydExlZnRbMF0peworI2lmZGVmIEZPUlRFX0RZTkFNSUNfVFlQRV9MT0FECisgICAgICAgIGNhc2UgJ0EnOiAvLyB3ZSBoYXZlIGFuIEFkYXB0ZXIgdG8gQ3JlYXRlCisgICAgICAgICAgaWYocGFyc2VYVHlwZShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kLCAiQWRhcHRlclR5cGUgTmFtZT1cIiIpKXsKKyAgICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfQ3JlYXRlX0FkYXB0ZXJUeXBlOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyNlbmRpZgorICAgICAgICBjYXNlICdGJzogLy8gd2UgaGF2ZSBhbiBGQiB0byBDcmVhdGUKKyAgICAgICAgICBpZihwYXJzZUZCRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7CisgICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0NyZWF0ZV9GQkluc3RhbmNlOworICAgICAgICAgIH0KKyNpZmRlZiBGT1JURV9EWU5BTUlDX1RZUEVfTE9BRAorICAgICAgICAgIGVsc2UgaWYocGFyc2VYVHlwZShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kLCAiRkJUeXBlIE5hbWU9XCIiKSl7CisgICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0NyZWF0ZV9GQlR5cGU7CisgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ0MnOiAvLyB3ZSBoYXZlIGFuIENvbm5lY3Rpb24gdG8gQ3JlYXRlCisgICAgICAgICAgaWYocGFyc2VDb25uZWN0aW9uRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7CisgICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0NyZWF0ZV9Db25uZWN0aW9uOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcKKyAgICAgICAgY2FzZSAnVyc6IC8vIHdlIGhhdmUgYW4gV2F0Y2ggdG8gQWRkCisgICAgICAgICAgaWYocGFyc2VNb25pdG9yaW5nRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7CisgICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX01vbml0b3JpbmdfQWRkX1dhdGNoOworICAgICAgICAgIH0KKyAgICAgICAgICBicmVhazsKKyNlbmRpZiAvL0ZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgIGJyZWFrOworICAgICAgfQorICB9Cit9CisKK3ZvaWQgREVWX01HUjo6cGFyc2VEZWxldGVEYXRhKGNoYXIgKnBhUmVxdWVzdFBhcnRMZWZ0LCBmb3J0ZTo6Y29yZTo6U01hbmFnZW1lbnRDTUQgJnBhQ29tbWFuZCl7CisgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfSU5WQUxJRDsKKyAgaWYoMCAhPSBwYVJlcXVlc3RQYXJ0TGVmdCl7CisgICAgc3dpdGNoIChwYVJlcXVlc3RQYXJ0TGVmdFswXSl7CisgICAgICBjYXNlICdGJzogLy8gd2UgaGF2ZSBhbiBGQiB0byBkZWxldGUKKyAgICAgICAgaWYocGFyc2VGQkRhdGEocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZCkpeworICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfRGVsZXRlX0ZCSW5zdGFuY2U7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdDJzogLy8gd2UgaGF2ZSBhbiBDb25uZWN0aW9uIHRvIGRlbGV0ZQorICAgICAgICBpZihwYXJzZUNvbm5lY3Rpb25EYXRhKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQpKXsKKyAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0RlbGV0ZV9Db25uZWN0aW9uOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICAgICAgY2FzZSAnVyc6IC8vIHdlIGhhdmUgYW4gV2F0Y2ggdG8gcmVtb3ZlCisgICAgICAgIGlmKHBhcnNlTW9uaXRvcmluZ0RhdGEocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZCkpeworICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX01vbml0b3JpbmdfUmVtb3ZlX1dhdGNoOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworI2VuZGlmIC8vIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICAgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICB9Cit9CisKK3ZvaWQgREVWX01HUjo6cGFyc2VBZGRpdGlvbmFsU3RhdGVDb21tYW5kRGF0YShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpeworICBpZigwICE9IHBhUmVxdWVzdFBhcnRMZWZ0ICYmICcvJyAhPSBwYVJlcXVlc3RQYXJ0TGVmdFswXSAmJiAvL2lmIHdlIGhhdmUgYW4gYWRkaXRpb25hbCB4bWwgdG9rZW4gcGFyc2UgaWYgaXQgaXMgYW4gRkIgZGVmaW5pdGlvbgorICAgICFwYXJzZUZCRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSkgeworICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfSU5WQUxJRDsKKyAgfQorfQorCit2b2lkIERFVl9NR1I6OnBhcnNlUmVhZERhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsKKyAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9JTlZBTElEOworICBpZigwICE9IHBhUmVxdWVzdFBhcnRMZWZ0KXsKKyNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcKKyAgICBpZignVycgPT0gcGFSZXF1ZXN0UGFydExlZnRbMF0peworICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfTW9uaXRvcmluZ19SZWFkX1dhdGNoZXM7CisgICAgfSBlbHNlCisjZW5kaWYgLy8gRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisgICAgICBpZihwYXJzZUNvbm5lY3Rpb25EYXRhKHBhUmVxdWVzdFBhcnRMZWZ0LCBwYUNvbW1hbmQpKXsKKyAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9SZWFkOworICAgICAgfQorICB9Cit9CisKK3ZvaWQgREVWX01HUjo6cGFyc2VXcml0ZURhdGEoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kKXsKKyAgLy9XZSBuZWVkIGFuIGFkZGl0aW9uYWwgeG1sIGNvbm5lY3Rpb24gdG9rZW4gcGFyc2UgaWYgaXQgaXMgYW4gY29ubmVjdGlvbiBkZWZpbml0aW9uCisgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfSU5WQUxJRDsKKyAgaWYoMCAhPSBwYVJlcXVlc3RQYXJ0TGVmdCAmJiBwYXJzZVdyaXRlQ29ubmVjdGlvbkRhdGEocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZCkpeworI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICAgIGNoYXIgKnBjaCA9IHN0cnN0cihwYVJlcXVlc3RQYXJ0TGVmdCwgImZvcmNlPVwiIik7CisgICAgaWYgKDAgIT0gcGNoKSB7CisgICAgICBpZiAoIXN0cm5jbXAoJnBjaFs3XSwgInRydWUiLCBzaXplb2YoInRydWUiKSAtIDEpKSB7CisgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfTW9uaXRvcmluZ19Gb3JjZTsKKyAgICAgIH0gZWxzZSBpZiAoIXN0cm5jbXAoJnBjaFs3XSwgImZhbHNlIiwgc2l6ZW9mKCJmYWxzZSIpIC0gMSkpIHsKKyAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX0NsZWFyRm9yY2U7CisgICAgICB9CisgICAgfSBlbHNlIGlmICgoMiA9PSBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMubGVuZ3RoKCkpICYmCisgICAgICAoKCckJyA9PSBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKVswXSkgJiYKKyAgICAgICAgKCgnZScgPT0gcGFDb21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKClbMV0pIHx8KCdFJyA9PSBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKVsxXSkgKSkpeworICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX1RyaWdnZXJfRXZlbnQ7CisgICAgfWVsc2UgaWYgKCgzID09IHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5sZW5ndGgoKSkgJiYKKyAgICAgICgoJyQnID09IHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpWzBdKSAmJgorICAgICAgICgoJ2UnID09IHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpWzFdKSB8fCgnRScgPT0gcGFDb21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKClbMV0pICkgJiYKKyAgICAgICAoKCdyJyA9PSBwYUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKVsyXSkgfHwoJ1InID09IHBhQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpWzJdKSApICkpeworICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX1Jlc2V0X0V2ZW50X0NvdW50OworICAgIH1lbHNlCisjZW5kaWYgLy8gRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1dyaXRlOworICB9Cit9CisKKyNpZmRlZiBGT1JURV9TVVBQT1JUX1FVRVJZX0NNRAordm9pZCBERVZfTUdSOjpwYXJzZVF1ZXJ5RGF0YShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpeworICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX0lOVkFMSUQ7CisgIGlmKDAgIT0gcGFSZXF1ZXN0UGFydExlZnQpeworICAgIHN3aXRjaCAocGFSZXF1ZXN0UGFydExlZnRbMF0peworICAgICAgY2FzZSAnRic6IC8vIHF1ZXJ5IGZiIG9yIGZiIHR5cGUgbGlzdAorICAgICAgICBpZighc3RybmNtcChwYVJlcXVlc3RQYXJ0TGVmdCwgIkZCVCIsIHNpemVvZigiRkJUIikgLSAxKSl7CisgICAgICAgICAgaWYocGFyc2VUeXBlTGlzdERhdGEocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZCkpeworICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RVUVSWV9GQlR5cGVzOworICAgICAgICAgIH0KKyNpZmRlZiBGT1JURV9EWU5BTUlDX1RZUEVfTE9BRAorICAgICAgICAgIGVsc2UgaWYocGFyc2VYVHlwZShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kLCAiRkJUeXBlIE5hbWU9XCIiKSl7CisgICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1FVRVJZX0ZCVHlwZTsKKyAgICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfUXVlcnlfR3JvdXA7CisgICAgICAgICAgfQorICAgICAgICB9ZWxzZSBpZihwYXJzZUZCRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7CisgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RVUVSWV9GQjsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ0MnOiAvLyBxdWVyeSBjb25uZWN0aW9uIGxpc3QKKyAgICAgICAgaWYocGFyc2VDb25uZWN0aW9uRGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7CisgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RVUVSWV9Db25uZWN0aW9uOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnRCc6IC8vIHF1ZXJ5IGRhdGF0eXBlIGxpc3QKKyAgICAgICAgaWYoIXN0cm5jbXAocGFSZXF1ZXN0UGFydExlZnQsICJEYXRhVHlwZSIsIHNpemVvZigiRGF0YVR5cGUiKSAtIDEpKXsKKyAgICAgICAgICBpZihwYXJzZVR5cGVMaXN0RGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7CisgICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1FVRVJZX0RUVHlwZXM7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHBhQ29tbWFuZC5tQ01EID0gY2dfbk1HTV9DTURfUXVlcnlfR3JvdXA7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2FzZSAnQSc6IC8vIHF1ZXJ5IGFkYXB0ZXJ0eXBlIGxpc3QKKyAgICAgICAgaWYoIXN0cm5jbXAocGFSZXF1ZXN0UGFydExlZnQsICJBZGFwdGVyVCIsIHNpemVvZigiQWRhcHRlclQiKSAtIDEpKXsKKyAgICAgICAgICBpZihwYXJzZVR5cGVMaXN0RGF0YShwYVJlcXVlc3RQYXJ0TGVmdCwgcGFDb21tYW5kKSl7CisgICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1FVRVJZX0FkYXB0ZXJUeXBlczsKKyAgICAgICAgICB9CisjaWZkZWYgRk9SVEVfRFlOQU1JQ19UWVBFX0xPQUQKKyAgICAgICAgICBlbHNlIGlmKHBhcnNlWFR5cGUocGFSZXF1ZXN0UGFydExlZnQsIHBhQ29tbWFuZCwgIkFkYXB0ZXJUeXBlIE5hbWU9XCIiKSl7CisgICAgICAgICAgICBwYUNvbW1hbmQubUNNRCA9IGNnX25NR01fQ01EX1FVRVJZX0FkYXB0ZXJUeXBlOworICAgICAgICAgIH0KKyNlbmRpZgorICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgcGFDb21tYW5kLm1DTUQgPSBjZ19uTUdNX0NNRF9RdWVyeV9Hcm91cDsKKyAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBicmVhazsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgfQorfQorCitib29sIERFVl9NR1I6OnBhcnNlVHlwZUxpc3REYXRhKGNoYXIgKnBhUmVxdWVzdFBhcnRMZWZ0LCBmb3J0ZTo6Y29yZTo6U01hbmFnZW1lbnRDTUQgJil7CisgIGJvb2wgcmV0VmFsID0gdHJ1ZTsKKworICBpZiAoIXN0cm5jbXAoIkRhdGFUeXBlIE5hbWU9XCIiLCBwYVJlcXVlc3RQYXJ0TGVmdCwgc2l6ZW9mKCJEYXRhVHlwZSBOYW1lPVwiIikgLSAxKSkgeworICAgIGlmKHBhUmVxdWVzdFBhcnRMZWZ0WzE1XSAhPSAnKicpeyAvL2RvZXMgbm90IHN1cHBvcnQgcXVlcnkgZm9yIERhdGFUeXBlLURlY2xhcmF0aW9uCisgICAgICByZXRWYWwgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgZWxzZSBpZighc3RybmNtcCgiRkJUeXBlIE5hbWU9XCIiLCBwYVJlcXVlc3RQYXJ0TGVmdCwgc2l6ZW9mKCJGQlR5cGUgTmFtZT1cIiIpIC0gMSkpeworICAgIGlmKHBhUmVxdWVzdFBhcnRMZWZ0WzEzXSAhPSAnKicpeyAvL3N1cHBvcnRzIHF1ZXJ5IGZvciBGQlR5cGUtRGVjbGFyYXRpb24gb25seSBmb3IgRHluYW1pY1R5cGVMb2FkIHByb2ZpbGUgKExVQSBlbmFibGVkKQorICAgICAgcmV0VmFsID0gZmFsc2U7CisgICAgfQorICB9CisgIGVsc2UgaWYoIXN0cm5jbXAoIkFkYXB0ZXJUeXBlIE5hbWU9XCIiLCBwYVJlcXVlc3RQYXJ0TGVmdCwgc2l6ZW9mKCJBZGFwdGVyVHlwZSBOYW1lPVwiIikgLSAxKSl7CisgICAgaWYocGFSZXF1ZXN0UGFydExlZnRbMThdICE9ICcqJyl7IC8vZG9lcyBub3Qgc3VwcG9ydCBxdWVyeSBmb3IgQWRhcHRlclR5cGUtRGVjbGFyYXRpb24KKyAgICAgIHJldFZhbCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmV0VmFsOworfQorI2VuZGlmCisKK3ZvaWQgREVWX01HUjo6Z2VuZXJhdGVSZXNwb25zZShjb25zdCBjaGFyICpwYUlELCBFTUdNUmVzcG9uc2UgcGFSZXNwKXsKKyAgUkVTUCgpLmNsZWFyKCk7CisgIFJFU1AoKS5hcHBlbmQoIjxSZXNwb25zZSBJRD1cIiIpOworICBpZiAoMCAhPSBwYUlEKSB7CisgICAgUkVTUCgpLmFwcGVuZChwYUlEKTsKKyAgfQorICBSRVNQKCkuYXBwZW5kKCJcIiIpOworICBpZihlX1JEWSAhPSBwYVJlc3ApeworICAgIFJFU1AoKS5hcHBlbmQoIiBSZWFzb249XCIiKTsKKyAgICBSRVNQKCkuYXBwZW5kKHNjbV9zTUdNUmVzcG9uc2VUZXh0c1twYVJlc3BdKTsKKyAgICBSRVNQKCkuYXBwZW5kKCJcIiIpOworICB9CisgIFJFU1AoKS5hcHBlbmQoIiAvPiIpOworfQorCit2b2lkIERFVl9NR1I6OmdlbmVyYXRlTG9uZ1Jlc3BvbnNlKEVNR01SZXNwb25zZSBwYVJlc3AsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDTUQpeworICBSRVNQKCkuY2xlYXIoKTsKKyAgUkVTUCgpLnJlc2VydmUoc3RhdGljX2Nhc3Q8VEZvcnRlVUludDE2PigyNTUgKyAocGFDTUQubUFkZGl0aW9uYWxQYXJhbXMubGVuZ3RoKCkpKSk7CisgIFJFU1AoKS5hcHBlbmQoIjxSZXNwb25zZSBJRD1cIiIpOworICBpZiAoMCAhPSBwYUNNRC5tSUQpIHsKKyAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1JRCk7CisgIH0KKyAgUkVTUCgpLmFwcGVuZCgiXCIiKTsKKyAgaWYoZV9SRFkgIT0gcGFSZXNwKXsKKyAgICBSRVNQKCkuYXBwZW5kKCIgUmVhc29uPVwiIik7CisgICAgUkVTUCgpLmFwcGVuZChzY21fc01HTVJlc3BvbnNlVGV4dHNbcGFSZXNwXSk7CisgICAgUkVTUCgpLmFwcGVuZCgiXCI+XG4gICIpOworICB9CisgIGVsc2V7CisgICAgUkVTUCgpLmFwcGVuZCgiPlxuICAiKTsKKyAgICBpZihwYUNNRC5tQ01EID09IGNnX25NR01fQ01EX1JlYWQpeworICAgICAgUkVTUCgpLmFwcGVuZCgiPENvbm5lY3Rpb24gU291cmNlPVwiIik7CisgICAgICBhcHBlZElkZW50aWZpZXJOYW1lKFJFU1AoKSwgcGFDTUQubUZpcnN0UGFyYW0pOworICAgICAgUkVTUCgpLmFwcGVuZCgiXCIgRGVzdGluYXRpb249XCIiKTsKKyAgICAgIFJFU1AoKS5hcHBlbmQocGFDTUQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKSk7CisgICAgICBSRVNQKCkuYXBwZW5kKCJcIiAvPiIpOworICAgIH0KKyNpZmRlZiBGT1JURV9TVVBQT1JUX1FVRVJZX0NNRAorICAgIGVsc2UgaWYocGFDTUQubUNNRCA9PSBjZ19uTUdNX0NNRF9RVUVSWV9Db25uZWN0aW9uKXsKKyAgICAgIGlmICgocGFDTUQubUZpcnN0UGFyYW0uaXNFbXB0eSgpKSAmJgorICAgICAgICAgIChwYUNNRC5tU2Vjb25kUGFyYW0uaXNFbXB0eSgpKSkgeyAvL3NyYyAmIGRzdCA9ICoKKyAgICAgICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKCkpOworICAgICAgfQorICAgICAgZWxzZSB7IC8vZWl0aGVyIHNyYyBvciBkc3QgPSAqIChib3RoICE9ICogc2hvdWxkIGJlIHRyZWF0ZWQgYnkgZ2VuZXJhdGVSZXNwb25zZQorICAgICAgICBSRVNQKCkuYXBwZW5kKCI8RW5kcG9pbnRMaXN0PlxuICAgICIpOworICAgICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKCkpOworICAgICAgICBSRVNQKCkuYXBwZW5kKCJcbiAgPC9FbmRwb2ludExpc3Q+Iik7CisgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYocGFDTUQubUNNRCA9PSBjZ19uTUdNX0NNRF9RVUVSWV9GQil7CisgICAgICBpZighcGFDTUQubUZpcnN0UGFyYW0uaXNFbXB0eSgpKSB7ICAvL05hbWUgIT0gIioiCisgICAgICAgIGlmKCFwYUNNRC5tU2Vjb25kUGFyYW0uaXNFbXB0eSgpKXsgLy9UeXBlICE9ICIqIgorICAgICAgICAgIFJFU1AoKS5hcHBlbmQoIjxGQlN0YXR1cyBTdGF0dXM9XCIiKTsKKyAgICAgICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKCkpOworICAgICAgICAgIFJFU1AoKS5hcHBlbmQoIlwiIC8+Iik7CisgICAgICAgIH0gZWxzZSB7IC8vVHlwZSA9PSAiKiIKKyAgICAgICAgICBSRVNQKCkuYXBwZW5kKCI8RkIgTmFtZT1cIiIpOworICAgICAgICAgIGFwcGVkSWRlbnRpZmllck5hbWUoUkVTUCgpLCBwYUNNRC5tRmlyc3RQYXJhbSk7CisgICAgICAgICAgUkVTUCgpLmFwcGVuZCgiXCIgVHlwZT1cIiIpOworICAgICAgICAgIFJFU1AoKS5hcHBlbmQocGFDTUQubUFkZGl0aW9uYWxQYXJhbXMuZ2V0VmFsdWUoKSk7CisgICAgICAgICAgUkVTUCgpLmFwcGVuZCgiXCIgLz4iKTsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgZWxzZXsKKyAgICAgICAgUkVTUCgpLmFwcGVuZCgiPEZCTGlzdD5cbiAgICAiKTsKKyAgICAgICAgUkVTUCgpLmFwcGVuZChwYUNNRC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpKTsKKyAgICAgICAgUkVTUCgpLmFwcGVuZCgiXG4gIDwvRkJMaXN0PiIpOworICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmKHBhQ01ELm1DTUQgPT0gY2dfbk1HTV9DTURfUVVFUllfRkJUeXBlcyB8fCBwYUNNRC5tQ01EID09IGNnX25NR01fQ01EX1FVRVJZX0FkYXB0ZXJUeXBlcyl7CisgICAgICBSRVNQKCkuYXBwZW5kKCI8TmFtZUxpc3Q+XG4gICAgIik7CisgICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKCkpOworICAgICAgUkVTUCgpLmFwcGVuZCgiXG4gIDwvTmFtZUxpc3Q+Iik7CisgICAgfQorICAgIGVsc2UgaWYocGFDTUQubUNNRCA9PSBjZ19uTUdNX0NNRF9RVUVSWV9EVFR5cGVzKXsKKyAgICAgIFJFU1AoKS5hcHBlbmQoIjxEVExpc3Q+XG4gICAgIik7CisgICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1BZGRpdGlvbmFsUGFyYW1zLmdldFZhbHVlKCkpOworICAgICAgUkVTUCgpLmFwcGVuZCgiXG4gIDwvRFRMaXN0PiIpOworICAgIH0KKyAgICBlbHNlIGlmKHBhQ01ELm1DTUQgPT0gY2dfbk1HTV9DTURfUVVFUllfRkJUeXBlKXsKKyAgICAgIFJFU1AoKS5hcHBlbmQoIjxGQlR5cGUgQ29tbWVudD1cImdlbmVyYXRlZFwiICIpOworICAgICAgUkVTUCgpLmFwcGVuZChwYUNNRC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpKTsKKyAgICAgIFJFU1AoKS5hcHBlbmQoIiAgPC9GQlR5cGU+Iik7CisgICAgfQorICAgIGVsc2UgaWYocGFDTUQubUNNRCA9PSBjZ19uTUdNX0NNRF9RVUVSWV9BZGFwdGVyVHlwZSl7CisgICAgICBSRVNQKCkuYXBwZW5kKCI8QWRhcHRlclR5cGUgQ29tbWVudD1cImdlbmVyYXRlZFwiICIpOworICAgICAgUkVTUCgpLmFwcGVuZChwYUNNRC5tQWRkaXRpb25hbFBhcmFtcy5nZXRWYWx1ZSgpKTsKKyAgICAgIFJFU1AoKS5hcHBlbmQoIiAgIDxTZXJ2aWNlIENvbW1lbnQ9XCJnZW5lcmF0ZWRcIiBMZWZ0SW50ZXJmYWNlPVwiU09DS0VUXCIgUmlnaHRJbnRlcmZhY2U9XCJQTFVHXCIvPlxuPC9BZGFwdGVyVHlwZT4iKTsKKyAgICB9CisjZW5kaWYKKyAgfQorICBSRVNQKCkuYXBwZW5kKCJcbjwvUmVzcG9uc2U+Iik7Cit9CisKK3ZvaWQgREVWX01HUjo6YXBwZWRJZGVudGlmaWVyTmFtZShDSUVDX1NUUklORyYgcGFEZXN0LCBmb3J0ZTo6Y29yZTo6VE5hbWVJZGVudGlmaWVyICZwYUlkZW50aWZpZXIpeworICBpZighcGFJZGVudGlmaWVyLmlzRW1wdHkoKSl7CisgICAgZm9yKGZvcnRlOjpjb3JlOjpUTmFtZUlkZW50aWZpZXI6OkNJdGVyYXRvciBydW5uZXIocGFJZGVudGlmaWVyLmJlZ2luKCkpOworICAgICAgICBydW5uZXIgIT0gcGFJZGVudGlmaWVyLmVuZCgpOyArK3J1bm5lcil7CisgICAgICBwYURlc3QuYXBwZW5kKENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmdldCgqcnVubmVyKSk7CisgICAgICBwYURlc3QuYXBwZW5kKCIuIik7CisgICAgfQorICAgIHBhRGVzdC5hcHBlbmQoQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KHBhSWRlbnRpZmllci5iYWNrKCkpKTsKKyAgfQorfQorCitERVZfTUdSOjpERVZfTUdSKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFJbnN0YW5jZU5hbWVJZCwgQ1Jlc291cmNlICpwYVNyY1JlcykgOgorICAgIENDb21tRkIocGFJbnN0YW5jZU5hbWVJZCwgcGFTcmNSZXMsIGZvcnRlOjpjb21faW5mcmE6OmVfU2VydmVyKSwKKyAgICBtX3BvRGV2aWNlKHBhU3JjUmVzLT5nZXREZXZpY2UoKSkgeworICBzZXR1cEZCSW50ZXJmYWNlKCZzY21fc3RGQkludGVyZmFjZVNwZWMsIG1fYW5GQkNvbm5EYXRhLCBtX2FuRkJWYXJzRGF0YSk7CisgIG1Db21tYW5kLm1BZGRpdGlvbmFsUGFyYW1zLnJlc2VydmUoMjU1KTsKKyAgbUNvbW1hbmQubUFkZGl0aW9uYWxQYXJhbXMuY2xlYXIoKTsKK30KKworREVWX01HUjo6fkRFVl9NR1IoKXsKKyAgZnJlZUFsbERhdGEoKTsKKyAgbV9wc3RJbnRlcmZhY2VTcGVjID0gMDsgIC8vYmxvY2sgYW55IHdyb25nIGNsZWFudXAgaW4gdGhlIGdlbmVyaWMgZmIgYmFzZSBjbGFzcyBvZiBDQmFzZUNvbW1GQgorfQorCitFTUdNUmVzcG9uc2UgREVWX01HUjo6cGFyc2VBbmRFeGVjdXRlTUdNQ29tbWFuZChjaGFyICpwYURlc3QsIGNoYXIgKnBhQ29tbWFuZCl7CisgIEVNR01SZXNwb25zZSBlUmVzcCA9IGVfSU5WQUxJRF9PQkpFQ1Q7CisgIGlmKDAgIT0gc3RyY2hyKHBhQ29tbWFuZCwgJz4nKSl7CisgICAgbUNvbW1hbmQubURlc3RpbmF0aW9uID0gKHN0cmxlbihwYURlc3QpICE9IDApID8gQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuaW5zZXJ0KHBhRGVzdCkgOiBDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQ7CisgICAgbUNvbW1hbmQubUZpcnN0UGFyYW0uY2xlYXIoKTsKKyAgICBtQ29tbWFuZC5tU2Vjb25kUGFyYW0uY2xlYXIoKTsKKyAgICBpZiAoIDI1NSA8PSBtQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5nZXRDYXBhY2l0eSgpKSB7CisgICAgICBtQ29tbWFuZC5tQWRkaXRpb25hbFBhcmFtcy5yZXNlcnZlKDI1NSk7CisgICAgfQorICAgIG1Db21tYW5kLm1JRD0wOworI2lmZGVmIEZPUlRFX1NVUFBPUlRfTU9OSVRPUklORworICBtQ29tbWFuZC5tTW9uaXRvclJlc3BvbnNlLmNsZWFyKCk7CisjZW5kaWYgLy8gRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisgICAgY2hhciAqYWNSZXF1ZXN0UGFydExlZnQgPSBwYXJzZVJlcXVlc3QocGFDb21tYW5kLCBtQ29tbWFuZCk7CisgICAgaWYoMCAhPSBhY1JlcXVlc3RQYXJ0TGVmdCl7CisgICAgICBhY1JlcXVlc3RQYXJ0TGVmdCA9IHN0cmNocihhY1JlcXVlc3RQYXJ0TGVmdCwgJzwnKTsKKyAgICAgIGlmKDAgIT0gYWNSZXF1ZXN0UGFydExlZnQpeworICAgICAgICBhY1JlcXVlc3RQYXJ0TGVmdCsrOyAvL3BvaW50IHRvIHRoZSBuZXh0IGNoYXJhY3RlciBhZnRlciB0aGUgPAorICAgICAgfQorICAgICAgLy8gd2UgZ290IHRoZSBjb21tYW5kIGZvciBleGVjdXRpb24KKyAgICAgIC8vIG5vdyBjaGVjayB0aGUgcmVzdCBvZiB0aGUgZGF0YQorICAgICAgc3dpdGNoIChtQ29tbWFuZC5tQ01EKXsKKyAgICAgICAgY2FzZSBjZ19uTUdNX0NNRF9DcmVhdGVfR3JvdXA6IC8vIGNyZWF0ZSBzb21ldGhpbmcKKyAgICAgICAgICBwYXJzZUNyZWF0ZURhdGEoYWNSZXF1ZXN0UGFydExlZnQsIG1Db21tYW5kKTsKKyAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBjZ19uTUdNX0NNRF9EZWxldGVfR3JvdXA6IC8vZGVsZXRlIHNvbWV0aGluZworICAgICAgICAgIHBhcnNlRGVsZXRlRGF0YShhY1JlcXVlc3RQYXJ0TGVmdCwgbUNvbW1hbmQpOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGNnX25NR01fQ01EX1N0YXJ0OgorICAgICAgICBjYXNlIGNnX25NR01fQ01EX1N0b3A6CisgICAgICAgIGNhc2UgY2dfbk1HTV9DTURfS2lsbDoKKyAgICAgICAgY2FzZSBjZ19uTUdNX0NNRF9SZXNldDoKKyAgICAgICAgICBwYXJzZUFkZGl0aW9uYWxTdGF0ZUNvbW1hbmREYXRhKGFjUmVxdWVzdFBhcnRMZWZ0LCBtQ29tbWFuZCk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgY2dfbk1HTV9DTURfUmVhZDoKKyAgICAgICAgICBwYXJzZVJlYWREYXRhKGFjUmVxdWVzdFBhcnRMZWZ0LCBtQ29tbWFuZCk7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgY2dfbk1HTV9DTURfV3JpdGU6CisgICAgICAgICAgcGFyc2VXcml0ZURhdGEoYWNSZXF1ZXN0UGFydExlZnQsIG1Db21tYW5kKTsKKyAgICAgICAgICBicmVhazsKKyNpZmRlZiBGT1JURV9TVVBQT1JUX1FVRVJZX0NNRAorICAgICAgICBjYXNlIGNnX25NR01fQ01EX1F1ZXJ5X0dyb3VwOiAvLyBxdWVyeSBzb21ldGhpbmcKKyAgICAgICAgICBwYXJzZVF1ZXJ5RGF0YShhY1JlcXVlc3RQYXJ0TGVmdCwgbUNvbW1hbmQpOworI2VuZGlmCisgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgYnJlYWs7CisgICAgICB9CisKKyAgICAgIGlmKGNnX25NR01fQ01EX0lOVkFMSUQgIT0gbUNvbW1hbmQubUNNRCkgeworICAgICAgICAgIGVSZXNwID0gbV9wb0RldmljZS5leGVjdXRlTUdNQ29tbWFuZChtQ29tbWFuZCk7CisgICAgICB9CisgICAgfQorICAgIGVsc2UgeworICAgICAgZVJlc3AgPSBlX1VOU1VQUE9SVEVEX0NNRDsKKyAgICB9CisgIH0KKyAgcmV0dXJuIGVSZXNwOworfQorCisjaWZkZWYgRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisKK2Jvb2wgREVWX01HUjo6cGFyc2VNb25pdG9yaW5nRGF0YShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQpeworICBib29sIGJSZXRWYWwgPSBmYWxzZTsKKyAgaWYoIXN0cm5jbXAoIldhdGNoIFNvdXJjZT1cIiIsIHBhUmVxdWVzdFBhcnRMZWZ0LCBzaXplb2YoIldhdGNoIFNvdXJjZT1cIiIpIC0gMSkpeworICAgIGludCBpID0gcGFyc2VJZGVudGlmaWVyKCYocGFSZXF1ZXN0UGFydExlZnRbMTRdKSwgcGFDb21tYW5kLm1GaXJzdFBhcmFtKTsKKyAgICBpZigtMSAhPSBpKXsKKyAgICAgIGNoYXIgKmFjQnVmID0gc3RyY2hyKCYocGFSZXF1ZXN0UGFydExlZnRbaSArIDE2XSksICdcIicpOworICAgICAgaWYoYWNCdWYgIT0gMCl7CisgICAgICAgIHBhcnNlSWRlbnRpZmllcigmKGFjQnVmWzFdKSwgcGFDb21tYW5kLm1TZWNvbmRQYXJhbSk7CisgICAgICAgIGJSZXRWYWwgPSAoLTEgIT0gaSk7CisgICAgICB9CisgICAgfQorICB9CisgIHJldHVybiBiUmV0VmFsOworfQorCit2b2lkIERFVl9NR1I6OmdlbmVyYXRlTW9uaXRvclJlc3BvbnNlKEVNR01SZXNwb25zZSBwYVJlc3AsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDTUQpeworICBSRVNQKCkuY2xlYXIoKTsKKyAgaWYoZV9SRFkgIT0gcGFSZXNwKXsKKyAgICBSRVNQKCkuYXBwZW5kKCI8UmVzcG9uc2UgSUQ9XCIiKTsKKyAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1JRCk7CisgICAgUkVTUCgpLmFwcGVuZCgiXCIiKTsKKyAgICBSRVNQKCkuYXBwZW5kKCIgUmVhc29uPVwiIik7CisgICAgUkVTUCgpLmFwcGVuZChzY21fc01HTVJlc3BvbnNlVGV4dHNbcGFSZXNwXSk7CisgICAgUkVTUCgpLmFwcGVuZCgiXCI+XG4gICIpOworICAgIFJFU1AoKS5hcHBlbmQoIlxuPC9SZXNwb25zZT4iKTsKKyAgfWVsc2V7CisgICAgVEZvcnRlVUludDE2IHNpemUgPSBzdGF0aWNfY2FzdDxURm9ydGVVSW50MTY+KHBhQ01ELm1Nb25pdG9yUmVzcG9uc2UubGVuZ3RoKCkgKyBzdHJsZW4ocGFDTUQubUlEKSArIDc0KTsKKyAgICBSRVNQKCkucmVzZXJ2ZShzaXplKTsKKworICAgIFJFU1AoKS5jbGVhcigpOworICAgIFJFU1AoKS5hcHBlbmQoIjxSZXNwb25zZSBJRD1cIiIpOworICAgIFJFU1AoKS5hcHBlbmQocGFDTUQubUlEKTsKKyAgICBSRVNQKCkuYXBwZW5kKCJcIiIpOworICAgIFJFU1AoKS5hcHBlbmQoIj5cbiAgIik7CisgICAgaWYocGFDTUQubUNNRCA9PSBjZ19uTUdNX0NNRF9Nb25pdG9yaW5nX1JlYWRfV2F0Y2hlcykgeworICAgICAgUkVTUCgpLmFwcGVuZCgiPFdhdGNoZXM+XG4gICAgIik7CisgICAgICBSRVNQKCkuYXBwZW5kKHBhQ01ELm1Nb25pdG9yUmVzcG9uc2UuZ2V0VmFsdWUoKSk7CisgICAgICBSRVNQKCkuYXBwZW5kKCJcbiAgPC9XYXRjaGVzPiIpOworICAgIH0KKyAgICBSRVNQKCkuYXBwZW5kKCJcbjwvUmVzcG9uc2U+Iik7CisgIH0KKyAgcGFDTUQubU1vbml0b3JSZXNwb25zZS5jbGVhcigpOworfQorCisjZW5kaWYgLy8gRk9SVEVfU1VQUE9SVF9NT05JVE9SSU5HCisKK2Jvb2wgREVWX01HUjo6ZXhlY3V0ZUNvbW1hbmQoY2hhciAqcGFEZXN0LCBjaGFyICpwYUNvbW1hbmQpeworICBFTUdNUmVzcG9uc2UgZVJlc3AgPSBwYXJzZUFuZEV4ZWN1dGVNR01Db21tYW5kKHBhRGVzdCwgcGFDb21tYW5kKTsKKyAgaWYoZVJlc3AgIT0gZV9SRFkpeworICAgIERFVkxPR19FUlJPUigiQm9vdCBmaWxlIGVycm9yLiBERVZfTUdSIHNheXMgZXJyb3IgaXMgJXNcbiIsIERFVl9NR1I6OnNjbV9zTUdNUmVzcG9uc2VUZXh0c1tlUmVzcF0pOworICB9CisgIHJldHVybiAoZVJlc3AgPT0gZV9SRFkpOworfQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2l0YS9ERVZfTUdSLmggYi9zcmMvc3RkZmJsaWIvaXRhL0RFVl9NR1IuaAppbmRleCBiNjNmYThlLi4zODkyZjdkIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaXRhL0RFVl9NR1IuaAorKysgYi9zcmMvc3RkZmJsaWIvaXRhL0RFVl9NR1IuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBSZW5lIFNtb2RpYywgVGhvbWFzIFN0cmFzc2VyLCBHZXJoYXJkIEViZW5ob2ZlciwKQEAgLTg3LDcgKzg4LDcgQEAKICAgICAgKiBccGFyYW0gcGFfcmVxdWVzdFR5cGUgdGhlIHR5cGUgdGhhdCBzaG91bGQgYmUgc2VhcmNoZWQKICAgICAgKiBccmV0dXJuIHRydWUgaWYgdGhlIEZCIHR5cGUgY291bGQgYmUgcGFyc2VkCiAgICAgICovCi0gICAgc3RhdGljIGJvb2wgcGFyc2VYVHlwZShjaGFyICpwYVJlcXVlc3RQYXJ0TGVmdCwgZm9ydGU6OmNvcmU6OlNNYW5hZ2VtZW50Q01EICZwYUNvbW1hbmQsIGNoYXIgKnBhUmVxdWVzdFR5cGUpOworICAgIHN0YXRpYyBib29sIHBhcnNlWFR5cGUoY2hhciAqcGFSZXF1ZXN0UGFydExlZnQsIGZvcnRlOjpjb3JlOjpTTWFuYWdlbWVudENNRCAmcGFDb21tYW5kLCBjb25zdCBjaGFyICpwYVJlcXVlc3RUeXBlKTsKICAgICAvKiEgXGJyaWVmIFBhcnNlIHRoZSBnaXZlbiByZXF1ZXN0IHRoYXQgaXMgbGVmdCBhZnRlciBwYXJzaW5nIHRoZSBoZWFkZXIgdG8gcGFyc2UgY29ubmVjdGlvbiBkYXRhCiAgICAgICoKICAgICAgKiBccGFyYW0gcGFSZXF1ZXN0UGFydExlZnQgICBkYXRhIG9mIHRoZSByZXF1ZXN0IHRoYXQgaGFzIGJlZW4gbGVmdCBhZnRlciBwYXJzaW5nIHRoZSBoZWFkZXIKQEAgLTEyMCw3ICsxMjEsNyBAQAogICAgICAqIEByZXR1cm4gbnVtYmVyIG9mIGJ5dGVzIHVzZWQgZnJvbSB0aGUgY2hhcmFjdGVyIGFycmF5IG9yIC0xIGlmIHRoZSBpZGVudGlmaWVyIGNvdWxkIG5vdCBiZSBwYXJzZWQKICAgICAgKi8KICAgICBzdGF0aWMgaW50IHBhcnNlSWRlbnRpZmllcihjaGFyICpwYUlkZW50aWZpZXJTdGFydCwgZm9ydGU6OmNvcmU6OlROYW1lSWRlbnRpZmllciAmcGFJZGVudGlmaWVyKTsKLSAgCisKICAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUV2ZW50KGludCBwYV9uRUlJRCk7CiAKICNpZmRlZiBGT1JURV9TVVBQT1JUX01PTklUT1JJTkcKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pdGEvRU1CX1JFUy5jcHAgYi9zcmMvc3RkZmJsaWIvaXRhL0VNQl9SRVMuY3BwCmluZGV4IGVkNGQ1ZGEuLmVlNGJhZGIgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pdGEvRU1CX1JFUy5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2l0YS9FTUJfUkVTLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXIsIEdlcmhhcmQgRWJlbmhvZmVyLApAQCAtMTYsOCArMTcsOSBAQAogI2VuZGlmCiAKIAotREVGSU5FX0ZJUk1XQVJFX0ZCKEVNQl9SRVMsIGdfblN0cmluZ0lkRU1CX1JFUykKLTsKK0RFRklORV9GSVJNV0FSRV9GQihFTUJfUkVTLCBnX25TdHJpbmdJZEVNQl9SRVMpOworCitjb25zdCBTRkJJbnRlcmZhY2VTcGVjIEVNQl9SRVM6OnNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfTsKIAogRU1CX1JFUzo6RU1CX1JFUyhDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKICAgICBDUmVzb3VyY2UqIHBhX3BvRGV2aWNlKSA6CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaXRhL0VNQl9SRVMuaCBiL3NyYy9zdGRmYmxpYi9pdGEvRU1CX1JFUy5oCmluZGV4IGQ1YWVhMzUuLmVlOGIwOGIgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pdGEvRU1CX1JFUy5oCisrKyBiL3NyYy9zdGRmYmxpYi9pdGEvRU1CX1JFUy5oCkBAIC0xLDMwICsxLDMyIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICoNCi0gKiBDb250cmlidXRvcnM6DQotICogICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyDQotICogICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLSNpZm5kZWYgX0VNQl9SRVNfSF8NCi0jZGVmaW5lIF9FTUJfUkVTX0hfDQotDQotI2luY2x1ZGUgPHJlc291cmNlLmg+DQotDQotDQotY2xhc3MgRU1CX1JFUyA6IHB1YmxpYyBDUmVzb3VyY2V7DQotICBERUNMQVJFX0ZJUk1XQVJFX0ZCKEVNQl9SRVMpOw0KLQ0KLSAgcHVibGljOg0KLSAgICBFTUJfUkVTKENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfbkluc3RhbmNlTmFtZUlkLA0KLSAgICAgICAgQ1Jlc291cmNlKiBwYV9wb0RldmljZSk7DQotICAgIHZpcnR1YWwgfkVNQl9SRVMoKTsNCi0NCi0gIHByaXZhdGU6DQotfTsNCi0NCi0jZW5kaWYgLy9jbG9zZSB0aGUgaWZkZWYgc2VxdWVuY2UgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlDQotDQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXIKKyAqICAgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBfRU1CX1JFU19IXworI2RlZmluZSBfRU1CX1JFU19IXworCisjaW5jbHVkZSA8cmVzb3VyY2UuaD4KKworCitjbGFzcyBFTUJfUkVTIDogcHVibGljIENSZXNvdXJjZXsKKyAgREVDTEFSRV9GSVJNV0FSRV9GQihFTUJfUkVTKTsKKworICBwdWJsaWM6CisgICAgRU1CX1JFUyhDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25JbnN0YW5jZU5hbWVJZCwKKyAgICAgICAgQ1Jlc291cmNlKiBwYV9wb0RldmljZSk7CisgICAgdmlydHVhbCB+RU1CX1JFUygpOworCisgIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IFNGQkludGVyZmFjZVNwZWMgc2NtX3N0RkJJbnRlcmZhY2VTcGVjOworfTsKKworI2VuZGlmIC8vY2xvc2UgdGhlIGlmZGVmIHNlcXVlbmNlIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZQorCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaXRhL0ZvcnRlQm9vdEZpbGVMb2FkZXIuY3BwIGIvc3JjL3N0ZGZibGliL2l0YS9Gb3J0ZUJvb3RGaWxlTG9hZGVyLmNwcAppbmRleCAyNDY2ZDIzLi4xM2QxZGM1IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaXRhL0ZvcnRlQm9vdEZpbGVMb2FkZXIuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9pdGEvRm9ydGVCb290RmlsZUxvYWRlci5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgZm9ydGlzcyBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTW9uaWthIFdlbmdlcg0KQEAgLTE4LDEyICsxOSwxMCBAQAogI2luY2x1ZGUgPG1nbWNtZHN0cnVjdC5oPg0KICNpbmNsdWRlICIuLi8uLi9jb3JlL2RldmljZS5oIg0KIA0KLUZvcnRlQm9vdEZpbGVMb2FkZXI6OkZvcnRlQm9vdEZpbGVMb2FkZXIoSUJvb3RGaWxlQ2FsbGJhY2sgJnBhQ2FsbGJhY2spIDogbUJvb3RmaWxlKDApLCBtQ2FsbGJhY2socGFDYWxsYmFjayl7DQotICBvcGVuQm9vdEZpbGUoMCk7DQotfQ0KK2NoYXIqIGdDb21tYW5kTGluZUJvb3RGaWxlID0gMDsNCiANCi1Gb3J0ZUJvb3RGaWxlTG9hZGVyOjpGb3J0ZUJvb3RGaWxlTG9hZGVyKElCb290RmlsZUNhbGxiYWNrICZwYUNhbGxiYWNrLCBDSUVDX1NUUklORyAmcGFCb290RmlsZU5hbWUpIDogbUJvb3RmaWxlKDApLCBtQ2FsbGJhY2socGFDYWxsYmFjayl7DQotICBvcGVuQm9vdEZpbGUoJnBhQm9vdEZpbGVOYW1lKTsNCitGb3J0ZUJvb3RGaWxlTG9hZGVyOjpGb3J0ZUJvb3RGaWxlTG9hZGVyKElCb290RmlsZUNhbGxiYWNrICZwYUNhbGxiYWNrKSA6IG1Cb290ZmlsZSgwKSwgbUNhbGxiYWNrKHBhQ2FsbGJhY2spew0KKyAgb3BlbkJvb3RGaWxlKCk7DQogfQ0KIA0KIEZvcnRlQm9vdEZpbGVMb2FkZXI6On5Gb3J0ZUJvb3RGaWxlTG9hZGVyKCkgew0KQEAgLTMzLDIzICszMiwyMyBAQAogICB9DQogfQ0KIA0KLWJvb2wgRm9ydGVCb290RmlsZUxvYWRlcjo6b3BlbkJvb3RGaWxlKENJRUNfU1RSSU5HKiBwYUJvb3RGaWxlTmFtZSl7DQorYm9vbCBGb3J0ZUJvb3RGaWxlTG9hZGVyOjpvcGVuQm9vdEZpbGUoKSB7DQogICBib29sIHJldFZhbCA9IGZhbHNlOw0KICAgQ0lFQ19TVFJJTkcgYm9vdEZpbGVOYW1lOw0KLSAgaWYoMCAhPSBwYUJvb3RGaWxlTmFtZSl7DQotICAgICBib290RmlsZU5hbWUgPSAqcGFCb290RmlsZU5hbWU7DQotICAgfWVsc2V7DQotICAgICAvLyBzZWxlY3QgcHJvdmlkZWQgb3IgZGVmYXVsdCBib290IGZpbGUgbmFtZQ0KLSAgICAgY2hhciAqIGVudkJvb3RGaWxlTmFtZSA9IGdldGVudigiRk9SVEVfQk9PVF9GSUxFIik7DQotICAgICBpZigwICE9IGVudkJvb3RGaWxlTmFtZSl7DQotICAgICAgIERFVkxPR19JTkZPKCJVc2luZyBwcm92aWRlZCBib290ZmlsZSBsb2NhdGlvbjogJXNcbiIsIGVudkJvb3RGaWxlTmFtZSk7DQotICAgICAgIGJvb3RGaWxlTmFtZSA9IGVudkJvb3RGaWxlTmFtZTsNCi0gICAgIH0NCi0gICAgIGVsc2V7DQotICAgICAgIERFVkxPR19JTkZPKCJVc2luZyBkZWZhdWx0IGJvb3RmaWxlIGxvY2F0aW9uOiAlc1xuIiwgRk9SVEVfQk9PVF9GSUxFX0xPQ0FUSU9OKTsNCi0gICAgICAgYm9vdEZpbGVOYW1lID0gRk9SVEVfQk9PVF9GSUxFX0xPQ0FUSU9OOw0KLSAgICAgfQ0KLSAgIH0NCisgIGlmKGdDb21tYW5kTGluZUJvb3RGaWxlKSB7DQorICAgIERFVkxPR19JTkZPKCJVc2luZyBwcm92aWRlZCBib290ZmlsZSBsb2NhdGlvbiBzZXQgaW4gdGhlIGNvbW1hbmQgbGluZTogJXNcbiIsIGdDb21tYW5kTGluZUJvb3RGaWxlKTsNCisgICAgYm9vdEZpbGVOYW1lID0gZ0NvbW1hbmRMaW5lQm9vdEZpbGU7DQorICB9IGVsc2Ugew0KKyAgICAvLyBzZWxlY3QgcHJvdmlkZWQgb3IgZGVmYXVsdCBib290IGZpbGUgbmFtZQ0KKyAgICBjaGFyICogZW52Qm9vdEZpbGVOYW1lID0gZ2V0ZW52KCJGT1JURV9CT09UX0ZJTEUiKTsNCisgICAgaWYoMCAhPSBlbnZCb290RmlsZU5hbWUpIHsNCisgICAgICBERVZMT0dfSU5GTygiVXNpbmcgcHJvdmlkZWQgYm9vdGZpbGUgbG9jYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZTogJXNcbiIsIGVudkJvb3RGaWxlTmFtZSk7DQorICAgICAgYm9vdEZpbGVOYW1lID0gZW52Qm9vdEZpbGVOYW1lOw0KKyAgICB9IGVsc2Ugew0KKyAgICAgIERFVkxPR19JTkZPKCJVc2luZyBwcm92aWRlZCBib290ZmlsZSBsb2NhdGlvbiBzZXQgaW4gQ01ha2U6ICVzXG4iLCBGT1JURV9CT09UX0ZJTEVfTE9DQVRJT04pOw0KKyAgICAgIGJvb3RGaWxlTmFtZSA9IEZPUlRFX0JPT1RfRklMRV9MT0NBVElPTjsNCisgICAgfQ0KKyAgfQ0KIA0KICAgLy8gY2hlY2sgaWYgd2UgZmluYWxseSBoYXZlIGEgYm9vdCBmaWxlIG5hbWUNCiAgIGlmKCIiID09IGJvb3RGaWxlTmFtZSl7DQpAQCAtODAsMjIgKzc5LDIyIEBACiAgICAgaW50IG5MaW5lQ291bnQgPSAxOw0KICAgICBlUmVzcCA9IExPQURfUkVTVUxUX09LOw0KICAgICBDSUVDX1NUUklORyBsaW5lOw0KLSAgICB3aGlsZShyZWFkTGluZShsaW5lKSl7DQorICAgIHdoaWxlKHJlYWRMaW5lKGxpbmUpICYmIExPQURfUkVTVUxUX09LID09IGVSZXNwKSB7DQogICAgICAgY2hhciAqY21kU3RhcnQgPSBzdHJjaHIobGluZS5nZXRWYWx1ZSgpLCAnOycpOw0KICAgICAgIGlmKDAgPT0gY21kU3RhcnQpew0KICAgICAgICAgZVJlc3AgPSBNSVNTSU5HX0NPTE9OOw0KICAgICAgICAgREVWTE9HX0VSUk9SKCJCb290IGZpbGUgbGluZSBkb2VzIG5vdCBjb250YWluIHNlcGFyYXRpbmcgJzsnLiBMaW5lOiAlZFxuIiwgbkxpbmVDb3VudCk7DQotICAgICAgICBicmVhazsNCisgICAgICB9IGVsc2Ugew0KKyAgICAgICAgKmNtZFN0YXJ0ID0gJ1wwJzsNCisgICAgICAgIGNtZFN0YXJ0Kys7DQorICAgICAgICBpZighbUNhbGxiYWNrLmV4ZWN1dGVDb21tYW5kKGxpbmUuZ2V0VmFsdWUoKSwgY21kU3RhcnQpKSB7DQorICAgICAgICAgIC8vY29tbWFuZCB3YXMgbm90IHN1Y2Nlc3NmdWwNCisgICAgICAgICAgREVWTE9HX0VSUk9SKCJCb290IGZpbGUgY29tbWFuZCBjb3VsZCBub3QgYmUgZXhlY3V0ZWQuIExpbmU6ICVkOiAlc1xuIiwgbkxpbmVDb3VudCwgY21kU3RhcnQpOw0KKyAgICAgICAgICBlUmVzcCA9IEVYVEVSTkFMX0VSUk9SOw0KKyAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgbkxpbmVDb3VudCsrOw0KKyAgICAgICAgfQ0KICAgICAgIH0NCi0gICAgICAqY21kU3RhcnQgPSAnXDAnOw0KLSAgICAgIGNtZFN0YXJ0Kys7DQotICAgICAgaWYoIW1DYWxsYmFjay5leGVjdXRlQ29tbWFuZChsaW5lLmdldFZhbHVlKCksIGNtZFN0YXJ0KSl7DQotICAgICAgICAvL2NvbW1hbmQgd2FzIG5vdCBzdWNjZXNzZnVsDQotICAgICAgICBERVZMT0dfRVJST1IoIkJvb3QgZmlsZSBjb21tYW5kIGNvdWxkIG5vdCBiZSBleGVjdXRlZC4gTGluZTogJWQ6ICVzXG4iLCBuTGluZUNvdW50LCBjbWRTdGFydCk7DQotICAgICAgICBlUmVzcCA9IEVYVEVSTkFMX0VSUk9SOw0KLSAgICAgICAgYnJlYWs7DQotICAgICAgfQ0KLSAgICAgIG5MaW5lQ291bnQrKzsNCiAgICAgfQ0KICAgfWVsc2V7DQogICAgIERFVkxPR19FUlJPUigiTG9hZGluZyBjYW5ub3QgcHJvY2VlZCBiZWNhdXNlIHRoZSBib290IGZpbGUgaXMgbm8gb3BlbmVkXG4iKTsNCkBAIC0xMTgsNiArMTE3LDUgQEAKIH0NCiANCiBib29sIEZvcnRlQm9vdEZpbGVMb2FkZXI6Omhhc0NvbW1hbmRFbmRlZChjb25zdCBDSUVDX1NUUklORyAmbGluZSkgY29uc3R7DQotICByZXR1cm4gKCgwID09IHN0cmNtcChsaW5lLmdldFZhbHVlKCkgKyBsaW5lLmxlbmd0aCgpIC0gMTEsICI8L1JlcXVlc3Q+XG4iKQ0KLSAgICAgIHx8IDAgPT0gc3RyY21wKGxpbmUuZ2V0VmFsdWUoKSArIGxpbmUubGVuZ3RoKCkgLSAzLCAiLz5cbiIpKSk7DQorICByZXR1cm4gKDAgPT0gc3RyY21wKGxpbmUuZ2V0VmFsdWUoKSArIGxpbmUubGVuZ3RoKCkgLSAxMSwgIjwvUmVxdWVzdD5cbiIpIHx8IDAgPT0gc3RyY21wKGxpbmUuZ2V0VmFsdWUoKSArIGxpbmUubGVuZ3RoKCkgLSAzLCAiLz5cbiIpKTsNCiB9DQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2l0YS9Gb3J0ZUJvb3RGaWxlTG9hZGVyLmggYi9zcmMvc3RkZmJsaWIvaXRhL0ZvcnRlQm9vdEZpbGVMb2FkZXIuaAppbmRleCA2ZWY5OWUwLi4yNGQyZDNjIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvaXRhL0ZvcnRlQm9vdEZpbGVMb2FkZXIuaAorKysgYi9zcmMvc3RkZmJsaWIvaXRhL0ZvcnRlQm9vdEZpbGVMb2FkZXIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNb25pa2EgV2VuZ2VyDQpAQCAtMjcsMzUgKzI4LDI5IEBACiB9Ow0KIA0KIGNsYXNzIEZvcnRlQm9vdEZpbGVMb2FkZXIgew0KLXB1YmxpYzoNCisgIHB1YmxpYzoNCiANCi0gIC8qKg0KLSAgICogQ29uc3RydWN0b3Igd2hpY2ggdXNlcyB0aGUgdGhlIGRlZmF1bHQgdmFsdWVzIGZvciB0aGUgYm9vdCBmaWxlIGxvY2F0aW9uDQotICAgKiBAcGFyYW0gcGFDYWxsYmFjayBPYmplY3QgdG8gYmUgY2FsbGVkIGZvciBlYWNoIGNvbW1hbmQNCi0gICAqLw0KLSAgZXhwbGljaXQgRm9ydGVCb290RmlsZUxvYWRlcihJQm9vdEZpbGVDYWxsYmFjayAmcGFDYWxsYmFjayk7DQorICAgIC8qKg0KKyAgICAgKiBDb25zdHJ1Y3RvciB3aGljaCB1c2VzIHRoZSB0aGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBib290IGZpbGUgbG9jYXRpb24NCisgICAgICogQHBhcmFtIHBhQ2FsbGJhY2sgT2JqZWN0IHRvIGJlIGNhbGxlZCBmb3IgZWFjaCBjb21tYW5kDQorICAgICAqLw0KKyAgICBleHBsaWNpdCBGb3J0ZUJvb3RGaWxlTG9hZGVyKElCb290RmlsZUNhbGxiYWNrICZwYUNhbGxiYWNrKTsNCiANCi0gIC8qKg0KLSAgICogQ29uc3RydWN0b3Igd2hpY2ggdXNlcyBhIHNwZWNpZmljIGJvb3RmaWxlIG5hbWUgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBvbmUNCi0gICAqIEBwYXJhbSBwYUNhbGxiYWNrIE9iamVjdCB0byBiZSBjYWxsZWQgZm9yIGVhY2ggY29tbWFuZA0KLSAgICogQHBhcmFtIHBhQm9vdEZpbGVOYW1lIFNwZWNpZmljIGJvb3QgZmlsZSBuYW1lIHRvIGJlIG9wZW5lZA0KLSAgICovDQotICBleHBsaWNpdCBGb3J0ZUJvb3RGaWxlTG9hZGVyKElCb290RmlsZUNhbGxiYWNrICZwYUNhbGxiYWNrLCBDSUVDX1NUUklORyAmcGFCb290RmlsZU5hbWUpOw0KLSAgfkZvcnRlQm9vdEZpbGVMb2FkZXIoKTsNCisgICAgfkZvcnRlQm9vdEZpbGVMb2FkZXIoKTsNCiANCi0gIExvYWRCb290UmVzdWx0IGxvYWRCb290RmlsZSgpOw0KKyAgICBMb2FkQm9vdFJlc3VsdCBsb2FkQm9vdEZpbGUoKTsNCiANCi0gIGJvb2wgaXNPcGVuKCkgY29uc3R7DQotICAgIHJldHVybiAoMCAhPSBtQm9vdGZpbGUpOw0KLSAgfQ0KKyAgICBib29sIGlzT3BlbigpIGNvbnN0IHsNCisgICAgICByZXR1cm4gKDAgIT0gbUJvb3RmaWxlKTsNCisgICAgfQ0KIA0KLXByaXZhdGU6DQotICBGSUxFICptQm9vdGZpbGU7DQotICBJQm9vdEZpbGVDYWxsYmFjayAmbUNhbGxiYWNrOyAvL2ZvciBub3cgd2l0aCBvbmUgY2FsbGJhY2sgaXMgZW5vdWdoIGZvciBhbGwgY2FzZXMNCisgIHByaXZhdGU6DQorICAgIEZJTEUgKm1Cb290ZmlsZTsNCisgICAgSUJvb3RGaWxlQ2FsbGJhY2sgJm1DYWxsYmFjazsgLy9mb3Igbm93IHdpdGggb25lIGNhbGxiYWNrIGlzIGVub3VnaCBmb3IgYWxsIGNhc2VzDQogDQotICBib29sIG9wZW5Cb290RmlsZShDSUVDX1NUUklORyogcGFCb290RmlsZU5hbWUpOw0KLSAgYm9vbCByZWFkTGluZShDSUVDX1NUUklORyAmbGluZSk7DQotICBib29sIGhhc0NvbW1hbmRFbmRlZChjb25zdCBDSUVDX1NUUklORyAmbGluZSkgY29uc3Q7DQorICAgIGJvb2wgb3BlbkJvb3RGaWxlKCk7DQorICAgIGJvb2wgcmVhZExpbmUoQ0lFQ19TVFJJTkcgJmxpbmUpOw0KKyAgICBib29sIGhhc0NvbW1hbmRFbmRlZChjb25zdCBDSUVDX1NUUklORyAmbGluZSkgY29uc3Q7DQogfTsNCiANCiAjZW5kaWYgLyogU1JDX1NUREZCTElCX0lUQV9GT1JURUJPT1RGSUxFTE9BREVSX0hfICovDQpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL2l0YS9JQm9vdEZpbGVDYWxsYmFjay5oIGIvc3JjL3N0ZGZibGliL2l0YS9JQm9vdEZpbGVDYWxsYmFjay5oCmluZGV4IDYzNTRlZWUuLjQ0NTkxYjMgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pdGEvSUJvb3RGaWxlQ2FsbGJhY2suaAorKysgYi9zcmMvc3RkZmJsaWIvaXRhL0lCb290RmlsZUNhbGxiYWNrLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNyBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9zZSBDYWJyYWwKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pdGEvUk1UX0RFVi5jcHAgYi9zcmMvc3RkZmJsaWIvaXRhL1JNVF9ERVYuY3BwCmluZGV4IDdiMTcxMjYuLjZhMmU4ZDIgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pdGEvUk1UX0RFVi5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2l0YS9STVRfREVWLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgUmVuZSBTbW9kaWMsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pdGEvUk1UX0RFVi5oIGIvc3JjL3N0ZGZibGliL2l0YS9STVRfREVWLmgKaW5kZXggZTE1ZTNlMC4uNTdhNzVkOCAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL2l0YS9STVRfREVWLmgKKysrIGIvc3JjL3N0ZGZibGliL2l0YS9STVRfREVWLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTUgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyLCBHZXJoYXJkIEViZW5ob2ZlciwgUmVuZSBTbW9kaWMsIEluZ28gSGVnbnkKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9pdGEvUk1UX1JFUy5jcHAgYi9zcmMvc3RkZmJsaWIvaXRhL1JNVF9SRVMuY3BwCmluZGV4IGE0ZWVhY2UuLmE2ZTNhZTMgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pdGEvUk1UX1JFUy5jcHAKKysrIGIvc3JjL3N0ZGZibGliL2l0YS9STVRfUkVTLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNSBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgUmVuZSBTbW9kaWMsIFRob21hcyBTdHJhc3NlciwKQEAgLTIzLDcgKzI0LDcgQEAKIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgUk1UX1JFUzo6c2NtX2F1bkRJRGF0YVR5cGVJZHNbXSA9IHtnX25TdHJpbmdJZFdTVFJJTkd9OwogCiAKLWNvbnN0IFNGQkludGVyZmFjZVNwZWMgUk1UX1JFUzo6c2NtX3N0UkVTSW50ZXJmYWNlU3BlYyA9IHsKK2NvbnN0IFNGQkludGVyZmFjZVNwZWMgUk1UX1JFUzo6c2NtX3N0RkJJbnRlcmZhY2VTcGVjID0gewogICAwLAogICAwLAogICAwLApAQCAtNDQsNyArNDUsNyBAQAogCiAKIFJNVF9SRVM6OlJNVF9SRVMoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYV9uSW5zdGFuY2VOYW1lSWQsIENSZXNvdXJjZSogcGFfcG9EZXZpY2UpOgotICAgICAgIENSZXNvdXJjZShwYV9wb0RldmljZSwgJnNjbV9zdFJFU0ludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKXsKKyAgICAgICBDUmVzb3VyY2UocGFfcG9EZXZpY2UsICZzY21fc3RGQkludGVyZmFjZVNwZWMsIHBhX25JbnN0YW5jZU5hbWVJZCwgbV9hbkZCQ29ubkRhdGEsIG1fYW5GQlZhcnNEYXRhKXsKICAgYWRkRkIoQ1R5cGVMaWI6OmNyZWF0ZUZCKGdfblN0cmluZ0lkU1RBUlQsIGdfblN0cmluZ0lkRV9SRVNUQVJULCB0aGlzKSk7CiAgIGFkZEZCKENUeXBlTGliOjpjcmVhdGVGQihnX25TdHJpbmdJZE1HUl9GRiwgZ19uU3RyaW5nSWRFX1NSLCB0aGlzKSk7CiAgIGFkZEZCKENUeXBlTGliOjpjcmVhdGVGQihnX25TdHJpbmdJZE1HUiwgZ19uU3RyaW5nSWRERVZfTUdSLCB0aGlzKSk7CmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvaXRhL1JNVF9SRVMuaCBiL3NyYy9zdGRmYmxpYi9pdGEvUk1UX1JFUy5oCmluZGV4IDI0M2Y2M2YuLmM0ODllYjEgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9pdGEvUk1UX1JFUy5oCisrKyBiL3NyYy9zdGRmYmxpYi9pdGEvUk1UX1JFUy5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwgVGhvbWFzIFN0cmFzc2VyLApAQCAtMjQsNyArMjUsNyBAQAogICAgIHZvaWQgam9pblJlc291cmNlVGhyZWFkKCk7CiAKICAgcHJpdmF0ZToKLSAgICBzdGF0aWMgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyBzY21fc3RSRVNJbnRlcmZhY2VTcGVjOworICAgIHN0YXRpYyBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYzsKIAogICAgIEZPUlRFX0ZCX0RBVEFfQVJSQVkoMCwxLDAsIDApOwogCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvbmV0L0NNYWtlTGlzdHMudHh0IGIvc3JjL3N0ZGZibGliL25ldC9DTWFrZUxpc3RzLnR4dAppbmRleCA2YjNiZTkzLi4wNWUzYzYxIDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvbmV0L0NNYWtlTGlzdHMudHh0CisrKyBiL3NyYy9zdGRmYmxpYi9uZXQvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotIyAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTIgQUNJTg0KLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSMgKg0KLSMgKiBDb250cmlidXRvcnM6DQotIyAqICAgQWxvaXMgWm9pdGwNCisjIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTIgQUNJTg0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgQWxvaXMgWm9pdGwNCiAjICogICAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX0NMSUVOVC5jcHAgYi9zcmMvc3RkZmJsaWIvbmV0L0dFTl9DTElFTlQuY3BwCmluZGV4IDc5MDliMDEuLmQ3OGJlNGYgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX0NMSUVOVC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL25ldC9HRU5fQ0xJRU5ULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgVGhvbWFzIFN0cmFzc2VyLCBSZW5lIFNtb2RpYywgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvbmV0L0dFTl9DTElFTlQuaCBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX0NMSUVOVC5oCmluZGV4IDE4MWE0YmMuLmY3YjZjMjQgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX0NMSUVOVC5oCisrKyBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX0NMSUVOVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBSZW5lIFNtb2RpYywgR2VyaGFyZCBFYmVuaG9mZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvbmV0L0dFTl9QVUJMLmNwcCBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1BVQkwuY3BwCmluZGV4IGI1MWFmZWUuLjY0MjEwNDkgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1BVQkwuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1BVQkwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXIsIFJlbmUgU21vZGljLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL25ldC9HRU5fUFVCTC5oIGIvc3JjL3N0ZGZibGliL25ldC9HRU5fUFVCTC5oCmluZGV4IDVkNzRkZDAuLmNkZWExOGMgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1BVQkwuaAorKysgYi9zcmMvc3RkZmJsaWIvbmV0L0dFTl9QVUJMLmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljLCBHZXJoYXJkIEViZW5ob2ZlciwgSW5nbyBIZWdueSwKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1BVQkxJU0guY3BwIGIvc3JjL3N0ZGZibGliL25ldC9HRU5fUFVCTElTSC5jcHAKaW5kZXggMDhiZDUyZi4uNzk1ZjNlMSAxMDA2NDQKLS0tIGEvc3JjL3N0ZGZibGliL25ldC9HRU5fUFVCTElTSC5jcHAKKysrIGIvc3JjL3N0ZGZibGliL25ldC9HRU5fUFVCTElTSC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljLCBUSG9tYXMgU3RyYXNzZXIsIEdlcmhhcmQgRWJlbmhvZmVyLCBJbmdvIEhlZ255LApkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL25ldC9HRU5fUFVCTElTSC5oIGIvc3JjL3N0ZGZibGliL25ldC9HRU5fUFVCTElTSC5oCmluZGV4IDE2OWYwN2UuLjIxY2NlNTAgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1BVQkxJU0guaAorKysgYi9zcmMvc3RkZmJsaWIvbmV0L0dFTl9QVUJMSVNILmgKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIFJlbmUgU21vZGljLCBHZXJoYXJkIEViZW5ob2ZlciwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NFUlZFUi5jcHAgYi9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TRVJWRVIuY3BwCmluZGV4IGFiYzBkNjYuLjkzZjlmZDggMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NFUlZFUi5jcHAKKysrIGIvc3JjL3N0ZGZibGliL25ldC9HRU5fU0VSVkVSLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBSZW5lIFNtb2RpYywgVEhvbWFzIFN0cmFzc2VyLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TRVJWRVIuaCBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NFUlZFUi5oCmluZGV4IDU0ZWZmNGUuLmQ0NTA4OWEgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NFUlZFUi5oCisrKyBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NFUlZFUi5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFJlbmUgU21vZGljLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TVUJMLmNwcCBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NVQkwuY3BwCmluZGV4IDQ0NDhkMmUuLjViNzRlNjQgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NVQkwuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NVQkwuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFJlbmUgU21vZGljLCBUaG9tYXMgU3RyYXNzZXIsIEFsb2lzIFpvaXRsLCBHZXJoYXJkIEViZW5ob2ZlciwKZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NVQkwuaCBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NVQkwuaAppbmRleCAzNTMwYWZiLi5iZDBmNjM5IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TVUJMLmgKKysrIGIvc3JjL3N0ZGZibGliL25ldC9HRU5fU1VCTC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDExIEFDSU4sIFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIFJlbmUgU21vZGljLCBBbG9pcyBab2l0bCwgR2VyaGFyZCBFYmVuaG9mZXIsIEluZ28gSGVnbnksCmRpZmYgLS1naXQgYS9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TVUJTQ1JJQkUuY3BwIGIvc3JjL3N0ZGZibGliL25ldC9HRU5fU1VCU0NSSUJFLmNwcAppbmRleCAwNWFkNDhjLi42NGU0OTI4IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TVUJTQ1JJQkUuY3BwCisrKyBiL3NyYy9zdGRmYmxpYi9uZXQvR0VOX1NVQlNDUklCRS5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTEgQUNJTiwgUHJvZmFjdG9yIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgUmVuZSBTbW9kaWMsIFRIb21hcyBTdHJhc3NlciwgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLApkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL25ldC9HRU5fU1VCU0NSSUJFLmggYi9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TVUJTQ1JJQkUuaAppbmRleCAxMTczOGJiLi4xNTY0N2M0IDEwMDY0NAotLS0gYS9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TVUJTQ1JJQkUuaAorKysgYi9zcmMvc3RkZmJsaWIvbmV0L0dFTl9TVUJTQ1JJQkUuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxMSBBQ0lOLCBQcm9mYWN0b3IgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBSZW5lIFNtb2RpYywgQWxvaXMgWm9pdGwsIEdlcmhhcmQgRWJlbmhvZmVyLCBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucwpkaWZmIC0tZ2l0IGEvc3JjL3N0ZGZibGliL3RpbWVkZmIuY3BwIGIvc3JjL3N0ZGZibGliL3RpbWVkZmIuY3BwCmluZGV4IDlmMjA5M2MuLjdjMjMwYWQgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi90aW1lZGZiLmNwcAorKysgYi9zcmMvc3RkZmJsaWIvdGltZWRmYi5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAwNSAtIDIwMTMgQUNJTiwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgR3VubmFyIEdyYWJtYWlyLCBJbmdvIEhlZ255LCBHRXJoYXJkIEViZW5ob2ZlcgpAQCAtNzYsMTIgKzc3LDkgQEAKIAogRU1HTVJlc3BvbnNlIENUaW1lZEZCOjpjaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKEVNR01Db21tYW5kVHlwZSBwYV91bkNvbW1hbmQpewogICBFTUdNUmVzcG9uc2UgZVJldFZhbCA9IENGdW5jdGlvbkJsb2NrOjpjaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKHBhX3VuQ29tbWFuZCk7Ci0gIGlmKChlX1JEWSA9PSBlUmV0VmFsKSAmJgotICAgICAoKGNnX25NR01fQ01EX1N0b3AgPT0gcGFfdW5Db21tYW5kKSB8fCAoY2dfbk1HTV9DTURfS2lsbCA9PSBwYV91bkNvbW1hbmQpKSl7Ci0gICAgaWYobUFjdGl2ZSl7Ci0gICAgICBnZXRUaW1lcigpLnVucmVnaXN0ZXJUaW1lZEZCKHRoaXMpOwotICAgICAgbUFjdGl2ZSA9IGZhbHNlOwotICAgIH0KKyAgaWYoKGVfUkRZID09IGVSZXRWYWwpICYmICgoY2dfbk1HTV9DTURfU3RvcCA9PSBwYV91bkNvbW1hbmQpIHx8IChjZ19uTUdNX0NNRF9LaWxsID09IHBhX3VuQ29tbWFuZCkpICYmIG1BY3RpdmUpIHsKKyAgICBnZXRUaW1lcigpLnVucmVnaXN0ZXJUaW1lZEZCKHRoaXMpOworICAgIG1BY3RpdmUgPSBmYWxzZTsKICAgfQogICByZXR1cm4gZVJldFZhbDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9zdGRmYmxpYi90aW1lZGZiLmggYi9zcmMvc3RkZmJsaWIvdGltZWRmYi5oCmluZGV4IGEyMGUyYWYuLmQ4NTQxZDcgMTAwNjQ0Ci0tLSBhL3NyYy9zdGRmYmxpYi90aW1lZGZiLmgKKysrIGIvc3JjL3N0ZGZibGliL3RpbWVkZmIuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxNCBBQ0lOLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsLCBUaG9tYXMgU3RyYXNzZXIsIEd1bm5hciBHcmFibWFpciwgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsCmRpZmYgLS1naXQgYS9zcmMvc3RyaW5nbGlzdC5jcHAuaW4gYi9zcmMvc3RyaW5nbGlzdC5jcHAuaW4KaW5kZXggOTkxMmEyZi4uNjE1MWVlMyAxMDA2NDQKLS0tIGEvc3JjL3N0cmluZ2xpc3QuY3BwLmluCisrKyBiL3NyYy9zdHJpbmdsaXN0LmNwcC5pbgpAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTIgQUNJTiwgUHJvZmFjdG9yIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBNaWNoYWVsIEhvZm1hbm4sIEFsb2lzIFpvaXRsLCBJbmdvIEhlZ255DQpkaWZmIC0tZ2l0IGEvc3JjL3N0cmluZ2xpc3QuaC5pbiBiL3NyYy9zdHJpbmdsaXN0LmguaW4KaW5kZXggYzU2ZWUyMy4uOTg5ZTBhMyAxMDA2NDQKLS0tIGEvc3JjL3N0cmluZ2xpc3QuaC5pbgorKysgYi9zcmMvc3RyaW5nbGlzdC5oLmluCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDEwLCAyMDEyIEFDSU4sIFByb2ZhY3RvciBHbWJIDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgTWljaGFlbCBIb2ZtYW5uLCBBbG9pcyBab2l0bA0KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL0NNYWtlTGlzdHMudHh0IGIvc3lzdGVtdGVzdHMvQ01ha2VMaXN0cy50eHQKaW5kZXggNjk5YjM5NC4uM2NiMjg2YyAxMDA2NDQKLS0tIGEvc3lzdGVtdGVzdHMvQ01ha2VMaXN0cy50eHQKKysrIGIvc3lzdGVtdGVzdHMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTAxIEBACi0KIFNFVChTT1VSQ0VfR1JPVVAgJHtTT1VSQ0VfR1JPVVB9XFxzeXN0ZW10ZXN0cykKIAogaWYoRk9SVEVfU1lTVEVNX1RFU1RTKQogCi1TRVQoQ1RFU1RfT1VUUFVUX09OX0ZBSUxVUkUgVFJVRSkKKyAgYWRkX3N1YmRpcmVjdG9yeShzcmMpCiAKLWZvcnRlX2FkZF90ZXN0KFRlc3QxIGZvcnRlX3Rlc3RfMS5mYm9vdCA1KQotc2V0X3Rlc3RzX3Byb3BlcnRpZXMgKFRlc3QxIFBST1BFUlRJRVMgV0lMTF9GQUlMIHRydWUpCi1mb3J0ZV9hZGRfdGVzdChUZXN0MiBmb3J0ZV90ZXN0XzIuZmJvb3QgNSkKKyAgI2hhcmRfcGFzc19leGFtcGxlLmZib290IGRvZXNuJ3QgcHJvZHVjZSBhbnkgbG9nZ2luZyBlcnJvciBhbmQgYWxsIFRFU1RfQ09ORElUSU9OIEZCcyBwYXNzCisgICNzb2Z0X3Bhc3NfZXhhbXBsZS5mYm9vdCBwcm9kdWNlcyBsb2dnaW5nIGVycm9yIGJ1dCBhbGwgVEVTVF9DT05ESVRJT04gRkJzIHBhc3MKKyAgI2ZhaWxfZXhhbXBsZS5mYm9vdCBoYXMgVEVTVF9DT05ESVRJT04gRkJzIHRoYXQgZmFpbCwgc28gaXQgYWx3YXlzIGZhaWwsIG5vIG1hdHRlciBoYXJkIG9yIHNvZnQKKworICBmb3J0ZV9hZGRfc3lzdGVtdGVzdF9oYXJkKFRlc3RfSGFyZF9QYXNzIGhhcmRfcGFzc19leGFtcGxlLmZib290IDUpCisgIAorICBmb3J0ZV9hZGRfc3lzdGVtdGVzdF9zb2Z0KFRlc3RfU29mdF9QYXNzX0NsZWFuIGhhcmRfcGFzc19leGFtcGxlLmZib290IDUpCisgIGZvcnRlX2FkZF9zeXN0ZW10ZXN0X3NvZnQoVGVzdF9Tb2Z0X1Bhc3NfRGlydHkgc29mdF9wYXNzX2V4YW1wbGUuZmJvb3QgNSkKKyAgZm9ydGVfYWRkX3N5c3RlbXRlc3RfaGFyZChUZXN0X0RlSW5pdENvbW1GQiBkZUluaXRfY29tbUZiLmZib290IDUpICNjaGVjayB0aGF0IHRoZSBkZS1pbml0aWFsaXphdGlvbiBvZiBhIENvbW1GQiBwcm9kdWNlIGFuIElOSVRPCisgIAorICBmb3J0ZV9hZGRfc3lzdGVtdGVzdF9oYXJkKFRlc3RfU29mdF9FeGFtcGxlX0FzX0hhcmRfSW52ZXJ0ZWQgc29mdF9wYXNzX2V4YW1wbGUuZmJvb3QgNSkKKyAgU0VUX1RFU1RTX1BST1BFUlRJRVMoVGVzdF9Tb2Z0X0V4YW1wbGVfQXNfSGFyZF9JbnZlcnRlZCBQUk9QRVJUSUVTIFdJTExfRkFJTCBUUlVFKQorICBmb3J0ZV9hZGRfc3lzdGVtdGVzdF9oYXJkKFRlc3RfSGFyZF9GYWlsX0FsYXdheXNfSW52ZXJ0ZWQgZmFpbF9leGFtcGxlLmZib290IDUpCisgIFNFVF9URVNUU19QUk9QRVJUSUVTKFRlc3RfSGFyZF9GYWlsX0FsYXdheXNfSW52ZXJ0ZWQgUFJPUEVSVElFUyBXSUxMX0ZBSUwgVFJVRSkKKyAgZm9ydGVfYWRkX3N5c3RlbXRlc3Rfc29mdChUZXN0X1NvZnRfRmFpbF9BbGF3YXlzX0ludmVydGVkIGZhaWxfZXhhbXBsZS5mYm9vdCA1KQorICBTRVRfVEVTVFNfUFJPUEVSVElFUyhUZXN0X1NvZnRfRmFpbF9BbGF3YXlzX0ludmVydGVkIFBST1BFUlRJRVMgV0lMTF9GQUlMIFRSVUUpCisgIAorICAjVGVzdCB1c2luZyBlbnZpcm9uZW1lbnQgdmFyaWFibGUgYXMgYm9vdGZpbGUKKyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICBBRERfVEVTVChOQU1FIFRlc3RfSGFyZF9QYXNzX0VOViBDT01NQU5EICQ8VEFSR0VUX0ZJTEU6Zm9ydGU+KQorICBzZXRfdGVzdHNfcHJvcGVydGllcyAoVGVzdF9IYXJkX1Bhc3NfRU5WIFBST1BFUlRJRVMgVElNRU9VVCA1KQorICBmb3J0ZV9hZGRfZW52X2ZpbGUoVGVzdF9IYXJkX1Bhc3NfRU5WIGhhcmRfcGFzc19leGFtcGxlLmZib290KQorICBTRVRfVEVTVFNfUFJPUEVSVElFUyhUZXN0X0hhcmRfUGFzc19FTlYgUFJPUEVSVElFUyBGQUlMX1JFR1VMQVJfRVhQUkVTU0lPTiAiRVJST1I6IFQiKQorICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIAorICAjVGVzdCB1c2luZyBsb2NhbCBib290ZmlsZQorICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIEZJTEUoVE9fTkFUSVZFX1BBVEggIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9oYXJkX3Bhc3NfZXhhbXBsZS5mYm9vdCIgZmlsZV9zdHIpCisgIFNUUklORyhSRVBMQUNFICJcXCIgIlxcXFwiIGZpbGVfc3RyICR7ZmlsZV9zdHJ9KQorICBjb25maWd1cmVfZmlsZSgke2ZpbGVfc3RyfSAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZm9ydGUuZmJvb3QgQ09QWU9OTFkpCisgIEFERF9URVNUKE5BTUUgVGVzdF9IYXJkX1Bhc3NfTE9DQUwgQ09NTUFORCAkPFRBUkdFVF9GSUxFOmZvcnRlPikKKyAgc2V0X3Rlc3RzX3Byb3BlcnRpZXMgKFRlc3RfSGFyZF9QYXNzX0xPQ0FMIFBST1BFUlRJRVMgVElNRU9VVCA1KQorICBTRVRfVEVTVFNfUFJPUEVSVElFUyhUZXN0X0hhcmRfUGFzc19MT0NBTCBQUk9QRVJUSUVTIEZBSUxfUkVHVUxBUl9FWFBSRVNTSU9OICJFUlJPUjogVCIpCisgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgCisgICNUZXN0IGJvb3RmaWxlIHdpdGggYSBtaXNzaW5nIHNlbWljb2xvbgorICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIEFERF9URVNUKE5BTUUgVGVzdF9taXNzaW5nX3NlbWljb2xvbiBDT01NQU5EICQ8VEFSR0VUX0ZJTEU6Zm9ydGU+KQorICBzZXRfdGVzdHNfcHJvcGVydGllcyAoVGVzdF9taXNzaW5nX3NlbWljb2xvbiBQUk9QRVJUSUVTIFRJTUVPVVQgNSkKKyAgZm9ydGVfYWRkX2Vudl9maWxlKFRlc3RfbWlzc2luZ19zZW1pY29sb24gbWlzc2luZ19zZW1pY29sb24uZmJvb3QpCisgIFNFVF9URVNUU19QUk9QRVJUSUVTKFRlc3RfbWlzc2luZ19zZW1pY29sb24gUFJPUEVSVElFUyBQQVNTX1JFR1VMQVJfRVhQUkVTU0lPTiAiQm9vdCBmaWxlIGxpbmUgZG9lcyBub3QgY29udGFpbiBzZXBhcmF0aW5nICc7JyIpCisgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgCisgICNUZXN0IHVua29ud24gRkIKKyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICBBRERfVEVTVChOQU1FIFRlc3RfbWlzc2luZ191bmtub3duX0ZCIENPTU1BTkQgJDxUQVJHRVRfRklMRTpmb3J0ZT4pCisgIHNldF90ZXN0c19wcm9wZXJ0aWVzIChUZXN0X21pc3NpbmdfdW5rbm93bl9GQiBQUk9QRVJUSUVTIFRJTUVPVVQgNSkKKyAgZm9ydGVfYWRkX2Vudl9maWxlKFRlc3RfbWlzc2luZ191bmtub3duX0ZCIHVua25vd25fRkIuZmJvb3QpCisgIFNFVF9URVNUU19QUk9QRVJUSUVTKFRlc3RfbWlzc2luZ191bmtub3duX0ZCIFBST1BFUlRJRVMgUEFTU19SRUdVTEFSX0VYUFJFU1NJT04gIkJvb3QgZmlsZSBjb21tYW5kIGNvdWxkIG5vdCBiZSBleGVjdXRlZCIpCisgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgCisgICNUZXN0IHdyb25nIGJvb3QtZmlsZSB3aXRoIEZPUlRFX0JPT1RfRklMRV9GQUlMX01JU1NJTkcgc2V0CisgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgQUREX1RFU1QoTkFNRSBUZXN0X3dyb25nX2Jvb3RmaWxlX3dfRkFJTCBDT01NQU5EICQ8VEFSR0VUX0ZJTEU6Zm9ydGU+KQorICBzZXRfdGVzdHNfcHJvcGVydGllcyAoVGVzdF93cm9uZ19ib290ZmlsZV93X0ZBSUwgUFJPUEVSVElFUyBUSU1FT1VUIDUpCisgIEZJTEUoVE9fTkFUSVZFX1BBVEggIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9ub25fZXhpc3RpbmcuZmJvb3QiIGZpbGVfc3RyKQorICBTVFJJTkcoUkVQTEFDRSAiXFwiICJcXFxcIiBmaWxlX3N0ciAke2ZpbGVfc3RyfSkKKyAgc2V0X3Rlc3RzX3Byb3BlcnRpZXMoVGVzdF93cm9uZ19ib290ZmlsZV93X0ZBSUwgUFJPUEVSVElFUyBFTlZJUk9OTUVOVCAiRk9SVEVfQk9PVF9GSUxFPSR7ZmlsZV9zdHJ9O0ZPUlRFX0JPT1RfRklMRV9GQUlMX01JU1NJTkc9MSIpCisgIFNFVF9URVNUU19QUk9QRVJUSUVTKFRlc3Rfd3JvbmdfYm9vdGZpbGVfd19GQUlMIFBST1BFUlRJRVMgUEFTU19SRUdVTEFSX0VYUFJFU1NJT04gIkJvb3QgZmlsZSAke2ZpbGVfc3RyfSBjb3VsZCBub3QgYmUgb3BlbmVkIGFuZCBGT1JURV9CT09UX0ZJTEVfRkFJTF9NSVNTSU5HIGlzIHNldCIpCisgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgCisgICNUZXN0IGhlbHAgcGFyYW1ldGVyICgtaCkKKyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICBBRERfVEVTVChOQU1FIFRlc3RfaGVscF9wYXJhbWV0ZXIgQ09NTUFORCAkPFRBUkdFVF9GSUxFOmZvcnRlPiAtaCkKKyAgc2V0X3Rlc3RzX3Byb3BlcnRpZXMgKFRlc3RfaGVscF9wYXJhbWV0ZXIgUFJPUEVSVElFUyBUSU1FT1VUIDUpCisgIFNFVF9URVNUU19QUk9QRVJUSUVTKFRlc3RfaGVscF9wYXJhbWV0ZXIgUFJPUEVSVElFUyBQQVNTX1JFR1VMQVJfRVhQUkVTU0lPTiAiVXNhZ2U6IGZvcnRlIFxcW29wdGlvbnNcXF0iKQorICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIAorICAjVGVzdCB3cm9uZyBwYXJhbWV0ZXIgKG1pc3NpbmcgLSkKKyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICBBRERfVEVTVChOQU1FIFRlc3Rfd3JvbmdfcGFyYW1ldGVyIENPTU1BTkQgJDxUQVJHRVRfRklMRTpmb3J0ZT4gZiBmaWxlMSkKKyAgc2V0X3Rlc3RzX3Byb3BlcnRpZXMgKFRlc3Rfd3JvbmdfcGFyYW1ldGVyIFBST1BFUlRJRVMgVElNRU9VVCA1KQorICBTRVRfVEVTVFNfUFJPUEVSVElFUyhUZXN0X3dyb25nX3BhcmFtZXRlciBQUk9QRVJUSUVTIFBBU1NfUkVHVUxBUl9FWFBSRVNTSU9OICJVc2FnZTogZm9ydGUgXFxbb3B0aW9uc1xcXSIpCisgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgCisgICNUZXN0IGludmFsaWQgcGFyYW1ldGVyICgteikKKyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICBBRERfVEVTVChOQU1FIFRlc3RfaW52YWxpZF9wYXJhbWV0ZXIgQ09NTUFORCAkPFRBUkdFVF9GSUxFOmZvcnRlPiAteikKKyAgc2V0X3Rlc3RzX3Byb3BlcnRpZXMgKFRlc3RfaW52YWxpZF9wYXJhbWV0ZXIgUFJPUEVSVElFUyBUSU1FT1VUIDUpCisgIFNFVF9URVNUU19QUk9QRVJUSUVTKFRlc3RfaW52YWxpZF9wYXJhbWV0ZXIgUFJPUEVSVElFUyBQQVNTX1JFR1VMQVJfRVhQUkVTU0lPTiAiVXNhZ2U6IGZvcnRlIFxcW29wdGlvbnNcXF0iKQorICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIAorICAjVGVzdCB2YWxpZCBhbmQgaW52YWxpZCBwYXJhbWV0ZXIgKC1jIGxvY2FsaG9zdDo2MTQ5OSAteikKKyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICBBRERfVEVTVChOQU1FIFRlc3RfdmFsaWRfaW52YWxpZF9wYXJhbWV0ZXIgQ09NTUFORCAkPFRBUkdFVF9GSUxFOmZvcnRlPiAtYyBsb2NhbGhvc3Q6NjE0OTkgLXopCisgIHNldF90ZXN0c19wcm9wZXJ0aWVzIChUZXN0X3ZhbGlkX2ludmFsaWRfcGFyYW1ldGVyIFBST1BFUlRJRVMgVElNRU9VVCA1KQorICBTRVRfVEVTVFNfUFJPUEVSVElFUyhUZXN0X3ZhbGlkX2ludmFsaWRfcGFyYW1ldGVyIFBST1BFUlRJRVMgUEFTU19SRUdVTEFSX0VYUFJFU1NJT04gIlVzYWdlOiBmb3J0ZSBcXFtvcHRpb25zXFxdIikKKyAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICAKKyAgIyBTaW1wbGUgdGVzdCB3aXRoIDIgZGV2aWNlcworICBmb3J0ZV9hZGRfMmRldl9zeXN0ZW10ZXN0cyhTaW1wbGVNdWx0aVRlc3Qgc2ltcGxlX3NlcnZlci5mYm9vdCBzaW1wbGVfY2xpZW50LmZib290ICIiICIiIDUgMSkKKyAgCisgICNhZnRlciBjb21waWxhdGlvbiwgcnVuICJtYWtlIENURVNUX09VVFBVVF9PTl9GQUlMVVJFPTEgdGVzdCIgb24gdGhlIGJpbmFyeSBmb2xkZXIKIAogZW5kaWYoRk9SVEVfU1lTVEVNX1RFU1RTKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL2RlSW5pdF9jb21tRmIuZmJvb3QgYi9zeXN0ZW10ZXN0cy9kZUluaXRfY29tbUZiLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxYmY0ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9kZUluaXRfY29tbUZiLmZib290CkBAIC0wLDAgKzEsNDEgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEZUluaXRDb21tRkIiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitEZUluaXRDb21tRkI7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlBVQkxJU0hfMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1dJVENIXzEiIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSXzEiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1dJVENIXzIiIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSXzIiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSXzMiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NXSVRDSF8zIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitEZUluaXRDb21tRkI7PFJlcXVlc3QgSUQ9IjEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlBVQkxJU0hfMF8zIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMSVNIXzBfMiIgVHlwZT0iU1VCU0NSSUJFXzAiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMSVNIXzBfMSIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUFVCTElTSF8wLklOSVRPIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8zLkVPIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitEZUluaXRDb21tRkI7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzBfMy5JTklUTyIgRGVzdGluYXRpb249IkVfU1dJVENIXzMuRUkiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLkVPIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitEZUluaXRDb21tRkI7PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzBfMi5JTklUTyIgRGVzdGluYXRpb249IkVfU1dJVENIXzIuRUkiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLkVPIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitEZUluaXRDb21tRkI7PFJlcXVlc3QgSUQ9IjIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzBfMS5JTklUTyIgRGVzdGluYXRpb249IkVfU1dJVENIXzEuRUkiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IkVfU1JfMy5TIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJFX1NSXzMuUyIgLz48L1JlcXVlc3Q+CitEZUluaXRDb21tRkI7PFJlcXVlc3QgSUQ9IjI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSF8zLkVPMSIgRGVzdGluYXRpb249IkVfU1JfMy5SIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENIXzMuRU8wIiBEZXN0aW5hdGlvbj0iRV9TUl8yLlMiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0hfMi5FTzEiIERlc3RpbmF0aW9uPSJFX1NSXzIuUiIgLz48L1JlcXVlc3Q+CitEZUluaXRDb21tRkI7PFJlcXVlc3QgSUQ9IjI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSF8yLkVPMCIgRGVzdGluYXRpb249IkVfU1JfMS5TIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENIXzEuRU8xIiBEZXN0aW5hdGlvbj0iRV9TUl8xLlIiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0hfMS5FTzAiIERlc3RpbmF0aW9uPSJFX1NSLlMiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0guRU8xIiBEZXN0aW5hdGlvbj0iRV9TUi5SIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IlNURVNUX0VORC5SRVEiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5FTyIgRGVzdGluYXRpb249IlBVQkxJU0hfMC5JTklUIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLlFJIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0hfMS5HIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0hfMi5HIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMy5RIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0hfMy5HIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iMzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMy5RIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wXzMuUUkiIC8+PC9SZXF1ZXN0PgorRGVJbml0Q29tbUZCOzxSZXF1ZXN0IElEPSIzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzBfMi5RSSIgLz48L1JlcXVlc3Q+CitEZUluaXRDb21tRkI7PFJlcXVlc3QgSUQ9IjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlBVQkxJU0hfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK0RlSW5pdENvbW1GQjs8UmVxdWVzdCBJRD0iNDEiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL2ZhaWxfZXhhbXBsZS5mYm9vdCBiL3N5c3RlbXRlc3RzL2ZhaWxfZXhhbXBsZS5mYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDM5ZTM2Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvZmFpbF9leGFtcGxlLmZib290CkBAIC0wLDAgKzEsMjMgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGYWlsX0V4YW1wbGUiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0PgorRmFpbF9FeGFtcGxlOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8xXzFfMSIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK0ZhaWxfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJmYWxzZSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+CitGYWlsX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZmFsc2UiIERlc3RpbmF0aW9uPSJCT09MMkJPT0xfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MXzFfMSIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK0ZhaWxfRXhhbXBsZTs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJ0cnVlIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EXzAiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+CitGYWlsX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU0hPVUxEX0ZBSUxfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbF9FeGFtcGxlOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTSE9VTERfRkFJTF8yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNIT1VMRF9OT1RfRkFJTCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbF9FeGFtcGxlOzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MXzEuQ05GIiBEZXN0aW5hdGlvbj0iU0hPVUxEX0ZBSUxfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbF9FeGFtcGxlOzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0hPVUxEX0ZBSUxfMS5DTkYiIERlc3RpbmF0aW9uPSJCT09MMkJPT0xfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0xfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iU0hPVUxEX0ZBSUxfMi5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbF9FeGFtcGxlOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0hPVUxEX0ZBSUxfMi5DTkYiIERlc3RpbmF0aW9uPSJTVEVTVF9FTkRfMC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbF9FeGFtcGxlOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJTSE9VTERfTk9UX0ZBSUwuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNIT1VMRF9OT1RfRkFJTC5DTkYiIERlc3RpbmF0aW9uPSJCT09MMkJPT0xfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJCT09MMkJPT0xfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbF9FeGFtcGxlOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0xfMS5PVVQiIERlc3RpbmF0aW9uPSJTSE9VTERfRkFJTF8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJTSE9VTERfRkFJTF8yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU0hPVUxEX05PVF9GQUlMLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMjMiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL2ZvcnRlX3Rlc3RfMS5mYm9vdCBiL3N5c3RlbXRlc3RzL2ZvcnRlX3Rlc3RfMS5mYm9vdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNhMDIxYS4uMDAwMDAwMAotLS0gYS9zeXN0ZW10ZXN0cy9mb3J0ZV90ZXN0XzEuZmJvb3QKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi07PFJlcXVlc3QgSUQ9IjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRU1CX1JFUyIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfUkVTVEFSVF8xIiBUeXBlPSJFX1JFU1RBUlQiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCT09MMkJPT0wiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZhbHNlIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MLklOIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iT1VUX0FOWV9DT05TT0xFXzEiIFR5cGU9Ik9VVF9BTllfQ09OU09MRSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJPVVRfQU5ZX0NPTlNPTEVfMS5RSSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVSUk9SOiBUIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzEuTEFCRUwiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJPVVRfQU5ZX0NPTlNPTEVfMCIgVHlwZT0iT1VUX0FOWV9DT05TT0xFIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ik9VVF9BTllfQ09OU09MRV8wLlFJIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRvbmUiIERlc3RpbmF0aW9uPSJPVVRfQU5ZX0NPTlNPTEVfMC5MQUJFTCIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVEVTVF9FTkRfMCIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuQ05GIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249Ik9VVF9BTllfQ09OU09MRV8wLlJFUSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iT1VUX0FOWV9DT05TT0xFXzAuQ05GIiBEZXN0aW5hdGlvbj0iU1RFU1RfRU5EXzAuUkVRIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1JFU1RBUlRfMS5DT0xEIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MLlJFUSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzEuUkVRIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJPVVRfQU5ZX0NPTlNPTEVfMS5DTkYiIERlc3RpbmF0aW9uPSJTVEVTVF9FTkRfMC5SRVEiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTC5PVVQiIERlc3RpbmF0aW9uPSJFX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzEuSU4iIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTC5PVVQiIERlc3RpbmF0aW9uPSJPVVRfQU5ZX0NPTlNPTEVfMC5JTiIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIyMSIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvZm9ydGVfdGVzdF8yLmZib290IGIvc3lzdGVtdGVzdHMvZm9ydGVfdGVzdF8yLmZib290CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzhlMjBkLi4wMDAwMDAwCi0tLSBhL3N5c3RlbXRlc3RzL2ZvcnRlX3Rlc3RfMi5mYm9vdAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLTs8UmVxdWVzdCBJRD0iMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFTUJfUkVTIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9SRVNUQVJUXzEiIFR5cGU9IkVfUkVTVEFSVCIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0idHJ1ZSIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5JTiIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik9VVF9BTllfQ09OU09MRV8xIiBUeXBlPSJPVVRfQU5ZX0NPTlNPTEUiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzEuUUkiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJFUlJPUjogVCIgRGVzdGluYXRpb249Ik9VVF9BTllfQ09OU09MRV8xLkxBQkVMIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iT1VUX0FOWV9DT05TT0xFXzAiIFR5cGU9Ik9VVF9BTllfQ09OU09MRSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJPVVRfQU5ZX0NPTlNPTEVfMC5RSSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJEb25lIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzAuTEFCRUwiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EXzAiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MLkNORiIgRGVzdGluYXRpb249IkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJPVVRfQU5ZX0NPTlNPTEVfMC5SRVEiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik9VVF9BTllfQ09OU09MRV8wLkNORiIgRGVzdGluYXRpb249IlNURVNUX0VORF8wLlJFUSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9SRVNUQVJUXzEuQ09MRCIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5SRVEiIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249Ik9VVF9BTllfQ09OU09MRV8xLlJFUSIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iT1VUX0FOWV9DT05TT0xFXzEuQ05GIiBEZXN0aW5hdGlvbj0iU1RFU1RfRU5EXzAuUkVRIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+Ci1FTUJfUkVTOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249Ik9VVF9BTllfQ09OU09MRV8xLklOIiAvPjwvUmVxdWVzdD4KLUVNQl9SRVM7PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iT1VUX0FOWV9DT05TT0xFXzAuSU4iIC8+PC9SZXF1ZXN0PgotRU1CX1JFUzs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL2hhcmRfcGFzc19leGFtcGxlLmZib290IGIvc3lzdGVtdGVzdHMvaGFyZF9wYXNzX2V4YW1wbGUuZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI4MTFkZQotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL2hhcmRfcGFzc19leGFtcGxlLmZib290CkBAIC0wLDAgKzEsMTEgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYXJkX1Bhc3NfRXhhbXBsZSIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVEVTVF9FTkQiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTSE9VTERfTk9UX0ZBSUwiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRydWUiIERlc3RpbmF0aW9uPSJCT09MMkJPT0wuSU4iIC8+PC9SZXF1ZXN0PgorSGFyZF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNIT1VMRF9OT1RfRkFJTC5DTkYiIERlc3RpbmF0aW9uPSJTVEVTVF9FTkQuUkVRIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuQ05GIiBEZXN0aW5hdGlvbj0iU0hPVUxEX05PVF9GQUlMLlJFUSIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5SRVEiIC8+PC9SZXF1ZXN0PgorSGFyZF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJCT09MMkJPT0wuUkVRIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249IlNIT1VMRF9OT1RfRkFJTC5jaGVjayIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL21pc3Npbmdfc2VtaWNvbG9uLmZib290IGIvc3lzdGVtdGVzdHMvbWlzc2luZ19zZW1pY29sb24uZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY5YzNiMQotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL21pc3Npbmdfc2VtaWNvbG9uLmZib290CkBAIC0wLDAgKzEsMTIgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYXJkX1Bhc3NfRXhhbXBsZSIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVEVTVF9FTkQiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTSE9VTERfTk9UX0ZBSUwiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRydWUiIERlc3RpbmF0aW9uPSJCT09MMkJPT0wuSU4iIC8+PC9SZXF1ZXN0PgorSGFyZF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNIT1VMRF9OT1RfRkFJTC5DTkYiIERlc3RpbmF0aW9uPSJTVEVTVF9FTkQuUkVRIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuQ05GIiBEZXN0aW5hdGlvbj0iU0hPVUxEX05PVF9GQUlMLlJFUSIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5SRVEiIC8+PC9SZXF1ZXN0PgorSGFyZF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJCT09MMkJPT0wuUkVRIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249IlNIT1VMRF9OT1RfRkFJTC5jaGVjayIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iU1RBUlQiLz4KK0hhcmRfUGFzc19FeGFtcGxlPFJlcXVlc3QgSUQ9IjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iU0hPVUxEX05PVF9GQUlMLmNoZWNrIiAvPjwvUmVxdWVzdD4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NpbXBsZV9jbGllbnQuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zaW1wbGVfY2xpZW50LmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NzgzYzgKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zaW1wbGVfY2xpZW50LmZib290CkBAIC0wLDAgKzEsMzEgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzaW1wbGVDbGllbnRUZXN0IiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUFVCTElTSF8xIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8xLlFJIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE0OTkiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJTQ1JJQkVfMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzEuUUkiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMCIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xLklEIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV2FpdFNlcnZlciIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitzaW1wbGVDbGllbnRUZXN0OzxSZXF1ZXN0IElEPSI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMnMiIERlc3RpbmF0aW9uPSJXYWl0U2VydmVyLkRUIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJldHVybmV0VmFsdWVPSyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitzaW1wbGVDbGllbnRUZXN0OzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzI2IiBEZXN0aW5hdGlvbj0iRl9FUS5JTjIiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMyNiIgRGVzdGluYXRpb249IkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitzaW1wbGVDbGllbnRUZXN0OzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJESU5UMkRJTlRfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5DT0xEIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJQVUJMSVNIXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitzaW1wbGVDbGllbnRUZXN0OzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUFVCTElTSF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitzaW1wbGVDbGllbnRUZXN0OzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXYWl0U2VydmVyLlNUQVJUIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8xLlJFUSIgLz48L1JlcXVlc3Q+CitzaW1wbGVDbGllbnRUZXN0OzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJSZXR1cm5ldFZhbHVlT0suUkVRIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZXR1cm5ldFZhbHVlT0suQ05GIiBEZXN0aW5hdGlvbj0iU1RFU1RfRU5ELlJFUSIgLz48L1JlcXVlc3Q+CitzaW1wbGVDbGllbnRUZXN0OzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV2FpdFNlcnZlci5FTyIgRGVzdGluYXRpb249IkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQyRElOVF8yLkNORiIgRGVzdGluYXRpb249IkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMS5JTkQiIERlc3RpbmF0aW9uPSJESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitzaW1wbGVDbGllbnRUZXN0OzxSZXF1ZXN0IElEPSIyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJSZXR1cm5ldFZhbHVlT0suY2hlY2siIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK3NpbXBsZUNsaWVudFRlc3Q7PFJlcXVlc3QgSUQ9IjMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMS5SRF8xIiBEZXN0aW5hdGlvbj0iRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0Pgorc2ltcGxlQ2xpZW50VGVzdDs8UmVxdWVzdCBJRD0iMzEiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NpbXBsZV9zZXJ2ZXIuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zaW1wbGVfc2VydmVyLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0ZGE2ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zaW1wbGVfc2VydmVyLmZib290CkBAIC0wLDAgKzEsMjUgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzaW1wbGVTZXJ2ZXJUZXN0IiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUFVCTElTSF8xIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8xLlFJIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE1MDAiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJTQ1JJQkVfMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzEuUUkiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTQ5OSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xLklEIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMyNiIgRGVzdGluYXRpb249IkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVjZWl2ZWRESU5UT0siIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EXzEiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+CitzaW1wbGVTZXJ2ZXJUZXN0OzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xLklOSVQiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMS5JTklUIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMS5JTklUTyIgRGVzdGluYXRpb249IlBVQkxJU0hfMS5JTklUIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVjZWl2ZWRESU5UT0suUkVRIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJGX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMS5JTkQiIERlc3RpbmF0aW9uPSJESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlY2VpdmVkRElOVE9LLkNORiIgRGVzdGluYXRpb249IlBVQkxJU0hfMS5SRVEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxJU0hfMS5DTkYiIERlc3RpbmF0aW9uPSJTVEVTVF9FTkRfMS5SRVEiIC8+PC9SZXF1ZXN0Pgorc2ltcGxlU2VydmVyVGVzdDs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZWNlaXZlZERJTlRPSy5jaGVjayIgLz48L1JlcXVlc3Q+CitzaW1wbGVTZXJ2ZXJUZXN0OzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitzaW1wbGVTZXJ2ZXJUZXN0OzxSZXF1ZXN0IElEPSIyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzEuUkRfMSIgRGVzdGluYXRpb249IkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3NpbXBsZVNlcnZlclRlc3Q7PFJlcXVlc3QgSUQ9IjI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitzaW1wbGVTZXJ2ZXJUZXN0OzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc29mdF9wYXNzX2V4YW1wbGUuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zb2Z0X3Bhc3NfZXhhbXBsZS5mYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGExNjA1Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvc29mdF9wYXNzX2V4YW1wbGUuZmJvb3QKQEAgLTAsMCArMSwxOCBAQAorOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNvZnRfUGFzc19FeGFtcGxlIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK1NvZnRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5PVF9aRVJPIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitTb2Z0X1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorU29mdF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MIiBUeXBlPSJCT09MMkJPT0wiIC8+PC9SZXF1ZXN0PgorU29mdF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EXzBfMSIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK1NvZnRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfTVVYXzIiIFR5cGU9IkZfTVVYXzIiIC8+PC9SZXF1ZXN0PgorU29mdF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCMyIiBEZXN0aW5hdGlvbj0iRl9NVVhfMi5LIiAvPjwvUmVxdWVzdD4KK1NvZnRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVC5DTkYiIERlc3RpbmF0aW9uPSJOT1RfWkVSTy5SRVEiIC8+PC9SZXF1ZXN0PgorU29mdF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTC5DTkYiIERlc3RpbmF0aW9uPSJGX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorU29mdF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOT1RfWkVSTy5DTkYiIERlc3RpbmF0aW9uPSJTVEVTVF9FTkRfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitTb2Z0X1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJGX01VWF8yLlJFUSIgLz48L1JlcXVlc3Q+CitTb2Z0X1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJGX01VWF8yLlJFUSIgLz48L1JlcXVlc3Q+CitTb2Z0X1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJCT09MMkJPT0wuUkVRIiAvPjwvUmVxdWVzdD4KK1NvZnRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSIxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5SRVEiIC8+PC9SZXF1ZXN0PgorU29mdF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVC5PVVQiIERlc3RpbmF0aW9uPSJOT1RfWkVSTy5jaGVjayIgLz48L1JlcXVlc3Q+CitTb2Z0X1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTC5PVVQiIERlc3RpbmF0aW9uPSJGX05PVC5JTiIgLz48L1JlcXVlc3Q+CitTb2Z0X1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTVVYXzIuT1VUIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MLklOIiAvPjwvUmVxdWVzdD4KK1NvZnRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3lzdGVtdGVzdHMvc3JjL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4ZGZiMzMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwxMyBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEpvc2UgQ2FicmFsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK2FkZF9zdWJkaXJlY3RvcnkobW9kdWxlcykKZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL0NNYWtlTGlzdHMudHh0IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTc5NDk4OAotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMTkgQEAKKyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjIENvcHlyaWdodCAoYykgMjAxOSBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitpZihGT1JURV9NT0RVTEVfVVRJTFMpCisgIGFkZF9zdWJkaXJlY3RvcnkodXRpbHMpCitlbmRpZihGT1JURV9NT0RVTEVfVVRJTFMpCisKK2lmKEZPUlRFX0NPTV9PUENfVUEpCisgIGFkZF9zdWJkaXJlY3Rvcnkob3BjX3VhKQorZW5kaWYoRk9SVEVfQ09NX09QQ19VQSkKZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9DTWFrZUxpc3RzLnR4dCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjU5NDk5Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNDEgQEAKKyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjICogQ29weXJpZ2h0IChjKSAyMDE5IGZvcnRpc3MgR21iSAorIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKKyMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKKyMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAorIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisjICoKKyMgKiBDb250cmlidXRvcnM6CisjICogICBKb3NlIENhYnJhbCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitmb3J0ZV9hZGRfc3lzdGVtdGVzdF9zb2Z0KE9QQ1VBX1dyb25nUGFyYW1zIHdyb25nUGFyYW1ldGVycy5mYm9vdCA1KQorCitTRVRfVEVTVFNfUFJPUEVSVElFUyhPUENVQV9Xcm9uZ1BhcmFtcyBQUk9QRVJUSUVTIEZBSUxfUkVHVUxBUl9FWFBSRVNTSU9OICJURVNUX0NPTkRJVElPTl9GQUlMRUR8PT1FUlJPUnxPUEMgVUEgTE9DQUwiKSAjTG9jYWwgc2VydmVyIHNob3VsZG4ndCBzdGFydAorIAorZm9ydGVfYWRkX3N5c3RlbXRlc3RfaGFyZChPUENVQV9Mb2NhbEZpcnN0UmVhZCBsb2NhbEZpcnN0UmVhZC5mYm9vdCA1KQorCitTRVRfVEVTVFNfUFJPUEVSVElFUyhPUENVQV9Mb2NhbEZpcnN0UmVhZCBQUk9QRVJUSUVTIEZBSUxfUkVHVUxBUl9FWFBSRVNTSU9OICJFUlJPUjogVHw9PUVSUk9SfE9QQyBVQSBSRU1PVEUiKSAjcmVtb3RlIGhhbmRsZXIgc2hvdWxkbid0IHN0YXJ0CisKK2ZvcnRlX2FkZF9zeXN0ZW10ZXN0X2hhcmQoT1BDVUFfTG9jYWxGaXJzdFdyaXRlIGxvY2FsRmlyc3RXcml0ZS5mYm9vdCA1KQorCitTRVRfVEVTVFNfUFJPUEVSVElFUyhPUENVQV9Mb2NhbEZpcnN0UmVhZCBQUk9QRVJUSUVTIEZBSUxfUkVHVUxBUl9FWFBSRVNTSU9OICJFUlJPUjogVHw9PUVSUk9SfE9QQyBVQSBSRU1PVEUiKSAjcmVtb3RlIGhhbmRsZXIgc2hvdWxkbid0IHN0YXJ0CisKK2ZvcnRlX2FkZF9zeXN0ZW10ZXN0X2hhcmQoT1BDVUFfTG9jYWxNZXRoZG9kc0NyZWF0ZSBsb2NhbE1ldGhvZHNDcmVhdGUuZmJvb3QgNSkKKworU0VUX1RFU1RTX1BST1BFUlRJRVMoT1BDVUFfTG9jYWxGaXJzdFJlYWQgUFJPUEVSVElFUyBGQUlMX1JFR1VMQVJfRVhQUkVTU0lPTiAiRVJST1I6IFR8PT1FUlJPUnxPUEMgVUEgUkVNT1RFIikgI3JlbW90ZSBoYW5kbGVyIHNob3VsZG4ndCBzdGFydAorCitmb3J0ZV9hZGRfMmRldl9zeXN0ZW10ZXN0cyhXb3JraW5nQ2xpZW50U2VydmVyIGNsaWVudFdvcmtpbmcuZmJvb3Qgc2VydmVyV29ya2luZy5mYm9vdCAiIiAiIiAzMCAxKQorCitmb3J0ZV9hZGRfMmRldl9zeXN0ZW10ZXN0cyhXb3JraW5nQ2xpZW50Tm9TdWJzU2VydmVyIGNsaWVudFdvcmtpbmdOb1N1YnMuZmJvb3Qgc2VydmVyV29ya2luZy5mYm9vdCAiIiAiIiAzMCAxKQorCitmb3J0ZV9hZGRfMmRldl9zeXN0ZW10ZXN0cyhGYWlsaW5nQ2xpZW50U2VydmVyIGZhaWxpbmdDbGllbnQuZmJvb3QgZmFpbGluZ1NlcnZlci5mYm9vdCAiIiAiIiAzNSAwKQorCitmb3J0ZV9hZGRfMmRldl9zeXN0ZW10ZXN0cyhEZWxheWVkV29ya2luZyBkZWxheWVkQ2xpZW50LmZib290IGRlbGF5ZWRTZXJ2ZXIuZmJvb3QgIiIgIiIgODUgMCkKKworZm9ydGVfYWRkXzJkZXZfc3lzdGVtdGVzdHMoVHlwZXNXb3JraW5nIHR5cGVzQ2xpZW50LmZib290IHR5cGVzU2VydmVyLmZib290ICIiICIiIDEwIDEpCisKK2ZvcnRlX2FkZF8yZGV2X3N5c3RlbXRlc3RzKEZhaWxBY3Rpb25zIGNsaWVudEZhaWxBY3Rpb24uZmJvb3QgbG9jYWxGYWlsQWN0aW9uLmZib290ICIiICIiIDQwIDApCisKK2ZvcnRlX29wY3VhX2FkZF9ub2Rlc2V0X3dpdGhvdXRfZ2VuZXJhdGVkKGZvcmRpYWNOYW1lc3BhY2UgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L25vZGVzcGFjZVRlc3QpCisKZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9jbGllbnRGYWlsQWN0aW9uLmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2NsaWVudEZhaWxBY3Rpb24uZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTcwYzBhZAotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9jbGllbnRGYWlsQWN0aW9uLmZib290CkBAIC0wLDAgKzEsNzEgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGYWlsQWN0aW9uIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2xpZW50V3JpdGUiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ2xpZW50V3JpdGUuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9Jc29sYXRlZFRlc3RzL1JFQURWYXJpYWJsZV0iIERlc3RpbmF0aW9uPSJDbGllbnRXcml0ZS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8xIiBUeXBlPSJCT09MMkJPT0wiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDbGllbnRNZXRob2QiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNsaWVudE1ldGhvZC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2Jyb3dzZU5hbWVPbmx5L25vT1BhcmFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iQ2xpZW50TWV0aG9kLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVhZFVuaW5pdCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcml0ZVVuaW5pdCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2FsbFVuaW5pdCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1JfMSIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NXSVRDSF8xIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVEVTVF9FTkRfMSIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InNlcnZlckluaXQiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJzZXJ2ZXJJbml0LlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEyNy4wLjAuMTo2MDEwMCIgRGVzdGluYXRpb249InNlcnZlckluaXQuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic2VydmVyRGVpbml0IiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0ic2VydmVyRGVpbml0LlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEyNy4wLjAuMTo2MDEwMSIgRGVzdGluYXRpb249InNlcnZlckRlaW5pdC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDTElFTlRfMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNMSUVOVF8wLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEyNy4wLjAuMTo2MDEwMiIgRGVzdGluYXRpb249IkNMSUVOVF8wLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNsaWVudFJlYWQiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNsaWVudFJlYWQuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9Jc29sYXRlZFRlc3RzL1dSSVRFVmFyaWFibGVdIiBEZXN0aW5hdGlvbj0iQ2xpZW50UmVhZC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCT09MMkJPT0xfMV8xIiBUeXBlPSJCT09MMkJPT0wiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWV8xIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMnMiIERlc3RpbmF0aW9uPSJFX0RFTEFZXzEuRFQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWV8yIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjM0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjNHMiIERlc3RpbmF0aW9uPSJFX0RFTEFZXzIuRFQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWV8yXzJfMSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzJzIiBEZXN0aW5hdGlvbj0iRV9ERUxBWV8yXzJfMS5EVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZFVuaW5pdC5DTkYiIERlc3RpbmF0aW9uPSJDbGllbnRNZXRob2QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDbGllbnRNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iRl9OT1RfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249IkNhbGxVbmluaXQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xLkNORiIgRGVzdGluYXRpb249IlJlYWRVbmluaXQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDbGllbnRXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJGX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9ULkNORiIgRGVzdGluYXRpb249IldyaXRlVW5pbml0LlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLkVPIiBEZXN0aW5hdGlvbj0iQ2xpZW50V3JpdGUuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsVW5pbml0LkNORiIgRGVzdGluYXRpb249IkVfU1dJVENIXzEuRUkiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InNlcnZlckluaXQuSU5JVE8iIERlc3RpbmF0aW9uPSJzZXJ2ZXJEZWluaXQuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249InNlcnZlckluaXQuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic2VydmVySW5pdC5JTkQiIERlc3RpbmF0aW9uPSJzZXJ2ZXJJbml0LlJTUCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic2VydmVyRGVpbml0LklORCIgRGVzdGluYXRpb249IkVfU1JfMS5TIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzZXJ2ZXJEZWluaXQuSU5EIiBEZXN0aW5hdGlvbj0ic2VydmVyRGVpbml0LlJTUCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2xpZW50V3JpdGUuSU5JVE8iIERlc3RpbmF0aW9uPSJDbGllbnRSZWFkLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldyaXRlVW5pbml0LkNORiIgRGVzdGluYXRpb249IkNsaWVudFJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDbGllbnRSZWFkLklOSVRPIiBEZXN0aW5hdGlvbj0iQ2xpZW50TWV0aG9kLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNsaWVudFJlYWQuQ05GIiBEZXN0aW5hdGlvbj0iRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InNlcnZlckluaXQuSU5EIiBEZXN0aW5hdGlvbj0iQ2xpZW50V3JpdGUuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2xpZW50TWV0aG9kLklOSVRPIiBEZXN0aW5hdGlvbj0iRV9ERUxBWV8xLlNUQVJUIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSF8xLkVPMSIgRGVzdGluYXRpb249IkVfREVMQVlfMi5TVEFSVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9ERUxBWV8yLkVPIiBEZXN0aW5hdGlvbj0iRV9TUl8xLlIiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENIXzEuRU8wIiBEZXN0aW5hdGlvbj0iRV9ERUxBWV8yXzJfMS5TVEFSVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9ERUxBWV8yXzJfMS5FTyIgRGVzdGluYXRpb249IlNURVNUX0VORF8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9ERUxBWV8xLkVPIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJDTElFTlRfMC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTF8xLk9VVCIgRGVzdGluYXRpb249IkNsaWVudFdyaXRlLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNsaWVudE1ldGhvZC5RTyIgRGVzdGluYXRpb249IkZfTk9UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8xLk9VVCIgRGVzdGluYXRpb249IkNhbGxVbmluaXQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVhZFVuaW5pdC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2xpZW50V3JpdGUuUU8iIERlc3RpbmF0aW9uPSJGX05PVC5JTiIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iV3JpdGVVbmluaXQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0hfMS5HIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDbGllbnRSZWFkLlFPIiBEZXN0aW5hdGlvbj0iRl9OT1RfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2xpZW50UmVhZC5SRF8xIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI3MSIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2NsaWVudFdvcmtpbmcuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvY2xpZW50V29ya2luZy5mYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDg5MTZhCi0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2NsaWVudFdvcmtpbmcuZmJvb3QKQEAgLTAsMCArMSwxODk2IEBACis7PFJlcXVlc3QgSUQ9IjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ0NsaWVudCIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1JfMSIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkluaXRGaW5pc2hlZFNpZ25hbCIgVHlwZT0iU1VCU0NSSUJFXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iSW5pdEZpbmlzaGVkU2lnbmFsLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE0OTkiIERlc3RpbmF0aW9uPSJJbml0RmluaXNoZWRTaWduYWwuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMSVNIXzAiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMCIgRGVzdGluYXRpb249IlBVQkxJU0hfMC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjEvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvZm9sZGVyMi9Ob0lkXSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5mb2xkZXJUZXN0U3Vic2NyaWJlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvTm9JZF0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQxXSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfUEVSTUlUIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXyIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5mb2xkZXJUZXN0U3Vic2NyaWJlNSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMSIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvTm9JZF0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMyIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvZm9sZGVyMS9Ob0lkOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9mb2xkZXIyL05vSWRdIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkMV0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlQnJvd3NlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVCcm93c2UzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL05vSWRdIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkMV0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjEvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvZm9sZGVyMi9Ob0lkXSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdC5TVEVTVF9FTkRfMSIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXQuRV9ERU1VWF8yXzEiIFR5cGU9IkVfREVNVVhfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdC5GX0JPT0xfVE9fVUlOVF8xIiBUeXBlPSJGX0JPT0xfVE9fVUlOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE1MDEiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LlBVQkxJU0hfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmk9MTIzNDg7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTppPTEyMzQ5XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmk9MTIzNDY7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6aT0xMjM0N10iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMV8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMSIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6aT0xMjM0ODssMTppPTEyMzQ5XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMiIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmk9MTIzNDY7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6aT0xMjM0N10iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTM4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQ4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTUwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMyIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmk9MTIzNDg7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTppPTEyMzQ5XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMSIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTppPTEyMzQ4OywxOmk9MTIzNDldIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNF9OQk4iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1X05CTiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1NVQlNDUklCRTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6aT0xMjM0ODsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOmk9MTIzNDldIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTcyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6aT0xMjM0NV0iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1NVQlNDUklCRTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6aT0xMjM0NjsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTppPTEyMzQ3XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzUiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1IiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1NVQlNDUklCRTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOywxOmk9MTIzNDg7LDE6aT0xMjM0OV0iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTRfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU1XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjM2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxXzFfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6cz1oZWxsb10iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQ0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpzPWhlbGxvMTsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOnM9aGVsbG8yXSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTpzPWhlbGxvMzssMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMyIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOnM9aGVsbG8zOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOnM9aGVsbG9dIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMiIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6cz1oZWxsbzE7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpzPWhlbGxvMl0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjY1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjY3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTpzPWhlbGxvMzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6cz1oZWxsbzRdIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTVfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMSIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTpzPWhlbGxvMzssMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyODEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTRfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMyIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6cz1oZWxsbzM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOnM9aGVsbG80XSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmUzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzAwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOnM9aGVsbG9dIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOnM9aGVsbG8xOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6cz1oZWxsbzJdIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8iIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzExIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmU1XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTRfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMSIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTpzPWhlbGxvMzssMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzUxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzUzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzU1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMSIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkXSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDE7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMl0iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTpiPWJ5dGVTdHJpbmdOb2RlSWQzOywxOmI9Ynl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMyIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQzOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkNF0iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZF0iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQxOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmI9Ynl0ZVN0cmluZ05vZGVJZDJdIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQzOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkNF0iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzk2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6Yj1ieXRlU3RyaW5nTm9kZUlkMzssMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTRfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTVfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDAzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMyIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmUzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmUxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkXSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDE7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMl0iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMi5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjMiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXyIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8uSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81LklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzVfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzXzEiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6Yj1ieXRlU3RyaW5nTm9kZUlkMzssMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlNV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmU0XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1JfMiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTEFZIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzJzIiBEZXN0aW5hdGlvbj0iRV9ERUxBWS5EVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF80IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDY5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF80LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9ub09QYXJhbWV0ZXJzXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDczIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvb25seUlucHV0UGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18wIiBUeXBlPSJDTElFTlRfM18wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9vbmx5T3V0cHV0UGFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yIiBUeXBlPSJDTElFTlRfM18yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9ib3RoSW5wdXRBbmRPdXRwdXRQYXJhbWV0ZXJzXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF82IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDg4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF82LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzciIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF84IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMF8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzBfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ5OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVQiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzEiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTA3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjNCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5QViIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzEiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzkiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMS5QViIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzEiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlQnJvd3NlTWFueUV2ZW50cyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlQnJvd3NlTWFueUV2ZW50cy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMiIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzIiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMiIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8yLlBWIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF80IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF80LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL25vT1BhcmFtZXRlcnMsMTppPTIyMzQ1XSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzBfMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5SW5wdXRQYXJhbWV0ZXJzLDE6aT0yMjM0Nl0iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wIiBUeXBlPSJDTElFTlRfM18wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmk9MjIzNDddIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yIiBUeXBlPSJDTElFTlRfM18yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnMsMTppPTIyMzQ4XSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF82IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF82LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzciIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF84IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18wXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18wXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTUyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTU0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElUIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8xIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVV8xIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzEuUFYiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVF8xIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNNYW55RXZlbnRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljTWFueUV2ZW50cy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMiIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzIiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFVfMiIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTY4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVV8yLlBWIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvbm9PUGFyYW1ldGVycywxOnM9bWV0aG9kSGVsbG9dIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9vbmx5SW5wdXRQYXJhbWV0ZXJzLDE6cz1tZXRob2RIZWxsbzFdIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTgwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAiIFR5cGU9IkNMSUVOVF8zXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTgyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTpzPW1ldGhvZEhlbGxvMl0iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yIiBUeXBlPSJDTElFTlRfM18yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOnM9bWV0aG9kSGVsbG8zXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTg4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzUuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF82IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzEiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM0IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjEyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjOSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVXzEuUFYiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzEiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdNYW55RXZlbnRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ01hbnlFdmVudHMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMiIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMiIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVXzIiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8yLlBWIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvbm9PUGFyYW1ldGVycywxOmI9bWV0aG9kQnl0ZVN0cmluZ05vZGVJZDFdIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9ieXRlU3RyaW5nTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTpiPW1ldGhvZEJ5dGVTdHJpbmdOb2RlSWQyXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAiIFR5cGU9IkNMSUVOVF8zXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvb25seU91dHB1dFBhbWV0ZXJzLDE6Yj1tZXRob2RCeXRlU3RyaW5nTm9kZUlkM10iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIiIFR5cGU9IkNMSUVOVF8zXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOmI9bWV0aG9kQnl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzgiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzJfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wXzFfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbl8zXzJfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjUyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVCIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMSIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM0IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjOSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8xLlBWIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMSIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nTWFueUV2ZW50cyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjY2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ01hbnlFdmVudHMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzIiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMi5QViIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjczIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL0lzb2xhdGVkVGVzdHMvUkVBRFZhcmlhYmxlXSIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5XUklURV9Pbmx5X3JlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjgwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5SRUFEX09ubHlfcmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL0lzb2xhdGVkVGVzdHMvV1JJVEVWYXJpYWJsZV0iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzFfMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9ub05ld0ZvbGRlcl0iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMV8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLnJlYWROb05ld0ZvbGVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjkxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9ub05ld0ZvbGRlck1ldGhvZF0iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLm1ldGhvZE5vTmV3Rm9sZGVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2OTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjk2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL0lzb2xhdGVkVGVzdHMvUkVBRFZhcmlhYmxlXSIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLndyaXRlT25seVdyaXR0YWJsZVZhciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzA0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290UmVhZDIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RXcml0ZV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy8xOndyaXRlVmFyXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWQuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMiIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvMTpmb2xkZXIyL3dyaXRlVmFyXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMi5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzE5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy8xOmZvbGRlcjIvcmVhZFZhcl0iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvMTpyZWFkVmFyL10iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvMTptZXRob2RdIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LzE6Zm9sZGVyMi9tZXRob2RdIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VGVzdE1ldGhvZF0iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVPYmplY3RNZXRob2QxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlVmFyMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlVmFyMl8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzQwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VmFyaWFibGUxXSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMSIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvdGVzdE9iamVjdDEvMjpWYXJpYWJsZTJdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVPYmplY3RNZXRob2QyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3Rlc3RPYmplY3QyLzI6VmFyaWFibGUyXSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMV8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMiIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy90ZXN0T2JqZWN0Mi8yOlZhcmlhYmxlMV0iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzUzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yIiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvdGVzdE9iamVjdDIvMjpUZXN0TWV0aG9kXSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjFfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjJfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc2NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMl8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzY5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yXzEiIFR5cGU9IkNMSUVOVF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy90ZXN0T2JqZWN0Mi8yOlRlc3RNZXRob2QyXSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzJfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zIiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvdGVzdE9iamVjdDEvMjpUZXN0TWV0aG9kMl0iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzMiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzc5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8zLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3ODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWV8xIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzEwMDBtcyIgRGVzdGluYXRpb249IkVfREVMQVlfMS5EVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3ODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWV8xXzEiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzgzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMTAwMG1zIiBEZXN0aW5hdGlvbj0iRV9ERUxBWV8xXzEuRFQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfREVMQVlfMV8xXzEiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzg1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMTAwMG1zIiBEZXN0aW5hdGlvbj0iRV9ERUxBWV8xXzFfMS5EVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3ODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWV8xXzFfMiIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3ODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCMxMDAwbXMiIERlc3RpbmF0aW9uPSJFX0RFTEFZXzFfMV8yLkRUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTEFZXzFfMV8xXzEiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzg5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMTAwMG1zIiBEZXN0aW5hdGlvbj0iRV9ERUxBWV8xXzFfMV8xLkRUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTEFZXzFfMiIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCMxMDAwbXMiIERlc3RpbmF0aW9uPSJFX0RFTEFZXzFfMi5EVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLklORCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfM18xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJFX0RFTEFZXzFfMi5TVEFSVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfUEVSTUlULkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5mb2xkZXJUZXN0U3Vic2NyaWJlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmUyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmU0LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5mb2xkZXJUZXN0U3Vic2NyaWJlNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8uUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8uQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMy5SRF8yIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfQ1RVLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81LklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5mb2xkZXJUZXN0U3Vic2NyaWJlMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5mb2xkZXJUZXN0U3Vic2NyaWJlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmU0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmU1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8uT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzUuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8uSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlQnJvd3NlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlFPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5RTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVCcm93c2UyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUU8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlQnJvd3NlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGU0LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGU0LkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUzLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUuQ05GIiBEZXN0aW5hdGlvbj0iRV9ERUxBWV8xLlNUQVJUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUkRfMiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRF8yIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdC5GX0JPT0xfVE9fVUlOVF8xLkNORiIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuRV9ERU1VWF8yXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0LkVfREVNVVhfMl8xLkVPMSIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuUFVCTElTSF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuUFVCTElTSF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LlBVQkxJU0hfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuRV9ERU1VWF8yXzEuRU8yIiBEZXN0aW5hdGlvbj0iRV9ERUxBWS5TVEFSVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuUFVCTElTSF8wXzEuQ05GIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5TVEVTVF9FTkRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5FX0RFTVVYXzJfMS5LIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMubnVtZXJpY1dyaXRlMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzFfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUU8iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5RTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuUU8iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLlFPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMubnVtZXJpY1dyaXRlMV8xXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSU5JVE8iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU0LkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTUuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTMuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNF9OQk4uUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1X05CTi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU0X05CTi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTVfTkJOLkNORiIgRGVzdGluYXRpb249IkVfREVMQVlfMV8xLlNUQVJUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLlJEXzEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlJEXzEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNF9OQk4uY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTVfTkJOLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuSU5EIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5JTkQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5JTkQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1IuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU0XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuSU5EIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5JTklUTyIgRGVzdGluYXRpb249IkVfREVMQVlfMV8xXzIuU1RBUlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuUkRfMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLlJEXzIiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81LklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1IuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzUuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuUkRfMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU0XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU1XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuSU5JVE8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUU8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlFPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLlFPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMV8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlFPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDExMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDExMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU0LkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU1LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDExNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDExOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTMuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTRfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xLkNORiIgRGVzdGluYXRpb249IkVfREVMQVlfMV8xXzEuU1RBUlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU1LkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5SRF8yIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRF8yIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJEXzEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5SRF8xIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuUkRfMiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuSU5EIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5JTkQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuSU5EIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8yLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmU0LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmU1LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8uQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzUuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5JTkQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmU1XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5JTklUTyIgRGVzdGluYXRpb249IkVfREVMQVlfMV8xXzFfMS5TVEFSVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzLlJEXzIiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5SRF8xIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuUkRfMiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81LklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1IuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5SRF8yIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5SRF8xIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTRfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuSU5JVE8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5ieXRlU3RyaW5nV3JpdGUxXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUU8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5ieXRlU3RyaW5nV3JpdGUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5RTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUU8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5ieXRlU3RyaW5nV3JpdGUxXzFfMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlFPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUxLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSU5JVE8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTQuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTUuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUzLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNF8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5SRF8xIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUkRfMiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJEXzIiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRF8xIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLlJEXzIiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuSU5EIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMS5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLklORCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuSU5EIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmUzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmU0LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTUuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXy5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzVfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlM18xLklORCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfM18xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLlJEXzEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuUkRfMiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMi5SRF8xIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuUkRfMiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfUEVSTUlULlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81LklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmUyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlNS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzVfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTNfMS5SRF8yIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlNV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzIuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzXzEuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzOTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTRfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzIuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzBfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzBfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfOC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF83LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF84LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzUuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzUuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF82LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF82LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMF8xXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVC5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8xLkNVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlULkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMS5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMS5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzEuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlQnJvd3NlTWFueUV2ZW50cy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElULkVPMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzEuRU8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzEuRU8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF80LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMi5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVC5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMi5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVF8xLkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMi5DVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzIuQ1VPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzIuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1BFUk1JVF8yLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1IuUyIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVF8yLkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuU0RfMyIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF80Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMi5TRF8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMi5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF83LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMi5SRF8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF84LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzYuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuU0RfMyIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMF8xXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMF8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNy5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF84Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMS5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8yLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMi5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18wXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF84LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzcuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzguUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUV8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF81LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF81LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzBfMV8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVC5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFVfMS5DVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzEuQ1VPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVF8xLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNNYW55RXZlbnRzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElULkVPMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8xLkVPMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMF8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMS5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yLkVPMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElULkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yLkVPMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElUXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVV8yLkNVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFVfMi5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9QRVJNSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzIuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NSLlMiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NSLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NSLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLlJEXzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLlNEXzMiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzUuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuUkRfMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfOC5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF82Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlNEXzMiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzBfMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF83Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzguT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlULlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVF8xLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzIuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVF8yLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfMF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzBfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzguUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF82LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVQuRU8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVXzEuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlULkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8xLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzEuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdNYW55RXZlbnRzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVQuRU8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8xLkVPMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMF8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzEuRU8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIuRU8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVC5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8yLkVPMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMS5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8yLkNVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8yLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzIuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzIuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVF8yLkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1IuUyIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuU0RfMyIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlJEXzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8zIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMF8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNy5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8xLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMi5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMi5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5fM18yXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMl8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluXzNfMl8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF80LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wXzFfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVQuRU8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzEuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8xLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8xLkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMS5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nTWFueUV2ZW50cy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVC5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMS5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElUXzEuRU8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF80LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVC5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVF8xLkVJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMi5DVSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzIuQ1VPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzIuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVS5SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMy5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8zIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlJEXzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlJEXzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzguSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8zIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNy5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMl8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMl8yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5fM18yXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfUEVSTUlULlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8xLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzIuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5XUklURV9Pbmx5X3JlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLldSSVRFX09ubHlfcmVhZC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5SRUFEX09ubHlfcmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5yZWFkTm9OZXdGb2xlci5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5SRUFEX09ubHlfcmVhZC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMC5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWQuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzFfMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5yZWFkTm9OZXdGb2xlci5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5tZXRob2ROb05ld0ZvbGRlci5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLm1ldGhvZE5vTmV3Rm9sZGVyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLndyaXRlT25seVdyaXR0YWJsZVZhci5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLndyaXRlT25seVdyaXR0YWJsZVZhci5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuUkVBRF9Pbmx5X3JlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5XUklURV9Pbmx5X3JlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5yZWFkTm9OZXdGb2xlci5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzFfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzAuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLm1ldGhvZE5vTmV3Rm9sZGVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMud3JpdGVPbmx5V3JpdHRhYmxlVmFyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5GX0VRLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuRl9FUV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFJlYWQyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8yLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFdyaXRlXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RXcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZC5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZC5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzIuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGVfMS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkMi5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xLk9VVCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkLlJEXzEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMi5SRF8xIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuUU8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RXcml0ZV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzBfMS5RTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZF8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5GX0VRLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIxXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIxXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDczOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDczOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMi5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVPYmplY3RNZXRob2QyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlVmFyMV8yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlVmFyMl8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuRl9CT09MX1RPX1VJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjJfMi5DTkYiIERlc3RpbmF0aW9uPSJFX1NSXzEuUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMl8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMl8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMi5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzJfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVPYmplY3RNZXRob2QxXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIyXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVPYmplY3RNZXRob2QyXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzEuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMS5RTyIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjJfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8yLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjFfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMV8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMi5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIyXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzIuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMl8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yXzEuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8zLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzMuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMy5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzMuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJJbml0RmluaXNoZWRTaWduYWwuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IkluaXRGaW5pc2hlZFNpZ25hbC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJbml0RmluaXNoZWRTaWduYWwuSU5JVE8iIERlc3RpbmF0aW9uPSJQVUJMSVNIXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdEZpbmlzaGVkU2lnbmFsLklORCIgRGVzdGluYXRpb249IlBVQkxJU0hfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxJU0hfMC5DTkYiIERlc3RpbmF0aW9uPSJFX1NSXzIuUyIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLkVPIiBEZXN0aW5hdGlvbj0iRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iRV9TUl8xLlMiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfREVMQVkuRU8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLkVPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9ERUxBWV8xLkVPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTEFZXzFfMS5FTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTEFZXzFfMV8xLkVPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTEFZXzFfMV8yLkVPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTEFZXzFfMV8xXzEuRU8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTEFZXzFfMi5FTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5GX0JPT0xfVE9fVUlOVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTNfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJFX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMi5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMi5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMl8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4OTYiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9jbGllbnRXb3JraW5nTm9TdWJzLmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2NsaWVudFdvcmtpbmdOb1N1YnMuZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYzNjA5ZgotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9jbGllbnRXb3JraW5nTm9TdWJzLmZib290CkBAIC0wLDAgKzEsMTIxMCBAQAorOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildva2luZ0NsaWVudFdpdGhvdXRTdWJzIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkluaXRGaW5pc2hlZFNpZ25hbF8xIiBUeXBlPSJTVUJTQ1JJQkVfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSW5pdEZpbmlzaGVkU2lnbmFsXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE0OTkiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5Jbml0RmluaXNoZWRTaWduYWxfMS5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9Jc29sYXRlZFRlc3RzL1JFQURWYXJpYWJsZV0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLldSSVRFX09ubHlfcmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLlJFQURfT25seV9yZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkRJTlQyRElOVF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xXzEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvSXNvbGF0ZWRUZXN0cy9XUklURVZhcmlhYmxlXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xXzFfMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9ub05ld0ZvbGRlcl0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5yZWFkTm9OZXdGb2xlciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9ub05ld0ZvbGRlck1ldGhvZF0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5tZXRob2ROb05ld0ZvbGRlciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5QVUJMSVNIXzEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL0lzb2xhdGVkVGVzdHMvUkVBRFZhcmlhYmxlXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5QVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS53cml0ZU9ubHlXcml0dGFibGVWYXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMyIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTppPTEyMzQ4Oy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6aT0xMjM0OV0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6aT0xMjM0NjsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTppPTEyMzQ3XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMubnVtZXJpY1dyaXRlMV8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMV8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlM18xIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTppPTEyMzQ4OywxOmk9MTIzNDldIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTppPTEyMzQ2Oy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmk9MTIzNDddIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMyIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmk9MTIzNDg7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTppPTEyMzQ5XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOywxOmk9MTIzNDg7LDE6aT0xMjM0OV0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU0X05CTiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNV9OQk4iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1BFUk1JVF8xIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEwNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvTm9JZF0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMyIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTA3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9mb2xkZXIxL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjIvTm9JZF0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMiIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTA5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDFdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLndyaXRlQnJvd3NlMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjExMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMud3JpdGVCcm93c2UzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTE0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL05vSWRdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQxLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQxXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjExOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlNCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTM0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMyIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjEvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvZm9sZGVyMi9Ob0lkXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxMzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE0MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTQ0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTQ2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5ieXRlU3RyaW5nV3JpdGUxXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5ieXRlU3RyaW5nV3JpdGUxXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMV8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWRdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMiIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMTsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpiPWJ5dGVTdHJpbmdOb2RlSWQyXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMSIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOywxOmI9Ynl0ZVN0cmluZ05vZGVJZDM7LDE6Yj1ieXRlU3RyaW5nTm9kZUlkNF0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlM18xLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE2NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTY2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDE7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMl0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE3MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE3NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxNzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTgzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTg1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTpiPWJ5dGVTdHJpbmdOb2RlSWQzOywxOmI9Ynl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxOTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMTk2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxOTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9ERUxBWV8xIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCMycyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfREVMQVlfMS5EVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlBVQkxJU0hfMF8xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIwNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUFVCTElTSF8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIwNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlBVQkxJU0hfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjA3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzQuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIwOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9ub09QYXJhbWV0ZXJzXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjExIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMF8xIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvb25seUlucHV0UGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAiIFR5cGU9IkNMSUVOVF8zXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIxOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9vbmx5T3V0cHV0UGFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIiIFR5cGU9IkNMSUVOVF8zXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9ib3RoSW5wdXRBbmRPdXRwdXRQYXJhbWV0ZXJzXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF81IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIyNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF81LklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzYiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzYuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzgiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzBfMV8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjIzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyMzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVCIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMSIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjQ1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjNCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI0OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzkiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8xLlBWIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMSIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVCcm93c2VNYW55RXZlbnRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjUxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVCcm93c2VNYW55RXZlbnRzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVF8yIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMiIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8yIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjU1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzIuUFYiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI2MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL25vT1BhcmFtZXRlcnMsMTppPTIyMzQ1XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5SW5wdXRQYXJhbWV0ZXJzLDE6aT0yMjM0Nl0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI2NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAiIFR5cGU9IkNMSUVOVF8zXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmk9MjIzNDddIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIiIFR5cGU9IkNMSUVOVF8zXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI3MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnMsMTppPTIyMzQ4XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF81IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI3NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF81LklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzYiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzYuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyNzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzgiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18wXzFfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzBfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzBfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyODgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjkyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVQiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElUXzEiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjI5NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5QViIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMjk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzEiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIyOTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM5IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFVfMS5QViIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzEiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY01hbnlFdmVudHMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNNYW55RXZlbnRzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9QRVJNSVRfMiIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjMwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVV8yIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzA2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzIuUFYiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjMwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF80LklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjMxMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvbm9PUGFyYW1ldGVycywxOnM9bWV0aG9kSGVsbG9dIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzE1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9vbmx5SW5wdXRQYXJhbWV0ZXJzLDE6cz1tZXRob2RIZWxsbzFdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMCIgVHlwZT0iQ0xJRU5UXzNfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTpzPW1ldGhvZEhlbGxvMl0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjMyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIiIFR5cGU9IkNMSUVOVF8zXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjMyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOnM9bWV0aG9kSGVsbG8zXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzUiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzI4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzciIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzgiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfMF8xXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfMF8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18wXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzMzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM0MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVQiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMSIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM0IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVS5QViIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8xIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzUwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjOSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMS5QViIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMSIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ01hbnlFdmVudHMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nTWFueUV2ZW50cy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8yIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMiIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM1NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVXzIuUFYiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvbm9PUGFyYW1ldGVycywxOmI9bWV0aG9kQnl0ZVN0cmluZ05vZGVJZDFdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM2NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9ieXRlU3RyaW5nTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTpiPW1ldGhvZEJ5dGVTdHJpbmdOb2RlSWQyXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMCIgVHlwZT0iQ0xJRU5UXzNfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvb25seU91dHB1dFBhbWV0ZXJzLDE6Yj1tZXRob2RCeXRlU3RyaW5nTm9kZUlkM10iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMiIgVHlwZT0iQ0xJRU5UXzNfMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzczIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOmI9bWV0aG9kQnl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM3NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzUiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzUuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzJfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMl8yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM4NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMF8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluXzNfMl8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18wXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMzkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElUIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzOTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVF8xIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIzOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM0IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjM5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8xIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjOSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzEuUFYiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8xIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdNYW55RXZlbnRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDA0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nTWFueUV2ZW50cy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMiIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzIiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMiIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQwOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8yLlBWIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDExIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQxMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQxNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQyMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0MzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOnM9aGVsbG8xOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6cz1oZWxsbzJdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMSIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOywxOnM9aGVsbG8zOywxOnM9aGVsbG80XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDM0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6cz1oZWxsbzM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOnM9aGVsbG80XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6cz1oZWxsb10iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpzPWhlbGxvMTsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOnM9aGVsbG8yXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMyIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOnM9aGVsbG8zOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU1IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ2NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOywxOnM9aGVsbG8zOywxOnM9aGVsbG80XSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ2OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDY5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8yXzEiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMSIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkhhbmRsZUluaXRfMS5TVEVTVF9FTkRfMSIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0NzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLkVfREVNVVhfMl8xIiBUeXBlPSJFX0RFTVVYXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5IYW5kbGVJbml0XzEuRl9CT09MX1RPX1VJTlRfMSIgVHlwZT0iRl9CT09MX1RPX1VJTlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5IYW5kbGVJbml0XzEuUFVCTElTSF8wXzEiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDc4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5IYW5kbGVJbml0XzEuUFVCTElTSF8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ3OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkhhbmRsZUluaXRfMS5QVUJMSVNIXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0ODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDgyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFdyaXRlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGVfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RNZXRob2RfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDkzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0OTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI0OTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZCIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDk3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LzE6d3JpdGVWYXJdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZC5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMiIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNDk5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LzE6Zm9sZGVyMi93cml0ZVZhcl0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMSIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy8xOmZvbGRlcjIvcmVhZFZhcl0iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMSIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTAzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy8xOnJlYWRWYXIvXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5JRCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LzE6bWV0aG9kXSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wXzEiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LzE6Zm9sZGVyMi9tZXRob2RdIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5ESU5UMkRJTlRfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLldSSVRFX09ubHlfcmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLldSSVRFX09ubHlfcmVhZC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLlJFQURfT25seV9yZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLnJlYWROb05ld0ZvbGVyLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5UXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5UXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wXzFfMS5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5SRUFEX09ubHlfcmVhZC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMC5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWQuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEucmVhZE5vTmV3Rm9sZXIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEubWV0aG9kTm9OZXdGb2xkZXIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5tZXRob2ROb05ld0ZvbGRlci5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuUFVCTElTSF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuUFVCTElTSF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEud3JpdGVPbmx5V3JpdHRhYmxlVmFyLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuUFVCTElTSF8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS53cml0ZU9ubHlXcml0dGFibGVWYXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMF8xLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkRJTlQyRElOVF8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLlJFQURfT25seV9yZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5ESU5UMkRJTlRfMV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuV1JJVEVfT25seV9yZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEucmVhZE5vTmV3Rm9sZXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjUzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wXzFfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5UXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5UXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5DTElFTlRfMC5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5tZXRob2ROb05ld0ZvbGRlci5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5QVUJMSVNIXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuUFVCTElTSF8xLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLndyaXRlT25seVdyaXR0YWJsZVZhci5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMubnVtZXJpY1dyaXRlMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5TRF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5udW1lcmljV3JpdGUxXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMubnVtZXJpY1dyaXRlMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMubnVtZXJpY1dyaXRlMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlM18xLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLm51bWVyaWNXcml0ZTFfMV8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMS5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTQuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUzLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMy5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNF9OQk4uUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI1OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTVfTkJOLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTRfTkJOLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjU5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1X05CTi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuUkRfMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLlJEXzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLlJEXzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNF9OQk4uY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNV9OQk4uY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMud3JpdGVCcm93c2UzLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMud3JpdGVCcm93c2UyLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLndyaXRlQnJvd3NlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLndyaXRlQnJvd3NlMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLndyaXRlQnJvd3NlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjYzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5TRF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy53cml0ZUJyb3dzZTMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQxLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQxLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGU0LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGU0LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8zLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQxLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuUkRfMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuUkRfMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMy5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5ieXRlU3RyaW5nV3JpdGUxLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNjkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjY5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI2OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5TRF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5ieXRlU3RyaW5nV3JpdGUxXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlM18xLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuYnl0ZVN0cmluZ1dyaXRlMV8xXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuUU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLmJ5dGVTdHJpbmdXcml0ZTFfMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTQuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUzLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjcyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjczNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjczNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjczNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVF8yLkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuUkRfMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLlJEXzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTRfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLlJEXzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfOC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF83LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF83LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzguUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzUuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzYuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF82LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzBfMV8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMF8xXzAuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVC5FTzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzEuQ1UiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMS5DVU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1BFUk1JVF8xLkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzEuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVCcm93c2VNYW55RXZlbnRzLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElULkVPMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzEuRU8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzEuRU8yIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMi5FTzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElULkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMi5FTzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijc5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8yLkNVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI3OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzIuQ1VPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iNzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1BFUk1JVF8yLkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yLkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5SIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzIuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5TRF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18wLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5TRF8zIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF80Lk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMi5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzcuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMi5SRF8yIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzguSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzYuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMi5TRF8zIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5GX0VRLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNy5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF84Lk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMl8yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuUU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlULlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1BFUk1JVF8xLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8yLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5FX1BFUk1JVF8yLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzBfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF84LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzcuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF83LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfOC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjgzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzUuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF81LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF82LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzAuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVC5FTzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVV8xLkNVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlULkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzEuQ1VPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9QRVJNSVRfMS5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVF8xLkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY01hbnlFdmVudHMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElULkVPMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8xLkVPMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMF8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMS5FTzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yLkVPMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVQuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yLkVPMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMS5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzIuQ1UiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFVfMi5DVU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVF8yLkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzIuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1IuUyIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NSLkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFUuUiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NSLkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yLkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuU0RfMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuU0RfMyIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNC5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzUuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMi5TRF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF83LklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuUkRfMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF84LklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF82Lk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuU0RfMyIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMC5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18wXzFfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuUU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMF8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF83Lk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzguT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuRV9QRVJNSVQuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzEuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzIuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzIuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI4OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijg5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iODk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfMF8xXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVQuRU8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8xLkNVTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMS5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzEuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ01hbnlFdmVudHMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzAuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVQuRU8yIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8xLkVPMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMF8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzEuRU8yIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIuRU8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElULkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8yLkVPMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8xLkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVXzIuQ1UiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8yLkNVTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzIuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFUuUiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8zIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjkzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuU0RfMiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlJEXzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84LklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlNEXzMiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfMF8xXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNy5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzEuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMi5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLlBVQkxJU0hfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5fM18yXzAuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMl8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzJfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5fM18yXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF80LkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVQuRU8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8xLkNVTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMS5FTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdNYW55RXZlbnRzLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzAuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVC5FTzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzBfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMS5FTzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElUXzEuRU8yIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FTzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElULkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FTzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElUXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8yLkNVIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSI5OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzIuQ1VPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yLkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NSLlMiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iOTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9Ijk5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8zIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzUuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlJEXzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF82Lk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuU0RfMyIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5RTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMF8xXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMF8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83Lk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzJfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5fM18yXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMS5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8yLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQxLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5zdHJpbmdXcml0ZTFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxXzFfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwMzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDAzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTEuUU8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuc3RyaW5nV3JpdGUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlM18xLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlM18xLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLnN0cmluZ1dyaXRlMV8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTQuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUzLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTIuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8zLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDNfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNF8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTVfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTUuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQxLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDIuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLlJEXzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5SRF8yIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8zLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuUkRfMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQzXzEuUkRfMiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNF8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDA5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwwOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLkZfQk9PTF9UT19VSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLkVfREVNVVhfMl8xLkVJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLkVfREVNVVhfMl8xLkVPMSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkhhbmRsZUluaXRfMS5QVUJMSVNIXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLlBVQkxJU0hfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLlBVQkxJU0hfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkhhbmRsZUluaXRfMS5FX0RFTVVYXzJfMS5FTzIiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX0RFTEFZXzEuU1RBUlQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5IYW5kbGVJbml0XzEuUFVCTElTSF8wXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLlNURVNUX0VORF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkhhbmRsZUluaXRfMS5GX0JPT0xfVE9fVUlOVF8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkhhbmRsZUluaXRfMS5FX0RFTVVYXzJfMS5LIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290UmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDExMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RXcml0ZV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWQuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGUuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDExNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMC5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDExNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZC5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDExOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGUuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFdyaXRlXzEuQ05GIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkMi5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzBfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RNZXRob2RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RNZXRob2RfMS5DTkYiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5SIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLkZfQk9PTF9UT19VSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290UmVhZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFJlYWQyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZC5SRF8xIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8yLlJEXzEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMV8xLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGVfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxMzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDEzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLlFPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5Jbml0RmluaXNoZWRTaWduYWxfMS5JTklUTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlBVQkxJU0hfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5Jbml0RmluaXNoZWRTaWduYWxfMS5JTkQiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5QVUJMSVNIXzBfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzJfMS5FTyIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfUEVSTUlUXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1BFUk1JVF8xLkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUyIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9ERUxBWV8xLkVPIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxNDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlBVQkxJU0hfMF8xLkNORiIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMl8xLlMiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVJc29sYXRlZENhc2VzXzEuQ0xJRU5UXzBfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlSXNvbGF0ZWRDYXNlc18xLkNMSUVOVF8wLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZUlzb2xhdGVkQ2FzZXNfMS5QVUJMSVNIXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMS5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5udW1lcmljTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24ubnVtZXJpY05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLm51bWVyaWNOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzJfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9QRVJNSVRfMS5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQxLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMi5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uZm9sZGVyVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlMS5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5mb2xkZXJUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmZvbGRlclRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMS5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5ieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDMuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkM18xLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUyLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLmJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18wLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLlJlbW90ZU1ldGhvZHNfMS5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uUmVtb3RlTWV0aG9kc18xLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5SZW1vdGVNZXRob2RzXzEuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLlJlYWRWYXJzLlJlYWQyLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5SZWFkVmFycy5SZWFkMy5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxOTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuUmVhZFZhcnMuUmVhZDNfMS5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwxOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5zdHJpbmdOb2RlSWRUZXN0UmVtb3RlXzEuV3JpdGVUb1ZhcnMuV3JpdGUxLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDE5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMTk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uc3RyaW5nTm9kZUlkVGVzdFJlbW90ZV8xLldyaXRlVG9WYXJzLldyaXRlM18xLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDIwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLnN0cmluZ05vZGVJZFRlc3RSZW1vdGVfMS5Xcml0ZVRvVmFycy5Xcml0ZTMuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMjAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSGFuZGxlSW5pdF8xLkZfQk9PTF9UT19VSU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMjAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZC5RSSIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwyMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkVfU1JfMV8xLlEiIERlc3RpbmF0aW9uPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5EaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzIuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMjA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMjA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDIwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRV9TUl8xXzEuUSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMjA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXb3JraW5nV2l0aG91dFN1YnNjcmlwdGlvbi5FX1NSXzFfMS5RIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dva2luZ0NsaWVudFdpdGhvdXRTdWJzOzxSZXF1ZXN0IElEPSIxLDIwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IldvcmtpbmdXaXRob3V0U3Vic2NyaXB0aW9uLkluaXRGaW5pc2hlZFNpZ25hbF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29raW5nQ2xpZW50V2l0aG91dFN1YnM7PFJlcXVlc3QgSUQ9IjEsMjA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5DT0xEIiBEZXN0aW5hdGlvbj0iV29ya2luZ1dpdGhvdXRTdWJzY3JpcHRpb24uSW5pdEZpbmlzaGVkU2lnbmFsXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb2tpbmdDbGllbnRXaXRob3V0U3Viczs8UmVxdWVzdCBJRD0iMSwyMTAiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9kZWxheWVkQ2xpZW50LmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2RlbGF5ZWRDbGllbnQuZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTczOTFiNAotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9kZWxheWVkQ2xpZW50LmZib290CkBAIC0wLDAgKzEsMTg5NCBAQAorOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImRlbGF5ZWRXb3JraW5nQ2xpZW50IiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfUEVSTUlUIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuRV9ERUxBWSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCMxcyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkVfREVMQVkuRFQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmk9MTIzNDY7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6aT0xMjM0N10iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTppPTEyMzQ4OywxOmk9MTIzNDldIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM051bWVyaWMiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6aT0xMjM0ODsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOmk9MTIzNDldIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzTnVtZXJpYy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVEZWxheWVkTnVtZXJpYzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZURlbGF5ZWROdW1lcmljMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVEZWxheWVkTnVtZXJpYzFfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6aT0xMjM0NV0iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTppPTEyMzQ2Oy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmk9MTIzNDddIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTppPTEyMzQ4Oy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6aT0xMjM0OV0iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6aT0xMjM0ODssMTppPTEyMzQ5XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTRfTkJOIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNV9OQk4iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMyIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmk9MTIzNDg7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTppPTEyMzQ5XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmUxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1NVQlNDUklCRTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmk9MTIzNDVdIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmk9MTIzNDY7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6aT0xMjM0N10iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXyIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU1IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzUuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMSIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6aT0xMjM0ODssMTppPTEyMzQ5XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTE0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlNF8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU1XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzQuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvbm9PUGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9vbmx5SW5wdXRQYXJhbWV0ZXJzXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMF8xLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18wIiBUeXBlPSJDTElFTlRfM18wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvb25seU91dHB1dFBhbWV0ZXJzXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18wLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIiIFR5cGU9IkNMSUVOVF8zXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9ib3RoSW5wdXRBbmRPdXRwdXRQYXJhbWV0ZXJzXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzUuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzYiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQ0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF82LklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF83IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzgiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzBfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzBfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTU1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTU3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMSIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzEiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzEuUFYiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMSIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlQnJvd3NlTWFueUV2ZW50cyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZUJyb3dzZU1hbnlFdmVudHMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVF8yIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzIiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzIiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCMyIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzIuUFYiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9ub09QYXJhbWV0ZXJzLDE6aT0yMjM0NV0iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTgwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wXzEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTppPTIyMzQ2XSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wIiBUeXBlPSJDTElFTlRfM18wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTppPTIyMzQ3XSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIiIFR5cGU9IkNMSUVOVF8zXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnMsMTppPTIyMzQ4XSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzUuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzYiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF82LklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF83IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzgiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18wXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVCIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElUXzEiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM0IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVV8xIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjOSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVV8xLlBWIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzEiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNNYW55RXZlbnRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY01hbnlFdmVudHMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzIiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzIiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCMyIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzIuUFYiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF80IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF80LklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvc3RyaW5nTm9kZUlkL25vT1BhcmFtZXRlcnMsMTpzPW1ldGhvZEhlbGxvXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvc3RyaW5nTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTpzPW1ldGhvZEhlbGxvMV0iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAiIFR5cGU9IkNMSUVOVF8zXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvb25seU91dHB1dFBhbWV0ZXJzLDE6cz1tZXRob2RIZWxsbzJdIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIiIFR5cGU9IkNMSUVOVF8zXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOnM9bWV0aG9kSGVsbG8zXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQ2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzgiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVCIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMSIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjY1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjNCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzkiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8xLlBWIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMSIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdNYW55RXZlbnRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdNYW55RXZlbnRzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8yIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMiIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8yIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVXzIuUFYiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF80IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9ieXRlU3RyaW5nTm9kZUlkL25vT1BhcmFtZXRlcnMsMTpiPW1ldGhvZEJ5dGVTdHJpbmdOb2RlSWQxXSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyODIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvb25seUlucHV0UGFyYW1ldGVycywxOmI9bWV0aG9kQnl0ZVN0cmluZ05vZGVJZDJdIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAiIFR5cGU9IkNMSUVOVF8zXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9ieXRlU3RyaW5nTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmI9bWV0aG9kQnl0ZVN0cmluZ05vZGVJZDNdIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMiIgVHlwZT0iQ0xJRU5UXzNfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjkxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOmI9bWV0aG9kQnl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjkzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzciIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wXzFfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wXzFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluXzNfMl8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVQiIFR5cGU9IkVfU1BMSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVF8xIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjNCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVS5QViIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzkiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMS5QViIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8xIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nTWFueUV2ZW50cyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdNYW55RXZlbnRzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMiIgVHlwZT0iRV9TUExJVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8yIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8yLlBWIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0LlNURVNUX0VORF8xIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0LkVfREVNVVhfMl8xIiBUeXBlPSJFX0RFTVVYXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEiIFR5cGU9IkZfQk9PTF9UT19VSU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuUFVCTElTSF8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMSIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuUFVCTElTSF8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMSVNIXzAiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzAuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMCIgRGVzdGluYXRpb249IlBVQkxJU0hfMC5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkluaXRGaW5pc2hlZFNpZ25hbCIgVHlwZT0iU1VCU0NSSUJFXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iSW5pdEZpbmlzaGVkU2lnbmFsLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE0OTkiIERlc3RpbmF0aW9uPSJJbml0RmluaXNoZWRTaWduYWwuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWRdIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTpiPWJ5dGVTdHJpbmdOb2RlSWQzOywxOmI9Ynl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMiIgVHlwZT0iQ0xJRU5UXzJfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzYxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMTsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpiPWJ5dGVTdHJpbmdOb2RlSWQyXSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlQnl0ZXN0cmluZ0RlbGF5MSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTFfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlQnl0ZXN0cmluZ0RlbGF5MV8xXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZF0iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDE7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMl0iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzg0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMyIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzg4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQzOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkNF0iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMSIgVHlwZT0iQ0xJRU5UXzBfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzk0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6Yj1ieXRlU3RyaW5nTm9kZUlkMzssMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDA2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmUzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWRdIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQxOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmI9Ynl0ZVN0cmluZ05vZGVJZDJdIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIzIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfUEVSTUlUIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXyIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlNSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDQ5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTNfMSIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6Yj1ieXRlU3RyaW5nTm9kZUlkMzssMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTVfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTRfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDYxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMnMiIERlc3RpbmF0aW9uPSJFX0RFTEFZLkRUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDY1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDY3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVTdHJpbmcxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVTdHJpbmcxXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZVN0cmluZzFfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVTdHJpbmcxXzFfMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvXSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6cz1oZWxsbzE7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpzPWhlbGxvMl0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTpzPWhlbGxvMzssMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6cz1oZWxsbzM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOnM9aGVsbG80XSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDkxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvXSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6cz1oZWxsbzE7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpzPWhlbGxvMl0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ5NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDk5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6cz1oZWxsbzM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOnM9aGVsbG80XSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMTpzPWhlbGxvMzssMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNF8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmU0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMyIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOnM9aGVsbG8zOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTM4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOnM9aGVsbG9dIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTQzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6cz1oZWxsbzE7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpzPWhlbGxvMl0iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTU1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81LklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTU5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTYxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNF8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1NVQlNDUklCRTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOywxOnM9aGVsbG8zOywxOnM9aGVsbG80XSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1ODAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSXzEiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSXzIiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1ODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1ODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMyIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjEvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvZm9sZGVyMi9Ob0lkXSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTkxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTk0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL05vSWRdIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1NVQlNDUklCRTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDFdIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMi5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIzIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXyIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjE0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8uSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81LklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjM4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkVfREVMQVkiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzFzIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX0RFTEFZLkRUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvTm9JZF0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkMV0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzIiBUeXBlPSJDTElFTlRfMl8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjEvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvZm9sZGVyMi9Ob0lkXSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZURlbGF5ZWRGb2xkZXIxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVEZWxheWVkRm9sZGVyMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9Ob0lkXSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyIiBUeXBlPSJDTElFTlRfMF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQxXSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjU1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjY2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMiIFR5cGU9IkNMSUVOVF8wXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9mb2xkZXIxL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjIvTm9JZF0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjc5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9Jc29sYXRlZFRlc3RzL1JFQURWYXJpYWJsZV0iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLldSSVRFX09ubHlfcmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLlJFQURfT25seV9yZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL0lzb2xhdGVkVGVzdHMvV1JJVEVWYXJpYWJsZV0iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xXzEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL25vTmV3Rm9sZGVyXSIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLnJlYWROb05ld0ZvbGVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2OTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjk3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL25vTmV3Rm9sZGVyTWV0aG9kXSIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLm1ldGhvZE5vTmV3Rm9sZGVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuUFVCTElTSF8xIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvSXNvbGF0ZWRUZXN0cy9SRUFEVmFyaWFibGVdIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVJc29sYXRlZENhc2VzLndyaXRlT25seVdyaXR0YWJsZVZhciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290UmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RXcml0ZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RNZXRob2QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290UmVhZDIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFdyaXRlXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWQiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy8xOndyaXRlVmFyXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWQuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzIiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy8xOmZvbGRlcjIvd3JpdGVWYXJdIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8yLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvMTpmb2xkZXIyL3JlYWRWYXJdIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvMTpyZWFkVmFyL10iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy8xOm1ldGhvZF0iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy8xOmZvbGRlcjIvbWV0aG9kXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xIiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VGVzdE1ldGhvZF0iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzM2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVPYmplY3RNZXRob2QxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzM4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjczOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIyXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VmFyaWFibGUxXSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy90ZXN0T2JqZWN0MS8yOlZhcmlhYmxlMl0iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVPYmplY3RNZXRob2QyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMV8xIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvdGVzdE9iamVjdDIvMjpWYXJpYWJsZTJdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzUzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8yIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy90ZXN0T2JqZWN0Mi8yOlZhcmlhYmxlMV0iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yIiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzY1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3Rlc3RPYmplY3QyLzI6VGVzdE1ldGhvZF0iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlVmFyMV8yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjJfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDJfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzczIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMl8xIiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3Rlc3RPYmplY3QyLzI6VGVzdE1ldGhvZDJdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMl8xLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3ODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMyIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy90ZXN0T2JqZWN0MS8yOlRlc3RNZXRob2QyXSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzMuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzMiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc4MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMy5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtvbnduU2VydmVyIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzg1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vMTkyLjE2OC4wLjEwMDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmk9MjIzNDddIiBEZXN0aW5hdGlvbj0iVW5rb253blNlcnZlci5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25TZXJ2ZXIyIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzg3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJVbmtub3duU2VydmVyMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzg4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vMTkyLjE2OC4wLjEwMTo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmk9MjIzNDddIiBEZXN0aW5hdGlvbj0iVW5rbm93blNlcnZlcjIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX0RFTEFZLlNUQVJUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuRV9TV0lUQ0guRU8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNOdW1lcmljLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX0RFTEFZLkVPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzTnVtZXJpYy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzTnVtZXJpYy5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzTnVtZXJpYy5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZURlbGF5ZWROdW1lcmljMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZURlbGF5ZWROdW1lcmljMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlRGVsYXllZE51bWVyaWMxLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVEZWxheWVkTnVtZXJpYzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZURlbGF5ZWROdW1lcmljMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZURlbGF5ZWROdW1lcmljMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM051bWVyaWMuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM051bWVyaWMuU0RfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNOdW1lcmljLlFPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUU8iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZURlbGF5ZWROdW1lcmljMV8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlFPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVEZWxheWVkTnVtZXJpYzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5RTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlRGVsYXllZE51bWVyaWMxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUxLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU0LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU0LkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUzLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUzLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMi5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNF9OQk4uUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNV9OQk4uUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTRfTkJOLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTVfTkJOLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTUuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUkRfMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlJEXzEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlJEXzIiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUkRfMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLm51bWVyaWNUZXN0UmVhZFJlbW90ZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLlJEXzEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMubnVtZXJpY1Rlc3RSZWFkUmVtb3RlNF9OQk4uY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5udW1lcmljVGVzdFJlYWRSZW1vdGU1X05CTi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuSU5EIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklORCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuSU5EIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmUxLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5udW1lcmljSWRUZXN0U3Vic2NyaWJlNS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzUuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iODk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xLklORCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU1XzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzIuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuUkRfMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5SRF8yIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLlJEXzEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5SRF8yIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzUuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmUzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLm51bWVyaWNJZFRlc3RTdWJzY3JpYmU1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8uSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTRfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEubnVtZXJpY0lkVGVzdFN1YnNjcmliZTVfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzBfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlTWV0aG9kQnJvd3NlXzNfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzguQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF83LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF83LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF84LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18yXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzUuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzYuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8wXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElULkVPMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8xLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVXzEuQ1VPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzEuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzEuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuUmVtb3RlQnJvd3NlTWFueUV2ZW50cy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVC5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMS5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfM18wXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzEuRU8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVF80LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVF8yLkVPMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElULkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NQTElUXzIuRU8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMS5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMi5DVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMi5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElUXzIuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1IuUyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX1NSLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuU0RfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzMuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuU0RfMyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzNfMi5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLlJEXzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzguSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5UXzYuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzIuU0RfMyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfMF8xLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8wXzFfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5SZW1vdGVNZXRob2RCcm93c2VfMF8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18wLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfNy5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5ESU5UMkRJTlRfOC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLlJlbW90ZU1ldGhvZEJyb3dzZV8zXzJfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlULlBFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5FX0NUVV8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9QRVJNSVRfMS5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9DVFVfMi5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkVfUEVSTUlUXzIuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMi5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18wXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzBfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzguQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzcuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzcuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzguUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF81LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzYuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF82LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzBfMV8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzBfMV8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDAzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVQuRU8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFVfMS5DVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFVfMS5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9QRVJNSVRfMS5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVF8xLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNNYW55RXZlbnRzLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVQuRU8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMS5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18wXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMS5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMi5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NQTElUXzIuRU8yIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1BMSVRfMS5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVV8yLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzIuQ1VPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzIuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9QRVJNSVRfMi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1NSLlMiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX0NUVS5SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9TUExJVF8yLkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLlNEXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLlNEXzMiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMi5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5ESU5UMkRJTlRfNy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlJEXzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzguSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzYuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuU0RfMyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzBfMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzBfMV8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfMF8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18wLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzcuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRElOVDJESU5UXzguT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5SZW1vdGVOdW1lcmljXzNfMl8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuUmVtb3RlTnVtZXJpY18zXzJfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfM18yLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLlJlbW90ZU51bWVyaWNfM18yXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFUuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuRV9DVFVfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfUEVSTUlUXzEuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkVfQ1RVXzIuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5FX1BFUk1JVF8yLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18wXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzBfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDA5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF80LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwwOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF82LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF82LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfMF8xXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMy5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVQuRU8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMS5DVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlULkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMS5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8xLkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDExMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMS5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ01hbnlFdmVudHMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDExMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElULkVPMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDExMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDExNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8xLkVPMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMS5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIuRU8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NQTElUXzEuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVXzIuQ1UiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8yLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzIuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUi5TIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1NSLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9TUExJVF8yLkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5TRF8zIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzUuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlJEXzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF82Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuU0RfMyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzBfMV8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfMF8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMF8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDEzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuUmVtb3RlU3RyaW5nXzNfMl8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLlJlbW90ZVN0cmluZ18zXzJfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5SZW1vdGVTdHJpbmdfM18yXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9DVFVfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMS5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX0NUVV8yLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF84LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbl8zXzJfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzcuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzguUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzJfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluXzNfMl8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzUuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81LkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzYuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMF8xXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMF8xXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMy5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVC5FTzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8xLkNVIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8xLkNVTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8xLkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfUEVSTUlUXzEuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ01hbnlFdmVudHMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVC5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVF8xLkVPMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVF8xLkVPMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVF8yLkVPMSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElULkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1BMSVRfMi5FTzIiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUExJVF8xLkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzIuQ1UiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9DVFVfMi5DVU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMi5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8yLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfU1IuUyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NSLkVPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLlIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9TUi5FTyIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1NQTElUXzIuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuU0RfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlJEXzEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18wLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRElOVDJESU5UXzMuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuU0RfMyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF81Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfM18yLlNEXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkRJTlQyRElOVF83LklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUkRfMiIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwxOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5TRF8zIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDE5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8wLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfMF8xXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18wXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzAuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluZ18zXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfNy5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5ESU5UMkRJTlRfOC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLlJlbW90ZUJ5dGVTdHJpbmdfM18yXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5SZW1vdGVCeXRlU3RyaW5nXzNfMl8yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuUmVtb3RlQnl0ZVN0cmluXzNfMl8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVQuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkVfQ1RVXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX1BFUk1JVF8xLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5FX0NUVV8yLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuRV9QRVJNSVRfMi5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5FX0RFTVVYXzJfMS5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuRV9ERU1VWF8yXzEuRU8xIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5JTklUTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuUFVCTElTSF8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdC5FX0RFTVVYXzJfMS5FTzIiIERlc3RpbmF0aW9uPSJFX0RFTEFZLlNUQVJUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5DTkYiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LlNURVNUX0VORF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuRl9CT09MX1RPX1VJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LkVfREVNVVhfMl8xLksiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuSU5JVE8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVCeXRlc3RyaW5nRGVsYXkxXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTFfMV8yLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVCeXRlc3RyaW5nRGVsYXkxLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlQnl0ZXN0cmluZ0RlbGF5MV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDIzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLlNEXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuUU8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUU8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5RTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlQnl0ZXN0cmluZ0RlbGF5MV8xXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUU8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZUJ5dGVzdHJpbmdEZWxheTFfMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuSU5JVE8iIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU0LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTQuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlMy5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTIuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNF8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLmJ5dGVzdHJpbmdUZXN0UmVhZFJlbW90ZTVfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuRV9TUExJVF8yLkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLlJEXzEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlJEXzEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUkRfMiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuYnl0ZXN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUkRfMiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRF8xIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwyOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGUxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLlJEXzEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDI5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5ieXRlc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLlJEXzIiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMi5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMjk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMy5JTkQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMS5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMS5JTkQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMi5JTkQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmU0LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmU1LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXy5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzUuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzVfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmU1XzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTNfMS5JTkQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlNF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTNfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDMzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLlJEXzEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLlJEXzIiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfM18xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMi5SRF8yIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRV9DVFUuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzUuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfM18xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzVfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzIuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmUzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5ieXRlc3RyaW5nSWRUZXN0U3Vic2NyaWJlNS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXy5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81Lk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTNfMS5SRF8yIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuYnl0ZXN0cmluZ0lkVGVzdFN1YnNjcmliZTVfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzVfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzXzEuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmJ5dGVzdHJpbmdJZFRlc3RTdWJzY3JpYmU0XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVTdHJpbmcxLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZVN0cmluZzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZVN0cmluZzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlU3RyaW5nMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSwzOTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVTdHJpbmcxXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlU3RyaW5nMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDM5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZVN0cmluZzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsMzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlU3RyaW5nMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5RTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVTdHJpbmcxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5RTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVTdHJpbmcxXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5RTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVTdHJpbmcxXzFfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlFPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZVN0cmluZzFfMV8xXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGUxLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNC5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU1LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMy5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU1XzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTRfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU1LkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLlJEXzEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5SRF8xIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5SRF8yIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlNS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJEXzIiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJEXzEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLnN0cmluZ1Rlc3RSZWFkUmVtb3RlMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5SRF8yIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuc3RyaW5nVGVzdFJlYWRSZW1vdGU0XzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5zdHJpbmdUZXN0UmVhZFJlbW90ZTVfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5JTkQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUxLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTEuSU5EIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5JTkQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1IuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1IuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmUxLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8yLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmU1LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8uUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xLklORCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDQ5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNDk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw0OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTMuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5SRF8yIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfM18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5SRF8xIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfM18xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUyLlJEXzEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5SRF8yIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfM18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1IuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1IuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLnN0cmluZ0lkVGVzdFN1YnNjcmliZTMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5zdHJpbmdJZFRlc3RTdWJzY3JpYmU1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXy5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzUuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8uSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfNV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV8xXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfT1JfMV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRX18yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9PUl8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuUkRfMiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuRl9FUV9fMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTNfMS5SRF8xIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5CT09MMkJPT0xfMV8xXzFfM18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkJPT0wyQk9PTF8xXzFfMV8zXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLkZfRVFfMV8xXzFfMl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDUzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuc3RyaW5nSWRUZXN0U3Vic2NyaWJlNF8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX09SXzFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuQk9PTDJCT09MXzFfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5GX0VRXzVfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMy5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMy5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUyLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLklORCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfM18xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJVbmtvbnduU2VydmVyLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5FX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmUzLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5mb2xkZXJUZXN0U3Vic2NyaWJlMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5mb2xkZXJUZXN0U3Vic2NyaWJlNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTUuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzUuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfM18xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5CT09MMkJPT0xfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMS5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuUkRfMiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfM18xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRV9DVFUuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkVfUEVSTUlULlBFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzUuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfM18xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV81XzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRX18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1IuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzVfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV9fMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmUyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLmZvbGRlclRlc3RTdWJzY3JpYmUzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDU5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTQuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfT1JfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuZm9sZGVyVGVzdFN1YnNjcmliZTUuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNTk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkZfRVFfNS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX09SXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw1OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXy5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5GX0VRXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9PUl8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuRl9FUV8xXzFfMV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuRV9ERUxBWS5TVEFSVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX0RFTEFZLkVPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVEZWxheWVkRm9sZGVyMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlRGVsYXllZEZvbGRlcjEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy53cml0ZURlbGF5ZWRGb2xkZXIxXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlRGVsYXllZEZvbGRlcjFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuQk9PTDJCT09MXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlNEXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuU0RfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlFPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuUU8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLndyaXRlRGVsYXllZEZvbGRlcjEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5RTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMud3JpdGVEZWxheWVkRm9sZGVyMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTQuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlNS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDYzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkZfRVFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUyLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGUxLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlNS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5SRF8yIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuZm9sZGVyVGVzdFJlYWRSZW1vdGU0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlNS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMy5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuRl9FUV8xXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLkJPT0wyQk9PTF8xXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLlJlYWRWYXJzLmZvbGRlclRlc3RSZWFkUmVtb3RlMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5SZWFkVmFycy5mb2xkZXJUZXN0UmVhZFJlbW90ZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLldSSVRFX09ubHlfcmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLldSSVRFX09ubHlfcmVhZC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5SRUFEX09ubHlfcmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMucmVhZE5vTmV3Rm9sZXIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLlJFQURfT25seV9yZWFkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMC5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWQuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLnJlYWROb05ld0ZvbGVyLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5tZXRob2ROb05ld0ZvbGRlci5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzAuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5tZXRob2ROb05ld0ZvbGRlci5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy53cml0ZU9ubHlXcml0dGFibGVWYXIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMud3JpdGVPbmx5V3JpdHRhYmxlVmFyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzEuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuUkVBRF9Pbmx5X3JlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLldSSVRFX09ubHlfcmVhZC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5yZWFkTm9OZXdGb2xlci5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzBfMV8xXzEuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuQ0xJRU5UXzAuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLm1ldGhvZE5vTmV3Rm9sZGVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDY5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUlzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy53cml0ZU9ubHlXcml0dGFibGVWYXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNjk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RSZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8yLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw2OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuRl9FUV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFJlYWQyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMi5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFdyaXRlXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZC5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RXcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8yLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLmRpcmVjdFJvb3RXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuU0VSVkVSXzAuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZC5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLnJvb3RSZWFkXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8yLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFJlYWQuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGVfMS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFJlYWQyLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdE1ldGhvZF8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xLk9VVCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290UmVhZC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUuZGlyZWN0Um9vdFJlYWQyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZC5SRF8xIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5CT09MMkJPT0xfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8yLlJEXzEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290UmVtb3RlLkJPT0wyQk9PTF8yXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMV8xLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGVfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3RSZW1vdGUuQk9PTDJCT09MXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDcyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290V3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290UmVtb3RlLlNFUlZFUl8wLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDczMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5kaXJlY3RSb290TWV0aG9kXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDczNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5GX0VRLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDczNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDczNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIxXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIyXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8yLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIxXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlVmFyMl8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93blNlcnZlcjIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZVZhcjJfMi5DTkYiIERlc3RpbmF0aW9uPSJFX1NSXzEuUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMl8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMl8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8zLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMy5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMucmVtb3RlVmFyMl8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLnJlbW90ZU9iamVjdE1ldGhvZDJfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzEuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIxXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlVmFyMl8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8yLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIxXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkRJTlQyRElOVF8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMV8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVWYXIyXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMi5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMucmVtb3RlT2JqZWN0TWV0aG9kMl8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMl8xLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDc5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlZE9iamVjdHMuRElOVDJESU5UXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw3OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZWRPYmplY3RzLkZfRVFfMy5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5yZW1vdGVPYmplY3RNZXRob2QxXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8zLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkZfRVFfMy5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMy5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsNzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8zLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5ESU5UMkRJTlRfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdEZpbmlzaGVkU2lnbmFsLklOSVRPIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJbml0RmluaXNoZWRTaWduYWwuSU5EIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iRV9TUl8xLlMiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzAuQ05GIiBEZXN0aW5hdGlvbj0iRV9TUl8yLlMiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuRU8iIERlc3RpbmF0aW9uPSJFX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5FTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTEFZLkVPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5CT09MMkJPT0xfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5DT0xEIiBEZXN0aW5hdGlvbj0iSW5pdEZpbmlzaGVkU2lnbmFsLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iSW5pdEZpbmlzaGVkU2lnbmFsLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duU2VydmVyMi5JTklUTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuRl9CT09MX1RPX1VJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtvbnduU2VydmVyLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzTnVtZXJpYy5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCcm93c2VOYW1lLkNMSUVOVF8zXzAuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnJvd3NlTmFtZS5DTElFTlRfM18yLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJyb3dzZU5hbWUuQ0xJRU5UXzAuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZU51bWVyaWNNZXRob2QuQ0xJRU5UXzNfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVOdW1lcmljTWV0aG9kLkNMSUVOVF8zXzIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlTnVtZXJpY01ldGhvZC5DTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVTdHJpbmdNZXRob2QuQ0xJRU5UXzAuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVNZXRob2RzLlJlbW90ZUJ5dGVTdHJpbmdNZXRob2QuQ0xJRU5UXzNfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlTWV0aG9kcy5SZW1vdGVCeXRlU3RyaW5nTWV0aG9kLkNMSUVOVF8zXzIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZU1ldGhvZHMuUmVtb3RlQnl0ZVN0cmluZ01ldGhvZC5DTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQyLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMy5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDgzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJieXRlc3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnMuU3Vic2NyaWJlMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iYnl0ZXN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImJ5dGVzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFycy5TdWJzY3JpYmUzXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDNfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlM18xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMy5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0UmVtb3RlLlN1YnNjcmliZVRvVmFyc18xLlN1YnNjcmliZTEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdFJlbW90ZS5TdWJzY3JpYmVUb1ZhcnNfMS5TdWJzY3JpYmUzXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQxLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5SZWFkVmFycy5SZWFkMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLlJlYWRWYXJzLlJlYWQzXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUyLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTNfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUzTnVtZXJpYy5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMy5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzXzEuU3Vic2NyaWJlM18xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJFX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuU3Vic2NyaWJlVG9WYXJzLlN1YnNjcmliZTIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuUmVhZFZhcnMuUmVhZDMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RSZW1vdGUuV3JpdGVUb1ZhcnMuV3JpdGUxLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0UmVtb3RlLldyaXRlVG9WYXJzLldyaXRlMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdFJlbW90ZS5Xcml0ZVRvVmFycy5Xcml0ZTMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuRl9CT09MX1RPX1VJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVJc29sYXRlZENhc2VzLkNMSUVOVF8wXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMF8xXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5DTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWQuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5yb290UmVhZF8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3RSZW1vdGUucm9vdFJlYWRfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdFJlbW90ZS5TRVJWRVJfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ0NsaWVudDs8UmVxdWVzdCBJRD0iMSw4ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlZE9iamVjdHMuQ0xJRU5UXzFfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8xXzIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzFfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxLDg5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVkT2JqZWN0cy5DTElFTlRfMV8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IkNyZWF0ZWRPYmplY3RzLkNMSUVOVF8xXzMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlVua29ud25TZXJ2ZXIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEsODk0IiBBY3Rpb249IlNUQVJUIi8+CmRpZmYgLS1naXQgYS9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvZGVsYXllZFNlcnZlci5mYm9vdCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9kZWxheWVkU2VydmVyLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MzFmNTQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvZGVsYXllZFNlcnZlci5mYm9vdApAQCAtMCwwICsxLDExNzEgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxheWVkV29ya2luZ1NlcnZlciIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2Jyb3dzZU5hbWVPbmx5L25vT1BhcmFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zIiBUeXBlPSJTRVJWRVJfMF8zIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2Jyb3dzZU5hbWVPbmx5L29ubHlPdXRwdXRQYW1ldGVyc10iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMyIgVHlwZT0iU0VSVkVSXzJfMyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfM18wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvb25seUlucHV0UGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8xXzBfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfM18yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzJfM18xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRV9ERUxBWSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVMQVkuRFQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVMQVlfMSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVMQVlfMS5EVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL25vT1BhcmFtZXRlcnMsMTppPTIyMzQ1XSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zIiBUeXBlPSJTRVJWRVJfMF8zIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmk9MjIzNDddIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMiIFR5cGU9IlNFUlZFUl8yXzMiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL251bWVyaWNOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOmk9MjIzNDhdIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTppPTIyMzQ2XSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMV8wXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5FX0RFTEFZIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzUwMG1zIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5FX0RFTEFZLkRUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkVfREVMQVlfMSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRV9ERUxBWV8xLkRUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9ub09QYXJhbWV0ZXJzLDE6cz1tZXRob2RIZWxsb10iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMyIgVHlwZT0iU0VSVkVSXzBfMyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTpzPW1ldGhvZEhlbGxvMl0iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMl8zIiBUeXBlPSJTRVJWRVJfMl8zIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvc3RyaW5nTm9kZUlkL2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnMsMTpzPW1ldGhvZEhlbGxvM10iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18yXzNfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAiIFR5cGU9IlNFUlZFUl8xXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvb25seUlucHV0UGFyYW1ldGVycywxOnM9bWV0aG9kSGVsbG8xXSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMV8wXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTE1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfM18yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5FX0RFTEFZIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5FX0RFTEFZLkRUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVMQVlfMSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjNTAwbXMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRV9ERUxBWV8xLkRUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9ieXRlU3RyaW5nTm9kZUlkL25vT1BhcmFtZXRlcnMsMTpiPW1ldGhvZEJ5dGVTdHJpbmdOb2RlSWQxXSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMF8zIiBUeXBlPSJTRVJWRVJfMF8zIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnl0ZVN0cmluZ05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTpiPW1ldGhvZEJ5dGVTdHJpbmdOb2RlSWQzXSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMiIFR5cGU9IlNFUlZFUl8yXzMiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9ieXRlU3RyaW5nTm9kZUlkL2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnMsMTpiPW1ldGhvZEJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzJfM18wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvb25seUlucHV0UGFyYW1ldGVycywxOmI9bWV0aG9kQnl0ZVN0cmluZ05vZGVJZDJdIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzFfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8zXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8zXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8zXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTc5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5FX0RFTEFZIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRV9ERUxBWS5EVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRV9ERUxBWV8xIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRV9ERUxBWV8xLkRUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNVQlNDUklCRV8wXzEiIFR5cGU9IlNVQlNDUklCRV8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuSW5pdEZpbmlzaGVkIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTQ5OSIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuU1VCU0NSSUJFXzAiIFR5cGU9IlNVQlNDUklCRV8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE1MDAiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuU1VCU0NSSUJFXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRSIgVHlwZT0iRV9DWUNMRSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMTAwMG1zIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkVfQ1lDTEUuRFQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuRV9ERU1VWF8yIiBUeXBlPSJFX0RFTVVYXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQiIFR5cGU9IkZfQk9PTF9UT19VSU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWV8xIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCMxMHMiIERlc3RpbmF0aW9uPSJFX0RFTEFZXzEuRFQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NQTElUIiBUeXBlPSJFX1NQTElUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWV8xXzEiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzEwcyIgRGVzdGluYXRpb249IkVfREVMQVlfMV8xLkRUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9QRVJNSVRfMSIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LnJvb3RSZWFkIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy8xOnJlYWRWYXIvXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFJlYWQuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290UmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LnJvb3RXcml0ZSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy8xOndyaXRlVmFyXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFdyaXRlLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290V3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5TRVJWRVJfMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvMTptZXRob2RdIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5TRVJWRVJfMC5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3QuZGlyZWN0Um9vdE1ldGhvZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LnJvb3RSZWFkXzIiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7LzE6Zm9sZGVyMi9yZWFkVmFyXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFJlYWRfMi5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFJlYWQyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3Qucm9vdFdyaXRlMiIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy8xOmZvbGRlcjIvd3JpdGVWYXJdIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290V3JpdGUyLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5TRVJWRVJfMF8xIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy8xOmZvbGRlcjIvbWV0aG9kXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuU0VSVkVSXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LmRpcmVjdFJvb3RXcml0ZTIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290TWV0aG9kXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjM0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3QuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9Jc29sYXRlZFRlc3RzL1dSSVRFVmFyaWFibGVdIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSXNvbGF0ZWRDYXNlcy5URVNUX0NPTkRJVElPTiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLlNVQlNDUklCRV8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL0lzb2xhdGVkVGVzdHMvUkVBRFZhcmlhYmxlXSIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuU1VCU0NSSUJFXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzFfMSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL25vTmV3Rm9sZGVyXSIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLlNFUlZFUl8wIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjUxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL25vTmV3Rm9sZGVyTWV0aG9kXSIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLmRlbGV0ZU9iamVjdDEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5kZWxldGVPYmplY3QyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuY3JlYXRlT2JqZWN0MiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLmNyZWF0ZU9iamVjdDMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbREVMRVRFX09CSkVDVDsvT2JqZWN0cy9jcmVhdGVkMS9jcmVhdGVkMi9jcmVhdGVkM10iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzEiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtERUxFVEVfT0JKRUNUOy9PYmplY3RzL2NyZWF0ZWQxL2NyZWF0ZWQyXSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzIiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfT0JKRUNUOywwOmk9NjE7L09iamVjdHMvY3JlYXRlZDFdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8yLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDsvVHlwZXMvMDpPYmplY3RUeXBlcy8wOkJhc2VPYmplY3RUeXBlLzA6Rm9sZGVyVHlwZTsvT2JqZWN0cy9jcmVhdGVkMS9jcmVhdGVkMl0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7LzA6VHlwZXMvMDpPYmplY3RUeXBlcy8wOkJhc2VPYmplY3RUeXBlLzA6Rm9sZGVyVHlwZSwwOmk9NjE7L09iamVjdHMvY3JlYXRlZDEvY3JlYXRlZDIvY3JlYXRlZDNdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMV8xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDssMDppPTIwMDQ7L09iamVjdHMvY3JlYXRlZDEvbmV3U2VydmVyXSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLmNyZWF0ZVNlcnZlciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdCIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7LDI6aT0xNTAwMTsvT2JqZWN0cy90ZXN0T2JqZWN0MV0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QxVGVzdCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyVGVzdCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDsvVHlwZXMvMDpPYmplY3RUeXBlcy8wOkJhc2VPYmplY3RUeXBlLzI6VGVzdE9iamVjdDsvT2JqZWN0cy90ZXN0T2JqZWN0Ml0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy90ZXN0T2JqZWN0MS8yOlRlc3RNZXRob2RdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMiIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyODYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VmFyaWFibGUxXSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjg4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VmFyaWFibGUyXSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMub2plY3RWYXIyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkVfU1dJVENIXzEiIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy90ZXN0T2JqZWN0Mi8yOlZhcmlhYmxlMV0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMl8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5vamVjdFZhcjFfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzA3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzFfMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy90ZXN0T2JqZWN0Mi8yOlZhcmlhYmxlMl0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvdGVzdE9iamVjdDIvMjpUZXN0TWV0aG9kXSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRl9FUV8zIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfMy5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzE5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8yIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VGVzdE1ldGhvZDJdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8yLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV80LklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfNCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF80IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDFfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzMiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvdGVzdE9iamVjdDIvMjpUZXN0TWV0aG9kMl0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzMuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuQk9PTDJCT09MXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuQk9PTDJCT09MXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuQk9PTDJCT09MXzFfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLldyaXRhYmxlMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvTm9JZF0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuV3JpdGFibGUxLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLldyaXRhYmxlMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQxXSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5Xcml0YWJsZTIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuV3JpdGFibGUzIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9mb2xkZXIxL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjIvTm9JZF0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuV3JpdGFibGUzLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLmxvY2FsUmVhZEZvbGRlcjEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLmxvY2FsUmVhZEZvbGRlcjIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLmxvY2FsUmVhZEZvbGRlcjMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RfMS5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLkZfRVFfNV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfNV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3RfMS5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuRl9FUV8yXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfMl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLmxvY2FsUmVhZEZvbGRlcjUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLkZfT1JfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdF8xLkZfRVFfNV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEubG9jYWxSZWFkRm9sZGVyNCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0XzEuRl9PUl8yXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWRdIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5Xcml0YWJsZTEuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDE7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMl0iIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMi5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuV3JpdGFibGUzIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzgwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5Xcml0YWJsZTMuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLmxvY2FsQnl0ZXN0cmluZ051bWVyaWMxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEubG9jYWxCeXRlc3RyaW5nTnVtZXJpYzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLmxvY2FsQnl0ZXN0cmluZ051bWVyaWM0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEubG9jYWxCeXRlc3RyaW5nTnVtZXJpYzUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzkxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5Xcml0YWJsZTEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6aT0xMjM0NV0iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMS5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUyIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6aT0xMjM0NjsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTppPTEyMzQ3XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUyLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5Xcml0YWJsZTMiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTppPTEyMzQ4Oy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6aT0xMjM0OV0iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMy5JRCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0XzEubG9jYWxOdW1lcmljMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdF8xLmxvY2FsTnVtZXJpYzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5sb2NhbE51bWVyaWMzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0XzEubG9jYWxOdW1lcmljNCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdF8xLmxvY2FsTnVtZXJpYzUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvXSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUxLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOnM9aGVsbG8xOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6cz1oZWxsbzJdIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuSUQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMyIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6cz1oZWxsbzM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOnM9aGVsbG80XSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUzLklEIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDY3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDcyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0ODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8xXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzBfMy5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuUlNQIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMV8wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMC5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzBfMy5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8zLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLlJTUCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzJfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzJfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzJfM18yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzJfM18zLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMy5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRV9ERUxBWS5TVEFSVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5FX0RFTEFZLkVPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVMQVlfMS5TVEFSVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5FX0RFTEFZXzEuRU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8xXzBfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMy5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuUkRfMSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzBfMy5SRF8zIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLlJEXzIiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlJEXzMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMy5RTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzJfM18wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMC5RTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzFfMF8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuU0RfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzJfM18yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8wLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuUlNQIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzFfMF8wLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8xXzAuUlNQIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzBfMy5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wXzMuUlNQIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlJTUCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRV9ERUxBWS5TVEFSVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkVfREVMQVkuRU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkVfREVMQVlfMS5TVEFSVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkVfREVMQVlfMS5FTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzFfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuUkRfMiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5SRF8xIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLlJEXzMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLlJEXzIiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5SRF8zIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMV8wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMy5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuU0RfMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wLlJTUCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMV8wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfM18yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18yXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18yXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5FX0RFTEFZXzEuU1RBUlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVMQVlfMS5FTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5FX0RFTEFZLlNUQVJUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5FX0RFTEFZLkVPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzFfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SRF8xIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SRF8zIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUkRfMiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfM18wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUkRfMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzFfMF8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMy5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfM18xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMC5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wLlJTUCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlNVQlNDUklCRV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMV8wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18zLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzJfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzJfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzJfM18yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzJfM18zLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUlNQIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkVfREVMQVlfMS5TVEFSVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkVfREVMQVlfMS5FTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzFfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRV9ERUxBWS5TVEFSVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkVfREVMQVkuRU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMC5RTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUkRfMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUkRfMiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUkRfMSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlJEXzMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18xXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5TRF8yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18zLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRS5FTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JTkQiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRS5TVE9QIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5GX0JPT0xfVE9fVUlOVC5DTkYiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRV9ERU1VWF8yLkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JTklUTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuSW5pdEZpbmlzaGVkLklOSVRPIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkZfQk9PTF9UT19VSU5ULlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRV9ERU1VWF8yLkVPMiIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5FX0NZQ0xFLlNUQVJUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIuRU8xIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLlNURVNUX0VORC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjczMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdExvY2FsLkZfQk9PTF9UT19VSU5ULk9VVCIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIuSyIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LnJvb3RSZWFkLklORCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjczMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjczNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5GX0VRLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFJlYWQuSU5JVE8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RXcml0ZS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFdyaXRlLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LmRpcmVjdFJvb3RNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5TRVJWRVJfMC5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjczOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5TRVJWRVJfMC5JTkQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RNZXRob2QuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFJlYWRfMi5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFdyaXRlMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuU0VSVkVSXzBfMS5JTkQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RNZXRob2RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290V3JpdGUyLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFdyaXRlMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuZGlyZWN0Um9vdE1ldGhvZF8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuU0VSVkVSXzBfMS5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290UmVhZF8yLklORCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RSZWFkMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5TRVJWRVJfMC5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFJlYWRfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290V3JpdGUyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RXcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290V3JpdGUuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290V3JpdGUuSU5JVE8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290V3JpdGUyLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5TRVJWRVJfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5TRVJWRVJfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5FX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LmRpcmVjdFJvb3RXcml0ZTIuQ05GIiBEZXN0aW5hdGlvbj0iRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFJlYWQuUkRfMSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RXcml0ZS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFdyaXRlLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5kaXJlY3RSb290V3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5TRVJWRVJfMC5RTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdE1ldGhvZC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LnJvb3RXcml0ZTIuUU8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RXcml0ZTIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5TRVJWRVJfMF8xLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5kaXJlY3RSb290TWV0aG9kXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5kaXJlY3RSb290UmVhZDIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290UmVhZF8yLlJEXzEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RXcml0ZTIuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLlNVQlNDUklCRV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5JTklUTyIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5GX0VRLkNORiIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuVEVTVF9DT05ESVRJT04uUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuU1VCU0NSSUJFXzEuSU5EIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5DTkYiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5TRVJWRVJfMC5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5TRVJWRVJfMC5JTkQiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlNFUlZFUl8wLlJTUCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xLk9VVCIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5URVNUX0NPTkRJVElPTi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLlNVQlNDUklCRV8xLlJEXzEiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzFfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuZGVsZXRlT2JqZWN0MS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmRlbGV0ZU9iamVjdDIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmNyZWF0ZU9iamVjdDEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmNyZWF0ZU9iamVjdDIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuY3JlYXRlT2JqZWN0My5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMi5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QxLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QyLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLmRlbGV0ZU9iamVjdDEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5kZWxldGVPYmplY3QyLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFJlYWQuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLmNyZWF0ZU9iamVjdDMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmNyZWF0ZVNlcnZlci5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QxVGVzdC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVTZXJ2ZXIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QxVGVzdC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0LklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0LklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0Mi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdDIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0MlRlc3QuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDEuSU5EIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMS5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5TVUJTQ1JJQkVfMS5JTkQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMub2plY3RWYXIyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMi5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5FX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyVGVzdC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5FX1NXSVRDSF8xLkVPMSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5FX1NXSVRDSF8xLkVPMCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFJlYWQuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vamVjdFZhcjFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8xLklORCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xXzEuSU5EIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMl8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5TVUJTQ1JJQkVfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8xLlJTUCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkVfU1dJVENIXzEuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5TVUJTQ1JJQkVfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMub2plY3RWYXIxXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMub2plY3RWYXIxLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVFfMy5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzIuSU5EIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMy5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8zLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMi5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMi5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVFfNC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzMuSU5EIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfNC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV80LkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMy5SU1AiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8zLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8zLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMl8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmRlbGV0ZU9iamVjdDEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMS5RTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuZGVsZXRlT2JqZWN0Mi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzIuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmNyZWF0ZU9iamVjdDEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmNyZWF0ZVNlcnZlci5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QxVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0MlRlc3QuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMS5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxLlNEXzEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzEuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzIuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMub2plY3RWYXIyXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xXzEuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMS5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMi5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzIuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzIuU0RfMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV8zLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVFfMy5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDFfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzIuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzMuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV80Lk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMy5TRF8xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzQuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV80Lk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMV8zLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMy5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfNC5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuV3JpdGFibGUxLklOSVRPIiBEZXN0aW5hdGlvbj0iRV9ERUxBWV8xXzEuU1RBUlQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLldyaXRhYmxlMi5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5Xcml0YWJsZTEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuV3JpdGFibGUzLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLldyaXRhYmxlMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5Xcml0YWJsZTEuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLldyaXRhYmxlMy5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuQk9PTDJCT09MXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX0VRLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5sb2NhbFJlYWRGb2xkZXIxLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9FUV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV81XzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV9fMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX0VRX18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuQk9PTDJCT09MXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX0VRXzVfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9FUV9fMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9PUl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5sb2NhbFJlYWRGb2xkZXIyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9PUl8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5sb2NhbFJlYWRGb2xkZXIzLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuV3JpdGFibGUzLklORCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkZfRVFfNV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfT1JfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9PUl8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLmxvY2FsUmVhZEZvbGRlcjUuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEubG9jYWxSZWFkRm9sZGVyNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5Xcml0YWJsZTEuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5Xcml0YWJsZTMuUkRfMiIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLldyaXRhYmxlMy5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLldyaXRhYmxlMi5SRF8yIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5Xcml0YWJsZTIuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX0VRLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5sb2NhbFJlYWRGb2xkZXIxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5CT09MMkJPT0xfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkZfRVFfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX09SXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLmxvY2FsUmVhZEZvbGRlcjMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkZfT1JfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEubG9jYWxSZWFkRm9sZGVyMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX09SXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX0VRXzVfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuQk9PTDJCT09MXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9FUV81XzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9PUl8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX09SXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEubG9jYWxSZWFkRm9sZGVyNC5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9FUV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9PUl8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3RfMS5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEubG9jYWxSZWFkRm9sZGVyNS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0XzEuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5GX09SXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV81XzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuRl9FUV8yXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMS5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5Xcml0YWJsZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMS5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuV3JpdGFibGUzLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5Xcml0YWJsZTIuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMS5JTkQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuV3JpdGFibGUyLklORCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMy5JTkQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLmxvY2FsQnl0ZXN0cmluZ051bWVyaWMxLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV81XzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV9fMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfNV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfT1JfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLmxvY2FsQnl0ZXN0cmluZ051bWVyaWMzLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRX18xLkNORiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLmxvY2FsQnl0ZXN0cmluZ051bWVyaWMyLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfNV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX09SXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRX18xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX09SXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV81XzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5Xcml0YWJsZTMuSU5EIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9PUl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX09SXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLmxvY2FsQnl0ZXN0cmluZ051bWVyaWM1LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMS5SRF8xIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuV3JpdGFibGUzLlJEXzIiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMy5SRF8xIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuV3JpdGFibGUyLlJEXzIiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuV3JpdGFibGUyLlJEXzEiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljMS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfT1JfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfT1JfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfRVFfXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRXzVfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLmxvY2FsQnl0ZXN0cmluZ051bWVyaWMzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9PUl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX0VRXzJfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9PUl8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuRl9FUV81XzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfT1JfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEubG9jYWxCeXRlc3RyaW5nTnVtZXJpYzQuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLmxvY2FsQnl0ZXN0cmluZ051bWVyaWM1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUxLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMi5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5Xcml0YWJsZTMuSU5JVE8iIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMi5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUxLklORCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUzLklORCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEubG9jYWxOdW1lcmljMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfNV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMi5JTkQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEubG9jYWxOdW1lcmljMy5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfNV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEubG9jYWxOdW1lcmljMi5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX09SXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUzLklORCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfT1JfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5sb2NhbE51bWVyaWM0LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5sb2NhbE51bWVyaWM1LlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV81XzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfT1JfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUxLlJEXzEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMy5SRF8yIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMy5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5Xcml0YWJsZTIuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMi5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLmxvY2FsTnVtZXJpYzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEubG9jYWxOdW1lcmljMi5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEubG9jYWxOdW1lcmljMy5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfT1JfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV81XzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLkZfT1JfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9PUl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5sb2NhbE51bWVyaWM0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLmxvY2FsTnVtZXJpYzUuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdF8xLkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3RfMS5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5GX0VRXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0XzEuQk9PTDJCT09MXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuRl9FUV81XzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMS5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuV3JpdGFibGUzLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMi5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUxLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMy5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMS5JTkQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuSU5EIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QubG9jYWxTdHJpbmcxLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLklORCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRX18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzMuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzIuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUzLklORCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LmxvY2FsU3RyaW5nNC5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LmxvY2FsU3RyaW5nNS5SRVEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMS5SRF8xIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuUkRfMiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLlJEXzIiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QubG9jYWxTdHJpbmczLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfNV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QubG9jYWxTdHJpbmc0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LmxvY2FsU3RyaW5nNS5jaGVjayIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJFX1NSLlMiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMF8xLklORCIgRGVzdGluYXRpb249IkVfU1IuUiIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuRU8iIERlc3RpbmF0aW9uPSJFX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IkVfU1BMSVQuRUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NQTElULkVPMSIgRGVzdGluYXRpb249IkVfREVMQVlfMS5TVEFSVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1BMSVQuRU8yIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVC5DTkYiIERlc3RpbmF0aW9uPSJFX1BFUk1JVF8xLkVJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9QRVJNSVRfMS5FTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMF8xLlJTUCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5Xcml0YWJsZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfREVMQVlfMS5FTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5Xcml0YWJsZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfREVMQVlfMV8xLkVPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5Xcml0YWJsZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDExMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzBfMy5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDExOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJFX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iRl9OT1QuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVC5PVVQiIERlc3RpbmF0aW9uPSJFX1BFUk1JVF8xLlBFUk1JVCIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuSU4iIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RSZWFkLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5TRVJWRVJfMC5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuU0VSVkVSXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFJlYWRfMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFdyaXRlMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFdyaXRlLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5TVUJTQ1JJQkVfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5FX1NXSVRDSF8xLkciIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzEuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzIuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0XzEuV3JpdGFibGUxLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdF8xLldyaXRhYmxlMi5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3RfMS5Xcml0YWJsZTMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdF8xLldyaXRhYmxlMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0XzEuV3JpdGFibGUyLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3RfMS5Xcml0YWJsZTMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdF8xLldyaXRhYmxlMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0XzEuV3JpdGFibGUyLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3RfMS5Xcml0YWJsZTMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMS5RSSIgLz48L1JlcXVlc3Q+CitkZWxheWVkV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLlFJIiAvPjwvUmVxdWVzdD4KK2RlbGF5ZWRXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuUUkiIC8+PC9SZXF1ZXN0PgorZGVsYXllZFdvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTcxIiBBY3Rpb249IlNUQVJUIi8+CmRpZmYgLS1naXQgYS9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvZmFpbGluZ0NsaWVudC5mYm9vdCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9mYWlsaW5nQ2xpZW50LmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwMWQ0ODQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvZmFpbGluZ0NsaWVudC5mYm9vdApAQCAtMCwwICsxLDQ0MiBAQAorOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZhaWxpbmdDbGllbnQiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NXSVRDSF8xIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkluaXRGaW5pc2hlZFNpZ25hbCIgVHlwZT0iU1VCU0NSSUJFXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iSW5pdEZpbmlzaGVkU2lnbmFsLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE0OTkiIERlc3RpbmF0aW9uPSJJbml0RmluaXNoZWRTaWduYWwuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0LlNURVNUX0VORF8xIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0LkVfREVNVVhfMl8xIiBUeXBlPSJFX0RFTVVYXzIiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEiIFR5cGU9IkZfQk9PTF9UT19VSU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LlBVQkxJU0hfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjIzOS4xOTIuMC4yOjYxNTAxIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTEFZIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMnMiIERlc3RpbmF0aW9uPSJFX0RFTEFZLkRUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1JfMiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMSVNIXzAiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjIzOS4xOTIuMC4yOjYxNTAwIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLmRpbnQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5DYWxsVW5rbm93biIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ2FsbFVua25vd24uUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvbm9PUGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DYWxsVW5rbm93bi5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5SZWFkMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuUmVhZDEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvTm9JZF0iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5SZWFkMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5DbGllbnRDYWxsVW5rbm93biIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuZGludF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuRl9OT1RfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuQk9PTDJCT09MXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5DbGllblJlYWRVbmtub3duIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5GX05PVF8yXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLlN1YnNjcmliZVVua25vd24iIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5TdWJzY3JpYmVVbmtub3duLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9Ob3RFeGlzdGluZywxOmk9NjE0OTldIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuU3Vic2NyaWJlVW5rbm93bi5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5kaW50XzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5DbGllblJlYWQzXzFVbmtub3duIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5kaW50XzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5SZWFkM18xVW5rbm93biIgVHlwZT0iQ0xJRU5UXzBfMyIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuUmVhZDNfMVVua25vd24uUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1Oy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6cz1oZWxsbztvcGN1YUZvbGRlclRlc3RXaXRoTm9kZUlkQnl0ZVN0cmluZzFdIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuUmVhZDNfMVVua25vd24uSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuZGludF8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5kaW50XzNfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzMiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNsaWVudFdyaXRlVW5rbm93biIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuQ2xpZW5Xcml0ZTNfMVVua25vd24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLmRpbnRfM18xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLmRpbnRfM18yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuZGludF8zXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNMSUVOVF8wIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzAuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9ib3RoSW5wdXRBbmRPdXRwdXRQYXJhbWV0ZXJzLDE6aT0yMjM0OF0iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNsaWVudENhbGxUaW1lb3V0TWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuQ2xpZW50V3JvbmdNZXRob2ROb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNMSUVOVF8wXzEiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjU5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL251bWVyaWNOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOmk9NjE0OTldIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5DbGllbnRXcm9uZ1JlYWROb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNsaWVudFdyb25nV3JpdGVOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuU3Vic2NyaWJlM18xVW5rbm93biIgVHlwZT0iU1VCU0NSSUJFXzMiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLlN1YnNjcmliZTNfMVVua25vd24uUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1NVQlNDUklCRTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmk9MTIzNDU7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvO29wY3VhRm9sZGVyVGVzdFdpdGhOb2RlSWRCeXRlU3RyaW5nMV0iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5TdWJzY3JpYmUzXzFVbmtub3duLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLmRpbnRfM18xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLmRpbnRfM18xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuZGludF8zXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6aT02MTQ5OV0iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMV8xXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkRJTlQyRElOVF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xXzIiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8yLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6aT02MTQ5OV0iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzFfMi5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5DbGllbnRXcm9uZ1JlYWROb2RlSWRfTkJOIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuZGludF8yXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLldyaXRlMSIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuV3JpdGUxLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9Ob0lkXSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLldyaXRlMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5Xcml0ZTNfMVVua25vd24iIFR5cGU9IkNMSUVOVF8zXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLldyaXRlM18xVW5rbm93bi5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI4OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1Oy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6cz1oZWxsbztvcGN1YUZvbGRlclRlc3RXaXRoTm9kZUlkQnl0ZVN0cmluZzFdIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuV3JpdGUzXzFVbmtub3duLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8xIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTYxNDk5XSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8xXzEiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7LDE6aT02MTQ5OV0iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzFfMV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLkNsaWVudFdyb25nV3JpdGVOb2RlSWRfTkJOIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMV8xXzJfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMiIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNMSUVOVF8wXzIuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iOTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L10iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8yLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5yZW1vdGVFbXB0eUJyb3dzZW5hbWUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25Ob2RlLlN1YnNjcmliZVVua25vd25fU2Vjb25kIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLlN1YnNjcmliZVVua25vd25fU2Vjb25kLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6aT0xMjM0NTssMTppPTYxNDk5XSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLlN1YnNjcmliZVVua25vd25fU2Vjb25kLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duTm9kZS5kaW50XzJfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdOb09mQXJndW1lbnRzLkNsaWVudFdyb25nSW5wdXRPdXRwdXQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ05vT2ZBcmd1bWVudHMuQ2xpZW50V3JvbmdJbnB1dCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nTm9PZkFyZ3VtZW50cy5GX05PVF8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ05vT2ZBcmd1bWVudHMuQ2xpZW50V3JvbmdPdXRwdXQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nTm9PZkFyZ3VtZW50cy5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nTm9PZkFyZ3VtZW50cy5Xcm9uZ091dHB1dCIgVHlwZT0iQ0xJRU5UXzFfNCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nTm9PZkFyZ3VtZW50cy5Xcm9uZ091dHB1dC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9ub09QYXJhbWV0ZXJzLDE6aT0yMjM0NV0iIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdPdXRwdXQuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTE1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nTm9PZkFyZ3VtZW50cy5VRElOVDJVRElOVF8yXzEiIFR5cGU9IlVESU5UMlVESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dCIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nTm9PZkFyZ3VtZW50cy5Xcm9uZ0lucHV0LlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTppPTIyMzQ2XSIgRGVzdGluYXRpb249Ildyb25nTm9PZkFyZ3VtZW50cy5Xcm9uZ0lucHV0LklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjExOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dE91dHB1dCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dE91dHB1dC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTppPTIyMzQ3XSIgRGVzdGluYXRpb249Ildyb25nTm9PZkFyZ3VtZW50cy5Xcm9uZ0lucHV0T3V0cHV0LklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ05vT2ZBcmd1bWVudHMuVURJTlQyVURJTlQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdOb09mQXJndW1lbnRzLlVESU5UMlVESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdOb09mQXJndW1lbnRzLlVESU5UMlVESU5UXzJfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nTm9PZkFyZ3VtZW50cy5VRElOVDJVRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuUmVhZFdyb25nVHlwZSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5SZWFkV3JvbmdUeXBlLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuUmVhZFdyb25nVHlwZVRlc3QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuV3JvbmdPdXRwdXQiIFR5cGU9IkNMSUVOVF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyb25nT3V0cHV0LlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL25vT1BhcmFtZXRlcnMsMTppPTIyMzQ1XSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcm9uZ091dHB1dC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuU1RSSU5HMlNUUklOR18xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5DYWxsV3JvbmdPdXRwdXRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLlNUUklORzJTVFJJTkdfMV8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkNhbGxXcm9uZ0lJbnB1dFR5cGVUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkZfTk9UXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5Xcm9uZ0lucHV0IiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcm9uZ0lucHV0LlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTppPTIyMzQ2XSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcm9uZ0lucHV0LklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuU1RSSU5HMlNUUklOR18xXzFfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkZfTk9UXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkNhbGxXcm9uZ0luT3V0VHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5Xcm9uZ0lucHV0T3V0cHV0IiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcm9uZ0lucHV0T3V0cHV0LlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTppPTIyMzQ2XSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcm9uZ0lucHV0T3V0cHV0LklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuRElOVDJESU5UXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuRl9OT1RfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5SZWFkTWV0aG9kIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLlJlYWRNZXRob2QuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5SW5wdXRQYXJhbWV0ZXJzLDE6aT0yMjM0Nl0iIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuUmVhZE1ldGhvZC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLlJlYWRNZXRob2RUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkNhbGxWYXJpYWJsZSIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTU5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuQ2FsbFZhcmlhYmxlLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9Jc29sYXRlZFRlc3RzL1dSSVRFVmFyaWFibGVdIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkNhbGxWYXJpYWJsZS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkZfTk9UXzNfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5SZWFkTWV0aG9kVGVzdF8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLldyaXRlV3JvbmdUeXBlIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlV3JvbmdUeXBlLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZVdyb25nVHlwZS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkZfTk9UXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuV3JpdGVXcm9uZ1R5cGVUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLldyaXRlRmlyc3RTYW1lTm9kZSIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZUZpcnN0U2FtZU5vZGUuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkXSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZUZpcnN0U2FtZU5vZGUuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5DYWxsV3JvbmdJbk91dFR5cGVfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5Xcml0ZU1ldGhvZCIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZU1ldGhvZC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5SW5wdXRQYXJhbWV0ZXJzLDE6aT0yMjM0Nl0iIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuV3JpdGVNZXRob2QuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5Xcml0ZU5vbldyaXR0YWJsZSIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZU5vbldyaXR0YWJsZS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvSXNvbGF0ZWRUZXN0cy9XUklURVZhcmlhYmxlXSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZU5vbldyaXR0YWJsZS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkZfTk9UXzNfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nVHlwZS5Xcml0ZU1ldGhvZFRlc3QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1R5cGUuV3JpdGVOb25Xcml0dGFibGVUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkZfTk9UXzNfMl8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdUeXBlLkRJTlQyRElOVF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSW5wdXRPdXRwdXQiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7b3BjLnRjcDovLzE5Mi4xNjguMC4xMDA6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTppPTIyMzQ3XSIgRGVzdGluYXRpb249Ildyb25nSW5wdXRPdXRwdXQuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSW5wdXRPdXRwdXRfMSIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vMTkyLjE2OC4wLjEwMDo0ODQwIzsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmk9MjIzNDddIiBEZXN0aW5hdGlvbj0iV3JvbmdJbnB1dE91dHB1dF8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InJlbW90ZUludmFsaWRBY3Rpb25zLmNjcmVhdGVNZXRob2RSZW1vdGVseSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InJlbW90ZUludmFsaWRBY3Rpb25zLmNyZWF0ZU9iamVjdFJlbW90ZWx5IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0icmVtb3RlSW52YWxpZEFjdGlvbnMuZGVsZXRlT2JqZWN0UmVtb3RlbHkiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5GX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0icmVtb3RlSW52YWxpZEFjdGlvbnMuRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0icmVtb3RlSW52YWxpZEFjdGlvbnMuQ0xJRU5UXzAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuQ0xJRU5UXzAuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvb25seUlucHV0UGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0icmVtb3RlSW52YWxpZEFjdGlvbnMuQ0xJRU5UXzBfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuQ0xJRU5UXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzssMDppPTYxOy9PYmplY3RzL2NyZWF0ZWQxXSIgRGVzdGluYXRpb249InJlbW90ZUludmFsaWRBY3Rpb25zLkNMSUVOVF8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMTk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InJlbW90ZUludmFsaWRBY3Rpb25zLkNMSUVOVF8xXzAiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249InJlbW90ZUludmFsaWRBY3Rpb25zLkNMSUVOVF8xXzAuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtERUxFVEVfT0JKRUNUO29wYy50Y3A6Ly9sb2NhbGhvc3Q6NDg0MCM7L09iamVjdHMvY3JlYXRlZDFdIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuQ0xJRU5UXzFfMC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ0xJRU5UXzEiIFR5cGU9IkNMSUVOVF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjA0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VGVzdE1ldGhvZDJdIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im5vbkZCTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfNCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRJTlQyRElOVF80IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5FX0RFTVVYXzJfMS5FSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuRV9ERU1VWF8yXzEuRU8xIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5JTklUTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuUFVCTElTSF8wXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdC5FX0RFTVVYXzJfMS5FTzIiIERlc3RpbmF0aW9uPSJFX0RFTEFZLlNUQVJUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5DTkYiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LlNURVNUX0VORF8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuRl9CT09MX1RPX1VJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LkVfREVNVVhfMl8xLksiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DYWxsVW5rbm93bi5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLlJlYWQxLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DYWxsVW5rbm93bi5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5GX05PVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNsaWVudENhbGxVbmtub3duLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLlJlYWQxLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLlJlYWQxLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNsaWVudENhbGxVbmtub3duLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DbGllblJlYWRVbmtub3duLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8yLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNsaWVuUmVhZDNfMVVua25vd24uUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuUmVhZDNfMVVua25vd24uQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuU3Vic2NyaWJlVW5rbm93bi5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLlJlYWQzXzFVbmtub3duLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DbGllbnRXcml0ZVVua25vd24uUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DbGllbldyaXRlM18xVW5rbm93bi5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DbGllbldyaXRlM18xVW5rbm93bi5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMC5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzNfMV8xLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNsaWVudENhbGxUaW1lb3V0TWV0aG9kLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNMSUVOVF8wLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ2xpZW50Q2FsbFRpbWVvdXRNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8xLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNsaWVudFdyb25nTWV0aG9kTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ2xpZW50V3JvbmdSZWFkTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DbGllbnRXcm9uZ1dyaXRlTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNsaWVudFdyaXRlVW5rbm93bi5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5SZWFkM18xVW5rbm93bi5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DbGllbnRXcm9uZ01ldGhvZE5vZGVJZC5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzNfMV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNsaWVudFdyb25nUmVhZE5vZGVJZF9OQk4uUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzNfMV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNsaWVudFdyb25nV3JpdGVOb2RlSWQuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuU3Vic2NyaWJlM18xVW5rbm93bi5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8yLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5SZWFkMS5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLldyaXRlMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ2xpZW5SZWFkVW5rbm93bi5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5Xcml0ZTEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuV3JpdGUxLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuU3Vic2NyaWJlVW5rbm93bi5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuV3JpdGUxLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLlJlYWQzXzFVbmtub3duLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuV3JpdGUzXzFVbmtub3duLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DbGllblJlYWQzXzFVbmtub3duLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLldyaXRlM18xVW5rbm93bi5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5Xcml0ZTNfMVVua25vd24uSU5JVE8iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMC5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuV3JpdGUzXzFVbmtub3duLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNsaWVudFdyb25nUmVhZE5vZGVJZC5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzFfMS5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLlN1YnNjcmliZTNfMVVua25vd24uSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8xLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzFfMi5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNsaWVudFdyb25nUmVhZE5vZGVJZF9OQk4uQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DbGllbnRXcm9uZ1dyaXRlTm9kZUlkX05CTi5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8yLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLnJlbW90ZUVtcHR5QnJvd3NlbmFtZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8yLkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLnJlbW90ZUVtcHR5QnJvd3NlbmFtZS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuU1RSSU5HMlNUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8yLklOSVRPIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlV3JvbmdUeXBlLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DbGllbnRXcm9uZ1dyaXRlTm9kZUlkX05CTi5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5TdWJzY3JpYmVVbmtub3duX1NlY29uZC5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuU3Vic2NyaWJlVW5rbm93bl9TZWNvbmQuSU5JVE8iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8yLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5SZWFkMS5SRF8xIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuZGludC5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNhbGxVbmtub3duLlFPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuRl9OT1RfMi5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNhbGxVbmtub3duLlJEXzEiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5kaW50XzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5SZWFkMS5RTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzIuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ2xpZW50Q2FsbFVua25vd24uY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ2xpZW5SZWFkVW5rbm93bi5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLlN1YnNjcmliZVVua25vd24uUkRfMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLmRpbnRfMl8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ2xpZW5SZWFkM18xVW5rbm93bi5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLlJlYWQzXzFVbmtub3duLlJEXzEiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5kaW50XzMuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5SZWFkM18xVW5rbm93bi5SRF8yIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuZGludF8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5SZWFkM18xVW5rbm93bi5SRF8zIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuZGludF8zXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLlJlYWQzXzFVbmtub3duLlFPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DbGllbnRXcml0ZVVua25vd24uY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xLk9VVCIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNsaWVuV3JpdGUzXzFVbmtub3duLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzAuUU8iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ2xpZW50Q2FsbFRpbWVvdXRNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8xLlFPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzNfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DbGllbnRXcm9uZ01ldGhvZE5vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ2xpZW50V3JvbmdSZWFkTm9kZUlkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzNfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNsaWVudFdyb25nV3JpdGVOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5TdWJzY3JpYmUzXzFVbmtub3duLlJEXzEiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5kaW50XzNfMl8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuU3Vic2NyaWJlM18xVW5rbm93bi5SRF8yIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuZGludF8zXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuU3Vic2NyaWJlM18xVW5rbm93bi5SRF8zIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuZGludF8zXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzEuUU8iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuQ2xpZW50V3JvbmdSZWFkTm9kZUlkX05CTi5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8yLlFPIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzNfMV8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xXzIuUkRfMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQk9PTDJCT09MXzIuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuV3JpdGUxLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5Xcml0ZTEuUU8iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5GX05PVF8yXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLmRpbnRfM18yLk9VVCIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLldyaXRlM18xVW5rbm93bi5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuZGludF8zXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5Xcml0ZTNfMVVua25vd24uU0RfMiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLmRpbnRfM18xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5Xcml0ZTNfMVVua25vd24uU0RfMyIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLldyaXRlM18xVW5rbm93bi5RTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMjk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5DTElFTlRfMF8xXzFfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xXzEuUU8iIERlc3RpbmF0aW9uPSJVbmtub3duTm9kZS5GX05PVF8yXzFfM18xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5ESU5UMkRJTlRfMV8xLk9VVCIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNMSUVOVF8wXzFfMV8xXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNsaWVudFdyb25nV3JpdGVOb2RlSWRfTkJOLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMV8xXzFfMS5RTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuQ0xJRU5UXzBfMi5RTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkZfTk9UXzJfMV8zXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuRl9OT1RfMl8xXzNfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUucmVtb3RlRW1wdHlCcm93c2VuYW1lLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bk5vZGUuU3Vic2NyaWJlVW5rbm93bl9TZWNvbmQuUkRfMSIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLmRpbnRfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duTm9kZS5TdWJzY3JpYmVVbmtub3duX1NlY29uZC5SRF8yIiBEZXN0aW5hdGlvbj0iVW5rbm93bk5vZGUuZGludF8yXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdOb09mQXJndW1lbnRzLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuQ2xpZW50V3JvbmdJbnB1dE91dHB1dC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1RfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuQ2xpZW50V3JvbmdJbnB1dC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdOb09mQXJndW1lbnRzLkNsaWVudFdyb25nT3V0cHV0LlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nTm9PZkFyZ3VtZW50cy5DbGllbnRXcm9uZ0lucHV0T3V0cHV0LkNORiIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNhbGxVbmtub3duLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nTm9PZkFyZ3VtZW50cy5Xcm9uZ091dHB1dC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdOb09mQXJndW1lbnRzLldyb25nT3V0cHV0LklOSVRPIiBEZXN0aW5hdGlvbj0iV3JvbmdOb09mQXJndW1lbnRzLldyb25nSW5wdXQuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nTm9PZkFyZ3VtZW50cy5DbGllbnRXcm9uZ091dHB1dC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dC5JTklUTyIgRGVzdGluYXRpb249Ildyb25nTm9PZkFyZ3VtZW50cy5Xcm9uZ0lucHV0T3V0cHV0LklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuQ2xpZW50V3JvbmdJbnB1dC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dE91dHB1dC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dE91dHB1dC5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25Ob2RlLkNhbGxVbmtub3duLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dE91dHB1dC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1RfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nTm9PZkFyZ3VtZW50cy5GX05PVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdOb09mQXJndW1lbnRzLkNsaWVudFdyb25nSW5wdXRPdXRwdXQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuQ2xpZW50V3JvbmdJbnB1dC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nTm9PZkFyZ3VtZW50cy5GX05PVC5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuQ2xpZW50V3JvbmdPdXRwdXQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdPdXRwdXQuUU8iIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1QuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdPdXRwdXQuUkRfMyIgRGVzdGluYXRpb249Ildyb25nTm9PZkFyZ3VtZW50cy5VRElOVDJVRElOVF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dC5RTyIgRGVzdGluYXRpb249Ildyb25nTm9PZkFyZ3VtZW50cy5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdOb09mQXJndW1lbnRzLldyb25nSW5wdXRPdXRwdXQuUU8iIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuRl9OT1RfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdOb09mQXJndW1lbnRzLldyb25nT3V0cHV0LlJEXzEiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuVURJTlQyVURJTlQuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuVURJTlQyVURJTlQuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdOb09mQXJndW1lbnRzLldyb25nT3V0cHV0LlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdPdXRwdXQuUkRfMiIgRGVzdGluYXRpb249Ildyb25nTm9PZkFyZ3VtZW50cy5VRElOVDJVRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdOb09mQXJndW1lbnRzLldyb25nT3V0cHV0LlJEXzQiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuVURJTlQyVURJTlRfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdJbnB1dC5SRF8xIiBEZXN0aW5hdGlvbj0iV3JvbmdOb09mQXJndW1lbnRzLlVESU5UMlVESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuUmVhZFdyb25nVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkZfTk9ULkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5SZWFkV3JvbmdUeXBlVGVzdC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuV3JvbmdPdXRwdXQuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkZfTk9UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkNhbGxXcm9uZ091dHB1dFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuQ2FsbFdyb25nSUlucHV0VHlwZVRlc3QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLldyb25nSW5wdXQuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuQ2FsbFdyb25nT3V0cHV0VHlwZS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuV3JvbmdJbnB1dC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuV3JvbmdJbnB1dE91dHB1dC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkZfTk9UXzFfMV8xLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5DYWxsV3JvbmdJbk91dFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkNhbGxXcm9uZ0lJbnB1dFR5cGVUZXN0LkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcm9uZ0lucHV0T3V0cHV0LlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5SZWFkV3JvbmdUeXBlVGVzdC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuV3JvbmdPdXRwdXQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLlJlYWRXcm9uZ1R5cGUuSU5JVE8iIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuV3JvbmdPdXRwdXQuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcm9uZ091dHB1dC5JTklUTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcm9uZ0lucHV0LklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuV3JvbmdJbnB1dC5JTklUTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcm9uZ0lucHV0T3V0cHV0LklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuQ2FsbFdyb25nSW5PdXRUeXBlLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5ESU5UMkRJTlRfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5SZWFkTWV0aG9kLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5GX05PVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5GX05PVF8zLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5SZWFkTWV0aG9kVGVzdC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuUmVhZE1ldGhvZC5JTklUTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5DYWxsVmFyaWFibGUuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5DYWxsVmFyaWFibGUuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkZfTk9UXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuRl9OT1RfM18xLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5SZWFkTWV0aG9kVGVzdF8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5SZWFkTWV0aG9kVGVzdC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuQ2FsbFZhcmlhYmxlLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5DYWxsVmFyaWFibGUuSU5JVE8iIERlc3RpbmF0aW9uPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMC5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLlJlYWRNZXRob2RUZXN0XzEuQ05GIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLlNUUklORzJTVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlV3JvbmdUeXBlLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcml0ZVdyb25nVHlwZS5JTklUTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5SZWFkV3JvbmdUeXBlLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuV3JpdGVXcm9uZ1R5cGVUZXN0LkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5SZWFkV3JvbmdUeXBlLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5GX05PVF8yLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZVdyb25nVHlwZVRlc3QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLldyaXRlV3JvbmdUeXBlLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5GX05PVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcm9uZ0lucHV0T3V0cHV0LklOSVRPIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlRmlyc3RTYW1lTm9kZS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlRmlyc3RTYW1lTm9kZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuV3JpdGVGaXJzdFNhbWVOb2RlLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5DYWxsV3JvbmdJbk91dFR5cGVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuV3JpdGVNZXRob2QuSU5JVE8iIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuUmVhZE1ldGhvZC5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLldyaXRlRmlyc3RTYW1lTm9kZS5JTklUTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZU5vbldyaXR0YWJsZS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkNhbGxXcm9uZ0luT3V0VHlwZV8xLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZU5vbldyaXR0YWJsZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuV3JpdGVOb25Xcml0dGFibGUuSU5JVE8iIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuV3JpdGVNZXRob2QuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5GX05PVF8zXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuV3JpdGVOb25Xcml0dGFibGVUZXN0LlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcml0ZU5vbldyaXR0YWJsZVRlc3QuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlTWV0aG9kLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcml0ZU5vbldyaXR0YWJsZS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuRl9OT1RfM18yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLldyaXRlTWV0aG9kVGVzdC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuUmVhZE1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuRl9OT1RfM18yLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZU1ldGhvZFRlc3QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLldyaXRlTWV0aG9kLkNORiIgRGVzdGluYXRpb249Ildyb25nVHlwZS5GX05PVF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLlJlYWRXcm9uZ1R5cGUuUkRfMSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkZfTk9ULk9VVCIgRGVzdGluYXRpb249Ildyb25nVHlwZS5SZWFkV3JvbmdUeXBlVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5SZWFkV3JvbmdUeXBlLlFPIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuV3JvbmdPdXRwdXQuU0RfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcm9uZ091dHB1dC5SRF8xIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLlNUUklORzJTVFJJTkdfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcm9uZ091dHB1dC5RTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkZfTk9UXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkNhbGxXcm9uZ091dHB1dFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuV3JvbmdJbnB1dC5RTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuRl9OT1RfMV8xLk9VVCIgRGVzdGluYXRpb249Ildyb25nVHlwZS5DYWxsV3JvbmdJSW5wdXRUeXBlVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5TVFJJTkcyU1RSSU5HXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuV3JvbmdJbnB1dC5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLldyb25nSW5wdXQuUkRfMSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcm9uZ0lucHV0T3V0cHV0LlFPIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkZfTk9UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLlNUUklORzJTVFJJTkdfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyb25nSW5wdXRPdXRwdXQuU0RfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5GX05PVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuQ2FsbFdyb25nSW5PdXRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLldyb25nSW5wdXRPdXRwdXQuUkRfMSIgRGVzdGluYXRpb249Ildyb25nVHlwZS5TVFJJTkcyU1RSSU5HXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLlJlYWRNZXRob2QuUU8iIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuRl9OT1RfMy5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5GX05PVF8zLk9VVCIgRGVzdGluYXRpb249Ildyb25nVHlwZS5SZWFkTWV0aG9kVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5DYWxsVmFyaWFibGUuUU8iIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuRl9OT1RfM18xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkZfTk9UXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ1R5cGUuUmVhZE1ldGhvZFRlc3RfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5TVFJJTkcyU1RSSU5HLk9VVCIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZVdyb25nVHlwZS5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkZfTk9UXzIuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlV3JvbmdUeXBlVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcml0ZVdyb25nVHlwZS5RTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5GX05PVF8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlRmlyc3RTYW1lTm9kZS5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLldyaXRlRmlyc3RTYW1lTm9kZS5RTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5DYWxsV3JvbmdJbk91dFR5cGVfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5ESU5UMkRJTlRfMV8xLk9VVCIgRGVzdGluYXRpb249Ildyb25nVHlwZS5Xcml0ZU1ldGhvZC5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdUeXBlLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlTm9uV3JpdHRhYmxlLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iMzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuRl9OT1RfM18yXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlTm9uV3JpdHRhYmxlVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcml0ZU5vbldyaXR0YWJsZS5RTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5GX05PVF8zXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5GX05PVF8zXzIuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLldyaXRlTWV0aG9kVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nVHlwZS5Xcml0ZU1ldGhvZC5RTyIgRGVzdGluYXRpb249Ildyb25nVHlwZS5GX05PVF8zXzIuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1R5cGUuUmVhZE1ldGhvZC5SRF8xIiBEZXN0aW5hdGlvbj0iV3JvbmdUeXBlLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0icmVtb3RlSW52YWxpZEFjdGlvbnMuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuY2NyZWF0ZU1ldGhvZFJlbW90ZWx5LlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InJlbW90ZUludmFsaWRBY3Rpb25zLkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuY3JlYXRlT2JqZWN0UmVtb3RlbHkuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0icmVtb3RlSW52YWxpZEFjdGlvbnMuZGVsZXRlT2JqZWN0UmVtb3RlbHkuQ05GIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InJlbW90ZUludmFsaWRBY3Rpb25zLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5kZWxldGVPYmplY3RSZW1vdGVseS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMC5JTklUTyIgRGVzdGluYXRpb249InJlbW90ZUludmFsaWRBY3Rpb25zLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InJlbW90ZUludmFsaWRBY3Rpb25zLmNjcmVhdGVNZXRob2RSZW1vdGVseS5DTkYiIERlc3RpbmF0aW9uPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5jcmVhdGVPYmplY3RSZW1vdGVseS5DTkYiIERlc3RpbmF0aW9uPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMV8wLklOSVRPIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuRl9OT1RfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InJlbW90ZUludmFsaWRBY3Rpb25zLkZfTk9ULk9VVCIgRGVzdGluYXRpb249InJlbW90ZUludmFsaWRBY3Rpb25zLmNjcmVhdGVNZXRob2RSZW1vdGVseS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InJlbW90ZUludmFsaWRBY3Rpb25zLkZfTk9UXzEuT1VUIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuY3JlYXRlT2JqZWN0UmVtb3RlbHkuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5GX05PVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuZGVsZXRlT2JqZWN0UmVtb3RlbHkuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMC5RTyIgRGVzdGluYXRpb249InJlbW90ZUludmFsaWRBY3Rpb25zLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0icmVtb3RlSW52YWxpZEFjdGlvbnMuQ0xJRU5UXzBfMS5RTyIgRGVzdGluYXRpb249InJlbW90ZUludmFsaWRBY3Rpb25zLkZfTk9UXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJyZW1vdGVJbnZhbGlkQWN0aW9ucy5DTElFTlRfMV8wLlFPIiBEZXN0aW5hdGlvbj0icmVtb3RlSW52YWxpZEFjdGlvbnMuRl9OT1RfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0hfMS5FTzAiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdEZpbmlzaGVkU2lnbmFsLklOSVRPIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJbml0RmluaXNoZWRTaWduYWwuSU5EIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxJU0hfMC5DTkYiIERlc3RpbmF0aW9uPSJFX1NSXzIuUyIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJJbml0RmluaXNoZWRTaWduYWwuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJJbml0RmluaXNoZWRTaWduYWwuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfREVMQVkuRU8iIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdPdXRwdXQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJbnB1dE91dHB1dC5JTklUTyIgRGVzdGluYXRpb249Ildyb25nSW5wdXRPdXRwdXRfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLkVPIiBEZXN0aW5hdGlvbj0iV3JvbmdJbnB1dE91dHB1dC5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TV0lUQ0hfMS5FTzEiIERlc3RpbmF0aW9uPSJXcm9uZ05vT2ZBcmd1bWVudHMuV3JvbmdPdXRwdXQuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSW5wdXRPdXRwdXRfMS5JTklUTyIgRGVzdGluYXRpb249IkVfU1dJVENIXzEuRUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDTElFTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJGX05PVF80LlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzQuQ05GIiBEZXN0aW5hdGlvbj0ibm9uRkJNZXRob2QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibm9uRkJNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iRV9TUl8yLlIiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuUSIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuRl9CT09MX1RPX1VJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0hfMS5HIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJXcm9uZ0lucHV0T3V0cHV0LlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJXcm9uZ0lucHV0T3V0cHV0XzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDTElFTlRfMS5RTyIgRGVzdGluYXRpb249IkZfTk9UXzQuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ0NsaWVudDs8UmVxdWVzdCBJRD0iNDM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF80Lk9VVCIgRGVzdGluYXRpb249Im5vbkZCTWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzEuUkRfMSIgRGVzdGluYXRpb249IkRJTlQyRElOVF80LklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVDJESU5UXzQuT1VUIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzEuU0RfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDIiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9mYWlsaW5nU2VydmVyLmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2ZhaWxpbmdTZXJ2ZXIuZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzcwNDk3OAotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9mYWlsaW5nU2VydmVyLmZib290CkBAIC0wLDAgKzEsNTMyIEBACis7PFJlcXVlc3QgSUQ9IjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRmFpbGluZ1NlcnZlciIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildvcm5nSW5wdXRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjAiIERlc3RpbmF0aW9uPSJXb3JuZ0lucHV0cy5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHb29kSW5wdXRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNVQlNDUklCRV8wXzEiIFR5cGU9IlNVQlNDUklCRV8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ybmdJbnB1dHNPdXRwdXRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iV29ybmdJbnB1dHNPdXRwdXRzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTQ5OSIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wIiBUeXBlPSJTVUJTQ1JJQkVfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMCIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRSIgVHlwZT0iRV9DWUNMRSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzEwMDBtcyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5FX0NZQ0xFLkRUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIiIFR5cGU9IkVfREVNVVhfMiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLkZfQk9PTF9UT19VSU5UIiBUeXBlPSJGX0JPT0xfVE9fVUlOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcml0YWJsZTEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JpdGFibGUxLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1L10iIERlc3RpbmF0aW9uPSJXcml0YWJsZTEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ybmdJbnB1dHNUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIwIiBEZXN0aW5hdGlvbj0iV29ybmdJbnB1dHNUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU0VSVkVSXzAiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTRVJWRVJfMC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL25vT1BhcmFtZXRlcnMsMTppPTIyMzQ1XSIgRGVzdGluYXRpb249IlNFUlZFUl8wLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNFUlZFUl8wXzEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTRVJWRVJfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL251bWVyaWNOb2RlSWQvb25seUlucHV0UGFyYW1ldGVycywxOmk9MjIzNDZdIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTRVJWRVJfMF8xXzEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTRVJWRVJfMF8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTppPTIyMzQ3XSIgRGVzdGluYXRpb249IlNFUlZFUl8wXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJESU5UMkRJTlQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTYW1lTm9kZUlkV3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8yXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IldyaXRhYmxlMV8xIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IldyaXRhYmxlMV8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQxLDE6aT0xMjM0NV0iIERlc3RpbmF0aW9uPSJXcml0YWJsZTFfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCT09MMkJPT0xfMl8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MXzJfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2FtZU5hbWVEaWZmZXJlbnROb2RlSWRXIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcml0YWJsZTFfMV8xIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IldyaXRhYmxlMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6cz1oZWxsb1dyaXRlXSIgRGVzdGluYXRpb249IldyaXRhYmxlMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1VCU0NSSUJFXzFfMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6aT0xMjM0NV0iIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJTQ1JJQkVfMV8xXzEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6aT0xMjM0NV0iIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTYW1lTm9kZVNlY29uZFJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlYWRFeGlzdGluZ1dyaXRhYmxlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJTQ1JJQkVfMV8xXzFfMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xXzFfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6cz1oZWxsb10iIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMV8xXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJTQ1JJQkVfd3JvbmdQYXRoIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFX3dyb25nUGF0aC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvLy9dIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFX3dyb25nUGF0aC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTRVJWRVJfMF8yIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfMi5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL25vT1BhcmFtZXRlcnMsMTppPTIyMzQ1XSIgRGVzdGluYXRpb249IlNFUlZFUl8wXzIuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRG91YmxlTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCT09MMkJPT0xfM18yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MXzNfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8xXzJfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVmFsaWROb2RlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ1BhdGgiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8zXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8zXzJfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfMV8yXzFfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNVQlNDUklCRV8xNTAiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMTUwLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZF0iIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMTUwLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVuY29ubmVjdGVkUkQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVuY29ubmVjdGVkU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8zXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8xXzJfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpZmZlcmVudFR5cGVzT3V0cHV0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJTQ1JJQkVfMTQwIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzE0MC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOnM9aGVsbG87L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQxOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmI9Ynl0ZVN0cmluZ05vZGVJZDJdIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzE0MC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcml0YWJsZTFfMV8yIiBUeXBlPSJQVUJMSVNIXzIiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IldyaXRhYmxlMV8xXzIuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6cz1oZWxsbzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDE7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMl0iIERlc3RpbmF0aW9uPSJXcml0YWJsZTFfMV8yLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNhbWVOb2RlSWRSZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1VCU0NSSUJFXzEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZDEsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCT09MMkJPT0xfMl8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJGX0VRLklOMiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2FtZU5hbWVEaWZmZXJlbnROb2RlSWRSIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JpdGFibGUxXzIiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JpdGFibGUxXzIuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6cz1oZWxsb1JlYWRdIiBEZXN0aW5hdGlvbj0iV3JpdGFibGUxXzIuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTF8zXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RSSU5HMlNUUklORyIgVHlwZT0iSU5UMklOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MXzNfMl8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2FtZVR5cGVzT3V0cHV0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1VCU0NSSUJFXzE1MF8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xNTBfMS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvMl0iIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMTUwXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfTk9UXzFfMl8xXzJfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNVQlNDUklCRV9Ob09iamVjdF8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV9Ob09iamVjdF8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy8xOjE6Ynl0ZVN0cmluZ05vZGVJZC9ub09QYXJhbWV0ZXJzXSIgRGVzdGluYXRpb249IlNVQlNDUklCRV9Ob09iamVjdF8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCT09MMkJPT0xfM18xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOYW1lc3BhY2UxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RSSU5HMlNUUklOR18yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlRpbWVvdXRtZXRob2QiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVGltZW91dG1ldGhvZC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9ib3RoSW5wdXRBbmRPdXRwdXRQYXJhbWV0ZXJzLDE6aT0yMjM0OF0iIERlc3RpbmF0aW9uPSJUaW1lb3V0bWV0aG9kLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTEFZXzEiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjNTAwbXMiIERlc3RpbmF0aW9uPSJFX0RFTEFZXzEuRFQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRJTlQyRElOVF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJESU5UMkRJTlRfMV8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMSVNIXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlBVQkxJU0hfMS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL0lzb2xhdGVkVGVzdHMvV1JJVEVWYXJpYWJsZV0iIERlc3RpbmF0aW9uPSJQVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNFUlZFUl8wXzMiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfMy5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHNdIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfMy5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iT2JqZWN0c0ZvbGRlciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfTk9UXzFfMl8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU0VSVkVSXzBfNCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTRVJWRVJfMF80LlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9ub3RDYWxsZWRNZXRob2RdIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfNC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7L09iamVjdHMvbm9uRXhpc3RpbmdGb2xkZXI7L09iamVjdHMvbm9uRXhpc3RpbmdPYmplY3RdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlVHlwZU5vQk4iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVR5cGVOb05vZGVJRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDssMTA6aT0xOy9PYmplY3RzL25vbkV4aXN0aW5nT2JqZWN0XSIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVUeXBlVW5tYXRjaE5vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMiIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8yLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDsvMDpUeXBlcy8wOk9iamVjdFR5cGVzLzA6QmFzZU9iamVjdFR5cGUvMDpGb2xkZXJUeXBlLDA6aT02MDsvT2JqZWN0cy9ub25FeGlzdGluZ09iamVjdF0iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzIuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlVHlwZU5vdEFUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzMuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTYxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfT0JKRUNUOy8wOlR5cGVzLzsvT2JqZWN0cy9ub25FeGlzdGluZ09iamVjdF0iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzMuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTY0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7LDA6aT02MTsvT2JqZWN0cy9ub25FeGlzdGluZ09iamVjdCwxOmk9MjQ2XSIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVNhbWVPYmplY3QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzIiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVGaXJzdFRpbWUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMiIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzIuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTc0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfT0JKRUNUOy8wOlR5cGVzLzsvLy9dIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzIuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlSW5zdGFuY2VCYWROYW1lIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLmRlbGV0ZU5vbkV4aXN0aW5nSW5zdGFuY2UiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMl8xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTc5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMl8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbREVMRVRFX09CSkVDVDsvT2JqZWN0cy9ub25FeGlzdGluZ09iamVjdF0iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMl8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMl8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5kZWxldGVCYWROYW1lIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMV8xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMl8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtERUxFVEVfT0JKRUNUOy8vLy9dIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlV09Ccm93c2VuYW1lIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8xXzEiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDssMTA6aT0xOywxOmk9MTIzNF0iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVCYWRUeXBlTmFtZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yXzIiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yXzIuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfT0JKRUNUOy8vLzsvT2JqZWN0cy9ub25FeGlzdGluZ09iamVjdF0iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMl8yLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMl8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzFfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7LDA6aT02MTsvT2JqZWN0cy9ub25FeGlzdGluZ09iamVjdDIsMTppPTI0Nl0iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZU9iamVjdFNhbWVOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUFVCTElTSF8xXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlBVQkxJU0hfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7LDE6aT00NDU1XSIgRGVzdGluYXRpb249IlBVQkxJU0hfMV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJyZWFkVW5rbm93bk5vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfTk9UXzFfMl8xXzJfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JpdGVVbmtub3duTm9kZUlkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfMV8yXzFfMl8xXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZfTk9UXzFfMl8xXzJfMV8xXzJfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im1ldGhvZFVua25vd25Ob2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMSVNIXzFfMV8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlBVQkxJU0hfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOywxOmk9NDQ1NV0iIERlc3RpbmF0aW9uPSJQVUJMSVNIXzFfMV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJCT09MMkJPT0wiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUFVCTElTSF8xXzFfMV8xIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlBVQkxJU0hfMV8xXzFfMS5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7LDE6aT00NDU1XSIgRGVzdGluYXRpb249IlBVQkxJU0hfMV8xXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0idGVzdE9iamVjdDFUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InNhbWVDcmVhdGVkTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0idGVzdE1ldGhvZDEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0idGVzdE1ldGhvZDEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VGVzdE1ldGhvZF0iIERlc3RpbmF0aW9uPSJ0ZXN0TWV0aG9kMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRElOVDJESU5UXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0idGVzdE9iamVjdCIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0idGVzdE9iamVjdC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7LDI6aT0xNTAwMTsvT2JqZWN0cy90ZXN0T2JqZWN0MV0iIERlc3RpbmF0aW9uPSJ0ZXN0T2JqZWN0LklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJvYmplY3RNZXRob2QxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0idGVzdE1ldGhvZDIiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0idGVzdE1ldGhvZDIuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VGVzdE1ldGhvZF0iIERlc3RpbmF0aW9uPSJ0ZXN0TWV0aG9kMi5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJESU5UMkRJTlRfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfM18xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTRVJWRVJfMF81XzEiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfNV8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvXSIgRGVzdGluYXRpb249IlNFUlZFUl8wXzVfMS5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibm9TbGFzaEF0U3RhcnQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8zXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTRVJWRVJfMF81IiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNFUlZFUl8wXzUuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EO09iamVjdHMvdGVzdE9iamVjdDEvMjpUZXN0TWV0aG9kXSIgRGVzdGluYXRpb249IlNFUlZFUl8wXzUuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im9ubHlTbGFzaCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJhZE5hbWVzcGFjZU5hbWVWYXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8zXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUFVCTElTSF8xXzIiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlBVQkxJU0hfMV8yLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvMToyOmJhZE5hbWVzcGFjZV0iIERlc3RpbmF0aW9uPSJQVUJMSVNIXzFfMi5JRCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfM18xXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYmFkTmFtZXNwYWNlTmFtZU1ldGhvZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNFUlZFUl8wXzVfMV8xIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNFUlZFUl8wXzVfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy8xOjI6YmFkTmFtZXNwYWNlXSIgRGVzdGluYXRpb249IlNFUlZFUl8wXzVfMV8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJESU5UMkRJTlRfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN1YnNjcmliZUxvY2FsIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibG9jYWxDYWxsTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9OT1RfM18xXzFfMV8yXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX05PVF8zXzFfMV8xXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDTElFTlRfMF8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNMSUVOVF8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtTVUJTQ1JJQkU7L09iamVjdHMvMToyOmJhZE5hbWVzcGFjZV0iIERlc3RpbmF0aW9uPSJDTElFTlRfMF8xLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDTElFTlRfMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjY1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDTElFTlRfMC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EOy9PYmplY3RzLzE6MjpiYWROYW1lc3BhY2VdIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzAuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRJTlQyRElOVF81IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRS5FTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wLklORCIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5FX0NZQ0xFLlNUT1AiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkVfREVNVVhfMi5FSSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIuRU8xIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLlNURVNUX0VORC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuU1VCU0NSSUJFXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuSW5pdEZpbmlzaGVkLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuSW5pdEZpbmlzaGVkLklOSVRPIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkZfQk9PTF9UT19VSU5ULlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIuRU8yIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkVfQ1lDTEUuU1RBUlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuT1VUIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkVfREVNVVhfMi5LIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVUeXBlTm9CTi5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVUeXBlTm9Ob2RlSUQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVUeXBlVW5tYXRjaE5vZGVJZC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMy5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVR5cGVOb3RBVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlU2FtZU9iamVjdC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLkVfU1dJVENILkVJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZUZpcnN0VGltZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlRmlyc3RUaW1lLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlSW5zdGFuY2VCYWROYW1lLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMl8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuZGVsZXRlTm9uRXhpc3RpbmdJbnN0YW5jZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVR5cGVOb0JOLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMi5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVR5cGVVbm1hdGNoTm9kZUlkLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMy5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlVHlwZU5vdEFUeXBlLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuZGVsZXRlQmFkTmFtZS5DTkYiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5kZWxldGVOb25FeGlzdGluZ0luc3RhbmNlLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5kZWxldGVCYWROYW1lLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlV09Ccm93c2VuYW1lLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlVHlwZU5vTm9kZUlELkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlV09Ccm93c2VuYW1lLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMi5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMl8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18yXzIuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVCYWRUeXBlTmFtZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZUluc3RhbmNlQmFkTmFtZS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMl8yLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMl8yLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMi5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZUJhZFR5cGVOYW1lLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVPYmplY3RTYW1lTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVNhbWVPYmplY3QuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVPYmplY3RTYW1lTm9kZUlkLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9ULk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlVHlwZU5vQk4uY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVR5cGVOb05vZGVJRC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMS5RTyIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfMi5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVR5cGVVbm1hdGNoTm9kZUlkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8yLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuY3JlYXRlVHlwZU5vdEFUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVTYW1lT2JqZWN0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZUZpcnN0VGltZS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMi5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZUluc3RhbmNlQmFkTmFtZS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzIuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xXzNfMl8xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18yXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5kZWxldGVOb25FeGlzdGluZ0luc3RhbmNlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5QVUJMSVNIXzBfMV8zXzJfMV8xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZURlbGV0ZU9iamVjdHMuZGVsZXRlQmFkTmFtZS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfMV8xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZVdPQnJvd3NlbmFtZS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuRl9OT1RfM18yXzIuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5jcmVhdGVCYWRUeXBlTmFtZS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZURlbGV0ZU9iamVjdHMuUFVCTElTSF8wXzFfM18yXzIuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLkZfTk9UXzNfMl8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlRGVsZXRlT2JqZWN0cy5GX05PVF8zXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLmNyZWF0ZU9iamVjdFNhbWVOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLkVPIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iRV9TUi5TIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzBfMS5JTkQiIERlc3RpbmF0aW9uPSJFX1NSLlIiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuU1VCU0NSSUJFXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JpdGFibGUxLkNORiIgRGVzdGluYXRpb249Ildvcm5nSW5wdXRzVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHb29kSW5wdXRzLkNORiIgRGVzdGluYXRpb249IlNFUlZFUl8wLlJTUCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wLklOSVRPIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV29ybmdJbnB1dHMuQ05GIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfMS5SU1AiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMF8xLklORCIgRGVzdGluYXRpb249Ildvcm5nSW5wdXRzLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJTRVJWRVJfMF8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildvcm5nSW5wdXRzT3V0cHV0cy5DTkYiIERlc3RpbmF0aW9uPSJTRVJWRVJfMF8xXzEuUlNQIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0VSVkVSXzBfMV8xLklORCIgRGVzdGluYXRpb249Ildvcm5nSW5wdXRzT3V0cHV0cy5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVhZEV4aXN0aW5nV3JpdGFibGUuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZEV4aXN0aW5nV3JpdGFibGUuQ05GIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGX05PVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249IlNhbWVOb2RlU2Vjb25kUmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcml0YWJsZTFfMS5JTklUTyIgRGVzdGluYXRpb249IkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9ULkNORiIgRGVzdGluYXRpb249IlNhbWVOb2RlSWRXcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMF8yLklOSVRPIiBEZXN0aW5hdGlvbj0iRl9OT1RfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249IkRvdWJsZU1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfd3JvbmdQYXRoLklOSVRPIiBEZXN0aW5hdGlvbj0iRl9OT1RfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdQYXRoLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldyaXRhYmxlMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJTYW1lTmFtZURpZmZlcmVudE5vZGVJZFcuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRG91YmxlTWV0aG9kLkNORiIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xNTAuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iVW5jb25uZWN0ZWRTRC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMTUwLklOSVRPIiBEZXN0aW5hdGlvbj0iRl9OT1RfMV8yXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzFfMl8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJEaWZmZXJlbnRUeXBlc091dHB1dC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xXzJfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJVbmNvbm5lY3RlZFJELlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8xNDAuSU5JVE8iIERlc3RpbmF0aW9uPSJGX05PVF8xXzJfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmNvbm5lY3RlZFJELkNORiIgRGVzdGluYXRpb249IldyaXRhYmxlMV8xXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldyaXRhYmxlMV8xXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJGX05PVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNhbWVOb2RlSWRXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGX05PVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzIuQ05GIiBEZXN0aW5hdGlvbj0iU2FtZU5vZGVJZFJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JpdGFibGUxLklOSVRPIiBEZXN0aW5hdGlvbj0iV3JpdGFibGUxXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNhbWVOb2RlU2Vjb25kUmVhZC5DTkYiIERlc3RpbmF0aW9uPSJTRVJWRVJfMF8yLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmNvbm5lY3RlZFNELkNORiIgRGVzdGluYXRpb249IlNVQlNDUklCRV93cm9uZ1BhdGguSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNhbWVOb2RlSWRSZWFkLkNORiIgRGVzdGluYXRpb249IlNVQlNDUklCRV8xXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMV8xXzFfMS5JTklUTyIgRGVzdGluYXRpb249IldyaXRhYmxlMV8yLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0VRLkNORiIgRGVzdGluYXRpb249IlZhbGlkTm9kZS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMV8xXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJCT09MMkJPT0xfM18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MXzNfMV8xLkNORiIgRGVzdGluYXRpb249IkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JpdGFibGUxXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJTYW1lTmFtZURpZmZlcmVudE5vZGVJZFIuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2FtZU5hbWVEaWZmZXJlbnROb2RlSWRSLkNORiIgRGVzdGluYXRpb249IldyaXRhYmxlMV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNhbWVOYW1lRGlmZmVyZW50Tm9kZUlkVy5DTkYiIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTYW1lVHlwZXNPdXRwdXQuQ05GIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzE0MC5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlmZmVyZW50VHlwZXNPdXRwdXQuQ05GIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzE1MF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMTUwXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJTYW1lVHlwZXNPdXRwdXQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8yXzFfMl8xLkNORiIgRGVzdGluYXRpb249Indyb25nTmFtZXNwYWNlMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfTm9PYmplY3RfMS5JTklUTyIgRGVzdGluYXRpb249IkZfTk9UXzFfMl8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMF8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJUaW1lb3V0bWV0aG9kLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMC5JTkQiIERlc3RpbmF0aW9uPSJFX0RFTEFZXzEuU1RBUlQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTEFZXzEuRU8iIERlc3RpbmF0aW9uPSJHb29kSW5wdXRzLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTmFtZXNwYWNlMS5DTkYiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxJU0hfMS5JTklUTyIgRGVzdGluYXRpb249IlNFUlZFUl8wXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJGX05PVF8xXzJfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xXzJfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJPYmplY3RzRm9sZGVyLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzQuSU5JVE8iIERlc3RpbmF0aW9uPSJTRVJWRVJfMF80LlJTUCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ1BhdGguQ05GIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFX05vT2JqZWN0XzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzQuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVEZWxldGVPYmplY3RzLlBVQkxJU0hfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkZfTk9UXzFfMl8xXzJfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8yXzFfMl8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJ3cml0ZVVua25vd25Ob2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8yXzFfMl8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249InJlYWRVbmtub3duTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzFfMl8xXzJfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249Im1ldGhvZFVua25vd25Ob2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVVbmtub3duTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlBVQkxJU0hfMV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxJU0hfMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGX05PVF8xXzJfMV8yXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0icmVhZFVua25vd25Ob2RlSWQuQ05GIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8xXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzFfMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGX05PVF8xXzJfMV8yXzFfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8zLkNORiIgRGVzdGluYXRpb249InNhbWVDcmVhdGVkTWV0aG9kLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRlc3RPYmplY3QxVGVzdC5DTkYiIERlc3RpbmF0aW9uPSJ0ZXN0TWV0aG9kMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0idGVzdE9iamVjdC5JTklUTyIgRGVzdGluYXRpb249InRlc3RPYmplY3QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0idGVzdE9iamVjdC5DTkYiIERlc3RpbmF0aW9uPSJ0ZXN0T2JqZWN0MVRlc3QuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0idGVzdE1ldGhvZDEuSU5JVE8iIERlc3RpbmF0aW9uPSJvYmplY3RNZXRob2QxLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9iamVjdE1ldGhvZDEuQ05GIiBEZXN0aW5hdGlvbj0idGVzdE1ldGhvZDIuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRlc3RNZXRob2QyLklOSVRPIiBEZXN0aW5hdGlvbj0iRl9OT1RfMy5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJtZXRob2RVbmtub3duTm9kZUlkLkNORiIgRGVzdGluYXRpb249InRlc3RPYmplY3QuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzVfMS5JTklUTyIgRGVzdGluYXRpb249IkZfTk9UXzNfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im5vU2xhc2hBdFN0YXJ0LkNORiIgRGVzdGluYXRpb249IlNFUlZFUl8wXzVfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfM18xLkNORiIgRGVzdGluYXRpb249Im5vU2xhc2hBdFN0YXJ0LlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzNfMV8xLkNORiIgRGVzdGluYXRpb249Im9ubHlTbGFzaC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzYW1lQ3JlYXRlZE1ldGhvZC5DTkYiIERlc3RpbmF0aW9uPSJTRVJWRVJfMF81LklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMF81LklOSVRPIiBEZXN0aW5hdGlvbj0iRl9OT1RfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzVfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iRl9OT1RfM18xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzNfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJiYWROYW1lc3BhY2VOYW1lTWV0aG9kLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJhZE5hbWVzcGFjZU5hbWVNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8xXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlBVQkxJU0hfMV8yLklOSVRPIiBEZXN0aW5hdGlvbj0iRl9OT1RfM18xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8zXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImJhZE5hbWVzcGFjZU5hbWVWYXIuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib25seVNsYXNoLkNORiIgRGVzdGluYXRpb249IlNFUlZFUl8wXzVfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJPYmplY3RzRm9sZGVyLkNORiIgRGVzdGluYXRpb249IlNFUlZFUl8wXzQuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlRpbWVvdXRtZXRob2QuSU5JVE8iIERlc3RpbmF0aW9uPSJXcml0YWJsZTEuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN1YnNjcmliZUxvY2FsLkNORiIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfM18xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3Vic2NyaWJlTG9jYWwuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfM18xXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImxvY2FsQ2FsbE1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJsb2NhbENhbGxNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzBfMS5JTklUTyIgRGVzdGluYXRpb249IkZfTk9UXzNfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJhZE5hbWVzcGFjZU5hbWVWYXIuQ05GIiBEZXN0aW5hdGlvbj0iQ0xJRU5UXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNMSUVOVF8wLklOSVRPIiBEZXN0aW5hdGlvbj0iRl9OT1RfM18xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0xfMl8xLk9VVCIgRGVzdGluYXRpb249IldyaXRhYmxlMS5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJHb29kSW5wdXRzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0VSVkVSXzBfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfMV8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMC5SRF8xIiBEZXN0aW5hdGlvbj0iRElOVDJESU5UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzAuU0RfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzEuUkRfMSIgRGVzdGluYXRpb249IkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iU0VSVkVSXzBfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IldyaXRhYmxlMV8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0xfMl8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJXcml0YWJsZTFfMV8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMV8xXzEuUkRfMSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJCT09MMkJPT0xfMy5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8xXzEuUU8iIERlc3RpbmF0aW9uPSJSZWFkRXhpc3RpbmdXcml0YWJsZS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8xXzFfMS5RTyIgRGVzdGluYXRpb249IkZfTk9UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJTYW1lTm9kZVNlY29uZFJlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcml0YWJsZTFfMS5RTyIgRGVzdGluYXRpb249IkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iU2FtZU5vZGVJZFdyaXRlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0VSVkVSXzBfMi5RTyIgRGVzdGluYXRpb249IkZfTk9UXzFfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IkRvdWJsZU1ldGhvZC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzIuUkRfMSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8zXzIuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0xfM18yLk9VVCIgRGVzdGluYXRpb249IlNFUlZFUl8wXzIuU0RfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV93cm9uZ1BhdGguUkRfMSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8zXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFX3dyb25nUGF0aC5RTyIgRGVzdGluYXRpb249IkZfTk9UXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdQYXRoLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzFfMV8xXzEuUkRfMSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8zXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldyaXRhYmxlMV8xXzEuUU8iIERlc3RpbmF0aW9uPSJTYW1lTmFtZURpZmZlcmVudE5vZGVJZFcuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMTUwLlJEXzEiIERlc3RpbmF0aW9uPSJCT09MMkJPT0xfM18yXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xLk9VVCIgRGVzdGluYXRpb249IlVuY29ubmVjdGVkU0QuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMTUwLlFPIiBEZXN0aW5hdGlvbj0iRl9OT1RfMV8yXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8yXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkRpZmZlcmVudFR5cGVzT3V0cHV0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8yXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iVW5jb25uZWN0ZWRSRC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8xNDAuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8xXzJfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8xNDAuUkRfMSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8zXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249IldyaXRhYmxlMV8xXzIuU0RfMSIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldyaXRhYmxlMV8xXzIuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzEuUkRfMSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8yXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzEuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMi5PVVQiIERlc3RpbmF0aW9uPSJTYW1lTm9kZUlkUmVhZC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iVmFsaWROb2RlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MXzNfMV8xLk9VVCIgRGVzdGluYXRpb249IkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JpdGFibGUxXzIuUU8iIERlc3RpbmF0aW9uPSJTYW1lTmFtZURpZmZlcmVudE5vZGVJZFIuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcml0YWJsZTFfMi5SRF8xIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MXzNfMy5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8xNTAuUkRfMSIgRGVzdGluYXRpb249IlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuSW5pdEZpbmlzaGVkLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzE1MF8xLlJEXzEiIERlc3RpbmF0aW9uPSJCT09MMkJPT0xfM18yXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8xNTBfMS5RTyIgRGVzdGluYXRpb249IlNhbWVUeXBlc091dHB1dC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV9Ob09iamVjdF8xLlFPIiBEZXN0aW5hdGlvbj0iRl9OT1RfMV8yXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFX05vT2JqZWN0XzEuUkRfMSIgRGVzdGluYXRpb249IkJPT0wyQk9PTF8zXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzFfMl8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05hbWVzcGFjZTEuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVUJTQ1JJQkVfMTUwXzEuUkRfMSIgRGVzdGluYXRpb249IlNUUklORzJTVFJJTkdfMi5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQyRElOVF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMF8zLlFPIiBEZXN0aW5hdGlvbj0iRl9OT1RfMV8yXzFfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xXzJfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJPYmplY3RzRm9sZGVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUFVCTElTSF8xXzEuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8xXzJfMV8yXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfMV8yXzFfMl8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJ3cml0ZVVua25vd25Ob2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xXzJfMV8yXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0icmVhZFVua25vd25Ob2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8xXzJfMV8yXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJtZXRob2RVbmtub3duTm9kZUlkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUFVCTElTSF8xXzFfMS5RTyIgRGVzdGluYXRpb249IkZfTk9UXzFfMl8xXzJfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTC5PVVQiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzFfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUFVCTElTSF8xXzFfMS5SRF8xIiBEZXN0aW5hdGlvbj0iQk9PTDJCT09MXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzFfMV8xXzEuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8xXzJfMV8yXzFfMV8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzMuT1VUIiBEZXN0aW5hdGlvbj0ic2FtZUNyZWF0ZWRNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UMkRJTlRfMy5PVVQiIERlc3RpbmF0aW9uPSJ0ZXN0TWV0aG9kMS5TRF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0idGVzdE9iamVjdC5RTyIgRGVzdGluYXRpb249InRlc3RPYmplY3QxVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRlc3RNZXRob2QxLlFPIiBEZXN0aW5hdGlvbj0ib2JqZWN0TWV0aG9kMS5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249InRlc3RNZXRob2QyLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ0ZXN0TWV0aG9kMi5RTyIgRGVzdGluYXRpb249IkZfTk9UXzMuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ0ZXN0TWV0aG9kMS5SRF8xIiBEZXN0aW5hdGlvbj0iRElOVDJESU5UXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRlc3RNZXRob2QyLlJEXzEiIERlc3RpbmF0aW9uPSJESU5UMkRJTlRfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMF81XzEuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8zXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJub1NsYXNoQXRTdGFydC5jaGVjayIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNFUlZFUl8wXzUuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8zXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJvbmx5U2xhc2guY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UMkRJTlRfMl8xLk9VVCIgRGVzdGluYXRpb249IlBVQkxJU0hfMV8yLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMF81XzFfMS5RTyIgRGVzdGluYXRpb249IkZfTk9UXzNfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfTk9UXzNfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJiYWROYW1lc3BhY2VOYW1lTWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfM18xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJiYWROYW1lc3BhY2VOYW1lVmFyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUFVCTElTSF8xXzIuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8zXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9OT1RfM18xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3Vic2NyaWJlTG9jYWwuY2hlY2siIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX05PVF8zXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0ibG9jYWxDYWxsTWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzBfMS5RTyIgRGVzdGluYXRpb249IkZfTk9UXzNfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK0ZhaWxpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ0xJRU5UXzAuUU8iIERlc3RpbmF0aW9uPSJGX05PVF8zXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbGluZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDTElFTlRfMF8xLlJEXzEiIERlc3RpbmF0aW9uPSJESU5UMkRJTlRfNS5JTiIgLz48L1JlcXVlc3Q+CitGYWlsaW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzIiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9sb2NhbEZhaWxBY3Rpb24uZmJvb3QgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbG9jYWxGYWlsQWN0aW9uLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzZWUxZGMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbG9jYWxGYWlsQWN0aW9uLmZib290CkBAIC0wLDAgKzEsNDcgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGYWlsQWN0aW9uIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNlcnZlclJlYWQiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvSXNvbGF0ZWRUZXN0cy9SRUFEVmFyaWFibGVdIiBEZXN0aW5hdGlvbj0iU2VydmVyUmVhZC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU2VydmVyTWV0aG9kIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2Jyb3dzZU5hbWVPbmx5L25vT1BhcmFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iU2VydmVyTWV0aG9kLklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQk9PTDJCT09MXzIiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTZXJ2ZXJXcml0ZSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9Jc29sYXRlZFRlc3RzL1dSSVRFVmFyaWFibGVdIiBEZXN0aW5hdGlvbj0iU2VydmVyV3JpdGUuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSU5JVCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IklOSVQuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMTI3LjAuMC4xOjYwMTAwIiBEZXN0aW5hdGlvbj0iSU5JVC5JRCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJERUlOSVQiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJERUlOSVQuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMTI3LjAuMC4xOjYwMTAxIiBEZXN0aW5hdGlvbj0iREVJTklULklEIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNFUlZFUl8wXzEiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTRVJWRVJfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEyNy4wLjAuMTo2MDEwMiIgRGVzdGluYXRpb249IlNFUlZFUl8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9ERUxBWSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzNzIiBEZXN0aW5hdGlvbj0iRV9ERUxBWS5EVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTEFZXzEiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCMycyIgRGVzdGluYXRpb249IkVfREVMQVlfMS5EVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5FTyIgRGVzdGluYXRpb249IlNlcnZlclJlYWQuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU2VydmVyTWV0aG9kLklOSVRPIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNlcnZlclJlYWQuSU5JVE8iIERlc3RpbmF0aW9uPSJTZXJ2ZXJXcml0ZS5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXJ2ZXJXcml0ZS5JTklUTyIgRGVzdGluYXRpb249IlNlcnZlck1ldGhvZC5JTklUIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJTklULklOSVRPIiBEZXN0aW5hdGlvbj0iREVJTklULklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IklOSVQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJERUlOSVQuUkVRIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTRVJWRVJfMF8xLklORCIgRGVzdGluYXRpb249IlNFUlZFUl8wXzEuUlNQIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJFX0RFTEFZLlNUQVJUIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTEFZLkVPIiBEZXN0aW5hdGlvbj0iU1RFU1RfRU5ELlJFUSIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0VSVkVSXzBfMS5JTkQiIERlc3RpbmF0aW9uPSJFX1NSLlIiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJTRVJWRVJfMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iMzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfREVMQVlfMS5FTyIgRGVzdGluYXRpb249IklOSVQuSU5JVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSIzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0VSVkVSXzBfMS5JTklUTyIgRGVzdGluYXRpb249IkVfREVMQVlfMS5TVEFSVCIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iREVJTklULklOSVRPIiBEZXN0aW5hdGlvbj0iRV9TUi5TIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJTZXJ2ZXJSZWFkLlFJIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJFX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK0ZhaWxBY3Rpb247PFJlcXVlc3QgSUQ9IjQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTZXJ2ZXJSZWFkLlJEXzEiIERlc3RpbmF0aW9uPSJCT09MMkJPT0wuSU4iIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IlNlcnZlck1ldGhvZC5RSSIgLz48L1JlcXVlc3Q+CitGYWlsQWN0aW9uOzxSZXF1ZXN0IElEPSI0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iU2VydmVyV3JpdGUuUUkiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249IlNlcnZlcldyaXRlLlNEXzEiIC8+PC9SZXF1ZXN0PgorRmFpbEFjdGlvbjs8UmVxdWVzdCBJRD0iNDciIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9sb2NhbEZpcnN0UmVhZC5mYm9vdCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9sb2NhbEZpcnN0UmVhZC5mYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTkxY2ZlCi0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2xvY2FsRmlyc3RSZWFkLmZib290CkBAIC0wLDAgKzEsNTcwIEBACis7PFJlcXVlc3QgSUQ9IjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1JlYWRGaXJzdCIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuU1VCU0NSSUJFXzIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkMV0iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5mb2xkZXJUZXN0RGlyZWN0VW5kZXJOb0lEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yXzEiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjEyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9mb2xkZXIxL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjIvTm9JZF0iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5TVUJTQ1JJQkVfMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL05vSWRdIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5TVUJTQ1JJQkVfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuUFVCTElTSF8yXzEiIFR5cGU9IlBVQkxJU0hfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjEvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvZm9sZGVyMi9Ob0lkXSIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuUFVCTElTSF8yXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0wiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxTm9JRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJOb0lEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5QVUJMSVNIXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL05vSWRdIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5QVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzUiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5QVUJMSVNIXzIiIFR5cGU9IlBVQkxJU0hfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9Ob0lkMV0iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMi5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJOb0lEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMU5vSUQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9PUl8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzJfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzJfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfNV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzVfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV81XzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzVfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRX18xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjYxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlBVQkxJU0hfMiIgVHlwZT0iUFVCTElTSF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjY1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6cz1oZWxsbzE7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpzPWhlbGxvMl0iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzIuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMlN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyU3RyaW5nIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuUFVCTElTSF8yXzEiIFR5cGU9IlBVQkxJU0hfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI3MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOnM9aGVsbG8zOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzJfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI3MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9Ijc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9Ijc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9Ijc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iODAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI4MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvXSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlBVQkxJU0hfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iODQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM1IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMVN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzFfMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvXSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlNVQlNDUklCRV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMVN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iOTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOnM9aGVsbG8xOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6cz1oZWxsbzJdIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMi5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjkzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTpzPWhlbGxvMzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6cz1oZWxsbzRdIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMV8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9Ijk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9Ijk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLmZvbGRlclRlc3REaXJlY3RVbmRlclN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9PUl8yXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9PUl8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8yXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzJfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTEwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjExMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjExMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRX18xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjExNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRX18xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjExNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzIiIFR5cGU9IlBVQkxJU0hfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6aT0xMjM0NjsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTppPTEyMzQ3XSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzIuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyTnVtZXJpYyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJOdW1lcmljIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkVfUEVSTUlUIiBUeXBlPSJFX1BFUk1JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlBVQkxJU0hfMl8xIiBUeXBlPSJQVUJMSVNIXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmk9MTIzNDg7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTppPTEyMzQ5XSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzJfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjEyOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjEzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjEzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8xIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTM5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjNSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5FX0NUVS5QViIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFOdW1lcmljIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlNVQlNDUklCRV8xXzEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE0NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMV8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTnVtZXJpYyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMl8yIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTppPTEyMzQ2Oy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmk9MTIzNDddIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlNVQlNDUklCRV8yXzIuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMl8xXzEiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE1MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmk9MTIzNDg7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTppPTEyMzQ5XSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMl8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuZm9sZGVyVGVzdERpcmVjdFVuZGVyTnVtZXJpYyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9PUl8yXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfT1JfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTYxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfNV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfNV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRX18xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMiIgVHlwZT0iUFVCTElTSF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE3OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQxOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmI9Ynl0ZVN0cmluZ05vZGVJZDJdIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMi5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJCeXRlU3RyaW5nIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMkJ5dGVTdHJpbmciIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuUFVCTElTSF8yXzEiIFR5cGU9IlBVQkxJU0hfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxODQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMzsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMl8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE4NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxODgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxOTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIxOTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZF0iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuUFVCTElTSF8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjE5OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzUiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMTk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxQnl0ZVN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMV8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkXSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMV8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxQnl0ZVN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8yIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQxOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmI9Ynl0ZVN0cmluZ05vZGVJZDJdIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlNVQlNDUklCRV8yXzIuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIwNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuZm9sZGVyVGVzdERpcmVjdFVuZGVyQnl0ZVN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRX18xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9PUl8yXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfNV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjE5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfNV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfREVNVVhfMiIgVHlwZT0iRV9ERU1VWF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0JPT0xfVE9fVUlOVCIgVHlwZT0iRl9CT09MX1RPX1VJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yLklORCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjIzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuZm9sZGVyVGVzdERpcmVjdFVuZGVyTm9JRC5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3REaXJlY3RVbmRlck5vSUQuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuU1VCU0NSSUJFXzJfMS5JTkQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8xLklORCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8yLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5QVUJMSVNIXzJfMS5JTklUTyIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuUFVCTElTSF8yLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMl8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuUFVCTElTSF8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkVfUEVSTUlULkVJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJOb0lELkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMi5JTklUTyIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMi5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJOb0lELkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuU1VCU0NSSUJFXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yLklOSVRPIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5TVUJTQ1JJQkVfMl8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMl8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfNV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfNV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfT1JfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRX18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRX18xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfNV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRX18xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuU1VCU0NSSUJFXzIuSU5EIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxTm9JRC5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfT1JfMi5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJOb0lELlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMU5vSUQuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTm9JRC5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMU5vSUQuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMk5vSUQuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yXzEuSU5EIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yLlJEXzIiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yLlJEXzEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuZm9sZGVyVGVzdERpcmVjdFVuZGVyTm9JRC5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuU1VCU0NSSUJFXzJfMS5SRF8xIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5QVUJMSVNIXzJfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5TVUJTQ1JJQkVfMl8xLlJEXzIiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5TVUJTQ1JJQkVfMS5SRF8xIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0wuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuUFVCTElTSF8yXzEuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMi5TRF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5QVUJMSVNIXzIuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzIuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5QVUJMSVNIXzEuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9PUl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIyOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzVfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfT1JfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfT1JfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfNV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjI5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5CT09MMkJPT0xfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMjk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzVfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfT1JfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFOb0lELmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzIuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyTm9JRC5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9PUl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFOb0lELmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMk5vSUQuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkJPT0wyQk9PTF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuRl9FUV9fMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5GX0VRXzVfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0RGlyZWN0VW5kZXJTdHJpbmcuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuUFVCTElTSF8yXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzIuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlBVQkxJU0hfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlBVQkxJU0hfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlBVQkxJU0hfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlBVQkxJU0hfMl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlNVQlNDUklCRV8yXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5TVUJTQ1JJQkVfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8yLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8yLklORCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuUFVCTElTSF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlNVQlNDUklCRV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLmZvbGRlclRlc3REaXJlY3RVbmRlclN0cmluZy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJTdHJpbmcuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJTdHJpbmcuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzJfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfNV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9PUl8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjMzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV9fMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRX18xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfNV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8zLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFTdHJpbmcuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9PUl8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMVN0cmluZy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFTdHJpbmcuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlBVQkxJU0hfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0RGlyZWN0VW5kZXJTdHJpbmcuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuUFVCTElTSF8yLlNEXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRV9QRVJNSVQuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuUFVCTElTSF8yXzEuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuUFVCTElTSF8yXzEuU0RfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlBVQkxJU0hfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlNVQlNDUklCRV8yXzIuUkRfMiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlNVQlNDUklCRV8xXzEuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8zLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMV8xLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMi5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX09SXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX09SXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX09SXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzVfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMl8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyU3RyaW5nLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuRl9PUl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFTdHJpbmcuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfNV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLkZfRVFfXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJTdHJpbmcuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5GX09SXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFTdHJpbmcuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0RGlyZWN0VW5kZXJOdW1lcmljLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzJfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzIuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkVfQ1RVLkNVTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5FX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSIzOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iMzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlNVQlNDUklCRV8yXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjM5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlNVQlNDUklCRV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuU1VCU0NSSUJFXzJfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlNVQlNDUklCRV8xXzEuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8zLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMl8yLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlNVQlNDUklCRV8yXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlNVQlNDUklCRV8yXzIuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlBVQkxJU0hfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlNVQlNDUklCRV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0RGlyZWN0VW5kZXJOdW1lcmljLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyTnVtZXJpYy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyTnVtZXJpYy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5CT09MMkJPT0xfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuU1VCU0NSSUJFXzJfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlBVQkxJU0hfMl8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfT1JfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzVfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV9fMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV9fMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzVfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuU1VCU0NSSUJFXzJfMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxTnVtZXJpYy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9PUl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxTnVtZXJpYy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9PUl8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyTnVtZXJpYy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTnVtZXJpYy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMl8xXzEuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfT1JfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJOdW1lcmljLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTnVtZXJpYy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8yLlNEXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5mb2xkZXJUZXN0RGlyZWN0VW5kZXJOdW1lcmljLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8yLlNEXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRV9DVFUuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlBVQkxJU0hfMl8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8yXzEuU0RfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuU1VCU0NSSUJFXzJfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuU1VCU0NSSUJFXzJfMi5SRF8yIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkJPT0wyQk9PTF8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuU1VCU0NSSUJFXzJfMV8xLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMl8yLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRX18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9PUl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzJfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV81XzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9PUl8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfT1JfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFOdW1lcmljLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMk51bWVyaWMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuRl9FUV9fMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzVfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX0VRXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyTnVtZXJpYy5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5GX09SXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTnVtZXJpYy5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLmZvbGRlclRlc3REaXJlY3RVbmRlckJ5dGVTdHJpbmcuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMl8xLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMi5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkVfUEVSTUlULkVJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMV8xLklORCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuU1VCU0NSSUJFXzFfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8yLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuU1VCU0NSSUJFXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlNVQlNDUklCRV8yXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuUFVCTElTSF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iRl9CT09MX1RPX1VJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLmZvbGRlclRlc3REaXJlY3RVbmRlckJ5dGVTdHJpbmcuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJCeXRlU3RyaW5nLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJCeXRlU3RyaW5nLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5FX1BFUk1JVC5FTyIgRGVzdGluYXRpb249IkVfU1IuUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuUFVCTElTSF8yXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzVfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRX18xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX09SXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfNV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX09SXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfNV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV9fMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNDkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuU1VCU0NSSUJFXzJfMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8zLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMUJ5dGVTdHJpbmcuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMkJ5dGVTdHJpbmcuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFCeXRlU3RyaW5nLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI0OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlNVQlNDUklCRV8yXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9PUl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMUJ5dGVTdHJpbmcuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJCeXRlU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFCeXRlU3RyaW5nLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzIuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLmZvbGRlclRlc3REaXJlY3RVbmRlckJ5dGVTdHJpbmcuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzIuU0RfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkVfUEVSTUlULlBFUk1JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuUFVCTElTSF8yXzEuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzJfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzEuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8yLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuQk9PTDJCT09MXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlNVQlNDUklCRV8xXzEuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEuUkRfMiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlNVQlNDUklCRV8yXzIuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX09SXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX09SXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV81XzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9PUl8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV81XzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMUJ5dGVTdHJpbmcuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyQnl0ZVN0cmluZy5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5CT09MMkJPT0xfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfMl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkJPT0wyQk9PTF8xXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfRVFfNV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJCeXRlU3RyaW5nLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFCeXRlU3RyaW5nLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IkVfU1IuUyIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJFX1NSLlMiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLkVPIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5TVUJTQ1JJQkVfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9ERU1VWF8yLkVPMiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuQk9PTDJCT09MXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9CT09MX1RPX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iRV9ERU1VWF8yLkVJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9ERU1VWF8yLkVPMSIgRGVzdGluYXRpb249IlNURVNUX0VORC5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlNVQlNDUklCRV8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5TVUJTQ1JJQkVfMl8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZS5TVUJTQ1JJQkVfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuUFVCTElTSF8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lLlBVQkxJU0hfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWUuUFVCTElTSF8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWQuU1VCU0NSSUJFXzFfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkLlNVQlNDUklCRV8yXzIuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzIuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZC5QVUJMSVNIXzJfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5TVUJTQ1JJQkVfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlNVQlNDUklCRV8yXzIuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuU1VCU0NSSUJFXzJfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkLlBVQkxJU0hfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZC5QVUJMSVNIXzIuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWQuUFVCTElTSF8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuU1VCU0NSSUJFXzFfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5TVUJTQ1JJQkVfMl8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlNVQlNDUklCRV8yXzFfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZC5QVUJMSVNIXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWQuUFVCTElTSF8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkLlBVQkxJU0hfMl8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNSZWFkRmlyc3Q7PFJlcXVlc3QgSUQ9IjU2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iRl9CT09MX1RPX1VJTlQuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1JlYWRGaXJzdDs8UmVxdWVzdCBJRD0iNTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0JPT0xfVE9fVUlOVC5PVVQiIERlc3RpbmF0aW9uPSJFX0RFTVVYXzIuSyIgLz48L1JlcXVlc3Q+Citmb2xkZXJzUmVhZEZpcnN0OzxSZXF1ZXN0IElEPSI1NzAiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9sb2NhbEZpcnN0V3JpdGUuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbG9jYWxGaXJzdFdyaXRlLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjOWFkOTgKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbG9jYWxGaXJzdFdyaXRlLmZib290CkBAIC0wLDAgKzEsNTcwIEBACis7PFJlcXVlc3QgSUQ9IjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dyaXRlRmlyc3QiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EXzEiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGX0JPT0xfVE9fVUlOVF8xIiBUeXBlPSJGX0JPT0xfVE9fVUlOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTVVYXzJfMSIgVHlwZT0iRV9ERU1VWF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1JfMSIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5QVUJMSVNIXzIiIFR5cGU9IlBVQkxJU0hfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpzPWhlbGxvMTsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOnM9aGVsbG8yXSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8yLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJTdHJpbmciIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMlN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlBVQkxJU0hfMl8xIiBUeXBlPSJQVUJMSVNIXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6cz1oZWxsbzM7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOnM9aGVsbG80XSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8yXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8xIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOnM9aGVsbG9dIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5QVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzUiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkVfQ1RVLlBWIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFTdHJpbmciIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8xXzEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOnM9aGVsbG9dIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMV8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFTdHJpbmciIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6cz1oZWxsbzE7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpzPWhlbGxvMl0iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzIuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMV8xIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOnM9aGVsbG8zOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpzPWhlbGxvNF0iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzFfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5mb2xkZXJUZXN0RGlyZWN0VW5kZXJTdHJpbmciIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMiIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8yXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfNV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV81XzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI2MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5QVUJMSVNIXzIiIFR5cGU9IlBVQkxJU0hfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMTsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpiPWJ5dGVTdHJpbmdOb2RlSWQyXSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMi5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMkJ5dGVTdHJpbmciIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJCeXRlU3RyaW5nIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5QVUJMSVNIXzJfMSIgVHlwZT0iUFVCTElTSF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI3MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQzOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkNF0iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5QVUJMSVNIXzJfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9Ijc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjgzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9Ijg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI4NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkXSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI4NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzUiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5FX0NUVS5QViIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMUJ5dGVTdHJpbmciIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMV8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iOTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkXSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxQnl0ZVN0cmluZyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDE7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMl0iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8yLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8xXzEiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI5NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZDM7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzFfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0RGlyZWN0VW5kZXJCeXRlU3RyaW5nIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEwMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRX18xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzJfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfNV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV8yXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzVfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjExMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjExMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjExMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRX18xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjExNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRX18xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjExNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjExOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTE5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuUFVCTElTSF8yIiBUeXBlPSJQVUJMSVNIXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTppPTEyMzQ2Oy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmk9MTIzNDddIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuUFVCTElTSF8yLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMk51bWVyaWMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyTnVtZXJpYyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5QVUJMSVNIXzJfMSIgVHlwZT0iUFVCTElTSF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6aT0xMjM0ODsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOmk9MTIzNDldIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuUFVCTElTSF8yXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTM2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjEzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmk9MTIzNDVdIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuUFVCTElTSF8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRV9DVFUiIFR5cGU9IkVfQ1RVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM1IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxTnVtZXJpYyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5TVUJTQ1JJQkVfMV8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmk9MTIzNDVdIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzFfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMU51bWVyaWMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzJfMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZCwxOmk9MTIzNDY7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQxLDE6aT0xMjM0N10iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5TVUJTQ1JJQkVfMl8yLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzJfMV8xIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTUzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjEvV2l0aElkLDE6aT0xMjM0ODsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIyL1dpdGhJZCwxOmk9MTIzNDldIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzJfMV8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLmZvbGRlclRlc3REaXJlY3RVbmRlck51bWVyaWMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX09SXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzJfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzJfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfNV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzVfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTY4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV81XzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE3MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzVfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRX18xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE3NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8yIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTc5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDFdIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8yLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLmZvbGRlclRlc3REaXJlY3RVbmRlck5vSUQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxODQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5TVUJTQ1JJQkVfMl8xIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTg2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9mb2xkZXIxL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjIvTm9JZF0iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuU1VCU0NSSUJFXzJfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTg3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5TVUJTQ1JJQkVfMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE4OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvTm9JZF0iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuU1VCU0NSSUJFXzEuSUQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxOTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlBVQkxJU0hfMl8xIiBUeXBlPSJQVUJMSVNIXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjEvTm9JZDsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvZm9sZGVyMi9Ob0lkXSIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzJfMS5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0wiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5FX1BFUk1JVCIgVHlwZT0iRV9QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMU5vSUQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIxOTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMTk5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyTm9JRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjAzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9maXJzdFJlYWQvT25seUJyb3dzZU5hbWUvZm9sZGVyVGVzdHMvTm9JZF0iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuUFVCTElTSF8xLklEIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIwNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5FX0NUVSIgVHlwZT0iRV9DVFUiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIwNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzUiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRV9DVFUuUFYiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjA5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlBVQkxJU0hfMiIgVHlwZT0iUFVCTElTSF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDFdIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlBVQkxJU0hfMi5JRCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyTm9JRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTm9JRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMzQ1NiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8yXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfT1JfMV8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfT1JfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzJfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM2NTQzMjEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzVfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRX18xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzJfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzVfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRX18xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjIzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuZm9sZGVyVGVzdERpcmVjdFVuZGVyU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlBVQkxJU0hfMl8xLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5QVUJMSVNIXzIuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlBVQkxJU0hfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlBVQkxJU0hfMi5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5QVUJMSVNIXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5QVUJMSVNIXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5FX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5QVUJMSVNIXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMV8xLklORCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzFfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8zLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuZm9sZGVyVGVzdERpcmVjdFVuZGVyU3RyaW5nLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyU3RyaW5nLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJTdHJpbmcuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzVfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9PUl8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV9fMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRX18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV9fMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV81XzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRX18xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzIuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFTdHJpbmcuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMVN0cmluZy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMV8xLklORCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMVN0cmluZy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8yXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlBVQkxJU0hfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlBVQkxJU0hfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyNzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuZm9sZGVyVGVzdERpcmVjdFVuZGVyU3RyaW5nLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8yLlNEXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlBVQkxJU0hfMl8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8yXzEuU0RfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8xXzEuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8yLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8xXzEuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8xXzEuUkRfMiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzIuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9PUl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzIuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzVfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9PUl8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIyOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV9fMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjI5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMjk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJTdHJpbmcuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxU3RyaW5nLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfNV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfRVFfMl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMlN0cmluZy5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxU3RyaW5nLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0RGlyZWN0VW5kZXJCeXRlU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5QVUJMSVNIXzJfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8yLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5QVUJMSVNIXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8xXzEuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8yLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMi5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzIuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuZm9sZGVyVGVzdERpcmVjdFVuZGVyQnl0ZVN0cmluZy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyQnl0ZVN0cmluZy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJCeXRlU3RyaW5nLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iRV9TUl8xLlIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzVfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRX18xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfT1JfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRX18xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfNV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjMzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzMzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfNV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8yLklORCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFCeXRlU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMkJ5dGVTdHJpbmcuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFCeXRlU3RyaW5nLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFCeXRlU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJCeXRlU3RyaW5nLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGX0JPT0xfVE9fVUlOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5QVUJMSVNIXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxQnl0ZVN0cmluZy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLmZvbGRlclRlc3REaXJlY3RVbmRlckJ5dGVTdHJpbmcuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMi5TRF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkVfQ1RVLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8yXzEuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlBVQkxJU0hfMl8xLlNEXzIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8yLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzFfMS5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMV8xLlJEXzIiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8yXzIuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfNV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8yXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzJfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfT1JfMl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV81XzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFCeXRlU3RyaW5nLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzNzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyQnl0ZVN0cmluZy5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV9fMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkZfRVFfMl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLkJPT0wyQk9PTF8xXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9FUV81XzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuRl9PUl8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyQnl0ZVN0cmluZy5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5GX09SXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFCeXRlU3RyaW5nLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5mb2xkZXJUZXN0RGlyZWN0VW5kZXJOdW1lcmljLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5QVUJMSVNIXzJfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMi5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuUFVCTElTSF8yLklOSVRPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuUFVCTElTSF8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5QVUJMSVNIXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjM5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iMzk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5TVUJTQ1JJQkVfMl8xXzEuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSIzOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5TVUJTQ1JJQkVfMl8yLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzJfMi5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8yXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8yXzIuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuZm9sZGVyVGVzdERpcmVjdFVuZGVyTnVtZXJpYy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyTnVtZXJpYy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjJOdW1lcmljLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5CT09MMkJPT0xfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV81XzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX09SXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV9fMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRX18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfNV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRX18xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8zLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzJfMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMU51bWVyaWMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFOdW1lcmljLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMk51bWVyaWMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMU51bWVyaWMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8yXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMk51bWVyaWMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMU51bWVyaWMuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8yXzFfMS5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8yXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5QVUJMSVNIXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5TVUJTQ1JJQkVfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5QVUJMSVNIXzIuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5mb2xkZXJUZXN0RGlyZWN0VW5kZXJOdW1lcmljLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5QVUJMSVNIXzIuU0RfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5FX0NUVS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRV9QRVJNSVQuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMl8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5QVUJMSVNIXzJfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8yXzFfMS5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzJfMi5SRF8yIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8xXzEuUkRfMSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8zLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8yXzFfMS5SRF8yIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5TVUJTQ1JJQkVfMl8yLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8zLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX09SXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMi5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzJfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzVfMV8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMl8xLklOMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV81XzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIxTnVtZXJpYy5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX09SXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuZm9sZGVyVGVzdDJTYW1lRm9sZGVyMk51bWVyaWMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkJPT0wyQk9PTF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzFfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5GX0VRXzVfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5CT09MMkJPT0xfMV8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfRVFfMl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLkZfT1JfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMk51bWVyaWMuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuRl9PUl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTnVtZXJpYy5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuU1VCU0NSSUJFXzIuSU5EIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuZm9sZGVyVGVzdERpcmVjdFVuZGVyTm9JRC5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLmZvbGRlclRlc3REaXJlY3RVbmRlck5vSUQuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5TVUJTQ1JJQkVfMl8xLklORCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8xLklORCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0wuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuUFVCTElTSF8yXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuUFVCTElTSF8yLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlBVQkxJU0hfMl8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0wuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8yLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5FX0NUVS5DVU8iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRV9QRVJNSVQuRUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIyTm9JRC5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlBVQkxJU0hfMi5JTklUTyIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuUFVCTElTSF8yLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyTm9JRC5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkVfUEVSTUlULkVPIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuQk9PTDJCT09MXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8yLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8yLklOSVRPIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8yXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfT1JfMi5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfNV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfT1JfMl8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV9fMV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX09SXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRX18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRX18xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX09SXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzJfMV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzVfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRX18xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuU1VCU0NSSUJFXzIuSU5EIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX09SXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFOb0lELlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8yLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5mb2xkZXJUZXN0MlNhbWVGb2xkZXIyTm9JRC5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFOb0lELkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5FX0NUVS5DVSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTm9JRC5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRV9DVFUuQ1UiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjQ5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfT1JfMV8xLkNORiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5mb2xkZXJUZXN0MkRpZmZlcmVudEZvbGRlcjFOb0lELlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMk5vSUQuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuU1VCU0NSSUJFXzJfMS5JTkQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8yXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5QVUJMSVNIXzJfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuU1VCU0NSSUJFXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuU1VCU0NSSUJFXzIuUkRfMiIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5TVUJTQ1JJQkVfMi5SRF8xIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5mb2xkZXJUZXN0RGlyZWN0VW5kZXJOb0lELmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5TVUJTQ1JJQkVfMl8xLlJEXzEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzJfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5TVUJTQ1JJQkVfMl8xLlJEXzIiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8xLlJEXzEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuUFVCTElTSF8yXzEuU0RfMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5QVUJMSVNIXzIuU0RfMiIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRV9DVFUuUSIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5FX1BFUk1JVC5QRVJNSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlBVQkxJU0hfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMi5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuUFVCTElTSF8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8yLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfT1JfMi5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzVfMV8xLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX09SXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfT1JfMS5JTjIiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfMl8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV81XzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjFOb0lELmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX09SXzIuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLmZvbGRlclRlc3QyU2FtZUZvbGRlcjJOb0lELmNoZWNrIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX09SXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuZm9sZGVyVGVzdDJEaWZmZXJlbnRGb2xkZXIxTm9JRC5jaGVjayIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9PUl8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLmZvbGRlclRlc3QyRGlmZmVyZW50Rm9sZGVyMk5vSUQuY2hlY2siIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5CT09MMkJPT0xfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkZvbGRlcnNOb0Jyb3dzZU5hbWVfMi5GX0VRXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuQk9PTDJCT09MXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkZfRVFfNV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfQk9PTF9UT19VSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iRV9ERU1VWF8yXzEuRUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjUzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9ERU1VWF8yXzEuRU8xIiBEZXN0aW5hdGlvbj0iU1RFU1RfRU5EXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJFX1NSXzEuUyIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iRV9TUl8xLlMiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLkVPIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlBVQkxJU0hfMl8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9ERU1VWF8yXzEuRU8yIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLkJPT0wyQk9PTF8yLlJFUSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJGX0JPT0xfVE9fVUlOVF8xLk9VVCIgRGVzdGluYXRpb249IkVfREVNVVhfMl8xLksiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJGX0JPT0xfVE9fVUlOVF8xLklOIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVTdHJpbmdJZF8yLlBVQkxJU0hfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZVN0cmluZ0lkXzIuUFVCTElTSF8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlU3RyaW5nSWRfMi5QVUJMSVNIXzJfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZUJ5dGVTdHJpbmdJZF8yLlNVQlNDUklCRV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVCeXRlU3RyaW5nSWRfMi5TVUJTQ1JJQkVfMl8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuU1VCU0NSSUJFXzJfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlQnl0ZVN0cmluZ0lkXzIuUFVCTElTSF8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJzV2l0aE5vZGVOdW1lcmljSWRfMi5TVUJTQ1JJQkVfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyc1dpdGhOb2RlTnVtZXJpY0lkXzIuU1VCU0NSSUJFXzJfMi5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlNVQlNDUklCRV8yXzFfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMS5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMi5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249ImZvbGRlcnNXaXRoTm9kZU51bWVyaWNJZF8yLlBVQkxJU0hfMl8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8yLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlNVQlNDUklCRV8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuU1VCU0NSSUJFXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuUFVCTElTSF8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorZm9sZGVyc1dyaXRlRmlyc3Q7PFJlcXVlc3QgSUQ9IjU2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJGb2xkZXJzTm9Ccm93c2VOYW1lXzIuUFVCTElTSF8xLlFJIiAvPjwvUmVxdWVzdD4KK2ZvbGRlcnNXcml0ZUZpcnN0OzxSZXF1ZXN0IElEPSI1NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iRm9sZGVyc05vQnJvd3NlTmFtZV8yLlBVQkxJU0hfMi5RSSIgLz48L1JlcXVlc3Q+Citmb2xkZXJzV3JpdGVGaXJzdDs8UmVxdWVzdCBJRD0iNTcwIiBBY3Rpb249IlNUQVJUIi8+CmRpZmYgLS1naXQgYS9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbG9jYWxNZXRob2RzQ3JlYXRlLmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2xvY2FsTWV0aG9kc0NyZWF0ZS5mYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTcxNjM3Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL2xvY2FsTWV0aG9kc0NyZWF0ZS5mYm9vdApAQCAtMCwwICsxLDIxNyBAQAorOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZUxvY2FsTWV0aG9kcyIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRl9CT09MX1RPX1VJTlRfMiIgVHlwZT0iRl9CT09MX1RPX1VJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvbm9PUGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMC5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMiIFR5cGU9IlNFUlZFUl8wXzMiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9vbmx5T3V0cHV0UGFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzBfMy5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMyIgVHlwZT0iU0VSVkVSXzJfMyIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2Jyb3dzZU5hbWVPbmx5L2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMy5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLm9ubHlCcm93c2VOYW1lTWV0aG9kXzJfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZF8wXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2Jyb3dzZU5hbWVPbmx5L29ubHlJbnB1dFBhcmFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMC5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLm9ubHlCcm93c2VOYW1lTWV0aG9kMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZF8xXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuRV9ERU1VWF8yIiBUeXBlPSJFX0RFTVVYXzIiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5GX0JPT0xfVE9fVUlOVCIgVHlwZT0iRl9CT09MX1RPX1VJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvbm9PUGFyYW1ldGVycywxOmI9Ynl0ZVN0cmluZ05vZGVJZDFdIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMC5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMiIFR5cGU9IlNFUlZFUl8wXzMiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIzMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9ieXRlU3RyaW5nTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmI9Ynl0ZVN0cmluZ05vZGVJZDNdIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLklEIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMyIgVHlwZT0iU0VSVkVSXzJfMyIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjM0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOmI9Ynl0ZVN0cmluZ05vZGVJZDRdIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLklEIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ieXRlU3RyaW5nTm9kZWlkTWV0aG9kXzJfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLmJ5dGVTdHJpbmdOb2RlaWRNZXRob2RfMF8zIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjM4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2J5dGVTdHJpbmdOb2RlSWQvb25seUlucHV0UGFyYW1ldGVycywxOmI9Ynl0ZVN0cmluZ05vZGVJZDJdIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLklEIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ieXRlU3RyaW5nTm9kZWlkTWV0aG9kMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLmJ5dGVTdHJpbmdOb2RlaWRNZXRob2RfMV8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkVfREVNVVhfMiIgVHlwZT0iRV9ERU1VWF8yIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0JPT0xfVE9fVUlOVCIgVHlwZT0iRl9CT09MX1RPX1VJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTVVYXzJfMiIgVHlwZT0iRV9ERU1VWF8yIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9TUl8yIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI1MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL25vT1BhcmFtZXRlcnMsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zIiBUeXBlPSJTRVJWRVJfMF8zIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvbnVtZXJpY05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTppPTEyMzQ3XSIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzBfMy5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfM18xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMiIFR5cGU9IlNFUlZFUl8yXzMiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI1NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnMsMTppPTEyMzQ4XSIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE51bWVyaWNOb2RlSWQubnVtZXJpY05vZGVJZE1ldGhvZF8yXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5udW1lcmljTm9kZUlkTWV0aG9kXzBfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8xXzAiIFR5cGU9IlNFUlZFUl8xXzAiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI2MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTppPTEyMzQ2XSIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE51bWVyaWNOb2RlSWQubnVtZXJpY05vZGVJZE1ldGhvZDAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5udW1lcmljTm9kZUlkTWV0aG9kXzFfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5FX0RFTVVYXzIiIFR5cGU9IkVfREVNVVhfMiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZE51bWVyaWNOb2RlSWQuRl9CT09MX1RPX1VJTlQiIFR5cGU9IkZfQk9PTF9UT19VSU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI3MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvbm9PUGFyYW1ldGVycywxOnM9aGVsbG9dIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wLklEIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMyIgVHlwZT0iU0VSVkVSXzBfMyIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTpzPWhlbGxvMl0iIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMl8zIiBUeXBlPSJTRVJWRVJfMl8zIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iNzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvc3RyaW5nTm9kZUlkL2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnMsMTpzPWhlbGxvM10iIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2RfMl8zIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2RfMF8zIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iODIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvc3RyaW5nTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTpzPWhlbGxvMV0iIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5JRCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2QwIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2RfMV8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVNVVhfMiIgVHlwZT0iRV9ERU1VWF8yIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTWV0aG9kU3RyaW5nTm9kZUlkLkZfQk9PTF9UT19VSU5UIiBUeXBlPSJGX0JPT0xfVE9fVUlOVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNURVNUX0VORF8yIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuRl9CT09MX1RPX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iTWV0aG9kT25seUJyb3dzZU5hbWUuRV9ERU1VWF8yLkVJIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5GX0JPT0xfVE9fVUlOVC5SRVEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuRV9ERU1VWF8yLkVPMiIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLm9ubHlCcm93c2VOYW1lTWV0aG9kXzJfMy5SRVEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSI5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMC5JTklUTyIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9Ijk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLklOSVRPIiBEZXN0aW5hdGlvbj0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMy5JTklUIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iOTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLm9ubHlCcm93c2VOYW1lTWV0aG9kXzJfMy5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZF8wXzMuUkVRIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLm9ubHlCcm93c2VOYW1lTWV0aG9kXzBfMy5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZF8xXzAuUkVRIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLm9ubHlCcm93c2VOYW1lTWV0aG9kXzFfMC5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZDAuUkVRIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLm9ubHlCcm93c2VOYW1lTWV0aG9kMC5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVNVVhfMi5FTzEiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuUkRfMiIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMy5SRF8xIiBEZXN0aW5hdGlvbj0iTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZDAuY2hlY2siIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuUkRfMyIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuUkRfMiIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuUU8iIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZF8wXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuUkRfMSIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlJEXzMiIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlNEXzIiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuUU8iIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZF8yXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLlNEXzEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8xXzAuUU8iIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5vbmx5QnJvd3NlTmFtZU1ldGhvZF8xXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkZfQk9PTF9UT19VSU5ULk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVNVVhfMi5LIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wLklOSVRPIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5JTklUTyIgRGVzdGluYXRpb249Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JTklUIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjExOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLklOSVRPIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0JPT0xfVE9fVUlOVC5SRVEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9CT09MX1RPX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5FX0RFTVVYXzIuRUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRV9ERU1VWF8yLkVPMSIgRGVzdGluYXRpb249IkZfQk9PTF9UT19VSU5UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkVfREVNVVhfMi5FTzIiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLmJ5dGVTdHJpbmdOb2RlaWRNZXRob2RfMl8zLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ieXRlU3RyaW5nTm9kZWlkTWV0aG9kXzJfMy5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLmJ5dGVTdHJpbmdOb2RlaWRNZXRob2RfMF8zLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ieXRlU3RyaW5nTm9kZWlkTWV0aG9kXzBfMy5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLmJ5dGVTdHJpbmdOb2RlaWRNZXRob2RfMV8wLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ieXRlU3RyaW5nTm9kZWlkTWV0aG9kXzFfMC5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLmJ5dGVTdHJpbmdOb2RlaWRNZXRob2QwLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ieXRlU3RyaW5nTm9kZWlkTWV0aG9kMC5DTkYiIERlc3RpbmF0aW9uPSJGX0JPT0xfVE9fVUlOVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlJEXzIiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlJEXzEiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLmJ5dGVTdHJpbmdOb2RlaWRNZXRob2QwLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUkRfMyIgRGVzdGluYXRpb249Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLlJEXzIiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5RTyIgRGVzdGluYXRpb249Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuYnl0ZVN0cmluZ05vZGVpZE1ldGhvZF8wXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SRF8xIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlJEXzMiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5TRF8yIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUU8iIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLmJ5dGVTdHJpbmdOb2RlaWRNZXRob2RfMl8zLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuU0RfMSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlFPIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ieXRlU3RyaW5nTm9kZWlkTWV0aG9kXzFfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjEzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0JPT0xfVE9fVUlOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLkVfREVNVVhfMi5LIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2ROdW1lcmljTm9kZUlkLkZfQk9PTF9UT19VSU5ULkNORiIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuRV9ERU1VWF8yLkVJIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLkZfQk9PTF9UT19VSU5ULlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5FX0RFTVVYXzIuRU8yIiBEZXN0aW5hdGlvbj0iTWV0aG9kTnVtZXJpY05vZGVJZC5udW1lcmljTm9kZUlkTWV0aG9kXzJfMy5SRVEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE51bWVyaWNOb2RlSWQuRV9ERU1VWF8yLkVPMSIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMC5JTklUTyIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8xXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5udW1lcmljTm9kZUlkTWV0aG9kXzBfMy5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLm51bWVyaWNOb2RlSWRNZXRob2RfMV8wLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5udW1lcmljTm9kZUlkTWV0aG9kMC5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5udW1lcmljTm9kZUlkTWV0aG9kXzFfMC5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLm51bWVyaWNOb2RlSWRNZXRob2QwLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5udW1lcmljTm9kZUlkTWV0aG9kXzJfMy5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLm51bWVyaWNOb2RlSWRNZXRob2RfMF8zLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlJEXzIiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlJEXzEiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLm51bWVyaWNOb2RlSWRNZXRob2QwLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wXzMuUkRfMyIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLlJEXzIiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzBfMy5RTyIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQubnVtZXJpY05vZGVJZE1ldGhvZF8wXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzBfMy5SRF8xIiBEZXN0aW5hdGlvbj0iTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlJEXzMiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5TRF8yIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuUU8iIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLm51bWVyaWNOb2RlSWRNZXRob2RfMl8zLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8xXzAuU0RfMSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wLlFPIiBEZXN0aW5hdGlvbj0iTWV0aG9kTnVtZXJpY05vZGVJZC5udW1lcmljTm9kZUlkTWV0aG9kXzFfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kTnVtZXJpY05vZGVJZC5GX0JPT0xfVE9fVUlOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLkVfREVNVVhfMi5LIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RTdHJpbmdOb2RlSWQuRl9CT09MX1RPX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVNVVhfMi5FSSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuRl9CT09MX1RPX1VJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RTdHJpbmdOb2RlSWQuRV9ERU1VWF8yLkVPMiIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2RfMl8zLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVNVVhfMi5FTzEiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2RfMV8wLkNORiIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2QwLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kU3RyaW5nTm9kZUlkLnN0cmluZ05vZGVJZE1ldGhvZDAuQ05GIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RTdHJpbmdOb2RlSWQuc3RyaW5nTm9kZUlkTWV0aG9kXzJfMy5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuc3RyaW5nTm9kZUlkTWV0aG9kXzBfMy5SRVEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2RfMF8zLkNORiIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2RfMV8wLlJFUSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JTklUIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5JTklUTyIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLklOSVQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMC5JTklUTyIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlJEXzIiIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SRF8xIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxNzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMC5RTyIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2QwLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SRF8zIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLlJEXzIiIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUU8iIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuc3RyaW5nTm9kZUlkTWV0aG9kXzBfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUkRfMSIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUkRfMyIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuU0RfMSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5TRF8yIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5RTyIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5zdHJpbmdOb2RlSWRNZXRob2RfMl8zLmNoZWNrIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlNEXzEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlFPIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLnN0cmluZ05vZGVJZE1ldGhvZF8xXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZFN0cmluZ05vZGVJZC5GX0JPT0xfVE9fVUlOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuRV9ERU1VWF8yLksiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkZfQk9PTF9UT19VSU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iRV9ERU1VWF8yXzIuRUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfREVNVVhfMl8yLkVPMiIgRGVzdGluYXRpb249IkVfU1JfMi5SIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuRU8iIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMC5JTklUIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX0RFTVVYXzJfMi5FTzEiIERlc3RpbmF0aW9uPSJTVEVTVF9FTkRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJFX1NSXzIuUyIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRl9CT09MX1RPX1VJTlRfMi5PVVQiIERlc3RpbmF0aW9uPSJFX0RFTVVYXzJfMi5LIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuUSIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wLlFJIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMTk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuUSIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8xXzAuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIxOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzBfMy5RSSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjE5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJNZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlFJIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuUSIgRGVzdGluYXRpb249Ik1ldGhvZE9ubHlCcm93c2VOYW1lLkZfQk9PTF9UT19VSU5ULklOIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuUSIgRGVzdGluYXRpb249Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlFJIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuUSIgRGVzdGluYXRpb249Ik1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5RSSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjIwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJNZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0JPT0xfVE9fVUlOVC5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjIwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJGX0JPT0xfVE9fVUlOVF8yLklOIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuUSIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wLlFJIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuUSIgRGVzdGluYXRpb249Ik1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzBfMy5RSSIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjIxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJNZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kTnVtZXJpY05vZGVJZC5GX0JPT0xfVE9fVUlOVC5JTiIgLz48L1JlcXVlc3Q+CitjcmVhdGVMb2NhbE1ldGhvZHM7PFJlcXVlc3QgSUQ9IjIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8yLlEiIERlc3RpbmF0aW9uPSJNZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUUkiIC8+PC9SZXF1ZXN0PgorY3JlYXRlTG9jYWxNZXRob2RzOzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iTWV0aG9kU3RyaW5nTm9kZUlkLkZfQk9PTF9UT19VSU5ULklOIiAvPjwvUmVxdWVzdD4KK2NyZWF0ZUxvY2FsTWV0aG9kczs8UmVxdWVzdCBJRD0iMjE3IiBBY3Rpb249IlNUQVJUIi8+CmRpZmYgLS1naXQgYS9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbm9kZXNwYWNlVGVzdC9mb3JkaWFjTmFtZXNwYWNlLk5vZGVTZXQyLnhtbCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9ub2Rlc3BhY2VUZXN0L2ZvcmRpYWNOYW1lc3BhY2UuTm9kZVNldDIueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZTZkMWUKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbm9kZXNwYWNlVGVzdC9mb3JkaWFjTmFtZXNwYWNlLk5vZGVTZXQyLnhtbApAQCAtMCwwICsxLDIwMyBAQAor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxVQU5vZGVTZXQgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgTGFzdE1vZGlmaWVkPSIyMDE5LTA1LTAxVDAwOjAwOjAwWiIgeG1sbnM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yMDExLzAzL1VBTm9kZVNldC54c2QiPgorICA8TmFtZXNwYWNlVXJpcz4KKyAgICA8VXJpPmh0dHBzOi8vZ2l0LmVjbGlwc2Uub3JnLzRkaWFjL29yZy5lY2xpcHNlLjRkaWFjPC9Vcmk+CisgIDwvTmFtZXNwYWNlVXJpcz4KKyAgPE1vZGVscz4KKyAgICA8TW9kZWwgTW9kZWxVcmk9Imh0dHBzOi8vZ2l0LmVjbGlwc2Uub3JnLzRkaWFjL29yZy5lY2xpcHNlLjRkaWFjIiBWZXJzaW9uPSIxLjAyIiBQdWJsaWNhdGlvbkRhdGU9IjIwMTktMDUtMDFUMDA6MDA6MDBaIj4KKyAgICAgIDxSZXF1aXJlZE1vZGVsIE1vZGVsVXJpPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIiBWZXJzaW9uPSIxLjA1IiBQdWJsaWNhdGlvbkRhdGU9IjIwMTktMDUtMDFUMDA6MDA6MDBaIiAvPgorICAgIDwvTW9kZWw+CisgIDwvTW9kZWxzPgorICA8QWxpYXNlcz4KKyAgICA8QWxpYXMgQWxpYXM9IkJvb2xlYW4iPmk9MTwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJTQnl0ZSI+aT0yPC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9IkJ5dGUiPmk9MzwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJJbnQxNiI+aT00PC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9IlVJbnQxNiI+aT01PC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9IkludDMyIj5pPTY8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iVUludDMyIj5pPTc8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iSW50NjQiPmk9ODwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJVSW50NjQiPmk9OTwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJGbG9hdCI+aT0xMDwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJEb3VibGUiPmk9MTE8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iRGF0ZVRpbWUiPmk9MTM8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iU3RyaW5nIj5pPTEyPC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9IkJ5dGVTdHJpbmciPmk9MTU8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iR3VpZCI+aT0xNDwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJYbWxFbGVtZW50Ij5pPTE2PC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9Ik5vZGVJZCI+aT0xNzwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJFeHBhbmRlZE5vZGVJZCI+aT0xODwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJRdWFsaWZpZWROYW1lIj5pPTIwPC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9IkxvY2FsaXplZFRleHQiPmk9MjE8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iU3RhdHVzQ29kZSI+aT0xOTwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJTdHJ1Y3R1cmUiPmk9MjI8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iTnVtYmVyIj5pPTI2PC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9IkludGVnZXIiPmk9Mjc8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iVUludGVnZXIiPmk9Mjg8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iSGFzQ29tcG9uZW50Ij5pPTQ3PC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9Ikhhc1Byb3BlcnR5Ij5pPTQ2PC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9Ik9yZ2FuaXplcyI+aT0zNTwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJIYXNFdmVudFNvdXJjZSI+aT0zNjwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJIYXNOb3RpZmllciI+aT00ODwvQWxpYXM+CisgICAgPEFsaWFzIEFsaWFzPSJIYXNTdWJ0eXBlIj5pPTQ1PC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9Ikhhc1R5cGVEZWZpbml0aW9uIj5pPTQwPC9BbGlhcz4KKyAgICA8QWxpYXMgQWxpYXM9Ikhhc01vZGVsbGluZ1J1bGUiPmk9Mzc8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iSGFzRW5jb2RpbmciPmk9Mzg8L0FsaWFzPgorICAgIDxBbGlhcyBBbGlhcz0iSGFzRGVzY3JpcHRpb24iPmk9Mzk8L0FsaWFzPgorICA8L0FsaWFzZXM+CisgIDxVQU9iamVjdFR5cGUgTm9kZUlkPSJucz0xO2k9MTUwMDEiIEJyb3dzZU5hbWU9IjE6VGVzdE9iamVjdCI+CisgICAgPERpc3BsYXlOYW1lPlRlc3RPYmplY3Q8L0Rpc3BsYXlOYW1lPgorICAgIDxEZXNjcmlwdGlvbj5PYmplY3QgdG8gdGVzdCBpbiA0ZGlhYzwvRGVzY3JpcHRpb24+CisgICAgPFJlZmVyZW5jZXM+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc0NvbXBvbmVudCI+bnM9MTtpPTE1MDAyPC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc0NvbXBvbmVudCI+bnM9MTtpPTE1MDAzPC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc0NvbXBvbmVudCI+bnM9MTtpPTE1MDA0PC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc0NvbXBvbmVudCI+bnM9MTtpPTE1MDA3PC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc1N1YnR5cGUiIElzRm9yd2FyZD0iZmFsc2UiPmk9NTg8L1JlZmVyZW5jZT4KKyAgICA8L1JlZmVyZW5jZXM+CisgIDwvVUFPYmplY3RUeXBlPgorICA8VUFWYXJpYWJsZSBOb2RlSWQ9Im5zPTE7aT0xNTAwMiIgQnJvd3NlTmFtZT0iMTpWYXJpYWJsZTEiIFBhcmVudE5vZGVJZD0ibnM9MTtpPTE1MDAxIiBEYXRhVHlwZT0iSW50MzIiPgorICAgIDxEaXNwbGF5TmFtZT5WYXJpYWJsZTE8L0Rpc3BsYXlOYW1lPgorICAgIDxEZXNjcmlwdGlvbj5WYXJpYWJsZSAxPC9EZXNjcmlwdGlvbj4KKyAgICA8UmVmZXJlbmNlcz4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzVHlwZURlZmluaXRpb24iPmk9NjM8L1JlZmVyZW5jZT4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzTW9kZWxsaW5nUnVsZSI+aT03ODwvUmVmZXJlbmNlPgorICAgICAgPFJlZmVyZW5jZSBSZWZlcmVuY2VUeXBlPSJIYXNDb21wb25lbnQiIElzRm9yd2FyZD0iZmFsc2UiPm5zPTE7aT0xNTAwMTwvUmVmZXJlbmNlPgorICAgIDwvUmVmZXJlbmNlcz4KKyAgPC9VQVZhcmlhYmxlPgorICA8VUFWYXJpYWJsZSBOb2RlSWQ9Im5zPTE7aT0xNTAwMyIgQnJvd3NlTmFtZT0iMTpWYXJpYWJsZTIiIFBhcmVudE5vZGVJZD0ibnM9MTtpPTE1MDAxIiBEYXRhVHlwZT0iSW50MzIiPgorICAgIDxEaXNwbGF5TmFtZT5WYXJpYWJsZTI8L0Rpc3BsYXlOYW1lPgorICAgIDxEZXNjcmlwdGlvbj5WYXJpYWJsZSAyPC9EZXNjcmlwdGlvbj4KKyAgICA8UmVmZXJlbmNlcz4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzVHlwZURlZmluaXRpb24iPmk9NjM8L1JlZmVyZW5jZT4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzTW9kZWxsaW5nUnVsZSI+aT03ODwvUmVmZXJlbmNlPgorICAgICAgPFJlZmVyZW5jZSBSZWZlcmVuY2VUeXBlPSJIYXNDb21wb25lbnQiIElzRm9yd2FyZD0iZmFsc2UiPm5zPTE7aT0xNTAwMTwvUmVmZXJlbmNlPgorICAgIDwvUmVmZXJlbmNlcz4KKyAgPC9VQVZhcmlhYmxlPgorICA8VUFNZXRob2QgTm9kZUlkPSJucz0xO2k9MTUwMDQiIEJyb3dzZU5hbWU9IjE6VGVzdE1ldGhvZCIgUGFyZW50Tm9kZUlkPSJucz0xO2k9MTUwMDEiPgorICAgIDxEaXNwbGF5TmFtZT5UZXN0TWV0aG9kPC9EaXNwbGF5TmFtZT4KKyAgICA8UmVmZXJlbmNlcz4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzUHJvcGVydHkiPm5zPTE7aT0xNTAwNTwvUmVmZXJlbmNlPgorICAgICAgPFJlZmVyZW5jZSBSZWZlcmVuY2VUeXBlPSJIYXNQcm9wZXJ0eSI+bnM9MTtpPTE1MDA2PC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc01vZGVsbGluZ1J1bGUiPmk9Nzg8L1JlZmVyZW5jZT4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzQ29tcG9uZW50IiBJc0ZvcndhcmQ9ImZhbHNlIj5ucz0xO2k9MTUwMDE8L1JlZmVyZW5jZT4KKyAgICA8L1JlZmVyZW5jZXM+CisgIDwvVUFNZXRob2Q+CisgIDxVQVZhcmlhYmxlIE5vZGVJZD0ibnM9MTtpPTE1MDA1IiBCcm93c2VOYW1lPSJJbnB1dEFyZ3VtZW50cyIgUGFyZW50Tm9kZUlkPSJucz0xO2k9MTUwMDQiIERhdGFUeXBlPSJpPTI5NiIgVmFsdWVSYW5rPSIxIiBBcnJheURpbWVuc2lvbnM9IjAiPgorICAgIDxEaXNwbGF5TmFtZT5JbnB1dEFyZ3VtZW50czwvRGlzcGxheU5hbWU+CisgICAgPFJlZmVyZW5jZXM+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc1R5cGVEZWZpbml0aW9uIj5pPTY4PC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc01vZGVsbGluZ1J1bGUiPmk9Nzg8L1JlZmVyZW5jZT4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzUHJvcGVydHkiIElzRm9yd2FyZD0iZmFsc2UiPm5zPTE7aT0xNTAwNDwvUmVmZXJlbmNlPgorICAgIDwvUmVmZXJlbmNlcz4KKyAgICA8VmFsdWU+CisgICAgICA8TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IHhtbG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54c2QiPgorICAgICAgICA8RXh0ZW5zaW9uT2JqZWN0PgorICAgICAgICAgIDxUeXBlSWQ+CisgICAgICAgICAgICA8SWRlbnRpZmllcj5pPTI5NzwvSWRlbnRpZmllcj4KKyAgICAgICAgICA8L1R5cGVJZD4KKyAgICAgICAgICA8Qm9keT4KKyAgICAgICAgICAgIDxBcmd1bWVudD4KKyAgICAgICAgICAgICAgPE5hbWU+SW5wdXRBcmd1bWVudDwvTmFtZT4KKyAgICAgICAgICAgICAgPERhdGFUeXBlPgorICAgICAgICAgICAgICAgIDxJZGVudGlmaWVyPmk9NjwvSWRlbnRpZmllcj4KKyAgICAgICAgICAgICAgPC9EYXRhVHlwZT4KKyAgICAgICAgICAgICAgPFZhbHVlUmFuaz4tMTwvVmFsdWVSYW5rPgorICAgICAgICAgICAgICA8QXJyYXlEaW1lbnNpb25zIC8+CisgICAgICAgICAgICA8L0FyZ3VtZW50PgorICAgICAgICAgIDwvQm9keT4KKyAgICAgICAgPC9FeHRlbnNpb25PYmplY3Q+CisgICAgICA8L0xpc3RPZkV4dGVuc2lvbk9iamVjdD4KKyAgICA8L1ZhbHVlPgorICA8L1VBVmFyaWFibGU+CisgIDxVQVZhcmlhYmxlIE5vZGVJZD0ibnM9MTtpPTE1MDA2IiBCcm93c2VOYW1lPSJPdXRwdXRBcmd1bWVudHMiIFBhcmVudE5vZGVJZD0ibnM9MTtpPTE1MDA0IiBEYXRhVHlwZT0iaT0yOTYiIFZhbHVlUmFuaz0iMSIgQXJyYXlEaW1lbnNpb25zPSIwIj4KKyAgICA8RGlzcGxheU5hbWU+T3V0cHV0QXJndW1lbnRzPC9EaXNwbGF5TmFtZT4KKyAgICA8UmVmZXJlbmNlcz4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzVHlwZURlZmluaXRpb24iPmk9Njg8L1JlZmVyZW5jZT4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzTW9kZWxsaW5nUnVsZSI+aT03ODwvUmVmZXJlbmNlPgorICAgICAgPFJlZmVyZW5jZSBSZWZlcmVuY2VUeXBlPSJIYXNQcm9wZXJ0eSIgSXNGb3J3YXJkPSJmYWxzZSI+bnM9MTtpPTE1MDA0PC9SZWZlcmVuY2U+CisgICAgPC9SZWZlcmVuY2VzPgorICAgIDxWYWx1ZT4KKyAgICAgIDxMaXN0T2ZFeHRlbnNpb25PYmplY3QgeG1sbnM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yMDA4LzAyL1R5cGVzLnhzZCI+CisgICAgICAgIDxFeHRlbnNpb25PYmplY3Q+CisgICAgICAgICAgPFR5cGVJZD4KKyAgICAgICAgICAgIDxJZGVudGlmaWVyPmk9Mjk3PC9JZGVudGlmaWVyPgorICAgICAgICAgIDwvVHlwZUlkPgorICAgICAgICAgIDxCb2R5PgorICAgICAgICAgICAgPEFyZ3VtZW50PgorICAgICAgICAgICAgICA8TmFtZT5PdXRwdXRBcmd1bWVudDwvTmFtZT4KKyAgICAgICAgICAgICAgPERhdGFUeXBlPgorICAgICAgICAgICAgICAgIDxJZGVudGlmaWVyPmk9NjwvSWRlbnRpZmllcj4KKyAgICAgICAgICAgICAgPC9EYXRhVHlwZT4KKyAgICAgICAgICAgICAgPFZhbHVlUmFuaz4tMTwvVmFsdWVSYW5rPgorICAgICAgICAgICAgICA8QXJyYXlEaW1lbnNpb25zIC8+CisgICAgICAgICAgICA8L0FyZ3VtZW50PgorICAgICAgICAgIDwvQm9keT4KKyAgICAgICAgPC9FeHRlbnNpb25PYmplY3Q+CisgICAgICA8L0xpc3RPZkV4dGVuc2lvbk9iamVjdD4KKyAgICA8L1ZhbHVlPgorICA8L1VBVmFyaWFibGU+CisgIDxVQU1ldGhvZCBOb2RlSWQ9Im5zPTE7aT0xNTAwNyIgQnJvd3NlTmFtZT0iMTpUZXN0TWV0aG9kMiIgUGFyZW50Tm9kZUlkPSJucz0xO2k9MTUwMDEiPgorICAgIDxEaXNwbGF5TmFtZT5UZXN0TWV0aG9kMjwvRGlzcGxheU5hbWU+CisgICAgPFJlZmVyZW5jZXM+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc1Byb3BlcnR5Ij5ucz0xO2k9MTUwMDg8L1JlZmVyZW5jZT4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzUHJvcGVydHkiPm5zPTE7aT0xNTAwOTwvUmVmZXJlbmNlPgorICAgICAgPFJlZmVyZW5jZSBSZWZlcmVuY2VUeXBlPSJIYXNNb2RlbGxpbmdSdWxlIj5pPTc4PC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc0NvbXBvbmVudCIgSXNGb3J3YXJkPSJmYWxzZSI+bnM9MTtpPTE1MDAxPC9SZWZlcmVuY2U+CisgICAgPC9SZWZlcmVuY2VzPgorICA8L1VBTWV0aG9kPgorICA8VUFWYXJpYWJsZSBOb2RlSWQ9Im5zPTE7aT0xNTAwOCIgQnJvd3NlTmFtZT0iSW5wdXRBcmd1bWVudHMiIFBhcmVudE5vZGVJZD0ibnM9MTtpPTE1MDA3IiBEYXRhVHlwZT0iaT0yOTYiIFZhbHVlUmFuaz0iMSIgQXJyYXlEaW1lbnNpb25zPSIwIj4KKyAgICA8RGlzcGxheU5hbWU+SW5wdXRBcmd1bWVudHM8L0Rpc3BsYXlOYW1lPgorICAgIDxSZWZlcmVuY2VzPgorICAgICAgPFJlZmVyZW5jZSBSZWZlcmVuY2VUeXBlPSJIYXNUeXBlRGVmaW5pdGlvbiI+aT02ODwvUmVmZXJlbmNlPgorICAgICAgPFJlZmVyZW5jZSBSZWZlcmVuY2VUeXBlPSJIYXNNb2RlbGxpbmdSdWxlIj5pPTc4PC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc1Byb3BlcnR5IiBJc0ZvcndhcmQ9ImZhbHNlIj5ucz0xO2k9MTUwMDc8L1JlZmVyZW5jZT4KKyAgICA8L1JlZmVyZW5jZXM+CisgICAgPFZhbHVlPgorICAgICAgPExpc3RPZkV4dGVuc2lvbk9iamVjdCB4bWxucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNkIj4KKyAgICAgICAgPEV4dGVuc2lvbk9iamVjdD4KKyAgICAgICAgICA8VHlwZUlkPgorICAgICAgICAgICAgPElkZW50aWZpZXI+aT0yOTc8L0lkZW50aWZpZXI+CisgICAgICAgICAgPC9UeXBlSWQ+CisgICAgICAgICAgPEJvZHk+CisgICAgICAgICAgICA8QXJndW1lbnQ+CisgICAgICAgICAgICAgIDxOYW1lPklucHV0QXJndW1lbnQ8L05hbWU+CisgICAgICAgICAgICAgIDxEYXRhVHlwZT4KKyAgICAgICAgICAgICAgICA8SWRlbnRpZmllcj5pPTY8L0lkZW50aWZpZXI+CisgICAgICAgICAgICAgIDwvRGF0YVR5cGU+CisgICAgICAgICAgICAgIDxWYWx1ZVJhbms+LTE8L1ZhbHVlUmFuaz4KKyAgICAgICAgICAgICAgPEFycmF5RGltZW5zaW9ucyAvPgorICAgICAgICAgICAgPC9Bcmd1bWVudD4KKyAgICAgICAgICA8L0JvZHk+CisgICAgICAgIDwvRXh0ZW5zaW9uT2JqZWN0PgorICAgICAgPC9MaXN0T2ZFeHRlbnNpb25PYmplY3Q+CisgICAgPC9WYWx1ZT4KKyAgPC9VQVZhcmlhYmxlPgorICA8VUFWYXJpYWJsZSBOb2RlSWQ9Im5zPTE7aT0xNTAwOSIgQnJvd3NlTmFtZT0iT3V0cHV0QXJndW1lbnRzIiBQYXJlbnROb2RlSWQ9Im5zPTE7aT0xNTAwNyIgRGF0YVR5cGU9Imk9Mjk2IiBWYWx1ZVJhbms9IjEiIEFycmF5RGltZW5zaW9ucz0iMCI+CisgICAgPERpc3BsYXlOYW1lPk91dHB1dEFyZ3VtZW50czwvRGlzcGxheU5hbWU+CisgICAgPFJlZmVyZW5jZXM+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc1R5cGVEZWZpbml0aW9uIj5pPTY4PC9SZWZlcmVuY2U+CisgICAgICA8UmVmZXJlbmNlIFJlZmVyZW5jZVR5cGU9Ikhhc01vZGVsbGluZ1J1bGUiPmk9Nzg8L1JlZmVyZW5jZT4KKyAgICAgIDxSZWZlcmVuY2UgUmVmZXJlbmNlVHlwZT0iSGFzUHJvcGVydHkiIElzRm9yd2FyZD0iZmFsc2UiPm5zPTE7aT0xNTAwNzwvUmVmZXJlbmNlPgorICAgIDwvUmVmZXJlbmNlcz4KKyAgICA8VmFsdWU+CisgICAgICA8TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IHhtbG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54c2QiPgorICAgICAgICA8RXh0ZW5zaW9uT2JqZWN0PgorICAgICAgICAgIDxUeXBlSWQ+CisgICAgICAgICAgICA8SWRlbnRpZmllcj5pPTI5NzwvSWRlbnRpZmllcj4KKyAgICAgICAgICA8L1R5cGVJZD4KKyAgICAgICAgICA8Qm9keT4KKyAgICAgICAgICAgIDxBcmd1bWVudD4KKyAgICAgICAgICAgICAgPE5hbWU+T3V0cHV0QXJndW1lbnQ8L05hbWU+CisgICAgICAgICAgICAgIDxEYXRhVHlwZT4KKyAgICAgICAgICAgICAgICA8SWRlbnRpZmllcj5pPTY8L0lkZW50aWZpZXI+CisgICAgICAgICAgICAgIDwvRGF0YVR5cGU+CisgICAgICAgICAgICAgIDxWYWx1ZVJhbms+LTE8L1ZhbHVlUmFuaz4KKyAgICAgICAgICAgICAgPEFycmF5RGltZW5zaW9ucyAvPgorICAgICAgICAgICAgPC9Bcmd1bWVudD4KKyAgICAgICAgICA8L0JvZHk+CisgICAgICAgIDwvRXh0ZW5zaW9uT2JqZWN0PgorICAgICAgPC9MaXN0T2ZFeHRlbnNpb25PYmplY3Q+CisgICAgPC9WYWx1ZT4KKyAgPC9VQVZhcmlhYmxlPgorPC9VQU5vZGVTZXQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL25vZGVzcGFjZVRlc3QvZm9yZGlhY1Rlc3RzLnhtbCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9ub2Rlc3BhY2VUZXN0L2ZvcmRpYWNUZXN0cy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQxMWVjMgotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9ub2Rlc3BhY2VUZXN0L2ZvcmRpYWNUZXN0cy54bWwKQEAgLTAsMCArMSw1NyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzxNb2RlbERlc2lnbgoreG1sbnM6dWF4PSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54c2QiCisgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiCisgIHhtbG5zOk9wY1VhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIgorICB4bWxuczpmb3JkaWFjVGVzdD0iaHR0cHM6Ly9naXQuZWNsaXBzZS5vcmcvNGRpYWMvb3JnLmVjbGlwc2UuNGRpYWMiCisgIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiCisgIFRhcmdldE5hbWVzcGFjZT0iaHR0cHM6Ly9naXQuZWNsaXBzZS5vcmcvNGRpYWMvb3JnLmVjbGlwc2UuNGRpYWMiCisgIFRhcmdldFhtbE5hbWVzcGFjZT0iaHR0cHM6Ly9naXQuZWNsaXBzZS5vcmcvNGRpYWMvb3JnLmVjbGlwc2UuNGRpYWMiCisgIFRhcmdldFZlcnNpb249IjEuMDIiCisgIFRhcmdldFB1YmxpY2F0aW9uRGF0ZT0iMjAxOS0wNS0wMVQwMDowMDowMFoiCisgIHhtbG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvTW9kZWxEZXNpZ24ueHNkIj4KKworCisJPE5hbWVzcGFjZXM+CisJCTxOYW1lc3BhY2UgTmFtZT0iZm9yZGlhY05hbWVzcGFjZSIgUHJlZml4PSJmb3JkaWFjTmFtZXNwYWNlIgorCQkJWG1sTmFtZXNwYWNlPSJodHRwczovL2dpdC5lY2xpcHNlLm9yZy80ZGlhYy9vcmcuZWNsaXBzZS40ZGlhYyIKKwkJCVhtbFByZWZpeD0iZm9yZGlhY05hbWVzcGFjZSI+aHR0cHM6Ly9naXQuZWNsaXBzZS5vcmcvNGRpYWMvb3JnLmVjbGlwc2UuNGRpYWM8L05hbWVzcGFjZT4KKwkJPE5hbWVzcGFjZSBOYW1lPSJPcGNVYSIgUHJlZml4PSJPcGMuVWEiIEludGVybmFsUHJlZml4PSJPcGMuVWEuU2VydmVyIiBYbWxOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yMDA4LzAyL1R5cGVzLnhzZCIgWG1sUHJlZml4PSJPcGNVYSI+aHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzwvTmFtZXNwYWNlPgorCTwvTmFtZXNwYWNlcz4KKwkKKwk8T2JqZWN0VHlwZSAKKwlTeW1ib2xpY05hbWU9ImZvcmRpYWNUZXN0OlRlc3RPYmplY3QiIE51bWVyaWNJZD0iMTAwNSIKKwkJQmFzZVR5cGU9Ik9wY1VhOkJhc2VPYmplY3RUeXBlIiBTdXBwb3J0c0V2ZW50cz0idHJ1ZSI+CisJCTxEZXNjcmlwdGlvbj5PYmplY3QgdG8gdGVzdCBpbiA0ZGlhYzwvRGVzY3JpcHRpb24+CisJCTxDaGlsZHJlbj4KKwkJCisJCQk8VmFyaWFibGUgU3ltYm9saWNOYW1lPSJmb3JkaWFjVGVzdDpWYXJpYWJsZTEiIERhdGFUeXBlPSJPcGNVYTpJbnQzMiIKKwkJCQlWYWx1ZVJhbms9IlNjYWxhciIgTW9kZWxsaW5nUnVsZT0iTWFuZGF0b3J5Ij4KKwkJCQk8RGVzY3JpcHRpb24+VmFyaWFibGUgMTwvRGVzY3JpcHRpb24+CisJCQk8L1ZhcmlhYmxlPgorCisJCQk8VmFyaWFibGUgU3ltYm9saWNOYW1lPSJmb3JkaWFjVGVzdDpWYXJpYWJsZTIiIERhdGFUeXBlPSJPcGNVYTpJbnQzMiIKKwkJCQlWYWx1ZVJhbms9IlNjYWxhciIgTW9kZWxsaW5nUnVsZT0iTWFuZGF0b3J5Ij4KKwkJCQk8RGVzY3JpcHRpb24+VmFyaWFibGUgMjwvRGVzY3JpcHRpb24+CisJCQk8L1ZhcmlhYmxlPgorCisJCQk8TWV0aG9kIFN5bWJvbGljTmFtZT0iZm9yZGlhY1Rlc3Q6VGVzdE1ldGhvZCIgVHlwZURlZmluaXRpb249ImZvcmRpYWNUZXN0OlRlc3RNZXRob2RUeXBlIiAvPgorCQkJCisJCQk8TWV0aG9kIFN5bWJvbGljTmFtZT0iZm9yZGlhY1Rlc3Q6VGVzdE1ldGhvZDIiIFR5cGVEZWZpbml0aW9uPSJmb3JkaWFjVGVzdDpUZXN0TWV0aG9kVHlwZSIgLz4KKworCisJCTwvQ2hpbGRyZW4+CisJPC9PYmplY3RUeXBlPgorCQorCTxNZXRob2QgU3ltYm9saWNOYW1lPSJmb3JkaWFjVGVzdDpUZXN0TWV0aG9kVHlwZSI+CisKKwkJPElucHV0QXJndW1lbnRzPgorCQkJPEFyZ3VtZW50IE5hbWU9IklucHV0QXJndW1lbnQiIERhdGFUeXBlPSJPcGNVYTpJbnQzMiIgLz4KKwkJPC9JbnB1dEFyZ3VtZW50cz4KKworCQk8T3V0cHV0QXJndW1lbnRzPgorCQkJPEFyZ3VtZW50IE5hbWU9Ik91dHB1dEFyZ3VtZW50IiBEYXRhVHlwZT0iT3BjVWE6SW50MzIiIC8+CisJCTwvT3V0cHV0QXJndW1lbnRzPgorCisJPC9NZXRob2Q+Cis8L01vZGVsRGVzaWduPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9ub2Rlc3BhY2VUZXN0L3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlLmMgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbm9kZXNwYWNlVGVzdC91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZDJkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvbm9kZXNwYWNlVGVzdC91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZS5jCkBAIC0wLDAgKzEsMzQ5IEBACisvKiBXQVJOSU5HOiBUaGlzIGlzIGEgZ2VuZXJhdGVkIGZpbGUuCisgKiBBbnkgbWFudWFsIGNoYW5nZXMgd2lsbCBiZSBvdmVyd3JpdHRlbi4gKi8KKworI2luY2x1ZGUgIi4uL25vZGVzcGFjZVRlc3QvdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2UuaCIKKworCisvKiBUZXN0T2JqZWN0IC0gbnM9MTtpPTE1MDAxICovCisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzBfYmVnaW4oVUFfU2VydmVyICpzZXJ2ZXIsIFVBX1VJbnQxNiogbnMpIHsKK1VBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOworVUFfT2JqZWN0VHlwZUF0dHJpYnV0ZXMgYXR0ciA9IFVBX09iamVjdFR5cGVBdHRyaWJ1dGVzX2RlZmF1bHQ7CithdHRyLmRpc3BsYXlOYW1lID0gVUFfTE9DQUxJWkVEVEVYVCgiIiwgIlRlc3RPYmplY3QiKTsKKyNpZmRlZiBVQV9FTkFCTEVfTk9ERVNFVF9DT01QSUxFUl9ERVNDUklQVElPTlMKK2F0dHIuZGVzY3JpcHRpb24gPSBVQV9MT0NBTElaRURURVhUKCIiLCAiT2JqZWN0IHRvIHRlc3QgaW4gNGRpYWMiKTsKKyNlbmRpZgorcmV0VmFsIHw9IFVBX1NlcnZlcl9hZGROb2RlX2JlZ2luKHNlcnZlciwgVUFfTk9ERUNMQVNTX09CSkVDVFRZUEUsCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDEpLAorVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDU4KSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzBdLCA0NSksCitVQV9RVUFMSUZJRUROQU1FKG5zWzFdLCAiVGVzdE9iamVjdCIpLAorIFVBX05PREVJRF9OVUxMLAorKGNvbnN0IFVBX05vZGVBdHRyaWJ1dGVzKikmYXR0ciwgJlVBX1RZUEVTW1VBX1RZUEVTX09CSkVDVFRZUEVBVFRSSUJVVEVTXSxOVUxMLCBOVUxMKTsKK3JldHVybiByZXRWYWw7Cit9CisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzBfZmluaXNoKFVBX1NlcnZlciAqc2VydmVyLCBVQV9VSW50MTYqIG5zKSB7CityZXR1cm4gVUFfU2VydmVyX2FkZE5vZGVfZmluaXNoKHNlcnZlciwgCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDEpCispOworfQorCisvKiBUZXN0TWV0aG9kMiAtIG5zPTE7aT0xNTAwNyAqLworCitzdGF0aWMgVUFfU3RhdHVzQ29kZSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV8xX2JlZ2luKFVBX1NlcnZlciAqc2VydmVyLCBVQV9VSW50MTYqIG5zKSB7CisjaWZkZWYgVUFfRU5BQkxFX01FVEhPRENBTExTCitVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfR09PRDsKK1VBX01ldGhvZEF0dHJpYnV0ZXMgYXR0ciA9IFVBX01ldGhvZEF0dHJpYnV0ZXNfZGVmYXVsdDsKK2F0dHIuZXhlY3V0YWJsZSA9IHRydWU7CithdHRyLnVzZXJFeGVjdXRhYmxlID0gdHJ1ZTsKK2F0dHIuZGlzcGxheU5hbWUgPSBVQV9MT0NBTElaRURURVhUKCIiLCAiVGVzdE1ldGhvZDIiKTsKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkTm9kZV9iZWdpbihzZXJ2ZXIsIFVBX05PREVDTEFTU19NRVRIT0QsCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDcpLAorVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDAxKSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzBdLCA0NyksCitVQV9RVUFMSUZJRUROQU1FKG5zWzFdLCAiVGVzdE1ldGhvZDIiKSwKKyBVQV9OT0RFSURfTlVMTCwKKyhjb25zdCBVQV9Ob2RlQXR0cmlidXRlcyopJmF0dHIsICZVQV9UWVBFU1tVQV9UWVBFU19NRVRIT0RBVFRSSUJVVEVTXSxOVUxMLCBOVUxMKTsKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkUmVmZXJlbmNlKHNlcnZlciwgVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA3KSwgVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDM3KSwgVUFfRVhQQU5ERUROT0RFSURfTlVNRVJJQyhuc1swXSwgNzgpLCB0cnVlKTsKK3JldHVybiByZXRWYWw7CisjZWxzZQorcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRDsKKyNlbmRpZiAvKiBVQV9FTkFCTEVfTUVUSE9EQ0FMTFMgKi8KK30KKworc3RhdGljIFVBX1N0YXR1c0NvZGUgZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfMV9maW5pc2goVUFfU2VydmVyICpzZXJ2ZXIsIFVBX1VJbnQxNiogbnMpIHsKKyNpZmRlZiBVQV9FTkFCTEVfTUVUSE9EQ0FMTFMKK3JldHVybiBVQV9TZXJ2ZXJfYWRkTWV0aG9kTm9kZV9maW5pc2goc2VydmVyLCAKK1VBX05PREVJRF9OVU1FUklDKG5zWzFdLCAxNTAwNykKKywgTlVMTCwgMCwgTlVMTCwgMCwgTlVMTCk7CisjZWxzZQorcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRDsKKyNlbmRpZiAvKiBVQV9FTkFCTEVfTUVUSE9EQ0FMTFMgKi8KK30KKworLyogSW5wdXRBcmd1bWVudHMgLSBucz0xO2k9MTUwMDggKi8KKworc3RhdGljIFVBX1N0YXR1c0NvZGUgZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfMl9iZWdpbihVQV9TZXJ2ZXIgKnNlcnZlciwgVUFfVUludDE2KiBucykgeworVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0dPT0Q7CitVQV9WYXJpYWJsZUF0dHJpYnV0ZXMgYXR0ciA9IFVBX1ZhcmlhYmxlQXR0cmlidXRlc19kZWZhdWx0OworYXR0ci5taW5pbXVtU2FtcGxpbmdJbnRlcnZhbCA9IDAuMDAwMDAwOworYXR0ci51c2VyQWNjZXNzTGV2ZWwgPSAxOworYXR0ci5hY2Nlc3NMZXZlbCA9IDE7CithdHRyLnZhbHVlUmFuayA9IDE7CithdHRyLmFycmF5RGltZW5zaW9uc1NpemUgPSAxOworVUFfVUludDMyIGFycmF5RGltZW5zaW9uc1sxXTsKK2FycmF5RGltZW5zaW9uc1swXSA9IDA7CithdHRyLmFycmF5RGltZW5zaW9ucyA9ICZhcnJheURpbWVuc2lvbnNbMF07CithdHRyLmRhdGFUeXBlID0gVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDI5Nik7CitVQV9Bcmd1bWVudCB2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA4X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzFdOworCitVQV9pbml0KCZ2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA4X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzBdLCAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKTsKK3ZhcmlhYmxlbm9kZV9uc18xX2lfMTUwMDhfdmFyaWFudF9EYXRhQ29udGVudHNbMF0ubmFtZSA9IFVBX1NUUklORygiSW5wdXRBcmd1bWVudCIpOwordmFyaWFibGVub2RlX25zXzFfaV8xNTAwOF92YXJpYW50X0RhdGFDb250ZW50c1swXS5kYXRhVHlwZSA9IFVBX05PREVJRF9OVU1FUklDKG5zWzBdLCA2KTsKK3ZhcmlhYmxlbm9kZV9uc18xX2lfMTUwMDhfdmFyaWFudF9EYXRhQ29udGVudHNbMF0udmFsdWVSYW5rID0gKFVBX0ludDMyKSAtMTsKK1VBX1ZhcmlhbnRfc2V0QXJyYXkoJmF0dHIudmFsdWUsICZ2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA4X3ZhcmlhbnRfRGF0YUNvbnRlbnRzLCAoVUFfSW50MzIpIDEsICZVQV9UWVBFU1tVQV9UWVBFU19BUkdVTUVOVF0pOworYXR0ci5kaXNwbGF5TmFtZSA9IFVBX0xPQ0FMSVpFRFRFWFQoIiIsICJJbnB1dEFyZ3VtZW50cyIpOworcmV0VmFsIHw9IFVBX1NlcnZlcl9hZGROb2RlX2JlZ2luKHNlcnZlciwgVUFfTk9ERUNMQVNTX1ZBUklBQkxFLAorVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA4KSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzFdLCAxNTAwNyksCitVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNDYpLAorVUFfUVVBTElGSUVETkFNRShuc1swXSwgIklucHV0QXJndW1lbnRzIiksCitVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNjgpLAorKGNvbnN0IFVBX05vZGVBdHRyaWJ1dGVzKikmYXR0ciwgJlVBX1RZUEVTW1VBX1RZUEVTX1ZBUklBQkxFQVRUUklCVVRFU10sTlVMTCwgTlVMTCk7CisKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkUmVmZXJlbmNlKHNlcnZlciwgVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA4KSwgVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDM3KSwgVUFfRVhQQU5ERUROT0RFSURfTlVNRVJJQyhuc1swXSwgNzgpLCB0cnVlKTsKK3JldHVybiByZXRWYWw7Cit9CisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzJfZmluaXNoKFVBX1NlcnZlciAqc2VydmVyLCBVQV9VSW50MTYqIG5zKSB7CityZXR1cm4gVUFfU2VydmVyX2FkZE5vZGVfZmluaXNoKHNlcnZlciwgCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDgpCispOworfQorCisvKiBPdXRwdXRBcmd1bWVudHMgLSBucz0xO2k9MTUwMDkgKi8KKworc3RhdGljIFVBX1N0YXR1c0NvZGUgZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfM19iZWdpbihVQV9TZXJ2ZXIgKnNlcnZlciwgVUFfVUludDE2KiBucykgeworVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0dPT0Q7CitVQV9WYXJpYWJsZUF0dHJpYnV0ZXMgYXR0ciA9IFVBX1ZhcmlhYmxlQXR0cmlidXRlc19kZWZhdWx0OworYXR0ci5taW5pbXVtU2FtcGxpbmdJbnRlcnZhbCA9IDAuMDAwMDAwOworYXR0ci51c2VyQWNjZXNzTGV2ZWwgPSAxOworYXR0ci5hY2Nlc3NMZXZlbCA9IDE7CithdHRyLnZhbHVlUmFuayA9IDE7CithdHRyLmFycmF5RGltZW5zaW9uc1NpemUgPSAxOworVUFfVUludDMyIGFycmF5RGltZW5zaW9uc1sxXTsKK2FycmF5RGltZW5zaW9uc1swXSA9IDA7CithdHRyLmFycmF5RGltZW5zaW9ucyA9ICZhcnJheURpbWVuc2lvbnNbMF07CithdHRyLmRhdGFUeXBlID0gVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDI5Nik7CitVQV9Bcmd1bWVudCB2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA5X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzFdOworCitVQV9pbml0KCZ2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA5X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzBdLCAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKTsKK3ZhcmlhYmxlbm9kZV9uc18xX2lfMTUwMDlfdmFyaWFudF9EYXRhQ29udGVudHNbMF0ubmFtZSA9IFVBX1NUUklORygiT3V0cHV0QXJndW1lbnQiKTsKK3ZhcmlhYmxlbm9kZV9uc18xX2lfMTUwMDlfdmFyaWFudF9EYXRhQ29udGVudHNbMF0uZGF0YVR5cGUgPSBVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNik7Cit2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA5X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzBdLnZhbHVlUmFuayA9IChVQV9JbnQzMikgLTE7CitVQV9WYXJpYW50X3NldEFycmF5KCZhdHRyLnZhbHVlLCAmdmFyaWFibGVub2RlX25zXzFfaV8xNTAwOV92YXJpYW50X0RhdGFDb250ZW50cywgKFVBX0ludDMyKSAxLCAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKTsKK2F0dHIuZGlzcGxheU5hbWUgPSBVQV9MT0NBTElaRURURVhUKCIiLCAiT3V0cHV0QXJndW1lbnRzIik7CityZXRWYWwgfD0gVUFfU2VydmVyX2FkZE5vZGVfYmVnaW4oc2VydmVyLCBVQV9OT0RFQ0xBU1NfVkFSSUFCTEUsCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDkpLAorVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA3KSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzBdLCA0NiksCitVQV9RVUFMSUZJRUROQU1FKG5zWzBdLCAiT3V0cHV0QXJndW1lbnRzIiksCitVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNjgpLAorKGNvbnN0IFVBX05vZGVBdHRyaWJ1dGVzKikmYXR0ciwgJlVBX1RZUEVTW1VBX1RZUEVTX1ZBUklBQkxFQVRUUklCVVRFU10sTlVMTCwgTlVMTCk7CisKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkUmVmZXJlbmNlKHNlcnZlciwgVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA5KSwgVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDM3KSwgVUFfRVhQQU5ERUROT0RFSURfTlVNRVJJQyhuc1swXSwgNzgpLCB0cnVlKTsKK3JldHVybiByZXRWYWw7Cit9CisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzNfZmluaXNoKFVBX1NlcnZlciAqc2VydmVyLCBVQV9VSW50MTYqIG5zKSB7CityZXR1cm4gVUFfU2VydmVyX2FkZE5vZGVfZmluaXNoKHNlcnZlciwgCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDkpCispOworfQorCisvKiBUZXN0TWV0aG9kIC0gbnM9MTtpPTE1MDA0ICovCisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzRfYmVnaW4oVUFfU2VydmVyICpzZXJ2ZXIsIFVBX1VJbnQxNiogbnMpIHsKKyNpZmRlZiBVQV9FTkFCTEVfTUVUSE9EQ0FMTFMKK1VBX1N0YXR1c0NvZGUgcmV0VmFsID0gVUFfU1RBVFVTQ09ERV9HT09EOworVUFfTWV0aG9kQXR0cmlidXRlcyBhdHRyID0gVUFfTWV0aG9kQXR0cmlidXRlc19kZWZhdWx0OworYXR0ci5leGVjdXRhYmxlID0gdHJ1ZTsKK2F0dHIudXNlckV4ZWN1dGFibGUgPSB0cnVlOworYXR0ci5kaXNwbGF5TmFtZSA9IFVBX0xPQ0FMSVpFRFRFWFQoIiIsICJUZXN0TWV0aG9kIik7CityZXRWYWwgfD0gVUFfU2VydmVyX2FkZE5vZGVfYmVnaW4oc2VydmVyLCBVQV9OT0RFQ0xBU1NfTUVUSE9ELAorVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA0KSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzFdLCAxNTAwMSksCitVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNDcpLAorVUFfUVVBTElGSUVETkFNRShuc1sxXSwgIlRlc3RNZXRob2QiKSwKKyBVQV9OT0RFSURfTlVMTCwKKyhjb25zdCBVQV9Ob2RlQXR0cmlidXRlcyopJmF0dHIsICZVQV9UWVBFU1tVQV9UWVBFU19NRVRIT0RBVFRSSUJVVEVTXSxOVUxMLCBOVUxMKTsKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkUmVmZXJlbmNlKHNlcnZlciwgVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA0KSwgVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDM3KSwgVUFfRVhQQU5ERUROT0RFSURfTlVNRVJJQyhuc1swXSwgNzgpLCB0cnVlKTsKK3JldHVybiByZXRWYWw7CisjZWxzZQorcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRDsKKyNlbmRpZiAvKiBVQV9FTkFCTEVfTUVUSE9EQ0FMTFMgKi8KK30KKworc3RhdGljIFVBX1N0YXR1c0NvZGUgZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfNF9maW5pc2goVUFfU2VydmVyICpzZXJ2ZXIsIFVBX1VJbnQxNiogbnMpIHsKKyNpZmRlZiBVQV9FTkFCTEVfTUVUSE9EQ0FMTFMKK3JldHVybiBVQV9TZXJ2ZXJfYWRkTWV0aG9kTm9kZV9maW5pc2goc2VydmVyLCAKK1VBX05PREVJRF9OVU1FUklDKG5zWzFdLCAxNTAwNCkKKywgTlVMTCwgMCwgTlVMTCwgMCwgTlVMTCk7CisjZWxzZQorcmV0dXJuIFVBX1NUQVRVU0NPREVfR09PRDsKKyNlbmRpZiAvKiBVQV9FTkFCTEVfTUVUSE9EQ0FMTFMgKi8KK30KKworLyogSW5wdXRBcmd1bWVudHMgLSBucz0xO2k9MTUwMDUgKi8KKworc3RhdGljIFVBX1N0YXR1c0NvZGUgZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfNV9iZWdpbihVQV9TZXJ2ZXIgKnNlcnZlciwgVUFfVUludDE2KiBucykgeworVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0dPT0Q7CitVQV9WYXJpYWJsZUF0dHJpYnV0ZXMgYXR0ciA9IFVBX1ZhcmlhYmxlQXR0cmlidXRlc19kZWZhdWx0OworYXR0ci5taW5pbXVtU2FtcGxpbmdJbnRlcnZhbCA9IDAuMDAwMDAwOworYXR0ci51c2VyQWNjZXNzTGV2ZWwgPSAxOworYXR0ci5hY2Nlc3NMZXZlbCA9IDE7CithdHRyLnZhbHVlUmFuayA9IDE7CithdHRyLmFycmF5RGltZW5zaW9uc1NpemUgPSAxOworVUFfVUludDMyIGFycmF5RGltZW5zaW9uc1sxXTsKK2FycmF5RGltZW5zaW9uc1swXSA9IDA7CithdHRyLmFycmF5RGltZW5zaW9ucyA9ICZhcnJheURpbWVuc2lvbnNbMF07CithdHRyLmRhdGFUeXBlID0gVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDI5Nik7CitVQV9Bcmd1bWVudCB2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA1X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzFdOworCitVQV9pbml0KCZ2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA1X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzBdLCAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKTsKK3ZhcmlhYmxlbm9kZV9uc18xX2lfMTUwMDVfdmFyaWFudF9EYXRhQ29udGVudHNbMF0ubmFtZSA9IFVBX1NUUklORygiSW5wdXRBcmd1bWVudCIpOwordmFyaWFibGVub2RlX25zXzFfaV8xNTAwNV92YXJpYW50X0RhdGFDb250ZW50c1swXS5kYXRhVHlwZSA9IFVBX05PREVJRF9OVU1FUklDKG5zWzBdLCA2KTsKK3ZhcmlhYmxlbm9kZV9uc18xX2lfMTUwMDVfdmFyaWFudF9EYXRhQ29udGVudHNbMF0udmFsdWVSYW5rID0gKFVBX0ludDMyKSAtMTsKK1VBX1ZhcmlhbnRfc2V0QXJyYXkoJmF0dHIudmFsdWUsICZ2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA1X3ZhcmlhbnRfRGF0YUNvbnRlbnRzLCAoVUFfSW50MzIpIDEsICZVQV9UWVBFU1tVQV9UWVBFU19BUkdVTUVOVF0pOworYXR0ci5kaXNwbGF5TmFtZSA9IFVBX0xPQ0FMSVpFRFRFWFQoIiIsICJJbnB1dEFyZ3VtZW50cyIpOworcmV0VmFsIHw9IFVBX1NlcnZlcl9hZGROb2RlX2JlZ2luKHNlcnZlciwgVUFfTk9ERUNMQVNTX1ZBUklBQkxFLAorVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA1KSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzFdLCAxNTAwNCksCitVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNDYpLAorVUFfUVVBTElGSUVETkFNRShuc1swXSwgIklucHV0QXJndW1lbnRzIiksCitVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNjgpLAorKGNvbnN0IFVBX05vZGVBdHRyaWJ1dGVzKikmYXR0ciwgJlVBX1RZUEVTW1VBX1RZUEVTX1ZBUklBQkxFQVRUUklCVVRFU10sTlVMTCwgTlVMTCk7CisKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkUmVmZXJlbmNlKHNlcnZlciwgVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA1KSwgVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDM3KSwgVUFfRVhQQU5ERUROT0RFSURfTlVNRVJJQyhuc1swXSwgNzgpLCB0cnVlKTsKK3JldHVybiByZXRWYWw7Cit9CisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzVfZmluaXNoKFVBX1NlcnZlciAqc2VydmVyLCBVQV9VSW50MTYqIG5zKSB7CityZXR1cm4gVUFfU2VydmVyX2FkZE5vZGVfZmluaXNoKHNlcnZlciwgCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDUpCispOworfQorCisvKiBPdXRwdXRBcmd1bWVudHMgLSBucz0xO2k9MTUwMDYgKi8KKworc3RhdGljIFVBX1N0YXR1c0NvZGUgZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfNl9iZWdpbihVQV9TZXJ2ZXIgKnNlcnZlciwgVUFfVUludDE2KiBucykgeworVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0dPT0Q7CitVQV9WYXJpYWJsZUF0dHJpYnV0ZXMgYXR0ciA9IFVBX1ZhcmlhYmxlQXR0cmlidXRlc19kZWZhdWx0OworYXR0ci5taW5pbXVtU2FtcGxpbmdJbnRlcnZhbCA9IDAuMDAwMDAwOworYXR0ci51c2VyQWNjZXNzTGV2ZWwgPSAxOworYXR0ci5hY2Nlc3NMZXZlbCA9IDE7CithdHRyLnZhbHVlUmFuayA9IDE7CithdHRyLmFycmF5RGltZW5zaW9uc1NpemUgPSAxOworVUFfVUludDMyIGFycmF5RGltZW5zaW9uc1sxXTsKK2FycmF5RGltZW5zaW9uc1swXSA9IDA7CithdHRyLmFycmF5RGltZW5zaW9ucyA9ICZhcnJheURpbWVuc2lvbnNbMF07CithdHRyLmRhdGFUeXBlID0gVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDI5Nik7CitVQV9Bcmd1bWVudCB2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA2X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzFdOworCitVQV9pbml0KCZ2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA2X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzBdLCAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKTsKK3ZhcmlhYmxlbm9kZV9uc18xX2lfMTUwMDZfdmFyaWFudF9EYXRhQ29udGVudHNbMF0ubmFtZSA9IFVBX1NUUklORygiT3V0cHV0QXJndW1lbnQiKTsKK3ZhcmlhYmxlbm9kZV9uc18xX2lfMTUwMDZfdmFyaWFudF9EYXRhQ29udGVudHNbMF0uZGF0YVR5cGUgPSBVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNik7Cit2YXJpYWJsZW5vZGVfbnNfMV9pXzE1MDA2X3ZhcmlhbnRfRGF0YUNvbnRlbnRzWzBdLnZhbHVlUmFuayA9IChVQV9JbnQzMikgLTE7CitVQV9WYXJpYW50X3NldEFycmF5KCZhdHRyLnZhbHVlLCAmdmFyaWFibGVub2RlX25zXzFfaV8xNTAwNl92YXJpYW50X0RhdGFDb250ZW50cywgKFVBX0ludDMyKSAxLCAmVUFfVFlQRVNbVUFfVFlQRVNfQVJHVU1FTlRdKTsKK2F0dHIuZGlzcGxheU5hbWUgPSBVQV9MT0NBTElaRURURVhUKCIiLCAiT3V0cHV0QXJndW1lbnRzIik7CityZXRWYWwgfD0gVUFfU2VydmVyX2FkZE5vZGVfYmVnaW4oc2VydmVyLCBVQV9OT0RFQ0xBU1NfVkFSSUFCTEUsCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDYpLAorVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA0KSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzBdLCA0NiksCitVQV9RVUFMSUZJRUROQU1FKG5zWzBdLCAiT3V0cHV0QXJndW1lbnRzIiksCitVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNjgpLAorKGNvbnN0IFVBX05vZGVBdHRyaWJ1dGVzKikmYXR0ciwgJlVBX1RZUEVTW1VBX1RZUEVTX1ZBUklBQkxFQVRUUklCVVRFU10sTlVMTCwgTlVMTCk7CisKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkUmVmZXJlbmNlKHNlcnZlciwgVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDA2KSwgVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDM3KSwgVUFfRVhQQU5ERUROT0RFSURfTlVNRVJJQyhuc1swXSwgNzgpLCB0cnVlKTsKK3JldHVybiByZXRWYWw7Cit9CisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzZfZmluaXNoKFVBX1NlcnZlciAqc2VydmVyLCBVQV9VSW50MTYqIG5zKSB7CityZXR1cm4gVUFfU2VydmVyX2FkZE5vZGVfZmluaXNoKHNlcnZlciwgCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDYpCispOworfQorCisvKiBWYXJpYWJsZTEgLSBucz0xO2k9MTUwMDIgKi8KKworc3RhdGljIFVBX1N0YXR1c0NvZGUgZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfN19iZWdpbihVQV9TZXJ2ZXIgKnNlcnZlciwgVUFfVUludDE2KiBucykgeworVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0dPT0Q7CitVQV9WYXJpYWJsZUF0dHJpYnV0ZXMgYXR0ciA9IFVBX1ZhcmlhYmxlQXR0cmlidXRlc19kZWZhdWx0OworYXR0ci5taW5pbXVtU2FtcGxpbmdJbnRlcnZhbCA9IDAuMDAwMDAwOworYXR0ci51c2VyQWNjZXNzTGV2ZWwgPSAxOworYXR0ci5hY2Nlc3NMZXZlbCA9IDE7CisvKiBWYWx1ZSByYW5rIGluaGVyaXRlZCAqLworYXR0ci52YWx1ZVJhbmsgPSAtMTsKK2F0dHIuZGF0YVR5cGUgPSBVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNik7CithdHRyLmRpc3BsYXlOYW1lID0gVUFfTE9DQUxJWkVEVEVYVCgiIiwgIlZhcmlhYmxlMSIpOworI2lmZGVmIFVBX0VOQUJMRV9OT0RFU0VUX0NPTVBJTEVSX0RFU0NSSVBUSU9OUworYXR0ci5kZXNjcmlwdGlvbiA9IFVBX0xPQ0FMSVpFRFRFWFQoIiIsICJWYXJpYWJsZSAxIik7CisjZW5kaWYKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkTm9kZV9iZWdpbihzZXJ2ZXIsIFVBX05PREVDTEFTU19WQVJJQUJMRSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzFdLCAxNTAwMiksCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDEpLAorVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDQ3KSwKK1VBX1FVQUxJRklFRE5BTUUobnNbMV0sICJWYXJpYWJsZTEiKSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzBdLCA2MyksCisoY29uc3QgVUFfTm9kZUF0dHJpYnV0ZXMqKSZhdHRyLCAmVUFfVFlQRVNbVUFfVFlQRVNfVkFSSUFCTEVBVFRSSUJVVEVTXSxOVUxMLCBOVUxMKTsKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkUmVmZXJlbmNlKHNlcnZlciwgVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDAyKSwgVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDM3KSwgVUFfRVhQQU5ERUROT0RFSURfTlVNRVJJQyhuc1swXSwgNzgpLCB0cnVlKTsKK3JldHVybiByZXRWYWw7Cit9CisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzdfZmluaXNoKFVBX1NlcnZlciAqc2VydmVyLCBVQV9VSW50MTYqIG5zKSB7CityZXR1cm4gVUFfU2VydmVyX2FkZE5vZGVfZmluaXNoKHNlcnZlciwgCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDIpCispOworfQorCisvKiBWYXJpYWJsZTIgLSBucz0xO2k9MTUwMDMgKi8KKworc3RhdGljIFVBX1N0YXR1c0NvZGUgZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfOF9iZWdpbihVQV9TZXJ2ZXIgKnNlcnZlciwgVUFfVUludDE2KiBucykgeworVUFfU3RhdHVzQ29kZSByZXRWYWwgPSBVQV9TVEFUVVNDT0RFX0dPT0Q7CitVQV9WYXJpYWJsZUF0dHJpYnV0ZXMgYXR0ciA9IFVBX1ZhcmlhYmxlQXR0cmlidXRlc19kZWZhdWx0OworYXR0ci5taW5pbXVtU2FtcGxpbmdJbnRlcnZhbCA9IDAuMDAwMDAwOworYXR0ci51c2VyQWNjZXNzTGV2ZWwgPSAxOworYXR0ci5hY2Nlc3NMZXZlbCA9IDE7CisvKiBWYWx1ZSByYW5rIGluaGVyaXRlZCAqLworYXR0ci52YWx1ZVJhbmsgPSAtMTsKK2F0dHIuZGF0YVR5cGUgPSBVQV9OT0RFSURfTlVNRVJJQyhuc1swXSwgNik7CithdHRyLmRpc3BsYXlOYW1lID0gVUFfTE9DQUxJWkVEVEVYVCgiIiwgIlZhcmlhYmxlMiIpOworI2lmZGVmIFVBX0VOQUJMRV9OT0RFU0VUX0NPTVBJTEVSX0RFU0NSSVBUSU9OUworYXR0ci5kZXNjcmlwdGlvbiA9IFVBX0xPQ0FMSVpFRFRFWFQoIiIsICJWYXJpYWJsZSAyIik7CisjZW5kaWYKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkTm9kZV9iZWdpbihzZXJ2ZXIsIFVBX05PREVDTEFTU19WQVJJQUJMRSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzFdLCAxNTAwMyksCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDEpLAorVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDQ3KSwKK1VBX1FVQUxJRklFRE5BTUUobnNbMV0sICJWYXJpYWJsZTIiKSwKK1VBX05PREVJRF9OVU1FUklDKG5zWzBdLCA2MyksCisoY29uc3QgVUFfTm9kZUF0dHJpYnV0ZXMqKSZhdHRyLCAmVUFfVFlQRVNbVUFfVFlQRVNfVkFSSUFCTEVBVFRSSUJVVEVTXSxOVUxMLCBOVUxMKTsKK3JldFZhbCB8PSBVQV9TZXJ2ZXJfYWRkUmVmZXJlbmNlKHNlcnZlciwgVUFfTk9ERUlEX05VTUVSSUMobnNbMV0sIDE1MDAzKSwgVUFfTk9ERUlEX05VTUVSSUMobnNbMF0sIDM3KSwgVUFfRVhQQU5ERUROT0RFSURfTlVNRVJJQyhuc1swXSwgNzgpLCB0cnVlKTsKK3JldHVybiByZXRWYWw7Cit9CisKK3N0YXRpYyBVQV9TdGF0dXNDb2RlIGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzhfZmluaXNoKFVBX1NlcnZlciAqc2VydmVyLCBVQV9VSW50MTYqIG5zKSB7CityZXR1cm4gVUFfU2VydmVyX2FkZE5vZGVfZmluaXNoKHNlcnZlciwgCitVQV9OT0RFSURfTlVNRVJJQyhuc1sxXSwgMTUwMDMpCispOworfQorCitVQV9TdGF0dXNDb2RlIHVhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlKFVBX1NlcnZlciAqc2VydmVyKSB7CitVQV9TdGF0dXNDb2RlIHJldFZhbCA9IFVBX1NUQVRVU0NPREVfR09PRDsKKy8qIFVzZSBuYW1lc3BhY2UgaWRzIGdlbmVyYXRlZCBieSB0aGUgc2VydmVyICovCitVQV9VSW50MTYgbnNbMl07Cituc1swXSA9IFVBX1NlcnZlcl9hZGROYW1lc3BhY2Uoc2VydmVyLCAiaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLyIpOworbnNbMV0gPSBVQV9TZXJ2ZXJfYWRkTmFtZXNwYWNlKHNlcnZlciwgImh0dHBzOi8vZ2l0LmVjbGlwc2Uub3JnLzRkaWFjL29yZy5lY2xpcHNlLjRkaWFjIik7Citib29sIGR1bW15ID0gKAorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV8wX2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV8xX2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV8yX2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV8zX2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV80X2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV81X2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV82X2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV83X2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV84X2JlZ2luKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV84X2ZpbmlzaChzZXJ2ZXIsIG5zKSkgJiYKKyEocmV0VmFsID0gZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfN19maW5pc2goc2VydmVyLCBucykpICYmCishKHJldFZhbCA9IGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzZfZmluaXNoKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV81X2ZpbmlzaChzZXJ2ZXIsIG5zKSkgJiYKKyEocmV0VmFsID0gZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfNF9maW5pc2goc2VydmVyLCBucykpICYmCishKHJldFZhbCA9IGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzNfZmluaXNoKHNlcnZlciwgbnMpKSAmJgorIShyZXRWYWwgPSBmdW5jdGlvbl91YV9uYW1lc3BhY2VfZm9yZGlhY05hbWVzcGFjZV8yX2ZpbmlzaChzZXJ2ZXIsIG5zKSkgJiYKKyEocmV0VmFsID0gZnVuY3Rpb25fdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2VfMV9maW5pc2goc2VydmVyLCBucykpICYmCishKHJldFZhbCA9IGZ1bmN0aW9uX3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlXzBfZmluaXNoKHNlcnZlciwgbnMpKSAKKyk7ICh2b2lkKShkdW1teSk7CityZXR1cm4gcmV0VmFsOworfQpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL25vZGVzcGFjZVRlc3QvdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2UuaCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9ub2Rlc3BhY2VUZXN0L3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBlNThmNQotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS9ub2Rlc3BhY2VUZXN0L3VhX25hbWVzcGFjZV9mb3JkaWFjTmFtZXNwYWNlLmgKQEAgLTAsMCArMSwyMSBAQAorLyogV0FSTklORzogVGhpcyBpcyBhIGdlbmVyYXRlZCBmaWxlLgorICogQW55IG1hbnVhbCBjaGFuZ2VzIHdpbGwgYmUgb3ZlcndyaXR0ZW4uICovCisKKyNpZm5kZWYgVUFfTkFNRVNQQUNFX0ZPUkRJQUNOQU1FU1BBQ0VfSF8KKyNkZWZpbmUgVUFfTkFNRVNQQUNFX0ZPUkRJQUNOQU1FU1BBQ0VfSF8KKworI2luY2x1ZGUgIm9wZW42MjU0MS5oIgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKworZXh0ZXJuIFVBX1N0YXR1c0NvZGUgdWFfbmFtZXNwYWNlX2ZvcmRpYWNOYW1lc3BhY2UoVUFfU2VydmVyICpzZXJ2ZXIpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisKKyNlbmRpZiAvKiBVQV9OQU1FU1BBQ0VfRk9SRElBQ05BTUVTUEFDRV9IXyAqLwpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL3NlcnZlcldvcmtpbmcuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvc2VydmVyV29ya2luZy5mYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgzNDUzCi0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL3NlcnZlcldvcmtpbmcuZmJvb3QKQEAgLTAsMCArMSwxMTYwIEBACis7PFJlcXVlc3QgSUQ9IjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV29ya2luZ1NlcnZlciIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVUJTQ1JJQkVfMF8xIiBUeXBlPSJTVUJTQ1JJQkVfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE1MDEiIERlc3RpbmF0aW9uPSJTVUJTQ1JJQkVfMF8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3QuQk9PTDJCT09MXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8xXzFfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LldyaXRhYmxlMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL05vSWRdIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5Xcml0YWJsZTEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5Xcml0YWJsZTIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvTm9JZDFdIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5Xcml0YWJsZTIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5Xcml0YWJsZTMiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9Pbmx5QnJvd3NlTmFtZS9mb2xkZXJUZXN0cy9mb2xkZXIxL05vSWQ7L09iamVjdHMvZmlyc3RSZWFkL09ubHlCcm93c2VOYW1lL2ZvbGRlclRlc3RzL2ZvbGRlcjIvTm9JZF0iIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LldyaXRhYmxlMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LmxvY2FsUmVhZEZvbGRlcjEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3QubG9jYWxSZWFkRm9sZGVyMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5sb2NhbFJlYWRGb2xkZXIzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3QuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3QuRl9FUV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRX18xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LkZfT1JfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LkZfRVFfNV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3QuRl9PUl8yIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3QuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5GX0VRXzJfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRXzJfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LmxvY2FsUmVhZEZvbGRlcjUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImZvbGRlclRlc3QuRl9PUl8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5GX0VRXzVfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZm9sZGVyVGVzdC5sb2NhbFJlYWRGb2xkZXI0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJmb2xkZXJUZXN0LkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTQ5OSIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wIiBUeXBlPSJTVUJTQ1JJQkVfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMCIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRSIgVHlwZT0iRV9DWUNMRSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzEwMDBtcyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5FX0NZQ0xFLkRUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIiIFR5cGU9IkVfREVNVVhfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0TG9jYWwuU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLkZfQk9PTF9UT19VSU5UIiBUeXBlPSJGX0JPT0xfVE9fVUlOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2Jyb3dzZU5hbWVPbmx5L25vT1BhcmFtZXRlcnNdIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zIiBUeXBlPSJTRVJWRVJfMF8zIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL2Jyb3dzZU5hbWVPbmx5L29ubHlPdXRwdXRQYW1ldGVyc10iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMiIFR5cGU9IlNFUlZFUl8yXzMiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnJvd3NlTmFtZU9ubHkvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVyc10iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzJfM18wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzFfMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9icm93c2VOYW1lT25seS9vbmx5SW5wdXRQYXJhbWV0ZXJzXSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8xXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8xXzBfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8zLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfM18xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfM18zIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM3ODkiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVMQVkiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVMQVkuRFQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRV9ERUxBWV8xIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjNTAwbXMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5FX0RFTEFZXzEuRFQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL25vT1BhcmFtZXRlcnMsMTppPTIyMzQ1XSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zIiBUeXBlPSJTRVJWRVJfMF8zIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlPdXRwdXRQYW1ldGVycywxOmk9MjIzNDddIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzNfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMiIFR5cGU9IlNFUlZFUl8yXzMiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTA5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL251bWVyaWNOb2RlSWQvYm90aElucHV0QW5kT3V0cHV0UGFyYW1ldGVycywxOmk9MjIzNDhdIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9udW1lcmljTm9kZUlkL29ubHlJbnB1dFBhcmFtZXRlcnMsMTppPTIyMzQ2XSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMV8wXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTIyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTM0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMiIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxMzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTM4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5FX0RFTEFZIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzUwMG1zIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5FX0RFTEFZLkRUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkVfREVMQVlfMSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRV9ERUxBWV8xLkRUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9ub09QYXJhbWV0ZXJzLDE6cz1tZXRob2RIZWxsb10iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zIiBUeXBlPSJTRVJWRVJfMF8zIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvb25seU91dHB1dFBhbWV0ZXJzLDE6cz1tZXRob2RIZWxsbzJdIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMiIFR5cGU9IlNFUlZFUl8yXzMiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL2ZpcnN0UmVhZC9NZXRob2RzL3N0cmluZ05vZGVJZC9ib3RoSW5wdXRBbmRPdXRwdXRQYXJhbWV0ZXJzLDE6cz1tZXRob2RIZWxsbzNdIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18yXzNfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9zdHJpbmdOb2RlSWQvb25seUlucHV0UGFyYW1ldGVycywxOnM9bWV0aG9kSGVsbG8xXSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzFfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjM0NTYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfM18xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfM18yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfM18zIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18zIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxNzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTc5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVMQVkiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjNTAwbXMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRV9ERUxBWS5EVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVMQVlfMSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5FX0RFTEFZXzEuRFQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMiIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnl0ZVN0cmluZ05vZGVJZC9ub09QYXJhbWV0ZXJzLDE6Yj1tZXRob2RCeXRlU3RyaW5nTm9kZUlkMV0iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMTk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMyIgVHlwZT0iU0VSVkVSXzBfMyIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnl0ZVN0cmluZ05vZGVJZC9vbmx5T3V0cHV0UGFtZXRlcnMsMTpiPW1ldGhvZEJ5dGVTdHJpbmdOb2RlSWQzXSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zIiBUeXBlPSJTRVJWRVJfMl8zIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX01FVEhPRDsvT2JqZWN0cy9maXJzdFJlYWQvTWV0aG9kcy9ieXRlU3RyaW5nTm9kZUlkL2JvdGhJbnB1dEFuZE91dHB1dFBhcmFtZXRlcnMsMTpiPW1ldGhvZEJ5dGVTdHJpbmdOb2RlSWQ0XSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzAiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvZmlyc3RSZWFkL01ldGhvZHMvYnl0ZVN0cmluZ05vZGVJZC9vbmx5SW5wdXRQYXJhbWV0ZXJzLDE6Yj1tZXRob2RCeXRlU3RyaW5nTm9kZUlkMl0iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfMCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzFfMF8wIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjEyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMyIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjE1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18zIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRV9ERUxBWSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCM1MDBtcyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRV9ERUxBWS5EVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5FX0RFTEFZXzEiIFR5cGU9IkVfREVMQVkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjM2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjNTAwbXMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkVfREVMQVlfMS5EVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUxIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL1N0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTpzPWhlbGxvXSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUxLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTpzPWhlbGxvMTsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOnM9aGVsbG8yXSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMyIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9TdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTpzPWhlbGxvMzsvT2JqZWN0cy9maXJzdFJlYWQvU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6cz1oZWxsbzRdIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QubG9jYWxTdHJpbmcxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LmxvY2FsU3RyaW5nMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QubG9jYWxTdHJpbmc0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfNV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfNV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzAiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzJfMV8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzY1NDMyMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9PUl8yXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xXzEiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyNzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL1dpdGhJZCwxOmI9Ynl0ZVN0cmluZ05vZGVJZF0iIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkMTsvT2JqZWN0cy9maXJzdFJlYWQvQnl0ZVN0cmluZ05vZGVJZC9mb2xkZXJUZXN0cy9zYW1lRm9sZGVyL1dpdGhJZDEsMTpiPWJ5dGVTdHJpbmdOb2RlSWQyXSIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMi5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUzIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyODUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL0J5dGVTdHJpbmdOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMS9XaXRoSWQsMTpiPWJ5dGVTdHJpbmdOb2RlSWQzOy9PYmplY3RzL2ZpcnN0UmVhZC9CeXRlU3RyaW5nTm9kZUlkL2ZvbGRlclRlc3RzL2ZvbGRlcjIvV2l0aElkLDE6Yj1ieXRlU3RyaW5nTm9kZUlkNF0iIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LmxvY2FsQnl0ZXN0cmluZ051bWVyaWMxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QubG9jYWxCeXRlc3RyaW5nTnVtZXJpYzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljMyIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LmxvY2FsQnl0ZXN0cmluZ051bWVyaWM0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QubG9jYWxCeXRlc3RyaW5nTnVtZXJpYzUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIyOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzEyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzJfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8xXzFfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9XaXRoSWQsMTppPTEyMzQ1XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LldyaXRhYmxlMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3QuV3JpdGFibGUyIiBUeXBlPSJTVUJTQ1JJQkVfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvc2FtZUZvbGRlci9XaXRoSWQsMTppPTEyMzQ2Oy9PYmplY3RzL2ZpcnN0UmVhZC9OdW1lcmljTm9kZUlkL2ZvbGRlclRlc3RzL3NhbWVGb2xkZXIvV2l0aElkMSwxOmk9MTIzNDddIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuV3JpdGFibGUyLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTMiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy9maXJzdFJlYWQvTnVtZXJpY05vZGVJZC9mb2xkZXJUZXN0cy9mb2xkZXIxL1dpdGhJZCwxOmk9MTIzNDg7L09iamVjdHMvZmlyc3RSZWFkL051bWVyaWNOb2RlSWQvZm9sZGVyVGVzdHMvZm9sZGVyMi9XaXRoSWQsMTppPTEyMzQ5XSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LldyaXRhYmxlMy5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3QubG9jYWxOdW1lcmljMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0LmxvY2FsTnVtZXJpYzIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5sb2NhbE51bWVyaWMzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3QubG9jYWxOdW1lcmljNCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0LmxvY2FsTnVtZXJpYzUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV9fMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV9fMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzM1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMl8xIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzc4OSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9PUl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRXzVfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzMzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV81XzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzIiIFR5cGU9IkZfT1IiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfXzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV9fMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV81XzFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMwIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV81XzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMl8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNjU0MzIxIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8yXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im51bWVyaWNOb2RlSWRUZXN0LkZfT1JfMl8xIiBUeXBlPSJGX09SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzFfMSIgVHlwZT0iRl9PUiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzUwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzNDU2IiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8xXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvSXNvbGF0ZWRUZXN0cy9XUklURVZhcmlhYmxlXSIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzU0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Iklzb2xhdGVkQ2FzZXMub25seVJlYWRWYXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLlNVQlNDUklCRV8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvSXNvbGF0ZWRUZXN0cy9SRUFEVmFyaWFibGVdIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5TVUJTQ1JJQkVfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNzg5IiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMV8xIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy9ub05ld0ZvbGRlcl0iIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMV8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJc29sYXRlZENhc2VzLlNFUlZFUl8wIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvbm9OZXdGb2xkZXJNZXRob2RdIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5TRVJWRVJfMC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5kZWxldGVPYmplY3QxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5kZWxldGVPYmplY3QyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QxIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzEiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0RFTEVURV9PQkpFQ1Q7L09iamVjdHMvY3JlYXRlZDEvY3JlYXRlZDIvY3JlYXRlZDNdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzEiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0RFTEVURV9PQkpFQ1Q7L09iamVjdHMvY3JlYXRlZDEvY3JlYXRlZDJdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8yIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfT0JKRUNUOywwOmk9NjE7L09iamVjdHMvY3JlYXRlZDFdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8yLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzEiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7L1R5cGVzLzA6T2JqZWN0VHlwZXMvMDpCYXNlT2JqZWN0VHlwZS8wOkZvbGRlclR5cGU7L09iamVjdHMvY3JlYXRlZDEvY3JlYXRlZDJdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDsvMDpUeXBlcy8wOk9iamVjdFR5cGVzLzA6QmFzZU9iamVjdFR5cGUvMDpGb2xkZXJUeXBlLDA6aT02MTsvT2JqZWN0cy9jcmVhdGVkMS9jcmVhdGVkMi9jcmVhdGVkM10iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xXzFfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDssMDppPTIwMDQ7L09iamVjdHMvY3JlYXRlZDEvbmV3U2VydmVyXSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuY3JlYXRlU2VydmVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdCIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDssMjppPTE1MDAxOy9PYmplY3RzL3Rlc3RPYmplY3QxXSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdC5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0MVRlc3QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyVGVzdCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdDIiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7L1R5cGVzLzA6T2JqZWN0VHlwZXMvMDpCYXNlT2JqZWN0VHlwZS8yOlRlc3RPYmplY3Q7L09iamVjdHMvdGVzdE9iamVjdDJdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0Mi5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzkzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VGVzdE1ldGhvZF0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIzOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5GX0VRIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzIiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1dSSVRFOy9PYmplY3RzL3Rlc3RPYmplY3QxLzI6VmFyaWFibGUxXSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy90ZXN0T2JqZWN0MS8yOlZhcmlhYmxlMl0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMub2plY3RWYXIyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRV9TV0lUQ0hfMSIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRl9FUV8xXzEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDEzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzJfMSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7L09iamVjdHMvdGVzdE9iamVjdDIvMjpWYXJpYWJsZTFdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMl8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMl8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMV8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDIyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjNDU2IiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzFfMV8xIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRl9FUV8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzEyMyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5TVUJTQ1JJQkVfMV8xIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvdGVzdE9iamVjdDIvMjpWYXJpYWJsZTJdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5TVUJTQ1JJQkVfMV8xLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8yIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy9PYmplY3RzL3Rlc3RPYmplY3QyLzI6VGVzdE1ldGhvZF0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzEuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRl9FUV8zIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV8zLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8zIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMV8yIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8yIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0MzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvdGVzdE9iamVjdDEvMjpUZXN0TWV0aG9kMl0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMuRl9FUV80IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzQ1NiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV80LklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV80IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV80LklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF80IiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMV8zIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8zIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvdGVzdE9iamVjdDIvMjpUZXN0TWV0aG9kMl0iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzMuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3Qucm9vdFJlYWQiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvMTpyZWFkVmFyL10iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RSZWFkLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290UmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3Qucm9vdFdyaXRlIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvMTp3cml0ZVZhcl0iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RXcml0ZS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290V3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LkZfRVEiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMTIzIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5GX0VRLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5TRVJWRVJfMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy8xOm1ldGhvZF0iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LlNFUlZFUl8wLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LmRpcmVjdFJvb3RNZXRob2QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LnJvb3RSZWFkXzIiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvMTpmb2xkZXIyL3JlYWRWYXJdIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290UmVhZF8yLklEIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LmRpcmVjdFJvb3RSZWFkMiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3Qucm9vdFdyaXRlMiIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7LzE6Zm9sZGVyMi93cml0ZVZhcl0iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RXcml0ZTIuSUQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3QuU0VSVkVSXzBfMSIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDY3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfTUVUSE9EOy8xOmZvbGRlcjIvbWV0aG9kXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuU0VSVkVSXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xXzIiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290V3JpdGUyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290TWV0aG9kXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LkZfRVFfMSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMxMjMiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkZfRVFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8xXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCM0NTYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEaXJlY3RSb290LkVfU1dJVENIIiBUeXBlPSJFX1NXSVRDSCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290T2JqZWN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRGlyZWN0Um9vdC5QVUJMSVNIXzFfMV8yIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDc4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfT0JKRUNUOywwOmk9NjE7L2NyZWF0ZWQxXSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuUFVCTElTSF8xXzFfMi5JRCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuV3JpdGFibGUxLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuV3JpdGFibGUzLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LldyaXRhYmxlMi5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuV3JpdGFibGUxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LldyaXRhYmxlMy5JTklUTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuV3JpdGFibGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LldyaXRhYmxlMS5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5Xcml0YWJsZTMuSU5EIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuQk9PTDJCT09MXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX0VRLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QubG9jYWxSZWFkRm9sZGVyMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfRVFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9FUV81XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX0VRXzJfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9FUV81XzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LldyaXRhYmxlMi5JTkQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuQk9PTDJCT09MXzFfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuQk9PTDJCT09MXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfRVFfNV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuRl9FUV9fMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfT1JfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LmxvY2FsUmVhZEZvbGRlcjIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5sb2NhbFJlYWRGb2xkZXIzLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuV3JpdGFibGUzLklORCIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI0OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9FUV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfRVFfNV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX09SXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfT1JfMl8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QubG9jYWxSZWFkRm9sZGVyNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfT1JfMV8xLkNORiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QubG9jYWxSZWFkRm9sZGVyNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfT1JfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuV3JpdGFibGUxLlJEXzEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LldyaXRhYmxlMy5SRF8yIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LldyaXRhYmxlMy5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5Xcml0YWJsZTIuUkRfMiIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuQk9PTDJCT09MXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LldyaXRhYmxlMi5SRF8xIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LmxvY2FsUmVhZEZvbGRlcjEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfT1JfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX09SXzIuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5sb2NhbFJlYWRGb2xkZXIzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5sb2NhbFJlYWRGb2xkZXIyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX09SXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX0VRXzVfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfT1JfMi5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuRl9FUV81XzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuRl9FUV81XzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfT1JfMl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuRl9PUl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5sb2NhbFJlYWRGb2xkZXI0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuRl9FUV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfT1JfMl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuRl9PUl8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5sb2NhbFJlYWRGb2xkZXI1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5GX0VRX18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX09SXzFfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVFfNV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZm9sZGVyVGVzdC5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImZvbGRlclRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LkZfRVFfXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJmb2xkZXJUZXN0LkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5GX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRS5FTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wLklORCIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5FX0NZQ0xFLlNUT1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkVfREVNVVhfMi5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JTklUTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuSU5JVE8iIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdExvY2FsLkVfREVNVVhfMi5FTzIiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRS5TVEFSVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIuRU8xIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLlNURVNUX0VORC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuT1VUIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkVfREVNVVhfMi5LIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzBfMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzBfMy5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMC5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMV8wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLlJTUCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfM18yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLlJTUCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlJTUCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkVfREVMQVkuU1RBUlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5FX0RFTEFZLkVPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8xXzAuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRV9ERUxBWV8xLlNUQVJUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRV9ERUxBWV8xLkVPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMV8wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMy5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzJfMy5SRF8xIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzBfMy5SRF8zIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuUkRfMiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMF8zXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMF8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuUkRfMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMV8wLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMV8wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMy5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5TRVJWRVJfMl8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkxvY2FsTWV0aG9kQnJvd3NlXzBfM18xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8wXzNfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI1OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkRJTlQyRElOVF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5GX0VRXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuTG9jYWxNZXRob2RCcm93c2VfMl8zXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNTk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5ESU5UMkRJTlRfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRElOVDJESU5UXzFfM18xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLkZfRVFfMV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuRl9FUV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RPbmx5QnJvd3NlTmFtZS5Mb2NhbE1ldGhvZEJyb3dzZV8yXzNfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8xXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzBfMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMC5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzAuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzFfMF8wLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wXzMuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wXzMuUlNQIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18wLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzMuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuUlNQIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMC5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkVfREVMQVkuU1RBUlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkVfREVMQVkuRU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRV9ERUxBWV8xLlNUQVJUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5FX0RFTEFZXzEuRU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18xXzBfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuUkRfMiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMF8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLlJEXzMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8wXzMuUkRfMiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzBfMy5RTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlJEXzMiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5RTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzJfM18wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMV8wLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8xXzAuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18xXzBfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzMuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMl8zLlNEXzIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzJfMy5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18wXzNfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuTG9jYWxOdW1lcmljXzBfM18yLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5ESU5UMkRJTlRfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkxvY2FsTnVtZXJpY18yXzNfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMi5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRElOVDJESU5UXzFfM18xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuRl9FUV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLkZfRVFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5Mb2NhbE51bWVyaWNfMl8zXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfMC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzAuUlNQIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMV8wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlJTUCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLklORCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18wLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18yXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18yXzNfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzMuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8zLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlJTUCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMC5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRV9ERUxBWV8xLlNUQVJUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVMQVlfMS5FTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkVfREVMQVkuU1RBUlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRV9ERUxBWS5FTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18xXzBfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI2OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMC5RTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SRF8zIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNjk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5RTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SRF8zIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzJfM18wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMV8wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRElOVDJESU5UXzMuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkxvY2FsU3RyaW5nXzBfM18xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMF8zXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18wXzNfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5Mb2NhbFN0cmluZ18yXzNfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5GX0VRXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuRl9FUV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuTG9jYWxTdHJpbmdfMl8zXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8wLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzAuUlNQIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLklOSVRPIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5TVUJTQ1JJQkVfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMV8wXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlJTUCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5JTkQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzNfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18xLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjczNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18zLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzAuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjczOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzAuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMy5DTkYiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzIuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8zLkNORiIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5FX0RFTEFZXzEuU1RBUlQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkVfREVMQVlfMS5FTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzFfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzAuSU5EIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5FX0RFTEFZLlNUQVJUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5FX0RFTEFZLkVPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8wLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUkRfMSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18wXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUkRfMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzBfMy5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8zXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUkRfMSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuUkRfMyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlFPIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMl8zXzAuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzFfMC5RTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzFfMF8wLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMy5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8yXzMuU0RfMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMl8zLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8zXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzBfM18zLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5Mb2NhbEJ5dGVTdHJpbmdfMF8zXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuTG9jYWxCeXRlU3RyaW5nXzJfM18xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRElOVDJESU5UXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5ESU5UMkRJTlRfMV8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5GX0VRXzFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuRl9FUV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLkxvY2FsQnl0ZVN0cmluZ18yXzNfMy5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUxLklOSVRPIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUzLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMi5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMy5JTklUTyIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMS5JTkQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuSU5EIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QubG9jYWxTdHJpbmcxLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iNzkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLklORCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRX18xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzIuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzEuQ05GIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI3OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUzLklORCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LmxvY2FsU3RyaW5nNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMV8xLkNORiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LmxvY2FsU3RyaW5nNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMS5SRF8xIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuUkRfMiIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLlJEXzIiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuUkRfMSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfNV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRX18xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfNV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QubG9jYWxTdHJpbmczLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5sb2NhbFN0cmluZzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfRVFfNV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5GX0VRXzJfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJzdHJpbmdOb2RlSWRUZXN0LkZfT1JfMV8xLk9VVCIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QubG9jYWxTdHJpbmc0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ic3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LmxvY2FsU3RyaW5nNS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMS5JTklUTyIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMy5JTklUTyIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUxLklORCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLklORCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuSU5EIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMl8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfT1JfMi5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMV8xLkNORiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfT1JfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRX18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzVfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMy5JTkQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljNC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljNS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTEuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuUkRfMiIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMy5SRF8xIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMi5SRF8yIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuUkRfMSIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LmxvY2FsQnl0ZXN0cmluZ051bWVyaWMxLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8yLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX09SXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRX18xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX0VRXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LmxvY2FsQnl0ZXN0cmluZ051bWVyaWMyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8yLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LmxvY2FsQnl0ZXN0cmluZ051bWVyaWMzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfRVFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9PUl8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuRl9FUV81XzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX09SXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5GX09SXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5sb2NhbEJ5dGVzdHJpbmdOdW1lcmljNC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LkZfT1JfMl8xLk9VVCIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LmxvY2FsQnl0ZXN0cmluZ051bWVyaWM1LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuV3JpdGFibGUxLklOSVRPIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTMuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LldyaXRhYmxlMi5JTklUTyIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LldyaXRhYmxlMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuV3JpdGFibGUzLklOSVRPIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuV3JpdGFibGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTEuSU5EIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LldyaXRhYmxlMy5JTkQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LmxvY2FsTnVtZXJpYzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV81XzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRXzVfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMV8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iODk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTIuSU5EIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9PUl8yLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LmxvY2FsTnVtZXJpYzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV81XzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9PUl8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkZfT1JfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5sb2NhbE51bWVyaWMyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9PUl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI4OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuV3JpdGFibGUzLklORCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5sb2NhbE51bWVyaWM0LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkZfT1JfMl8xLkNORiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LmxvY2FsTnVtZXJpYzUuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV81XzFfMS5DTkYiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTEuUkRfMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTMuUkRfMiIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LldyaXRhYmxlMy5SRF8xIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LldyaXRhYmxlMi5SRF8yIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTIuUkRfMSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LmxvY2FsTnVtZXJpYzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRXzVfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzIuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfT1JfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzIuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV9fMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzEuSU4yIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMl8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRXzJfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5CT09MMkJPT0xfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRXzVfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QubG9jYWxOdW1lcmljMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkZfT1JfMi5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5sb2NhbE51bWVyaWMzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV9fMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfT1JfMV8xLklOMiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfT1JfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9PUl8yXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV81XzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzJfMS5JTjIiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJudW1lcmljTm9kZUlkVGVzdC5GX09SXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5sb2NhbE51bWVyaWM0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuRl9PUl8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QubG9jYWxOdW1lcmljNS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im51bWVyaWNOb2RlSWRUZXN0LkJPT0wyQk9PTF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuRl9FUV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5GX0VRX18xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfMl8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibnVtZXJpY05vZGVJZFRlc3QuQk9PTDJCT09MXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LkZfRVFfNV8xXzEuSU4xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5TVUJTQ1JJQkVfMS5JTklUTyIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLkZfRVEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjkzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5GX0VRLkNORiIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMub25seVJlYWRWYXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5TVUJTQ1JJQkVfMS5JTkQiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuRElOVDJESU5UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xLkNORiIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuU0VSVkVSXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlNFUlZFUl8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLlNFUlZFUl8wLklORCIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuU0VSVkVSXzAuUlNQIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLlBVQkxJU0hfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Iklzb2xhdGVkQ2FzZXMuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJJc29sYXRlZENhc2VzLm9ubHlSZWFkVmFyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSXNvbGF0ZWRDYXNlcy5TVUJTQ1JJQkVfMS5SRF8xIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJc29sYXRlZENhc2VzLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzFfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5kZWxldGVPYmplY3QxLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5kZWxldGVPYmplY3QyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmNyZWF0ZU9iamVjdDEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuY3JlYXRlT2JqZWN0Mi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmNyZWF0ZU9iamVjdDMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8yLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLmNyZWF0ZU9iamVjdDEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuY3JlYXRlT2JqZWN0Mi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLmRlbGV0ZU9iamVjdDEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLmRlbGV0ZU9iamVjdDIuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290UmVhZC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QzLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuY3JlYXRlU2VydmVyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRV9TV0lUQ0guRU8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QxVGVzdC5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLmNyZWF0ZVNlcnZlci5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0MVRlc3QuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0Mi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMV8xLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0LklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdDJUZXN0LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDEuSU5EIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxLlJTUCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5ULkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkZfRVEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzEuSU5EIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vamVjdFZhcjIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5TVUJTQ1JJQkVfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0Mi5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyVGVzdC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkVfU1dJVENIXzEuRU8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRV9TV0lUQ0hfMS5FTzAiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RSZWFkLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV8yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8yLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vamVjdFZhcjFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzEuSU5EIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iOTk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzFfMS5JTkQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSI5OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzJfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzFfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vamVjdFZhcjJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzEuUlNQIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkVfU1dJVENIXzEuRUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5vamVjdFZhcjFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMub2plY3RWYXIxLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDFfMi5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzIuSU5EIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5GX0VRXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8yLlJTUCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV80LkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8zLklORCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF80LkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV80LlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV80LkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMy5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzMuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmRlbGV0ZU9iamVjdDEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLmRlbGV0ZU9iamVjdDIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMi5RTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuY3JlYXRlT2JqZWN0MS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5jcmVhdGVPYmplY3QyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzFfMS5RTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuY3JlYXRlT2JqZWN0My5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMV8xXzFfMS5RTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuY3JlYXRlU2VydmVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QxVGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0Mi5RTyIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE9iamVjdDJUZXN0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9iamVjdE1ldGhvZDEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuU1VCU0NSSUJFXzEuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMub2plY3RWYXIyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5QVUJMSVNIXzFfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vamVjdFZhcjEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vamVjdFZhcjJfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkZfRVFfMV8xLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDAzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5TVUJTQ1JJQkVfMV8xLlJEXzEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRl9FUV8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMub2JqZWN0TWV0aG9kMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzEuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzIuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMuRElOVDJESU5UXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzJfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLm9qZWN0VmFyMV8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8yLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV8yLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV8zLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF8zLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV8zLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzMuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMi5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMy5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfMV80Lk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMy5TRF8xIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVPYmplY3RzLkRJTlQyRElOVF80Lk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRl9FUV80LklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlT2JqZWN0cy5GX0VRXzQuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5vYmplY3RNZXRob2QxXzMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMy5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5ESU5UMkRJTlRfNC5JTiIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290UmVhZC5JTkQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5GX0VRLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5GX0VRLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LnJvb3RSZWFkLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290V3JpdGUuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290V3JpdGUuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5kaXJlY3RSb290V3JpdGUuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LmRpcmVjdFJvb3RNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5TRVJWRVJfMC5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuU0VSVkVSXzAuSU5EIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5kaXJlY3RSb290TWV0aG9kLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290UmVhZF8yLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290V3JpdGUyLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuU0VSVkVSXzBfMS5JTkQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RNZXRob2RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFdyaXRlMi5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RXcml0ZTIuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkZfRVFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuZGlyZWN0Um9vdE1ldGhvZF8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuU0VSVkVSXzBfMS5SU1AiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFJlYWRfMi5JTkQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuRl9FUV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFJlYWQyLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5TRVJWRVJfMC5JTklUTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFJlYWRfMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFdyaXRlMi5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8xLkNORiIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290V3JpdGUuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFdyaXRlLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5TRVJWRVJfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LnJvb3RXcml0ZTIuSU5JVE8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LlNFUlZFUl8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwNzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuUFVCTElTSF8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RPYmplY3QuUkVRIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LlNFUlZFUl8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LlBVQkxJU0hfMV8xXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5kaXJlY3RSb290T2JqZWN0LkNORiIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LmRpcmVjdFJvb3RXcml0ZTIuQ05GIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5QVUJMSVNIXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5QVUJMSVNIXzFfMV8yLklOSVRPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5FX1NXSVRDSC5FSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5yb290UmVhZC5SRF8xIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5GX0VRLklOMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5CT09MMkJPT0xfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290V3JpdGUuU0RfMSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5GX0VRLk9VVCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFJlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFdyaXRlLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5kaXJlY3RSb290V3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuU0VSVkVSXzAuUU8iIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LmRpcmVjdFJvb3RNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3Qucm9vdFdyaXRlMi5RTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFdyaXRlMi5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRGlyZWN0Um9vdC5TRVJWRVJfMF8xLlFPIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5kaXJlY3RSb290TWV0aG9kXzEuY2hlY2siIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuRl9FUV8xLk9VVCIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdFJlYWQyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LnJvb3RSZWFkXzIuUkRfMSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEaXJlY3RSb290LkJPT0wyQk9PTF8yXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkZfRVFfMS5JTjEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwOTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuQk9PTDJCT09MXzJfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290V3JpdGUyLlNEXzEiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRpcmVjdFJvb3QuUFVCTElTSF8xXzFfMi5RTyIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuZGlyZWN0Um9vdE9iamVjdC5jaGVjayIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzBfMS5JTklUTyIgRGVzdGluYXRpb249IkVfU1IuUyIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDA5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5FTyIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuV3JpdGFibGUzLklOSVQiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwwOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8wXzEuSU5EIiBEZXN0aW5hdGlvbj0iRV9TUi5SIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJmb2xkZXJUZXN0LldyaXRhYmxlMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iZm9sZGVyVGVzdC5Xcml0YWJsZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImZvbGRlclRlc3QuV3JpdGFibGUzLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuSU4iIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkluaXRGaW5pc2hlZC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0ibnVtZXJpY05vZGVJZFRlc3QuV3JpdGFibGUxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJudW1lcmljTm9kZUlkVGVzdC5Xcml0YWJsZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249Im51bWVyaWNOb2RlSWRUZXN0LldyaXRhYmxlMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0ic3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249InN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUyLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJzdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDExMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iYnl0ZVN0cmluZ05vZGVJZFRlc3QuV3JpdGFibGUxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJieXRlU3RyaW5nTm9kZUlkVGVzdC5Xcml0YWJsZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249ImJ5dGVTdHJpbmdOb2RlSWRUZXN0LldyaXRhYmxlMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDExNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kT25seUJyb3dzZU5hbWUuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8xXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8wXzMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE9ubHlCcm93c2VOYW1lLlNFUlZFUl8yXzMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZE51bWVyaWNOb2RlSWQuU0VSVkVSXzFfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kTnVtZXJpY05vZGVJZC5TRVJWRVJfMF8zLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2ROdW1lcmljTm9kZUlkLlNFUlZFUl8yXzMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kU3RyaW5nTm9kZUlkLlNFUlZFUl8xXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZFN0cmluZ05vZGVJZC5TRVJWRVJfMF8zLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RTdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMC5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYU1ldGhvZHMuTWV0aG9kQnl0ZXN0cmluZ05vZGVJZC5TRVJWRVJfMV8wLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJMb2NhTWV0aG9kcy5NZXRob2RCeXRlc3RyaW5nTm9kZUlkLlNFUlZFUl8wXzMuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkxvY2FNZXRob2RzLk1ldGhvZEJ5dGVzdHJpbmdOb2RlSWQuU0VSVkVSXzJfMy5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5TVUJTQ1JJQkVfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDEzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iSXNvbGF0ZWRDYXNlcy5QVUJMSVNIXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuUFVCTElTSF8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249Iklzb2xhdGVkQ2FzZXMuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuUFVCTElTSF8xXzFfMV8xXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0T2JqZWN0LlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RPYmplY3QyLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlNVQlNDUklCRV8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLkVfU1dJVENIXzEuRyIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy5TVUJTQ1JJQkVfMV8xLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLlBVQkxJU0hfMV8yXzEuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkNyZWF0ZU9iamVjdHMudGVzdE1ldGhvZDFfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iQ3JlYXRlT2JqZWN0cy50ZXN0TWV0aG9kMV8zLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJDcmVhdGVPYmplY3RzLnRlc3RNZXRob2QxXzIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFJlYWQuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuU0VSVkVSXzAuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuU0VSVkVSXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iRGlyZWN0Um9vdC5yb290UmVhZF8yLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LnJvb3RXcml0ZTIuUUkiIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3Qucm9vdFdyaXRlLlFJIiAvPjwvUmVxdWVzdD4KK1dvcmtpbmdTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEsMTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJEaXJlY3RSb290LkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgorV29ya2luZ1NlcnZlcjs8UmVxdWVzdCBJRD0iMSwxNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkRpcmVjdFJvb3QuUFVCTElTSF8xXzFfMi5RSSIgLz48L1JlcXVlc3Q+CitXb3JraW5nU2VydmVyOzxSZXF1ZXN0IElEPSIxLDE2MCIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzQ2xpZW50LmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzQ2xpZW50LmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZGY2N2QKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvdHlwZXNDbGllbnQuZmJvb3QKQEAgLTAsMCArMSw3NTQgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ0eXBlc0NsaWVudCIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5JTlQySU5UXzEiIFR5cGU9IklOVDJJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzIzNCIgRGVzdGluYXRpb249IlN1YkFwcF8yLklOVDJJTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5CT09MMkJPT0xfMl8xIiBUeXBlPSJCT09MMkJPT0wiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuQk9PTDJCT09MXzJfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5VRElOVDJVRElOVF8xIiBUeXBlPSJVRElOVDJVRElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVRElOVCM3ODkiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5VRElOVDJVRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8yLlNJTlQyU0lOVF8xIiBUeXBlPSJTSU5UMlNJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0lOVCMxMjEiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5TSU5UMlNJTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzIuRl9JTlRfVE9fTFdPUkRfMSIgVHlwZT0iRl9JTlRfVE9fTFdPUkQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8yLkZfSU5UX1RPX0xJTlRfMSIgVHlwZT0iRl9JTlRfVE9fTElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzIuUkVBTDJSRUFMXzEiIFR5cGU9IlJFQUwyUkVBTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUkVBTCMxLjIzIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuUkVBTDJSRUFMXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8yLldTVFJJTkcyV1NUUklOR18xIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjVGVzdFdTdHJpbmciIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5XU1RSSU5HMldTVFJJTkdfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzIuQllURTJCWVRFXzEiIFR5cGU9IkJZVEUyQllURSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQllURSMxMjMiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5CWVRFMkJZVEVfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzIuQk9PTDJCT09MXzQiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuQk9PTDJCT09MXzQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8yLkJPT0wyQk9PTF8xXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuQk9PTDJCT09MXzFfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzIuQk9PTDJCT09MXzNfMSIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MI1RSVUUiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5CT09MMkJPT0xfM18xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5GX0xJTlRfVE9fSU5UXzEiIFR5cGU9IkZfTElOVF9UT19JTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxJTlQjNDU2IiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuRl9MSU5UX1RPX0lOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5VSU5UMlVJTlRfMSIgVHlwZT0iVUlOVDJVSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzY3OCIgRGVzdGluYXRpb249IlN1YkFwcF8yLlVJTlQyVUlOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5TVFJJTkcyU1RSSU5HXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNUZXN0U3RyaW5nIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuU1RSSU5HMlNUUklOR18xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5GX1VMSU5UX1RPX0lOVF8xIiBUeXBlPSJGX1VMSU5UX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUxJTlQjOTg3IiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuRl9VTElOVF9UT19JTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzIuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMzNDUiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzIuTFJFQUwyTFJFQUxfMSIgVHlwZT0iTFJFQUwyTFJFQUwiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxSRUFMIzMuMjEiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5MUkVBTDJMUkVBTF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5XT1JEMldPUkRfMSIgVHlwZT0iV09SRDJXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXT1JEIzc2NSIgRGVzdGluYXRpb249IlN1YkFwcF8yLldPUkQyV09SRF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5GX0xXT1JEX1RPX0lOVF8xIiBUeXBlPSJGX0xXT1JEX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTFdPUkQjNTQzIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuRl9MV09SRF9UT19JTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzIuVVNJTlQyVVNJTlRfMSIgVHlwZT0iVVNJTlQyVVNJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVTSU5UIzEyMiIgRGVzdGluYXRpb249IlN1YkFwcF8yLlVTSU5UMlVTSU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8yLlRJTUUyVElNRV8xIiBUeXBlPSJUSU1FMlRJTUUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlRJTUUjMTQ1MG1zIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuVElNRTJUSU1FXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8yLkRXT1JEMkRXT1JEXzEiIFR5cGU9IkRXT1JEMkRXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJEV09SRCM2NTQiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5EV09SRDJEV09SRF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMi5GX0lOVF9UT19VTElOVCIgVHlwZT0iRl9JTlRfVE9fVUxJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8yLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dCIgVHlwZT0iTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0IiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIodGV4dDo9JmFwb3M7SnVzdEFUZXh0JmFwb3M7LGxvY2FsZTo9JmFwb3M7ZGUtREUmYXBvczspIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkJvbGxUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX0Jvb2wiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9Cb29sLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5TSU5UVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuRl9FUV9TSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTSU5UIzEyMSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9TSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5JTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX0lOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzIzNCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9JTlQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkRJTlR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkZfRVFfRElOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMzNDUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfRElOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuRl9FUV9VU0lOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVVNJTlQjMTIyIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1VTSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5VU0lOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkZfRVFfVUlOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM2NzgiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfVUlOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuTElOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLlVJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5VRElOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkZfRVFfVURJTlQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVESU5UIzc4OSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9VRElOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuRl9FUV9MSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJMSU5UIzQ1NiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9MSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX0JZVEUiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJZVEUjMTIzIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0JZVEUuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkJZVEVUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX1dPUkQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldPUkQjNzY1IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1dPUkQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLlVMSU5UVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuV09SRFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkRXT1JEVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjgxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuRl9FUV9EV09SRCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iODIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRFdPUkQjNjU0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0RXT1JELklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX1VMSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVTElOVCM5ODciIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfVUxJTlQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI4NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkZfRVFfREFURSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iODYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0RBVEUuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkRBVEVUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX0xSRUFMIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJMUkVBTCMzLjIxIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0xSRUFMLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5MV09SRFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLlRPRFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkRUVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuRl9FUV9EVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iOTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0RULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5SRUFMVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuTFJFQUxUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX1JFQUwiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijk4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJFQUwjMS4yMyIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9SRUFMLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX0xXT1JEIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTFdPUkQjNTQzIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0xXT1JELklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuV1NUUklOR1R5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5GX0VRX1RJTUUiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUSU1FIzE0NTBtcyIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9USU1FLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuU1RSSU5HVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkZfRVFfVE9EIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1RPRC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkZfRVFfQm9vbF9TVFJJTkciIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjVGVzdFN0cmluZyIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9Cb29sX1NUUklORy5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkZfRVFfQm9vbF9XU1RSSU5HIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNUZXN0V1N0cmluZyIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9Cb29sX1dTVFJJTkcuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMy5USU1FVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjExMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLkZfRVFfVGV4dF8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI2RlLURFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1RleHRfMi5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjExNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjExNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8zLmxvY2FsaXplZFRleHRUZXN0TG9jYWxlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuR0VUX1NUUlVDVF9WQUxVRSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyN0ZXh0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5HRVRfU1RSVUNUX1ZBTFVFLm1lbWJlciIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuRl9FUV9UZXh0IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI0p1c3RBVGV4dCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9UZXh0LklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuR0VUX1NUUlVDVF9WQUxVRV8xIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI2xvY2FsZSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuR0VUX1NUUlVDVF9WQUxVRV8xLm1lbWJlciIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMubG9jYWxpemVkVGV4dFRlc3RUZXh0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzMuU1RSSU5HMlNUUklOR18xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5TSU5UMlNJTlQiIFR5cGU9IlNJTlQyU0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuVUlOVDJVSU5UIiBUeXBlPSJVSU5UMlVJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18yLkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5VRElOVDJVRElOVCIgVHlwZT0iVURJTlQyVURJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18yLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5GX0xJTlRfVE9fSU5UIiBUeXBlPSJGX0xJTlRfVE9fSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5JTlQySU5UIiBUeXBlPSJJTlQySU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5VU0lOVDJVU0lOVCIgVHlwZT0iVVNJTlQyVVNJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18yLkZfVUxJTlRfVE9fSU5UIiBUeXBlPSJGX1VMSU5UX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuQllURTJCWVRFIiBUeXBlPSJCWVRFMkJZVEUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18yLldPUkQyV09SRCIgVHlwZT0iV09SRDJXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5EV09SRDJEV09SRCIgVHlwZT0iRFdPUkQyRFdPUkQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18yLkZfTFdPUkRfVE9fSU5UIiBUeXBlPSJGX0xXT1JEX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuTUlTU0lOR19EQVRFIiBUeXBlPSJGX0RUX1RPX0RBVEUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18yLk1JU1NJTkdfREFURV9BTkRfVElNRSIgVHlwZT0iRl9EVF9UT19UT0QiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjEzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18yLlRJTUUyVElNRSIgVHlwZT0iVElNRTJUSU1FIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5SRUFMMlJFQUwiIFR5cGU9IlJFQUwyUkVBTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuTFJFQUwyTFJFQUwiIFR5cGU9IkxSRUFMMkxSRUFMIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5XU1RSSU5HMldTVFJJTkciIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuVGltZV9vZl9kYXkiIFR5cGU9IkZfQUREX1RPRF9USU1FIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5GX0lOVF9UT19MSU5UIiBUeXBlPSJGX0lOVF9UT19MSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMi5GX0lOVF9UT19VTElOVCIgVHlwZT0iRl9JTlRfVE9fVUxJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18yLkZfSU5UX1RPX0xXT1JEIiBUeXBlPSJGX0lOVF9UT19MV09SRCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuQk9PTDJCT09MXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuQk9PTDJCT09MXzIiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuQk9PTDJCT09MXzMiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzIuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0IiBUeXBlPSJMb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLlNJTlQyU0lOVCIgVHlwZT0iU0lOVDJTSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5VSU5UMlVJTlQiIFR5cGU9IlVJTlQyVUlOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzMuQk9PTDJCT09MIiBUeXBlPSJCT09MMkJPT0wiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLlVESU5UMlVESU5UIiBUeXBlPSJVRElOVDJVRElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzMuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLkZfTElOVF9UT19JTlQiIFR5cGU9IkZfTElOVF9UT19JTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLklOVDJJTlQiIFR5cGU9IklOVDJJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLlVTSU5UMlVTSU5UIiBUeXBlPSJVU0lOVDJVU0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzMuRl9VTElOVF9UT19JTlQiIFR5cGU9IkZfVUxJTlRfVE9fSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5CWVRFMkJZVEUiIFR5cGU9IkJZVEUyQllURSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzMuV09SRDJXT1JEIiBUeXBlPSJXT1JEMldPUkQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLkRXT1JEMkRXT1JEIiBUeXBlPSJEV09SRDJEV09SRCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzMuRl9MV09SRF9UT19JTlQiIFR5cGU9IkZfTFdPUkRfVE9fSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5NSVNTSU5HX0RBVEUiIFR5cGU9IkZfRFRfVE9fREFURSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzMuTUlTU0lOR19EQVRFX0FORF9USU1FIiBUeXBlPSJGX0RUX1RPX1RPRCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzMuVElNRTJUSU1FIiBUeXBlPSJUSU1FMlRJTUUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLlJFQUwyUkVBTCIgVHlwZT0iUkVBTDJSRUFMIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5MUkVBTDJMUkVBTCIgVHlwZT0iTFJFQUwyTFJFQUwiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLldTVFJJTkcyV1NUUklORyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5UaW1lX29mX2RheSIgVHlwZT0iRl9BRERfVE9EX1RJTUUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLkZfSU5UX1RPX0xJTlQiIFR5cGU9IkZfSU5UX1RPX0xJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18zLkZfSU5UX1RPX1VMSU5UIiBUeXBlPSJGX0lOVF9UT19VTElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzMuRl9JTlRfVE9fTFdPUkQiIFR5cGU9IkZfSU5UX1RPX0xXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMSIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMiIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMyIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxNzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMy5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQiIFR5cGU9IkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuQm9sbFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5GX0VRX0Jvb2wiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MI1RSVUUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfQm9vbC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLlNJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRl9FUV9TSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxODUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0lOVCMxMjEiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfU0lOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLklOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5GX0VRX0lOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTg4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCMyMzQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRElOVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkZfRVFfRElOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTkxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMzQ1IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0RJTlQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5GX0VRX1VTSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVVNJTlQjMTIyIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1VTSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuVVNJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRl9FUV9VSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM2NzgiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfVUlOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkxJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMTk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuVUlOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIxOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5VRElOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5GX0VRX1VESU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVURJTlQjNzg5IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1VESU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRl9FUV9MSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTElOVCM0NTYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfTElOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkZfRVFfQllURSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjA1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJZVEUjMTIzIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0JZVEUuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5CWVRFVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkZfRVFfV09SRCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldPUkQjNzY1IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1dPUkQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5VTElOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5XT1JEVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkRXT1JEVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkZfRVFfRFdPUkQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJEV09SRCM2NTQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfRFdPUkQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5GX0VRX1VMSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUxJTlQjOTg3IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1VMSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRl9FUV9EQVRFIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0RBVEUuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5EQVRFVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkZfRVFfTFJFQUwiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJMUkVBTCMzLjIxIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0xSRUFMLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuTFdPUkRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuVE9EVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkRUVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkZfRVFfRFQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MI1RSVUUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfRFQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5SRUFMVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkxSRUFMVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLkZfRVFfUkVBTCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJFQUwjMS4yMyIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9SRUFMLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRl9FUV9MV09SRCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxXT1JEIzU0MyIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9MV09SRC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLldTVFJJTkdUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRl9FUV9USU1FIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVElNRSMxNDUwbXMiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfVElNRS5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjIzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLlNUUklOR1R5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5GX0VRX1RPRCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9UT0QuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5GX0VRX0Jvb2xfU1RSSU5HIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyMzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI1Rlc3RTdHJpbmciIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfQm9vbF9TVFJJTkcuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5GX0VRX0Jvb2xfV1NUUklORyIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjVGVzdFdTdHJpbmciIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfQm9vbF9XU1RSSU5HLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuVElNRVR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5HRVRfU1RSVUNUX1ZBTFVFXzEiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjbG9jYWxlIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5HRVRfU1RSVUNUX1ZBTFVFXzEubWVtYmVyIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMi5sb2NhbGl6ZWRUZXh0VGVzdExvY2FsZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8yLlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuR0VUX1NUUlVDVF9WQUxVRSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjQ5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyN0ZXh0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5HRVRfU1RSVUNUX1ZBTFVFLm1lbWJlciIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRl9FUV9UZXh0IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI0p1c3RBVGV4dCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9UZXh0LklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIubG9jYWxpemVkVGV4dFRlc3RUZXh0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzIuRl9FUV9UZXh0XzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjZGUtREUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfVGV4dF8yLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXQuU1RFU1RfRU5EXzEiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXQuRV9ERU1VWF8yXzEiIFR5cGU9IkVfREVNVVhfMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXQuRl9CT09MX1RPX1VJTlRfMSIgVHlwZT0iRl9CT09MX1RPX1VJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYW5kbGVJbml0LlBVQkxJU0hfMF8xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI1OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5RSSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjYwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjIzOS4xOTIuMC4yOjYxNTAxIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5JRCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkhhbmRsZUluaXQuRV9ERUxBWSIgVHlwZT0iRV9ERUxBWSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjYyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlQjMXMiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LkVfREVMQVkuRFQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSXzEiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJbml0RmluaXNoZWRTaWduYWwiIFR5cGU9IlNVQlNDUklCRV8wIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkluaXRGaW5pc2hlZFNpZ25hbC5RSSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjY2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjIzOS4xOTIuMC4yOjYxNDk5IiBEZXN0aW5hdGlvbj0iSW5pdEZpbmlzaGVkU2lnbmFsLklEIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRV9QRVJNSVQiIFR5cGU9IkVfUEVSTUlUIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLklOVDJJTlRfMSIgVHlwZT0iSU5UMklOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjY5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IklOVCMyMzQiIERlc3RpbmF0aW9uPSJTdWJBcHAuSU5UMklOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkJPT0wyQk9PTF8yXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlN1YkFwcC5CT09MMkJPT0xfMl8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLlVESU5UMlVESU5UXzEiIFR5cGU9IlVESU5UMlVESU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVURJTlQjNzg5IiBEZXN0aW5hdGlvbj0iU3ViQXBwLlVESU5UMlVESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHAuU0lOVDJTSU5UXzEiIFR5cGU9IlNJTlQyU0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNJTlQjMTIxIiBEZXN0aW5hdGlvbj0iU3ViQXBwLlNJTlQyU0lOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkZfSU5UX1RPX0xXT1JEXzEiIFR5cGU9IkZfSU5UX1RPX0xXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkZfSU5UX1RPX0xJTlRfMSIgVHlwZT0iRl9JTlRfVE9fTElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcC5SRUFMMlJFQUxfMSIgVHlwZT0iUkVBTDJSRUFMIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUkVBTCMxLjIzIiBEZXN0aW5hdGlvbj0iU3ViQXBwLlJFQUwyUkVBTF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLldTVFJJTkcyV1NUUklOR18xIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI1Rlc3RXU3RyaW5nIiBEZXN0aW5hdGlvbj0iU3ViQXBwLldTVFJJTkcyV1NUUklOR18xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkJZVEUyQllURV8xIiBUeXBlPSJCWVRFMkJZVEUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI4MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJCWVRFIzEyMyIgRGVzdGluYXRpb249IlN1YkFwcC5CWVRFMkJZVEVfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcC5CT09MMkJPT0xfNCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyODUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iU3ViQXBwLkJPT0wyQk9PTF80LklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkJPT0wyQk9PTF8xXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjg3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlN1YkFwcC5CT09MMkJPT0xfMV8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkJPT0wyQk9PTF8zXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjg5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlN1YkFwcC5CT09MMkJPT0xfM18xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkZfTElOVF9UT19JTlRfMSIgVHlwZT0iRl9MSU5UX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjkxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxJTlQjNDU2IiBEZXN0aW5hdGlvbj0iU3ViQXBwLkZfTElOVF9UT19JTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcC5VSU5UMlVJTlRfMSIgVHlwZT0iVUlOVDJVSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUlOVCM2NzgiIERlc3RpbmF0aW9uPSJTdWJBcHAuVUlOVDJVSU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHAuU1RSSU5HMlNUUklOR18xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI1Rlc3RTdHJpbmciIERlc3RpbmF0aW9uPSJTdWJBcHAuU1RSSU5HMlNUUklOR18xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkZfVUxJTlRfVE9fSU5UXzEiIFR5cGU9IkZfVUxJTlRfVE9fSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIyOTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVUxJTlQjOTg3IiBEZXN0aW5hdGlvbj0iU3ViQXBwLkZfVUxJTlRfVE9fSU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjI5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHAuRElOVDJESU5UXzEiIFR5cGU9IkRJTlQyRElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMjk5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRJTlQjMzQ1IiBEZXN0aW5hdGlvbj0iU3ViQXBwLkRJTlQyRElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkxSRUFMMkxSRUFMXzEiIFR5cGU9IkxSRUFMMkxSRUFMIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTFJFQUwjMy4yMSIgRGVzdGluYXRpb249IlN1YkFwcC5MUkVBTDJMUkVBTF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLldPUkQyV09SRF8xIiBUeXBlPSJXT1JEMldPUkQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXT1JEIzc2NSIgRGVzdGluYXRpb249IlN1YkFwcC5XT1JEMldPUkRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcC5GX0xXT1JEX1RPX0lOVF8xIiBUeXBlPSJGX0xXT1JEX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzA1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxXT1JEIzU0MyIgRGVzdGluYXRpb249IlN1YkFwcC5GX0xXT1JEX1RPX0lOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLlVTSU5UMlVTSU5UXzEiIFR5cGU9IlVTSU5UMlVTSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVVNJTlQjMTIyIiBEZXN0aW5hdGlvbj0iU3ViQXBwLlVTSU5UMlVTSU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHAuVElNRTJUSU1FXzEiIFR5cGU9IlRJTUUyVElNRSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzA5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlRJTUUjMTQ1MG1zIiBEZXN0aW5hdGlvbj0iU3ViQXBwLlRJTUUyVElNRV8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkRXT1JEMkRXT1JEXzEiIFR5cGU9IkRXT1JEMkRXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRFdPUkQjNjU0IiBEZXN0aW5hdGlvbj0iU3ViQXBwLkRXT1JEMkRXT1JEXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHAuRl9JTlRfVE9fVUxJTlQiIFR5cGU9IkZfSU5UX1RPX1VMSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dCIgVHlwZT0iTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0IiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iKHRleHQ6PSZhcG9zO0p1c3RBVGV4dCZhcG9zOyxsb2NhbGU6PSZhcG9zO2RlLURFJmFwb3M7KSIgRGVzdGluYXRpb249IlN1YkFwcC5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSXzIiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJQVUJMSVNIXzAiIFR5cGU9IlBVQkxJU0hfMCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJQVUJMSVNIXzAuUUkiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMxOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMCIgRGVzdGluYXRpb249IlBVQkxJU0hfMC5JRCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlQWxsIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlIiBUeXBlPSJDTElFTlRfMjJfMCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3R5cGVzL0JPT0w7L09iamVjdHMvdHlwZXMvU0lOVDsvT2JqZWN0cy90eXBlcy9JTlQ7L09iamVjdHMvdHlwZXMvRElOVDsvT2JqZWN0cy90eXBlcy9MSU5UOy9PYmplY3RzL3R5cGVzL1VTSU5UOy9PYmplY3RzL3R5cGVzL1VJTlQ7L09iamVjdHMvdHlwZXMvVURJTlQ7L09iamVjdHMvdHlwZXMvVUxJTlQ7L09iamVjdHMvdHlwZXMvQllURTsvT2JqZWN0cy90eXBlcy9XT1JEOy9PYmplY3RzL3R5cGVzL0RXT1JEOy9PYmplY3RzL3R5cGVzL0xXT1JEOy9PYmplY3RzL3R5cGVzL0RBVEU7L09iamVjdHMvdHlwZXMvVElNRV9PRl9EQVk7L09iamVjdHMvdHlwZXMvREFURV9BTkRfVElNRTsvT2JqZWN0cy90eXBlcy9USU1FOy9PYmplY3RzL3R5cGVzL1JFQUw7L09iamVjdHMvdHlwZXMvTFJFQUw7L09iamVjdHMvdHlwZXMvU1RSSU5HOy9PYmplY3RzL3R5cGVzL1dTVFJJTkc7L09iamVjdHMvdHlwZXMvTG9jYWxpemVkVGV4dF0iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5JRCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQiIFR5cGU9IkNMSUVOVF8wXzIyIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7b3BjLnRjcDovL2xvY2FsaG9zdDo0ODQwIzsvT2JqZWN0cy90eXBlcy9CT09MOy9PYmplY3RzL3R5cGVzL1NJTlQ7L09iamVjdHMvdHlwZXMvSU5UOy9PYmplY3RzL3R5cGVzL0RJTlQ7L09iamVjdHMvdHlwZXMvTElOVDsvT2JqZWN0cy90eXBlcy9VU0lOVDsvT2JqZWN0cy90eXBlcy9VSU5UOy9PYmplY3RzL3R5cGVzL1VESU5UOy9PYmplY3RzL3R5cGVzL1VMSU5UOy9PYmplY3RzL3R5cGVzL0JZVEU7L09iamVjdHMvdHlwZXMvV09SRDsvT2JqZWN0cy90eXBlcy9EV09SRDsvT2JqZWN0cy90eXBlcy9MV09SRDsvT2JqZWN0cy90eXBlcy9EQVRFOy9PYmplY3RzL3R5cGVzL1RJTUVfT0ZfREFZOy9PYmplY3RzL3R5cGVzL0RBVEVfQU5EX1RJTUU7L09iamVjdHMvdHlwZXMvVElNRTsvT2JqZWN0cy90eXBlcy9SRUFMOy9PYmplY3RzL3R5cGVzL0xSRUFMOy9PYmplY3RzL3R5cGVzL1NUUklORzsvT2JqZWN0cy90eXBlcy9XU1RSSU5HOy9PYmplY3RzL3R5cGVzL0xvY2FsaXplZFRleHRdIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5JRCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZUNhbGwiIFR5cGU9IkNMSUVOVF8yMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDtvcGMudGNwOi8vbG9jYWxob3N0OjQ4NDAjOy9PYmplY3RzL3R5cGVzL21ldGhvZF0iIERlc3RpbmF0aW9uPSJSZW1vdGVDYWxsLklEIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLlNJTlQyU0lOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLklOVDJJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuSU5UMklOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5CT09MMkJPT0xfMV8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLkJPT0wyQk9PTF8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLkJPT0wyQk9PTF8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuQk9PTDJCT09MXzNfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuVUlOVDJVSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuVURJTlQyVURJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuVURJTlQyVURJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5GX1VMSU5UX1RPX0lOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5CT09MMkJPT0xfNC5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5TSU5UMlNJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuRl9MV09SRF9UT19JTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5GX0lOVF9UT19MV09SRF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5GX0lOVF9UT19MV09SRF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLkJPT0wyQk9PTF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLkZfTElOVF9UT19JTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5GX0lOVF9UT19MSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLkZfSU5UX1RPX0xJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5VU0lOVDJVU0lOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5USU1FMlRJTUVfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5SRUFMMlJFQUxfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuUkVBTDJSRUFMXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuTFJFQUwyTFJFQUxfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjMzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuU1RSSU5HMlNUUklOR18xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLldTVFJJTkcyV1NUUklOR18xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5CWVRFMkJZVEVfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5XT1JEMldPUkRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuQk9PTDJCT09MXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5USU1FMlRJTUVfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuRElOVDJESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuRl9MSU5UX1RPX0lOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5VU0lOVDJVU0lOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLlVJTlQyVUlOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5MUkVBTDJMUkVBTF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLlNUUklORzJTVFJJTkdfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuV09SRDJXT1JEXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuRFdPUkQyRFdPUkRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuRFdPUkQyRFdPUkRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5GX0xXT1JEX1RPX0lOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5GX1VMSU5UX1RPX0lOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLkZfSU5UX1RPX1VMSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5GX0lOVF9UT19VTElOVC5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5CWVRFMkJZVEVfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LkNORiIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLldTVFJJTkcyV1NUUklOR18xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8yLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuRl9MV09SRF9UT19JTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5GX0lOVF9UT19MV09SRF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLkZfTElOVF9UT19JTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5GX0lOVF9UT19MSU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuSU5UMklOVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfMyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5CT09MMkJPT0xfMl8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfMTUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuVURJTlQyVURJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVDYWxsLlNEXzgiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuU0lOVDJTSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlQ2FsbC5TRF8yIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLkZfSU5UX1RPX0xXT1JEXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlQ2FsbC5TRF8xMyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5GX0lOVF9UT19MSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlQ2FsbC5TRF81IiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLlJFQUwyUkVBTF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfMTgiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuV1NUUklORzJXU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlQ2FsbC5TRF8yMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5CWVRFMkJZVEVfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVDYWxsLlNEXzEwIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLkJPT0wyQk9PTF80Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5CT09MMkJPT0xfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfMTQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuQk9PTDJCT09MXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVDYWxsLlNEXzE2IiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLlVJTlQyVUlOVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfNyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlQ2FsbC5TRF8yMCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5ESU5UMkRJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVDYWxsLlNEXzQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuTFJFQUwyTFJFQUxfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVDYWxsLlNEXzE5IiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLldPUkQyV09SRF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfMTEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuVVNJTlQyVVNJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVDYWxsLlNEXzYiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuVElNRTJUSU1FXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlQ2FsbC5TRF8xNyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMi5EV09SRDJEV09SRF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfMTIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuRl9JTlRfVE9fVUxJTlQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlQ2FsbC5TRF85IiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8yLkZfVUxJTlRfVE9fSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzIuRl9JTlRfVE9fVUxJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzIuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZUNhbGwuU0RfMjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0Jvb2wuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5Cb2xsVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX1NJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5TSU5UVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0lOVC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLklOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzNzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9ESU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRElOVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5VSU5UVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX1VESU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuVURJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfVVNJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5VU0lOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9MSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuTElOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9XT1JELkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuV09SRFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9EV09SRC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkRXT1JEVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0JZVEUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5CWVRFVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX1VMSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuVUxJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfUkVBTC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLlJFQUxUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfVE9ELkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuVE9EVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0Jvb2xfU1RSSU5HLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuU1RSSU5HVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0xSRUFMLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuTFJFQUxUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfRFQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5EVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9Cb29sX1dTVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5XU1RSSU5HVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjM5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0xXT1JELkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuTFdPUkRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfREFURS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkRBVEVUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfVElNRS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLlRJTUVUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkJvbGxUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9TSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iMzk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLlNJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9JTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSIzOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuSU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5ESU5UeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9MSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkxJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9VU0lOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5VU0lOVFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1VJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuVUlOVFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1VESU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLlVESU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfVUxJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuVUxJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9CWVRFLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkJZVEVUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9XT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLldPUkRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9EV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5EV09SRFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0xXT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkRBVEVUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9UT0QuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuVE9EVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfRFQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRFRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9USU1FLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLlRJTUVUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9SRUFMLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLlJFQUxUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9MUkVBTC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5MUkVBTFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0Jvb2xfU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLlNUUklOR1R5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0Jvb2xfV1NUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5MV09SRFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1JFQUwuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuU1RSSU5HMlNUUklOR18xLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9UZXh0LlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfVGV4dC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLmxvY2FsaXplZFRleHRUZXN0VGV4dC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5sb2NhbGl6ZWRUZXh0VGVzdFRleHQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1RleHRfMi5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5HRVRfU1RSVUNUX1ZBTFVFXzEuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5TVFJJTkcyU1RSSU5HXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuU1RSSU5HMlNUUklORy5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkdFVF9TVFJVQ1RfVkFMVUVfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5HRVRfU1RSVUNUX1ZBTFVFLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuU1RSSU5HMlNUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX1RleHRfMi5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLmxvY2FsaXplZFRleHRUZXN0TG9jYWxlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLmxvY2FsaXplZFRleHRUZXN0TG9jYWxlLkNORiIgRGVzdGluYXRpb249IkVfU1JfMS5SIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuV1NUUklOR1R5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5HRVRfU1RSVUNUX1ZBTFVFLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfQm9vbC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkJvbGxUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9TSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuU0lOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0lOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLklOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0RJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5ESU5UeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9VSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuVUlOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0xJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5MSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfVVNJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5VU0lOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX1VESU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuVURJTlRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9XT1JELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuV09SRFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX1VMSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuVUxJTlRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9CWVRFLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuQllURVR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0RXT1JELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRFdPUkRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9UT0QuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5UT0RUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9MV09SRC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkxXT1JEVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfQm9vbF9XU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuV1NUUklOR1R5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0xSRUFMLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuTFJFQUxUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9EQVRFLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuREFURVR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0Jvb2xfU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuU1RSSU5HVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfVElNRS5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLlRJTUVUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuRl9FUV9SRUFMLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuUkVBTFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX0RULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRFRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuR0VUX1NUUlVDVF9WQUxVRV8xLm91dHB1dCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuU1RSSU5HMlNUUklOR18xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzMuU1RSSU5HMlNUUklORy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfVGV4dC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5GX0VRX1RleHQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5sb2NhbGl6ZWRUZXh0VGVzdFRleHQuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5HRVRfU1RSVUNUX1ZBTFVFLm91dHB1dCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuU1RSSU5HMlNUUklORy5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8zLkZfRVFfVGV4dF8yLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMubG9jYWxpemVkVGV4dFRlc3RMb2NhbGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMy5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1RleHRfMi5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5GX0xJTlRfVE9fSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuRl9JTlRfVE9fTElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5GX1VMSU5UX1RPX0lOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkZfSU5UX1RPX1VMSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkZfTFdPUkRfVE9fSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuRl9JTlRfVE9fTFdPUkQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuQk9PTDJCT09MLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuU0lOVDJTSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLlNJTlQyU0lOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLklOVDJJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuSU5UMklOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5GX0xJTlRfVE9fSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkZfSU5UX1RPX0xJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5VU0lOVDJVU0lOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5VU0lOVDJVU0lOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLlVJTlQyVUlOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5VSU5UMlVJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5VRElOVDJVRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5VRElOVDJVRElOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkZfVUxJTlRfVE9fSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkZfSU5UX1RPX1VMSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuQllURTJCWVRFLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkJZVEUyQllURS5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLldPUkQyV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5XT1JEMldPUkQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5EV09SRDJEV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5EV09SRDJEV09SRC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkZfTFdPUkRfVE9fSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkZfSU5UX1RPX0xXT1JELkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuQk9PTDJCT09MXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuQk9PTDJCT09MXzEuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5CT09MMkJPT0xfMi5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkJPT0wyQk9PTF8zLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkJPT0wyQk9PTF8zLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuVElNRTJUSU1FLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLlRJTUUyVElNRS5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLlJFQUwyUkVBTC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5SRUFMMlJFQUwuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5MUkVBTDJMUkVBTC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5MUkVBTDJMUkVBTC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLlNUUklORzJTVFJJTkcuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuU1RSSU5HMlNUUklORy5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLldTVFJJTkcyV1NUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0Jvb2wuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuV1NUUklORzJXU1RSSU5HLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLlNJTlQyU0lOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfU0lOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5JTlQySU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9JTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuRElOVDJESU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9ESU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkZfTElOVF9UT19JTlQuT1VUIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5GX0lOVF9UT19MSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuRl9JTlRfVE9fTElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfTElOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5VU0lOVDJVU0lOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfVVNJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuVUlOVDJVSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9VSU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLlVESU5UMlVESU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9VRElOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5GX1VMSU5UX1RPX0lOVC5PVVQiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkZfSU5UX1RPX1VMSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuRl9JTlRfVE9fVUxJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1VMSU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkJZVEUyQllURS5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfQllURS5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5XT1JEMldPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1dPUkQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuRFdPUkQyRFdPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0RXT1JELklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkZfTFdPUkRfVE9fSU5ULk9VVCIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuRl9JTlRfVE9fTFdPUkQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5GX0lOVF9UT19MV09SRC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfTFdPUkQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuV1NUUklORzJXU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9Cb29sX1dTVFJJTkcuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuU1RSSU5HMlNUUklORy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfQm9vbF9TVFJJTkcuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuTFJFQUwyTFJFQUwuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0xSRUFMLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLlJFQUwyUkVBTC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfUkVBTC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjQ5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5USU1FMlRJTUUuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1RJTUUuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuQk9PTDJCT09MXzEuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0RBVEUuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI0OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuQk9PTDJCT09MXzIuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1RPRC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5CT09MMkJPT0xfMy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfRFQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzIuQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9Cb29sLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18yLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkdFVF9TVFJVQ1RfVkFMVUVfMS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMi5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5HRVRfU1RSVUNUX1ZBTFVFLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkZfTElOVF9UT19JTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5GX0lOVF9UT19MSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkZfVUxJTlRfVE9fSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuRl9JTlRfVE9fVUxJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuRl9MV09SRF9UT19JTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5GX0lOVF9UT19MV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5CT09MMkJPT0wuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5TSU5UMlNJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuU0lOVDJTSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuSU5UMklOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5JTlQySU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuRElOVDJESU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLkZfTElOVF9UT19JTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuRl9JTlRfVE9fTElOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLlVTSU5UMlVTSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLlVTSU5UMlVTSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuVUlOVDJVSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLlVJTlQyVUlOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLlVESU5UMlVESU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLlVESU5UMlVESU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuRl9VTElOVF9UT19JTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuRl9JTlRfVE9fVUxJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5CWVRFMkJZVEUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuQllURTJCWVRFLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuV09SRDJXT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLldPUkQyV09SRC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLkRXT1JEMkRXT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkRXT1JEMkRXT1JELkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuRl9MV09SRF9UT19JTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuRl9JTlRfVE9fTFdPUkQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMS5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLkJPT0wyQk9PTF8yLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkJPT0wyQk9PTF8yLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuQk9PTDJCT09MXzMuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuQk9PTDJCT09MXzMuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5USU1FMlRJTUUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuVElNRTJUSU1FLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuUkVBTDJSRUFMLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLlJFQUwyUkVBTC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLkxSRUFMMkxSRUFMLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkxSRUFMMkxSRUFMLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuU1RSSU5HMlNUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5TVFJJTkcyU1RSSU5HLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuV1NUUklORzJXU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfQm9vbC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5XU1RSSU5HMldTVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuU0lOVDJTSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9TSU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLklOVDJJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0lOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0RJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuRl9MSU5UX1RPX0lOVC5PVVQiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLkZfSU5UX1RPX0xJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5GX0lOVF9UT19MSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9MSU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLlVTSU5UMlVTSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9VU0lOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5VSU5UMlVJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1VJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuVURJTlQyVURJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX1VESU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkZfVUxJTlRfVE9fSU5ULk9VVCIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuRl9JTlRfVE9fVUxJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjUzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5GX0lOVF9UT19VTElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfVUxJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuQllURTJCWVRFLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9CWVRFLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLldPUkQyV09SRC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfV09SRC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5EV09SRDJEV09SRC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfRFdPUkQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuRl9MV09SRF9UT19JTlQuT1VUIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5GX0lOVF9UT19MV09SRC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkZfSU5UX1RPX0xXT1JELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9MV09SRC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5XU1RSSU5HMldTVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0Jvb2xfV1NUUklORy5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5TVFJJTkcyU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9Cb29sX1NUUklORy5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5MUkVBTDJMUkVBTC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfTFJFQUwuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuUkVBTDJSRUFMLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9SRUFMLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLlRJTUUyVElNRS5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfVElNRS5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMS5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfREFURS5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMi5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8zLkZfRVFfVE9ELklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18zLkJPT0wyQk9PTF8zLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuRl9FUV9EVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5CT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5GX0VRX0Jvb2wuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzMuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0Lk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzMuR0VUX1NUUlVDVF9WQUxVRS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMy5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMy5HRVRfU1RSVUNUX1ZBTFVFXzEuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9Cb29sLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuQm9sbFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9TSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuU0lOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9JTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5JTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfRElOVC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkRJTlR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9VSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuVUlOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9VRElOVC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLlVESU5UVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1VTSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuVVNJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfTElOVC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkxJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfV09SRC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLldPUkRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfRFdPUkQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5EV09SRFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9CWVRFLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuQllURVR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9VTElOVC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLlVMSU5UVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1JFQUwuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5SRUFMVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1RPRC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLlRPRFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9Cb29sX1NUUklORy5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLlNUUklOR1R5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9MUkVBTC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkxSRUFMVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX0RULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRFRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfQm9vbF9XU1RSSU5HLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuV1NUUklOR1R5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9MV09SRC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkxXT1JEVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX0RBVEUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5EQVRFVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1RJTUUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5USU1FVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5Cb2xsVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfU0lOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5TSU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLklOVFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0RJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRElOVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfTElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5MSU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfVVNJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuVVNJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9VSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLlVJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9VRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5VRElOVFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1VMSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLlVMSU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfQllURS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5CWVRFVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5XT1JEVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfRFdPUkQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRFdPUkRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9MV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5EQVRFVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfVE9ELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLlRPRFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX0RULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkRUVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfVElNRS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5USU1FVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfUkVBTC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5SRUFMVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfTFJFQUwuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuTFJFQUxUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9Cb29sX1NUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5TVFJJTkdUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9Cb29sX1dTVFJJTkcuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuTFdPUkRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuRl9FUV9SRUFMLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkdFVF9TVFJVQ1RfVkFMVUVfMS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLlNUUklORzJTVFJJTkdfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5TVFJJTkcyU1RSSU5HXzEuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1RleHQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI1OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9UZXh0XzIuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5sb2NhbGl6ZWRUZXh0VGVzdExvY2FsZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjU5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1RleHQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5sb2NhbGl6ZWRUZXh0VGVzdFRleHQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuU1RSSU5HMlNUUklORy5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkdFVF9TVFJVQ1RfVkFMVUVfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5sb2NhbGl6ZWRUZXh0VGVzdFRleHQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1RleHRfMi5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5HRVRfU1RSVUNUX1ZBTFVFLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuU1RSSU5HMlNUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5sb2NhbGl6ZWRUZXh0VGVzdExvY2FsZS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMi5CT09MMkJPT0xfNC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5XU1RSSU5HVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkdFVF9TVFJVQ1RfVkFMVUUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9Cb29sLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuQm9sbFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1NJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5TSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfRElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkRJTlR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1VJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5VSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfTElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkxJTlRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9VU0lOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLlVTSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfVURJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5VRElOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1dPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5XT1JEVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfVUxJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5VTElOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX0JZVEUuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5CWVRFVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfRFdPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5EV09SRFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1RPRC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLlRPRFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX0xXT1JELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuTFdPUkRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9Cb29sX1dTVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5XU1RSSU5HVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfTFJFQUwuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5MUkVBTFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX0RBVEUuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5EQVRFVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfQm9vbF9TVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5TVFJJTkdUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuRl9FUV9USU1FLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuVElNRVR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1JFQUwuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5SRUFMVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8yLkZfRVFfRFQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5EVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1RleHRfMi5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLmxvY2FsaXplZFRleHRUZXN0TG9jYWxlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzIuU1RSSU5HMlNUUklORy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8yLkZfRVFfVGV4dC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5HRVRfU1RSVUNUX1ZBTFVFXzEub3V0cHV0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5TVFJJTkcyU1RSSU5HXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5GX0VRX1RleHRfMi5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5GX0VRX1RleHQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMi5sb2NhbGl6ZWRUZXh0VGVzdFRleHQuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMi5HRVRfU1RSVUNUX1ZBTFVFLm91dHB1dCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzIuU1RSSU5HMlNUUklORy5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5FX0RFTVVYXzJfMS5FSSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0LkVfREVNVVhfMl8xLkVPMSIgRGVzdGluYXRpb249IkhhbmRsZUluaXQuUFVCTElTSF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0LlBVQkxJU0hfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdC5QVUJMSVNIXzBfMS5DTkYiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LlNURVNUX0VORF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0LkVfREVMQVkuRU8iIERlc3RpbmF0aW9uPSJTdWJBcHAuQk9PTDJCT09MXzQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuRV9ERU1VWF8yXzEuRU8yIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5FX0RFTEFZLlNUQVJUIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2MzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXQuRl9CT09MX1RPX1VJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LkVfREVNVVhfMl8xLksiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjYzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLlNJTlQyU0lOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcC5JTlQySU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5JTlQySU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwLkRJTlQyRElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuQk9PTDJCT09MXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuQk9PTDJCT09MXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkJPT0wyQk9PTF8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwLkJPT0wyQk9PTF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5VSU5UMlVJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuVURJTlQyVURJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLlVESU5UMlVESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwLkZfVUxJTlRfVE9fSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5CT09MMkJPT0xfNC5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuU0lOVDJTSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5GX0xXT1JEX1RPX0lOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcC5GX0lOVF9UT19MV09SRF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuRl9JTlRfVE9fTFdPUkRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuQk9PTDJCT09MXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkZfTElOVF9UT19JTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuRl9JTlRfVE9fTElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuRl9JTlRfVE9fTElOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcC5VU0lOVDJVU0lOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuVElNRTJUSU1FXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwLlJFQUwyUkVBTF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuUkVBTDJSRUFMXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwLkxSRUFMMkxSRUFMXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5TVFJJTkcyU1RSSU5HXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwLldTVFJJTkcyV1NUUklOR18xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuQllURTJCWVRFXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwLldPUkQyV09SRF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuQk9PTDJCT09MXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuVElNRTJUSU1FXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5ESU5UMkRJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuRl9MSU5UX1RPX0lOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuVVNJTlQyVVNJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuVUlOVDJVSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5MUkVBTDJMUkVBTF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcC5TVFJJTkcyU1RSSU5HXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5XT1JEMldPUkRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHAuRFdPUkQyRFdPUkRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkRXT1JEMkRXT1JEXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwLkZfTFdPUkRfVE9fSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5GX1VMSU5UX1RPX0lOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcC5GX0lOVF9UT19VTElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkZfSU5UX1RPX1VMSU5ULkNORiIgRGVzdGluYXRpb249IlN1YkFwcC5CWVRFMkJZVEVfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLldTVFJJTkcyV1NUUklOR18xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcC5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5GX0xXT1JEX1RPX0lOVF8xLk9VVCIgRGVzdGluYXRpb249IlN1YkFwcC5GX0lOVF9UT19MV09SRF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5GX0xJTlRfVE9fSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3ViQXBwLkZfSU5UX1RPX0xJTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuSU5UMklOVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNEXzMiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkJPT0wyQk9PTF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMTUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLlVESU5UMlVESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfOCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuU0lOVDJTSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuRl9JTlRfVE9fTFdPUkRfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TRF8xMyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuRl9JTlRfVE9fTElOVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNEXzUiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLlJFQUwyUkVBTF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNEXzE4IiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5XU1RSSU5HMldTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TRF8yMSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuQllURTJCWVRFXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMTAiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkJPT0wyQk9PTF80Lk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNEXzEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkJPT0wyQk9PTF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMTQiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkJPT0wyQk9PTF8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMTYiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLlVJTlQyVUlOVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNEXzciIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TRF8yMCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfNCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuTFJFQUwyTFJFQUxfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TRF8xOSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuV09SRDJXT1JEXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMTEiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLlVTSU5UMlVTSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfNiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHAuVElNRTJUSU1FXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMTciIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkRXT1JEMkRXT1JEXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMTIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkZfSU5UX1RPX1VMSU5ULk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNEXzkiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwLkZfVUxJTlRfVE9fSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3ViQXBwLkZfSU5UX1RPX1VMSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcC5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0RfMjIiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9QRVJNSVQuRU8iIERlc3RpbmF0aW9uPSJFX1NSXzEuUyIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzIuRU8iIERlc3RpbmF0aW9uPSJFX1BFUk1JVC5FSSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJbml0RmluaXNoZWRTaWduYWwuSU5JVE8iIERlc3RpbmF0aW9uPSJQVUJMSVNIXzAuSU5JVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJbml0RmluaXNoZWRTaWduYWwuSU5EIiBEZXN0aW5hdGlvbj0iUFVCTElTSF8wLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJQVUJMSVNIXzAuQ05GIiBEZXN0aW5hdGlvbj0iRV9TUl8yLlMiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjY5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IkluaXRGaW5pc2hlZFNpZ25hbC5JTklUIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJJbml0RmluaXNoZWRTaWduYWwuSU5JVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuRU8iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5JTklUIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI2OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlQWxsLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuSU5JVCIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNjk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZUFsbC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuQk9PTDJCT09MLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlQ2FsbC5JTklUIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUNhbGwuSU5JVE8iIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0LkZfQk9PTF9UT19VSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUNhbGwuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5CT09MMkJPT0wuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdC5GX0JPT0xfVE9fVUlOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMi5RIiBEZXN0aW5hdGlvbj0iRV9QRVJNSVQuUEVSTUlUIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1JfMS5RIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuUUkiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZUFsbC5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSXzEuUSIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuUUkiIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjcwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJSZW1vdGVDYWxsLlFJIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMSIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuQk9PTDJCT09MLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuU0lOVDJTSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMyIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuSU5UMklOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlJEXzQiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlJEXzUiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkZfTElOVF9UT19JTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjcxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5SRF82IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5VU0lOVDJVU0lOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlJEXzciIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLlVJTlQyVUlOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlJEXzgiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLlVESU5UMlVESU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMjIiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlJEXzIxIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5XU1RSSU5HMldTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5SRF8yMCIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuU1RSSU5HMlNUUklORy5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlJEXzE5IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5MUkVBTDJMUkVBTC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlJEXzE4IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5SRUFMMlJFQUwuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjcyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5SRF8xNyIgRGVzdGluYXRpb249IkFsbFR5cGVzXzIuVElNRTJUSU1FLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMTYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkJPT0wyQk9PTF8zLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMTUiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkJPT0wyQk9PTF8yLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMTQiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkJPT0wyQk9PTF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMTMiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkZfTFdPUkRfVE9fSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMTIiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLkRXT1JEMkRXT1JELklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUkRfMTEiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18yLldPUkQyV09SRC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlJEXzEwIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5CWVRFMkJZVEUuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjczMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5SRF85IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMi5GX1VMSU5UX1RPX0lOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzIyIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjczMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlQ2FsbC5SRF8yMSIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuV1NUUklORzJXU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUNhbGwuUkRfMjAiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjczNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlQ2FsbC5SRF8xOSIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuTFJFQUwyTFJFQUwuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9IjczNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlQ2FsbC5SRF8xOCIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuUkVBTDJSRUFMLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUNhbGwuUkRfMTciIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLlRJTUUyVElNRS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzE2IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMy5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzE1IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMi5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzE0IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5CT09MMkJPT0xfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzEzIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5GX0xXT1JEX1RPX0lOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzEyIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5EV09SRDJEV09SRC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzExIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5XT1JEMldPUkQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlQ2FsbC5SRF8xMCIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuQllURTJCWVRFLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUNhbGwuUkRfOSIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuRl9VTElOVF9UT19JTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlQ2FsbC5SRF84IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5VRElOVDJVRElOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzciIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLlVJTlQyVUlOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLlVTSU5UMlVTSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzQ2xpZW50OzxSZXF1ZXN0IElEPSI3NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZUNhbGwuUkRfNSIgRGVzdGluYXRpb249IkFsbFR5cGVzXzMuRl9MSU5UX1RPX0lOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzQiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLkRJTlQyRElOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc0NsaWVudDs8UmVxdWVzdCBJRD0iNzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVDYWxsLlJEXzMiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18zLklOVDJJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlQ2FsbC5SRF8yIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5TSU5UMlNJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlQ2FsbC5SRF8xIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMy5CT09MMkJPT0wuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNDbGllbnQ7PFJlcXVlc3QgSUQ9Ijc1NCIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzU2VydmVyLmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvb3BjX3VhL3R5cGVzU2VydmVyLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiZTMzZjYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvdHlwZXNTZXJ2ZXIuZmJvb3QKQEAgLTAsMCArMSw2NzcgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ0eXBlc1NlcnZlciIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5TSU5UMlNJTlQiIFR5cGU9IlNJTlQyU0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5VSU5UMlVJTlQiIFR5cGU9IlVJTlQyVUlOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5CT09MMkJPT0wiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5VRElOVDJVRElOVCIgVHlwZT0iVURJTlQyVURJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXMuRElOVDJESU5UIiBUeXBlPSJESU5UMkRJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXMuRl9MSU5UX1RPX0lOVCIgVHlwZT0iRl9MSU5UX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5JTlQySU5UIiBUeXBlPSJJTlQySU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzLlVTSU5UMlVTSU5UIiBUeXBlPSJVU0lOVDJVU0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXMuRl9VTElOVF9UT19JTlQiIFR5cGU9IkZfVUxJTlRfVE9fSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5CWVRFMkJZVEUiIFR5cGU9IkJZVEUyQllURSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXMuV09SRDJXT1JEIiBUeXBlPSJXT1JEMldPUkQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzLkRXT1JEMkRXT1JEIiBUeXBlPSJEV09SRDJEV09SRCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXMuRl9MV09SRF9UT19JTlQiIFR5cGU9IkZfTFdPUkRfVE9fSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5NSVNTSU5HX0RBVEUiIFR5cGU9IkZfRFRfVE9fREFURSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXMuTUlTU0lOR19EQVRFX0FORF9USU1FIiBUeXBlPSJGX0RUX1RPX1RPRCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXMuVElNRTJUSU1FIiBUeXBlPSJUSU1FMlRJTUUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzLlJFQUwyUkVBTCIgVHlwZT0iUkVBTDJSRUFMIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5MUkVBTDJMUkVBTCIgVHlwZT0iTFJFQUwyTFJFQUwiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzLldTVFJJTkcyV1NUUklORyIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5UaW1lX29mX2RheSIgVHlwZT0iRl9BRERfVE9EX1RJTUUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzLkZfSU5UX1RPX0xJTlQiIFR5cGU9IkZfSU5UX1RPX0xJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzLkZfSU5UX1RPX1VMSU5UIiBUeXBlPSJGX0lOVF9UT19VTElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXMuRl9JTlRfVE9fTFdPUkQiIFR5cGU9IkZfSU5UX1RPX0xXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5CT09MMkJPT0xfMSIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5CT09MMkJPT0xfMiIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5CT09MMkJPT0xfMyIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlcy5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQiIFR5cGU9IkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuQm9sbFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5GX0VRX0Jvb2wiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfQm9vbC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LlNJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuRl9FUV9TSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTSU5UIzEyMSIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfU0lOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LklOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5GX0VRX0lOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzIzNCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuRElOVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfRElOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMzNDUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0RJTlQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5GX0VRX1VTSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVU0lOVCMxMjIiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1VTSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuVVNJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuRl9FUV9VSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzY3OCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfVUlOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkxJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuVUlOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5VRElOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5GX0VRX1VESU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVRElOVCM3ODkiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1VESU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuRl9FUV9MSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJMSU5UIzQ1NiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfTElOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfQllURSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQllURSMxMjMiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0JZVEUuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5CWVRFVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfV09SRCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV09SRCM3NjUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1dPUkQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5VTElOVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5XT1JEVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkRXT1JEVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfRFdPUkQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRXT1JEIzY1NCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfRFdPUkQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5GX0VRX1VMSU5UIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVTElOVCM5ODciIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1VMSU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuRl9FUV9EQVRFIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MI1RSVUUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0RBVEUuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5EQVRFVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfTFJFQUwiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxSRUFMIzMuMjEiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0xSRUFMLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuTFdPUkRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuVE9EVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkRUVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfRFQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfRFQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5SRUFMVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkxSRUFMVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfUkVBTCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUkVBTCMxLjIzIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9SRUFMLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuRl9FUV9MV09SRCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iODEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTFdPUkQjNTQzIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9MV09SRC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LldTVFJJTkdUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuRl9FUV9USU1FIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUSU1FIzE0NTBtcyIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfVElNRS5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LlNUUklOR1R5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5GX0VRX1RPRCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9UT0QuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5GX0VRX0Jvb2xfU1RSSU5HIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjVGVzdFN0cmluZyIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfQm9vbF9TVFJJTkcuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5GX0VRX0Jvb2xfV1NUUklORyIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iOTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV1NUUklORyNUZXN0V1N0cmluZyIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfQm9vbF9XU1RSSU5HLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuVElNRVR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5HRVRfU1RSVUNUX1ZBTFVFXzEiIFR5cGU9IkdFVF9TVFJVQ1RfVkFMVUUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNsb2NhbGUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5HRVRfU1RSVUNUX1ZBTFVFXzEubWVtYmVyIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdC5sb2NhbGl6ZWRUZXh0VGVzdExvY2FsZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9Ijk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iOTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QuR0VUX1NUUlVDVF9WQUxVRSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iOTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI3RleHQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5HRVRfU1RSVUNUX1ZBTFVFLm1lbWJlciIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfVGV4dCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNKdXN0QVRleHQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1RleHQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3QubG9jYWxpemVkVGV4dFRlc3RUZXh0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0LkZfRVFfVGV4dF8yIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI2RlLURFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9UZXh0XzIuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5TSU5UMlNJTlQiIFR5cGU9IlNJTlQyU0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuVUlOVDJVSU5UIiBUeXBlPSJVSU5UMlVJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18xLkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5VRElOVDJVRElOVCIgVHlwZT0iVURJTlQyVURJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEwOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18xLkRJTlQyRElOVCIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5GX0xJTlRfVE9fSU5UIiBUeXBlPSJGX0xJTlRfVE9fSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5JTlQySU5UIiBUeXBlPSJJTlQySU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5VU0lOVDJVU0lOVCIgVHlwZT0iVVNJTlQyVVNJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18xLkZfVUxJTlRfVE9fSU5UIiBUeXBlPSJGX1VMSU5UX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuQllURTJCWVRFIiBUeXBlPSJCWVRFMkJZVEUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18xLldPUkQyV09SRCIgVHlwZT0iV09SRDJXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5EV09SRDJEV09SRCIgVHlwZT0iRFdPUkQyRFdPUkQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18xLkZfTFdPUkRfVE9fSU5UIiBUeXBlPSJGX0xXT1JEX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuTUlTU0lOR19EQVRFIiBUeXBlPSJGX0RUX1RPX0RBVEUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjExOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18xLk1JU1NJTkdfREFURV9BTkRfVElNRSIgVHlwZT0iRl9EVF9UT19UT0QiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18xLlRJTUUyVElNRSIgVHlwZT0iVElNRTJUSU1FIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5SRUFMMlJFQUwiIFR5cGU9IlJFQUwyUkVBTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuTFJFQUwyTFJFQUwiIFR5cGU9IkxSRUFMMkxSRUFMIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5XU1RSSU5HMldTVFJJTkciIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuVGltZV9vZl9kYXkiIFR5cGU9IkZfQUREX1RPRF9USU1FIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5GX0lOVF9UT19MSU5UIiBUeXBlPSJGX0lOVF9UT19MSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQWxsVHlwZXNfMS5GX0lOVF9UT19VTElOVCIgVHlwZT0iRl9JTlRfVE9fVUxJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJBbGxUeXBlc18xLkZfSU5UX1RPX0xXT1JEIiBUeXBlPSJGX0lOVF9UT19MV09SRCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuQk9PTDJCT09MXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuQk9PTDJCT09MXzIiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuQk9PTDJCT09MXzMiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkFsbFR5cGVzXzEuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0IiBUeXBlPSJMb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkJvbGxUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTM0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9Cb29sIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0Jvb2wuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5TSU5UVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjEzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkZfRVFfU0lOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTM4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNJTlQjMTIxIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1NJTlQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5JTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9JTlQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJJTlQjMjM0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0lOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkRJTlR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5GX0VRX0RJTlQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJESU5UIzM0NSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9ESU5ULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9VU0lOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVTSU5UIzEyMiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9VU0lOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLlVTSU5UVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkZfRVFfVUlOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTQ5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVJTlQjNjc4IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1VJTlQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5MSU5UVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLlVJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuVURJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9VRElOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVESU5UIzc4OSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9VRElOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkZfRVFfTElOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxJTlQjNDU2IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0xJTlQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5GX0VRX0JZVEUiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJCWVRFIzEyMyIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9CWVRFLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuQllURVR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5GX0VRX1dPUkQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXT1JEIzc2NSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9XT1JELklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuVUxJTlRUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuV09SRFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5EV09SRFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5GX0VRX0RXT1JEIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRFdPUkQjNjU0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0RXT1JELklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9VTElOVCIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTY4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVMSU5UIzk4NyIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9VTElOVC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkZfRVFfREFURSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9EQVRFLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuREFURVR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5GX0VRX0xSRUFMIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTFJFQUwjMy4yMSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9MUkVBTC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkxXT1JEVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLlRPRFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5EVFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5GX0VRX0RUIiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxNzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0RULklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuUkVBTFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5MUkVBTFR5cGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5GX0VRX1JFQUwiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJSRUFMIzEuMjMiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfUkVBTC5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkZfRVFfTFdPUkQiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJMV09SRCM1NDMiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfTFdPUkQuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5XU1RSSU5HVHlwZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLkZfRVFfVElNRSIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlRJTUUjMTQ1MG1zIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1RJTUUuSU4yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5TVFJJTkdUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9UT0QiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MI1RSVUUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfVE9ELklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9Cb29sX1NUUklORyIgVHlwZT0iRl9FUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTkyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNUZXN0U3RyaW5nIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0Jvb2xfU1RSSU5HLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9Cb29sX1dTVFJJTkciIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJXU1RSSU5HI1Rlc3RXU3RyaW5nIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0Jvb2xfV1NUUklORy5JTjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjE5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJUeXBlVGVzdF8xLlRJTUVUeXBlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEubG9jYWxpemVkVGV4dFRlc3RUZXh0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9UZXh0IiBUeXBlPSJGX0VRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIxOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI0p1c3RBVGV4dCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9UZXh0LklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMTk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuR0VUX1NUUlVDVF9WQUxVRSIgVHlwZT0iR0VUX1NUUlVDVF9WQUxVRSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjAwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyN0ZXh0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5HRVRfU1RSVUNUX1ZBTFVFLm1lbWJlciIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuR0VUX1NUUlVDVF9WQUxVRV8xIiBUeXBlPSJHRVRfU1RSVUNUX1ZBTFVFIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMDIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI2xvY2FsZSIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuR0VUX1NUUlVDVF9WQUxVRV8xLm1lbWJlciIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEuRl9FUV9UZXh0XzIiIFR5cGU9IkZfRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVFJJTkcjZGUtREUiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfVGV4dF8yLklOMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjA1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlR5cGVUZXN0XzEubG9jYWxpemVkVGV4dFRlc3RMb2NhbGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVHlwZVRlc3RfMS5TVFJJTkcyU1RSSU5HXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLkluaXRGaW5pc2hlZCIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMjM5LjE5Mi4wLjI6NjE0OTkiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuSW5pdEZpbmlzaGVkLklEIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wIiBUeXBlPSJTVUJTQ1JJQkVfMCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjEyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjIzOS4xOTIuMC4yOjYxNTAwIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wLklEIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLkVfQ1lDTEUiIFR5cGU9IkVfQ1lDTEUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIxNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUIzEwMDBtcyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5FX0NZQ0xFLkRUIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLkVfREVNVVhfMiIgVHlwZT0iRV9ERU1VWF8yIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLlNURVNUX0VORCIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSGFuZGxlSW5pdExvY2FsLkZfQk9PTF9UT19VSU5UIiBUeXBlPSJGX0JPT0xfVE9fVUlOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlNVQlNDUklCRV8wXzEiIFR5cGU9IlNVQlNDUklCRV8wIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuUUkiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIyMzkuMTkyLjAuMjo2MTUwMSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuSUQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJFX0RFTEFZIiBUeXBlPSJFX0RFTEFZIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVCMxNTAwbXMiIERlc3RpbmF0aW9uPSJFX0RFTEFZLkRUIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuSU5UMklOVF8xIiBUeXBlPSJJTlQySU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMjUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSU5UIzIzNCIgRGVzdGluYXRpb249IlN1YkFwcF8xLklOVDJJTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLkJPT0wyQk9PTF8yXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlN1YkFwcF8xLkJPT0wyQk9PTF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMS5VRElOVDJVRElOVF8xIiBUeXBlPSJVRElOVDJVRElOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjI5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVESU5UIzc4OSIgRGVzdGluYXRpb249IlN1YkFwcF8xLlVESU5UMlVESU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMS5TSU5UMlNJTlRfMSIgVHlwZT0iU0lOVDJTSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU0lOVCMxMjEiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5TSU5UMlNJTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLkZfSU5UX1RPX0xXT1JEXzEiIFR5cGU9IkZfSU5UX1RPX0xXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuRl9JTlRfVE9fTElOVF8xIiBUeXBlPSJGX0lOVF9UT19MSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuUkVBTDJSRUFMXzEiIFR5cGU9IlJFQUwyUkVBTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJFQUwjMS4yMyIgRGVzdGluYXRpb249IlN1YkFwcF8xLlJFQUwyUkVBTF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuV1NUUklORzJXU1RSSU5HXzEiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjM3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IldTVFJJTkcjVGVzdFdTdHJpbmciIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5XU1RSSU5HMldTVFJJTkdfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjM4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLkJZVEUyQllURV8xIiBUeXBlPSJCWVRFMkJZVEUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjIzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJCWVRFIzEyMyIgRGVzdGluYXRpb249IlN1YkFwcF8xLkJZVEUyQllURV8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuQk9PTDJCT09MXzQiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlN1YkFwcF8xLkJPT0wyQk9PTF80LklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuQk9PTDJCT09MXzFfMSIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTCNUUlVFIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuQk9PTDJCT09MXzFfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLkJPT0wyQk9PTF8zXzEiIFR5cGU9IkJPT0wyQk9PTCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkJPT0wjVFJVRSIgRGVzdGluYXRpb249IlN1YkFwcF8xLkJPT0wyQk9PTF8zXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMS5GX0xJTlRfVE9fSU5UXzEiIFR5cGU9IkZfTElOVF9UT19JTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJMSU5UIzQ1NiIgRGVzdGluYXRpb249IlN1YkFwcF8xLkZfTElOVF9UT19JTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLlVJTlQyVUlOVF8xIiBUeXBlPSJVSU5UMlVJTlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI0OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJVSU5UIzY3OCIgRGVzdGluYXRpb249IlN1YkFwcF8xLlVJTlQyVUlOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuU1RSSU5HMlNUUklOR18xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RSSU5HI1Rlc3RTdHJpbmciIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5TVFJJTkcyU1RSSU5HXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMS5GX1VMSU5UX1RPX0lOVF8xIiBUeXBlPSJGX1VMSU5UX1RPX0lOVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjUzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVMSU5UIzk4NyIgRGVzdGluYXRpb249IlN1YkFwcF8xLkZfVUxJTlRfVE9fSU5UXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMS5ESU5UMkRJTlRfMSIgVHlwZT0iRElOVDJESU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRElOVCMzNDUiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5ESU5UMkRJTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLkxSRUFMMkxSRUFMXzEiIFR5cGU9IkxSRUFMMkxSRUFMIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTFJFQUwjMy4yMSIgRGVzdGluYXRpb249IlN1YkFwcF8xLkxSRUFMMkxSRUFMXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJBcHBfMS5XT1JEMldPUkRfMSIgVHlwZT0iV09SRDJXT1JEIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV09SRCM3NjUiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5XT1JEMldPUkRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLkZfTFdPUkRfVE9fSU5UXzEiIFR5cGU9IkZfTFdPUkRfVE9fSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTFdPUkQjNTQzIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuRl9MV09SRF9UT19JTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjYyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLlVTSU5UMlVTSU5UXzEiIFR5cGU9IlVTSU5UMlVTSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVVNJTlQjMTIyIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuVVNJTlQyVVNJTlRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YkFwcF8xLlRJTUUyVElNRV8xIiBUeXBlPSJUSU1FMlRJTUUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJUSU1FIzE0NTBtcyIgRGVzdGluYXRpb249IlN1YkFwcF8xLlRJTUUyVElNRV8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuRFdPUkQyRFdPUkRfMSIgVHlwZT0iRFdPUkQyRFdPUkQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI2NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJEV09SRCM2NTQiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5EV09SRDJEV09SRF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuRl9JTlRfVE9fVUxJTlQiIFR5cGU9IkZfSU5UX1RPX1VMSU5UIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3ViQXBwXzEuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0IiBUeXBlPSJMb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIodGV4dDo9JmFwb3M7SnVzdEFUZXh0JmFwb3M7LGxvY2FsZTo9JmFwb3M7ZGUtREUmYXBvczspIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxXcml0ZSIgVHlwZT0iUFVCTElTSF8yMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjcyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsvT2JqZWN0cy90eXBlcy9CT09MOy9PYmplY3RzL3R5cGVzL1NJTlQ7L09iamVjdHMvdHlwZXMvSU5UOy9PYmplY3RzL3R5cGVzL0RJTlQ7L09iamVjdHMvdHlwZXMvTElOVDsvT2JqZWN0cy90eXBlcy9VU0lOVDsvT2JqZWN0cy90eXBlcy9VSU5UOy9PYmplY3RzL3R5cGVzL1VESU5UOy9PYmplY3RzL3R5cGVzL1VMSU5UOy9PYmplY3RzL3R5cGVzL0JZVEU7L09iamVjdHMvdHlwZXMvV09SRDsvT2JqZWN0cy90eXBlcy9EV09SRDsvT2JqZWN0cy90eXBlcy9MV09SRDsvT2JqZWN0cy90eXBlcy9EQVRFOy9PYmplY3RzL3R5cGVzL1RJTUVfT0ZfREFZOy9PYmplY3RzL3R5cGVzL0RBVEVfQU5EX1RJTUU7L09iamVjdHMvdHlwZXMvVElNRTsvT2JqZWN0cy90eXBlcy9SRUFMOy9PYmplY3RzL3R5cGVzL0xSRUFMOy9PYmplY3RzL3R5cGVzL1NUUklORzsvT2JqZWN0cy90eXBlcy9XU1RSSU5HOy9PYmplY3RzL3R5cGVzL0xvY2FsaXplZFRleHRdIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5JRCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik1ldGhvZCIgVHlwZT0iU0VSVkVSXzIyIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvdHlwZXMvbWV0aG9kXSIgRGVzdGluYXRpb249Ik1ldGhvZC5JRCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlYWQiIFR5cGU9IlNVQlNDUklCRV8yMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjc2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL3R5cGVzL0JPT0w7L09iamVjdHMvdHlwZXMvU0lOVDsvT2JqZWN0cy90eXBlcy9JTlQ7L09iamVjdHMvdHlwZXMvRElOVDsvT2JqZWN0cy90eXBlcy9MSU5UOy9PYmplY3RzL3R5cGVzL1VTSU5UOy9PYmplY3RzL3R5cGVzL1VJTlQ7L09iamVjdHMvdHlwZXMvVURJTlQ7L09iamVjdHMvdHlwZXMvVUxJTlQ7L09iamVjdHMvdHlwZXMvQllURTsvT2JqZWN0cy90eXBlcy9XT1JEOy9PYmplY3RzL3R5cGVzL0RXT1JEOy9PYmplY3RzL3R5cGVzL0xXT1JEOy9PYmplY3RzL3R5cGVzL0RBVEU7L09iamVjdHMvdHlwZXMvVElNRV9PRl9EQVk7L09iamVjdHMvdHlwZXMvREFURV9BTkRfVElNRTsvT2JqZWN0cy90eXBlcy9USU1FOy9PYmplY3RzL3R5cGVzL1JFQUw7L09iamVjdHMvdHlwZXMvTFJFQUw7L09iamVjdHMvdHlwZXMvU1RSSU5HOy9PYmplY3RzL3R5cGVzL1dTVFJJTkc7L09iamVjdHMvdHlwZXMvTG9jYWxpemVkVGV4dF0iIERlc3RpbmF0aW9uPSJSZWFkLklEIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkZfTElOVF9UT19JTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuRl9JTlRfVE9fTElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuRl9VTElOVF9UT19JTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuRl9JTlRfVE9fVUxJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyNzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkZfTFdPUkRfVE9fSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzLkZfSU5UX1RPX0xXT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5CT09MMkJPT0wuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuU0lOVDJTSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5TSU5UMlNJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuSU5UMklOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuSU5UMklOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5ESU5UMkRJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkRJTlQyRElOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5GX0xJTlRfVE9fSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5GX0lOVF9UT19MSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzLlVTSU5UMlVTSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5VU0lOVDJVU0lOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5VSU5UMlVJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLlVJTlQyVUlOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5VRElOVDJVRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuVURJTlQyVURJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuRl9VTElOVF9UT19JTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkZfSU5UX1RPX1VMSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzLkJZVEUyQllURS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuQllURTJCWVRFLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzLldPUkQyV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuV09SRDJXT1JELkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzLkRXT1JEMkRXT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5EV09SRDJEV09SRC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5GX0xXT1JEX1RPX0lOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuRl9JTlRfVE9fTFdPUkQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuQk9PTDJCT09MXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkJPT0wyQk9PTF8xLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzLkJPT0wyQk9PTF8yLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5CT09MMkJPT0xfMy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjI5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuQk9PTDJCT09MXzMuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuVElNRTJUSU1FLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5USU1FMlRJTUUuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuUkVBTDJSRUFMLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMjk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5SRUFMMlJFQUwuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuTFJFQUwyTFJFQUwuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkxSRUFMMkxSRUFMLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzLlNUUklORzJTVFJJTkcuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIyOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLlNUUklORzJTVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuV1NUUklORzJXU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9Cb29sLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5XU1RSSU5HMldTVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5TSU5UMlNJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9TSU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5JTlQySU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfSU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9ESU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5GX0xJTlRfVE9fSU5ULk9VVCIgRGVzdGluYXRpb249IkFsbFR5cGVzLkZfSU5UX1RPX0xJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuRl9JTlRfVE9fTElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0xJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLlVTSU5UMlVTSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfVVNJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLlVJTlQyVUlOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1VJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLlVESU5UMlVESU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfVURJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkZfVUxJTlRfVE9fSU5ULk9VVCIgRGVzdGluYXRpb249IkFsbFR5cGVzLkZfSU5UX1RPX1VMSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkZfSU5UX1RPX1VMSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfVUxJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkJZVEUyQllURS5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0JZVEUuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLldPUkQyV09SRC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1dPUkQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkRXT1JEMkRXT1JELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfRFdPUkQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkZfTFdPUkRfVE9fSU5ULk9VVCIgRGVzdGluYXRpb249IkFsbFR5cGVzLkZfSU5UX1RPX0xXT1JELklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkZfSU5UX1RPX0xXT1JELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfTFdPUkQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLldTVFJJTkcyV1NUUklORy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0Jvb2xfV1NUUklORy5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuU1RSSU5HMlNUUklORy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0Jvb2xfU1RSSU5HLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5MUkVBTDJMUkVBTC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0xSRUFMLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5SRUFMMlJFQUwuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9SRUFMLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5USU1FMlRJTUUuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9USU1FLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5CT09MMkJPT0xfMS5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0RBVEUuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzLkJPT0wyQk9PTF8yLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfVE9ELklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5CT09MMkJPT0xfMy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0RULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5CT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9Cb29sLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlcy5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuR0VUX1NUUlVDVF9WQUxVRS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXMuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0Lk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkdFVF9TVFJVQ1RfVkFMVUVfMS5pbl9zdHJ1Y3QiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9Cb29sLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkJvbGxUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1NJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuU0lOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LklOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfRElOVC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5ESU5UeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuVUlOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfVURJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuVURJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1VTSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LlVTSU5UVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjMzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9MSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkxJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1dPUkQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuV09SRFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfRFdPUkQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRFdPUkRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX0JZVEUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuQllURVR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfVUxJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuVUxJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1JFQUwuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuUkVBTFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfVE9ELkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LlRPRFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfQm9vbF9TVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuU1RSSU5HVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9MUkVBTC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5MUkVBTFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfRFQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRFRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX0Jvb2xfV1NUUklORy5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5XU1RSSU5HVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9MV09SRC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5MV09SRFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfREFURS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5EQVRFVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9USU1FLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LlRJTUVUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5Cb2xsVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1NJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LlNJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5JTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRElOVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0xJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkxJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfVVNJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LlVTSU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1VJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LlVJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfVURJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LlVESU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1VMSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5VTElOVFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9CWVRFLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5CWVRFVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1dPUkQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LldPUkRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfRFdPUkQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkRXT1JEVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0xXT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5EQVRFVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1RPRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuVE9EVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0RULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5EVFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9USU1FLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5USU1FVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1JFQUwuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LlJFQUxUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfTFJFQUwuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkxSRUFMVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX0Jvb2xfU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5TVFJJTkdUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LkZfRVFfQm9vbF9XU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5MV09SRFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9SRUFMLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5HRVRfU1RSVUNUX1ZBTFVFXzEuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuU1RSSU5HMlNUUklOR18xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5TVFJJTkcyU1RSSU5HXzEuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9UZXh0LlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1RleHRfMi5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5sb2NhbGl6ZWRUZXh0VGVzdExvY2FsZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9UZXh0LkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0LmxvY2FsaXplZFRleHRUZXN0VGV4dC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuU1RSSU5HMlNUUklORy5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5HRVRfU1RSVUNUX1ZBTFVFXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LmxvY2FsaXplZFRleHRUZXN0VGV4dC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1RleHRfMi5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuR0VUX1NUUlVDVF9WQUxVRS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5TVFJJTkcyU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5XU1RSSU5HVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5HRVRfU1RSVUNUX1ZBTFVFLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX0Jvb2wuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuQm9sbFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9TSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LlNJTlRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzNzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LklOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9ESU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkRJTlR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9VSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LlVJTlRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfTElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5MSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1VTSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LlVTSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1VESU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LlVESU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1dPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuV09SRFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9VTElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5VTElOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9CWVRFLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkJZVEVUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfRFdPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRFdPUkRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfVE9ELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LlRPRFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9MV09SRC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5MV09SRFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9Cb29sX1dTVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuV1NUUklOR1R5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9MUkVBTC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5MUkVBTFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9EQVRFLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LkRBVEVUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfQm9vbF9TVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuU1RSSU5HVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iMzk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5GX0VRX1RJTUUuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuVElNRVR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjM5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9SRUFMLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LlJFQUxUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfRFQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRFRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LkZfRVFfVGV4dF8yLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LmxvY2FsaXplZFRleHRUZXN0TG9jYWxlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSIzOTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LlNUUklORzJTVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuRl9FUV9UZXh0LklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5HRVRfU1RSVUNUX1ZBTFVFXzEub3V0cHV0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3QuU1RSSU5HMlNUUklOR18xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0LlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdC5GX0VRX1RleHRfMi5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3QuRl9FUV9UZXh0Lk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0LmxvY2FsaXplZFRleHRUZXN0VGV4dC5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdC5HRVRfU1RSVUNUX1ZBTFVFLm91dHB1dCIgRGVzdGluYXRpb249IlR5cGVUZXN0LlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5GX0xJTlRfVE9fSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuRl9JTlRfVE9fTElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5GX1VMSU5UX1RPX0lOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkZfSU5UX1RPX1VMSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkZfTFdPUkRfVE9fSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuRl9JTlRfVE9fTFdPUkQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuQk9PTDJCT09MLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuU0lOVDJTSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLlNJTlQyU0lOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLklOVDJJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuSU5UMklOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkRJTlQyRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5ESU5UMkRJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5GX0xJTlRfVE9fSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkZfSU5UX1RPX0xJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5VU0lOVDJVU0lOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5VU0lOVDJVU0lOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLlVJTlQyVUlOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5VSU5UMlVJTlQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5VRElOVDJVRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5VRElOVDJVRElOVC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkZfVUxJTlRfVE9fSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkZfSU5UX1RPX1VMSU5ULkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuQllURTJCWVRFLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkJZVEUyQllURS5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLldPUkQyV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5XT1JEMldPUkQuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5EV09SRDJEV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5EV09SRDJEV09SRC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkZfTFdPUkRfVE9fSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkZfSU5UX1RPX0xXT1JELkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuQk9PTDJCT09MXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuQk9PTDJCT09MXzEuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5CT09MMkJPT0xfMi5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5CT09MMkJPT0xfMi5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkJPT0wyQk9PTF8zLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkJPT0wyQk9PTF8zLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuVElNRTJUSU1FLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLlRJTUUyVElNRS5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLlJFQUwyUkVBTC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5SRUFMMlJFQUwuQ05GIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5MUkVBTDJMUkVBTC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5MUkVBTDJMUkVBTC5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLlNUUklORzJTVFJJTkcuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuU1RSSU5HMlNUUklORy5DTkYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLldTVFJJTkcyV1NUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0Jvb2wuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuV1NUUklORzJXU1RSSU5HLkNORiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLlNJTlQyU0lOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfU0lOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5TSU5UMlNJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kLlNEXzIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5JTlQySU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9JTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuSU5UMklOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfMyIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkRJTlQyRElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfRElOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5ESU5UMkRJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kLlNEXzQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5GX0xJTlRfVE9fSU5ULk9VVCIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuRl9JTlRfVE9fTElOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkZfSU5UX1RPX0xJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0xJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuRl9JTlRfVE9fTElOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfNSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLlVTSU5UMlVTSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9VU0lOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5VU0lOVDJVU0lOVC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfNiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLlVJTlQyVUlOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfVUlOVC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5VSU5UMlVJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kLlNEXzciIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5VRElOVDJVRElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfVURJTlQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuVURJTlQyVURJTlQuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kLlNEXzgiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5GX1VMSU5UX1RPX0lOVC5PVVQiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkZfSU5UX1RPX1VMSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuRl9JTlRfVE9fVUxJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1VMSU5ULklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkZfSU5UX1RPX1VMSU5ULk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZC5TRF85IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuQllURTJCWVRFLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9CWVRFLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkJZVEUyQllURS5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfMTAiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5XT1JEMldPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1dPUkQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuV09SRDJXT1JELk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZC5TRF8xMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkRXT1JEMkRXT1JELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9EV09SRC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5EV09SRDJEV09SRC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfMTIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5GX0xXT1JEX1RPX0lOVC5PVVQiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkZfSU5UX1RPX0xXT1JELklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuRl9JTlRfVE9fTFdPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0xXT1JELklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkZfSU5UX1RPX0xXT1JELk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZC5TRF8xMyIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLldTVFJJTkcyV1NUUklORy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfQm9vbF9XU1RSSU5HLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLldTVFJJTkcyV1NUUklORy5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfMjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5TVFJJTkcyU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9Cb29sX1NUUklORy5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5TVFJJTkcyU1RSSU5HLk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZC5TRF8yMCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkxSRUFMMkxSRUFMLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9MUkVBTC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5MUkVBTDJMUkVBTC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfMTkiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5SRUFMMlJFQUwuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1JFQUwuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuUkVBTDJSRUFMLk9VVCIgRGVzdGluYXRpb249Ik1ldGhvZC5TRF8xOCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLlRJTUUyVElNRS5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfVElNRS5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5USU1FMlRJTUUuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kLlNEXzE3IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuQk9PTDJCT09MXzEuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0RBVEUuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuQk9PTDJCT09MXzEuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kLlNEXzE0IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuQk9PTDJCT09MXzIuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1RPRC5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5CT09MMkJPT0xfMi5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfMTUiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQWxsVHlwZXNfMS5CT09MMkJPT0xfMy5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfRFQuSU4xIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuQk9PTDJCT09MXzMuT1VUIiBEZXN0aW5hdGlvbj0iTWV0aG9kLlNEXzE2IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9Cb29sLklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkJPT0wyQk9PTC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkdFVF9TVFJVQ1RfVkFMVUUuaW5fc3RydWN0IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkFsbFR5cGVzXzEuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0Lk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuR0VUX1NUUlVDVF9WQUxVRV8xLmluX3N0cnVjdCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJBbGxUeXBlc18xLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5PVVQiIERlc3RpbmF0aW9uPSJNZXRob2QuU0RfMjIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0Jvb2wuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5Cb2xsVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1NJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5TSU5UVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0lOVC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLklOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9ESU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRElOVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1VJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5VSU5UVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1VESU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuVURJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfVVNJTlQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5VU0lOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9MSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuTElOVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9XT1JELkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuV09SRFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9EV09SRC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkRXT1JEVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0JZVEUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5CWVRFVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1VMSU5ULkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuVUxJTlRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfUkVBTC5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLlJFQUxUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfVE9ELkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuVE9EVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0Jvb2xfU1RSSU5HLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuU1RSSU5HVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0xSRUFMLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuTFJFQUxUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfRFQuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5EVFR5cGUuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9Cb29sX1dTVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5XU1RSSU5HVHlwZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjQ5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0xXT1JELkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuTFdPUkRUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfREFURS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkRBVEVUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfVElNRS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLlRJTUVUeXBlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkJvbGxUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9TSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLlNJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9JTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuSU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfRElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5ESU5UeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9MSU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkxJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9VU0lOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5VU0lOVFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1VJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuVUlOVFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1VESU5ULlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLlVESU5UVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfVUxJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuVUxJTlRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9CWVRFLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkJZVEVUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9XT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLldPUkRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9EV09SRC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5EV09SRFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0xXT1JELlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkRBVEVUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9UT0QuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuVE9EVHlwZS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkZfRVFfRFQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRFRUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9USU1FLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLlRJTUVUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9SRUFMLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLlJFQUxUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9MUkVBTC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5MUkVBTFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0Jvb2xfU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLlNUUklOR1R5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX0Jvb2xfV1NUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5MV09SRFR5cGUuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1JFQUwuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9UZXh0LkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEubG9jYWxpemVkVGV4dFRlc3RUZXh0LlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLldTVFJJTkdUeXBlLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuR0VUX1NUUlVDVF9WQUxVRS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5sb2NhbGl6ZWRUZXh0VGVzdExvY2FsZS5DTkYiIERlc3RpbmF0aW9uPSJNZXRob2QuUlNQIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEubG9jYWxpemVkVGV4dFRlc3RUZXh0LkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9UZXh0XzIuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9UZXh0XzIuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5sb2NhbGl6ZWRUZXh0VGVzdExvY2FsZS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5HRVRfU1RSVUNUX1ZBTFVFLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuU1RSSU5HMlNUUklORy5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5TVFJJTkcyU1RSSU5HLkNORiIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuR0VUX1NUUlVDVF9WQUxVRV8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkdFVF9TVFJVQ1RfVkFMVUVfMS5DTkYiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLlNUUklORzJTVFJJTkdfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5TVFJJTkcyU1RSSU5HXzEuQ05GIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1RleHQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9Cb29sLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuQm9sbFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1NJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5TSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfSU5ULk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfRElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkRJTlR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1VJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5VSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfTElOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLkxJTlRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9VU0lOVC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLlVTSU5UVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfVURJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5VRElOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1dPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5XT1JEVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfVUxJTlQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5VTElOVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0JZVEUuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5CWVRFVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfRFdPUkQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5EV09SRFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjUzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1RPRC5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLlRPRFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0xXT1JELk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuTFdPUkRUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9Cb29sX1dTVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5XU1RSSU5HVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfTFJFQUwuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5MUkVBTFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX0RBVEUuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5EQVRFVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfQm9vbF9TVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5TVFJJTkdUeXBlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuRl9FUV9USU1FLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuVElNRVR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1JFQUwuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5SRUFMVHlwZS5jaGVjayIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJUeXBlVGVzdF8xLkZfRVFfRFQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5EVFR5cGUuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1RleHQuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5sb2NhbGl6ZWRUZXh0VGVzdFRleHQuY2hlY2siIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5GX0VRX1RleHRfMi5PVVQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLmxvY2FsaXplZFRleHRUZXN0TG9jYWxlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlR5cGVUZXN0XzEuR0VUX1NUUlVDVF9WQUxVRS5vdXRwdXQiIERlc3RpbmF0aW9uPSJUeXBlVGVzdF8xLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5HRVRfU1RSVUNUX1ZBTFVFXzEub3V0cHV0IiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5TVFJJTkcyU1RSSU5HXzEuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iVHlwZVRlc3RfMS5GX0VRX1RleHRfMi5JTjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVHlwZVRlc3RfMS5TVFJJTkcyU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IlR5cGVUZXN0XzEuRl9FUV9UZXh0LklOMSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRS5FTyIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JTkQiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRV9DWUNMRS5TVE9QIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5GX0JPT0xfVE9fVUlOVC5DTkYiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRV9ERU1VWF8yLkVJIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIuRU8xIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLlNURVNUX0VORC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdExvY2FsLlNVQlNDUklCRV8wLklOSVRPIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkluaXRGaW5pc2hlZC5JTklUIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5Jbml0RmluaXNoZWQuSU5JVE8iIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuRl9CT09MX1RPX1VJTlQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIuRU8yIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkVfQ1lDTEUuU1RBUlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSGFuZGxlSW5pdExvY2FsLkZfQk9PTF9UT19VSU5ULk9VVCIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5FX0RFTVVYXzIuSyIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5TSU5UMlNJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5JTlQySU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLklOVDJJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5ESU5UMkRJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuQk9PTDJCT09MXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5CT09MMkJPT0xfMl8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5CT09MMkJPT0xfMl8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8xLkJPT0wyQk9PTF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLlVJTlQyVUlOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8xLlVESU5UMlVESU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLlVESU5UMlVESU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuRl9VTElOVF9UT19JTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuQk9PTDJCT09MXzQuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuU0lOVDJTSU5UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkZfTFdPUkRfVE9fSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuRl9JTlRfVE9fTFdPUkRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuRl9JTlRfVE9fTFdPUkRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5CT09MMkJPT0xfMV8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5GX0xJTlRfVE9fSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuRl9JTlRfVE9fTElOVF8xLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5GX0lOVF9UT19MSU5UXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuVVNJTlQyVVNJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuVElNRTJUSU1FXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuUkVBTDJSRUFMXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLlJFQUwyUkVBTF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8xLkxSRUFMMkxSRUFMXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLlNUUklORzJTVFJJTkdfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5XU1RSSU5HMldTVFJJTkdfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuQllURTJCWVRFXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuV09SRDJXT1JEXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkJPT0wyQk9PTF8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuVElNRTJUSU1FXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkRJTlQyRElOVF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8xLkZfTElOVF9UT19JTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuVVNJTlQyVVNJTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5VSU5UMlVJTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuTFJFQUwyTFJFQUxfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5TVFJJTkcyU1RSSU5HXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLldPUkQyV09SRF8xLkNORiIgRGVzdGluYXRpb249IlN1YkFwcF8xLkRXT1JEMkRXT1JEXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkRXT1JEMkRXT1JEXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuRl9MV09SRF9UT19JTlRfMS5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuRl9VTElOVF9UT19JTlRfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5GX0lOVF9UT19VTElOVC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuRl9JTlRfVE9fVUxJTlQuQ05GIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuQllURTJCWVRFXzEuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5XU1RSSU5HMldTVFJJTkdfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5Mb2NhbGl6ZWRUZXh0MkxvY2FsaXplZFRleHQuUkVRIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkZfTFdPUkRfVE9fSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuRl9JTlRfVE9fTFdPUkRfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5GX0xJTlRfVE9fSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3ViQXBwXzEuRl9JTlRfVE9fTElOVF8xLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLklOVDJJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzMiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuQk9PTDJCT09MXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzE1IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLlVESU5UMlVESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRF84IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLlNJTlQyU0lOVF8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0RfMiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5GX0lOVF9UT19MV09SRF8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0RfMTMiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuRl9JTlRfVE9fTElOVF8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0RfNSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5SRUFMMlJFQUxfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzE4IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI1OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLldTVFJJTkcyV1NUUklOR18xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0RfMjEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuQllURTJCWVRFXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRF8xMCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5CT09MMkJPT0xfNC5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjU5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuQk9PTDJCT09MXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzE0IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkJPT0wyQk9PTF8zXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRF8xNiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5VSU5UMlVJTlRfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzciIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0RfMjAiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuRElOVDJESU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRF80IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkxSRUFMMkxSRUFMXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRF8xOSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5XT1JEMldPUkRfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzExIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLlVTSU5UMlVTSU5UXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRF82IiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLlRJTUUyVElNRV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0RfMTciIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3ViQXBwXzEuRFdPUkQyRFdPUkRfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzEyIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkZfSU5UX1RPX1VMSU5ULk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0RfOSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJBcHBfMS5GX1VMSU5UX1RPX0lOVF8xLk9VVCIgRGVzdGluYXRpb249IlN1YkFwcF8xLkZfSU5UX1RPX1VMSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YkFwcF8xLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNEXzIyIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNVQlNDUklCRV8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJFX1NSLlMiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1VCU0NSSUJFXzBfMS5JTkQiIERlc3RpbmF0aW9uPSJFX1NSLlIiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IlNVQlNDUklCRV8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5DT0xEIiBEZXN0aW5hdGlvbj0iU1VCU0NSSUJFXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1dJVENILkVPMCIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5JTklUIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfREVMQVkuRU8iIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuU1VCU0NSSUJFXzAuSU5JVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJTdWJBcHBfMS5CT09MMkJPT0xfNC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5FTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuSU5JVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkNORiIgRGVzdGluYXRpb249IkVfREVMQVkuU1RBUlQiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kLklOSVRPIiBEZXN0aW5hdGlvbj0iRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kLklORCIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuQk9PTDJCT09MLlJFUSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVhZC5JTklUIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlYWQuSU5JVE8iIERlc3RpbmF0aW9uPSJNZXRob2QuSU5JVCIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLklORCIgRGVzdGluYXRpb249IkFsbFR5cGVzLkJPT0wyQk9PTC5SRVEiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iSGFuZGxlSW5pdExvY2FsLkZfQk9PTF9UT19VSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkhhbmRsZUluaXRMb2NhbC5TVUJTQ1JJQkVfMC5RSSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJIYW5kbGVJbml0TG9jYWwuSW5pdEZpbmlzaGVkLlFJIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkVfU1IuUSIgRGVzdGluYXRpb249IkVfU1dJVENILkciIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5RSSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJFX1NSLlEiIERlc3RpbmF0aW9uPSJNZXRob2QuUUkiIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRV9TUi5RIiBEZXN0aW5hdGlvbj0iUmVhZC5RSSIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfMjIiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkxvY2FsaXplZFRleHQyTG9jYWxpemVkVGV4dC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfMjEiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLldTVFJJTkcyV1NUUklORy5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfMjAiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjYzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kLlJEXzE5IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5MUkVBTDJMUkVBTC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfMTgiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLlJFQUwyUkVBTC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfMTciIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLlRJTUUyVElNRS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfMTYiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkJPT0wyQk9PTF8zLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZC5SRF8xNSIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuQk9PTDJCT09MXzIuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kLlJEXzE0IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5CT09MMkJPT0xfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfMTMiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkZfTFdPUkRfVE9fSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZC5SRF8xMiIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuRFdPUkQyRFdPUkQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kLlJEXzExIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5XT1JEMldPUkQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kLlJEXzEwIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5CWVRFMkJZVEUuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kLlJEXzkiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkZfVUxJTlRfVE9fSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZC5SRF84IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5VRElOVDJVRElOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfNyIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuVUlOVDJVSU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZC5SRF82IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5VU0lOVDJVU0lOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfNSIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuRl9MSU5UX1RPX0lOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJNZXRob2QuUkRfNCIgRGVzdGluYXRpb249IkFsbFR5cGVzXzEuRElOVDJESU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZC5SRF8zIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5JTlQySU5ULklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik1ldGhvZC5SRF8yIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXNfMS5TSU5UMlNJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTWV0aG9kLlJEXzEiIERlc3RpbmF0aW9uPSJBbGxUeXBlc18xLkJPT0wyQk9PTC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLlJEXzIyIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuTG9jYWxpemVkVGV4dDJMb2NhbGl6ZWRUZXh0LklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlYWQuUkRfMjEiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5XU1RSSU5HMldTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF8yMCIgRGVzdGluYXRpb249IkFsbFR5cGVzLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF8xOSIgRGVzdGluYXRpb249IkFsbFR5cGVzLkxSRUFMMkxSRUFMLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlYWQuUkRfMTgiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5SRUFMMlJFQUwuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF8xNyIgRGVzdGluYXRpb249IkFsbFR5cGVzLlRJTUUyVElNRS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLlJEXzE2IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuQk9PTDJCT09MXzMuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF8xNSIgRGVzdGluYXRpb249IkFsbFR5cGVzLkJPT0wyQk9PTF8yLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlYWQuUkRfMTQiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5CT09MMkJPT0xfMS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLlJEXzEzIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuRl9MV09SRF9UT19JTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF8xMiIgRGVzdGluYXRpb249IkFsbFR5cGVzLkRXT1JEMkRXT1JELklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlYWQuUkRfMTEiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5XT1JEMldPUkQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF8xMCIgRGVzdGluYXRpb249IkFsbFR5cGVzLkJZVEUyQllURS5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLlJEXzkiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5GX1VMSU5UX1RPX0lOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLlJEXzgiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5VRElOVDJVRElOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLlJEXzciIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5VSU5UMlVJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF82IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuVVNJTlQyVVNJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF81IiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuRl9MSU5UX1RPX0lOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLlJEXzQiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5ESU5UMkRJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF8zIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuSU5UMklOVC5JTiIgLz48L1JlcXVlc3Q+Cit0eXBlc1NlcnZlcjs8UmVxdWVzdCBJRD0iNjc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZWFkLlJEXzIiIERlc3RpbmF0aW9uPSJBbGxUeXBlcy5TSU5UMlNJTlQuSU4iIC8+PC9SZXF1ZXN0PgordHlwZXNTZXJ2ZXI7PFJlcXVlc3QgSUQ9IjY3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVhZC5SRF8xIiBEZXN0aW5hdGlvbj0iQWxsVHlwZXMuQk9PTDJCT09MLklOIiAvPjwvUmVxdWVzdD4KK3R5cGVzU2VydmVyOzxSZXF1ZXN0IElEPSI2NzciIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL29wY191YS93cm9uZ1BhcmFtZXRlcnMuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvd3JvbmdQYXJhbWV0ZXJzLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiODZhNGIKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy9vcGNfdWEvd3JvbmdQYXJhbWV0ZXJzLmZib290CkBAIC0wLDAgKzEsMjAyMCBAQAorOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nUGFyYW1ldGVycyIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uQ2xpZW50MU5vU2VtaWNvbG9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uUHViMU5vU2VtaWNvbG9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uUFVCMSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uUFVCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uU2VydmVyME5vU2VtaWNvbG9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLlN1YjFOb1NlbWljb2xvbiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb1NlbWljb2xvbi5GX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb1NlbWljb2xvbi5TVUIxIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uU0VSMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uU0VSMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLkNsaWVudDBfMU5vU2VtaWNvbG9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uU2VydmVyMU5vU2VtaWNvbG9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uQ0xJMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLkNMSTAxIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkNMSTAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uQ2xpZW50MV8wTm9TZW1pY29sb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uRl9OT1RfMV8xXzFfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb1NlbWljb2xvbi5DTEkxMCIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLlNUUklORzJTVFJJTkdfMV8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uRl9OT1RfMV8xXzFfNCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb1NlbWljb2xvbi5DbGllbnQwTm9TZW1pY29sb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uQ0xJMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uQ0xJMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLlNFUjEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNFUjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8yXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uU2VydmVyMF8xTm9TZW1pY29sb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uU1RSSU5HMlNUUklOR18yIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9TZW1pY29sb24uU1RSSU5HMlNUUklOR18yXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb1NlbWljb2xvbi5TRVIwMSIgVHlwZT0iU0VSVkVSXzBfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TRVIwMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLlNUUklORzJTVFJJTkdfMyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLlNlcnZlcjFfME5vU2VtaWNvbG9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vU2VtaWNvbG9uLlNFUjEwIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNFUjEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbL09iamVjdHMvdGVzdDFdIiBEZXN0aW5hdGlvbj0iVzJXLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXXzEiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVs7L09iamVjdHMvdGVzdDFdIiBEZXN0aW5hdGlvbj0iVzJXXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5DbGllbnQxRW1wdHlBY3Rpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZW1wdHlBY3Rpb24uUHViMUVtcHR5QWN0aW9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLkZfTk9UXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5QVUIxIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uUFVCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLlNlcnZlcjBFbXB0eUFjdGlvbiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5TdWIxRW1wdHlBY3Rpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZW1wdHlBY3Rpb24uRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZW1wdHlBY3Rpb24uU1VCMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU1VCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLlNFUjAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNFUjAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5DbGllbnQwXzFFbXB0eUFjdGlvbiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLlNlcnZlcjFFbXB0eUFjdGlvbiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLkNMSTEiIFR5cGU9IkNMSUVOVF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkNMSTEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5DTEkwMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DTEkwMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLkNsaWVudDFfMEVtcHR5QWN0aW9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzMiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZW1wdHlBY3Rpb24uQ0xJMTAiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uQ0xJMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HXzFfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzQiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZW1wdHlBY3Rpb24uQ2xpZW50MEVtcHR5QWN0aW9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLkNMSTAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkNMSTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5TRVIxIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TRVIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xXzFfMl8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLlNlcnZlcjBfMUVtcHR5QWN0aW9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLlNUUklORzJTVFJJTkdfMiIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImVtcHR5QWN0aW9uLlNUUklORzJTVFJJTkdfMl8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZW1wdHlBY3Rpb24uU0VSMDEiIFR5cGU9IlNFUlZFUl8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU0VSMDEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HXzMiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5TZXJ2ZXIxXzBFbXB0eUFjdGlvbiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8yXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJlbXB0eUFjdGlvbi5TRVIxMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TRVIxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlcyV18xXzEiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEwMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUmVhZDsvT2JqZWN0cy90ZXN0MV0iIERlc3RpbmF0aW9uPSJXMldfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uQ2xpZW50MU5vRXhpc3RpbmdBY3Rpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uUHViMU5vRXhpc3RpbmdBY3Rpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb0V4aXN0aW5nQWN0aW9uLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEwNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5QVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uU2VydmVyME5vRXhpc3RpbmdBY3Rpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uU3ViMU5vRXhpc3RpbmdBY3Rpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uU1VCMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uU1VCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjExNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTE1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5TVFJJTkcyU1RSSU5HXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5DbGllbnQwXzFOb0V4aXN0aW5nQWN0aW9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjExOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uU2VydmVyMU5vRXhpc3RpbmdBY3Rpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5DTEkxIiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5DTEkxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMDEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5DbGllbnQxXzBOb0V4aXN0aW5nQWN0aW9uIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzMiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMTAiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5TVFJJTkcyU1RSSU5HXzFfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzQiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTMxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uQ2xpZW50ME5vRXhpc3RpbmdBY3Rpb24iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMzMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEzNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8yXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uU2VydmVyMF8xTm9FeGlzdGluZ0FjdGlvbiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5TVFJJTkcyU1RSSU5HXzIiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxMzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5TVFJJTkcyU1RSSU5HXzJfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE0MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjAxIiBUeXBlPSJTRVJWRVJfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uU1RSSU5HMlNUUklOR18zIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTQzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vRXhpc3RpbmdBY3Rpb24uU2VydmVyMV8wTm9FeGlzdGluZ0FjdGlvbiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8yXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9FeGlzdGluZ0FjdGlvbi5TRVIxMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TRVIxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuQ2xpZW50MVVua25vd25JZGVudGlmaWVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5QdWIxVW5rbm93bklkZW50aWZpZXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTUwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuUFVCMSIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTUyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5QVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5TZXJ2ZXIwVW5rbm93bklkZW50aWZpZXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLlN1YjFVbmtub3duSWRlbnRpZmllciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuU1RSSU5HMlNUUklORyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE1OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5TVUIxIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE1OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU1VCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE2MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5TRVIwIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE2MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU0VSMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuQ2xpZW50MF8xVW5rbm93bklkZW50aWZpZXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLlNlcnZlcjFVbmtub3duSWRlbnRpZmllciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNjgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkNMSTEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuQ0xJMDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkNMSTAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLkNsaWVudDFfMFVua25vd25JZGVudGlmaWVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzFfMV8zIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5DTEkxMCIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE3NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ0xJMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuU1RSSU5HMlNUUklOR18xXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfNCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuQ2xpZW50MFVua25vd25JZGVudGlmaWVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE3OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5DTEkwIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE3OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ0xJMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5TRVIxIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE4MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU0VSMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE4MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLlNlcnZlcjBfMVVua25vd25JZGVudGlmaWVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE4NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzIiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuU1RSSU5HMlNUUklOR18yXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuU0VSMDEiIFR5cGU9IlNFUlZFUl8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxODciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLlNFUjAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJVbmtub3duSWRlbnRpZmllci5TZXJ2ZXIxXzBVbmtub3duSWRlbnRpZmllciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxOTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMl8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlVua25vd25JZGVudGlmaWVyLlNFUjEwIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTkyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TRVIxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXMldfMV8xXzEiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE5NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy90ZXN0MSxpPTEsaT0yXSIgRGVzdGluYXRpb249IlcyV18xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMTk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5DbGllbnQxV3JvbmdJZGVudGlmaWVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjE5NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuUHViMVdyb25nSWRlbnRpZmllciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxOTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxOTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIwMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlBVQjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMFdyb25nSWRlbnRpZmllciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLlN1YjFXcm9uZ0lkZW50aWZpZXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjA0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5GX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuU1RSSU5HMlNUUklORyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuU1VCMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5TRVIwIiBUeXBlPSJTRVJWRVJfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIwOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNFUjAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuQ2xpZW50MF8xV3JvbmdJZGVudGlmaWVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLlNlcnZlcjFXcm9uZ0lkZW50aWZpZXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5DTEkxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5DTEkwMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIxOCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNMSTAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5DbGllbnQxXzBXcm9uZ0lkZW50aWZpZXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8zIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMTAiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5DTEkxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuU1RSSU5HMlNUUklOR18xXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzQiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5DbGllbnQwV3JvbmdJZGVudGlmaWVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5DTEkwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5TRVIxIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIyOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNFUjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzJfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLlNlcnZlcjBfMVdyb25nSWRlbnRpZmllciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMiIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIzMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuU1RSSU5HMlNUUklOR18yXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLlNFUjAxIiBUeXBlPSJTRVJWRVJfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjM1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU0VSMDEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iV3JvbmdJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMV8wV3JvbmdJZGVudGlmaWVyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzFfMl8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ildyb25nSWRlbnRpZmllci5TRVIxMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI0MCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNFUjEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjQxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlcyV18xXzFfNCIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjQyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOy9PYmplY3RzL3Rlc3QxLDE6aT0yIGk9M10iIERlc3RpbmF0aW9uPSJXMldfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXXzFfMV8yIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW1JFQUQ7L09iamVjdHMvdGVzdDEsMTppPTE6aT0yXSIgRGVzdGluYXRpb249IlcyV18xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXMldfMV8xXzMiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI0NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy90ZXN0MSwxOnA9Ml0iIERlc3RpbmF0aW9uPSJXMldfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkNsaWVudDF3cm9uZ05vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuUHViMXdyb25nTm9kZUlkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5GX05PVF8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI1MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuUFVCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI1MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuU2VydmVyMHdyb25nTm9kZUlkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5TdWIxd3JvbmdOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkZfTk9UXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjU3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuU1VCMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNVQjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNjAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuU0VSMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNFUjAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuU1RSSU5HMlNUUklOR18xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkNsaWVudDBfMXdyb25nTm9kZUlkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5GX05PVF8xXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5TZXJ2ZXIxd3JvbmdOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkNMSTEiIFR5cGU9IkNMSUVOVF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjY4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5DTEkxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjY5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkNMSTAxIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjcwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5DTEkwMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5DbGllbnQxXzB3cm9uZ05vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuQ0xJMTAiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNMSTEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLlNUUklORzJTVFJJTkdfMV8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjc2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzQiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkNsaWVudDB3cm9uZ05vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuQ0xJMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNMSTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuU0VSMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyODEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNFUjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMl8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5TZXJ2ZXIwXzF3cm9uZ05vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuU1RSSU5HMlNUUklOR18yIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLlNUUklORzJTVFJJTkdfMl8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLlNFUjAxIiBUeXBlPSJTRVJWRVJfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjg3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5TRVIwMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI4OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5TVFJJTkcyU1RSSU5HXzMiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyODkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdOb2RlSWQuU2VydmVyMV8wd3JvbmdOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ05vZGVJZC5TRVIxMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU0VSMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyOTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLkZfTk9UXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjI5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuQ2xpZW50MXdyb25nUGFpciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyOTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLlB1YjF3cm9uZ1BhaXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5GX05PVF8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5QVUIxIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyOTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nUGFpci5QVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMjk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLlNlcnZlcjB3cm9uZ1BhaXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzAxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5TdWIxd3JvbmdQYWlyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMDQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLlNVQjEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzA1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU1VCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuU0VSMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMDciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nUGFpci5TRVIwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzA4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5TVFJJTkcyU1RSSU5HXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLkNsaWVudDBfMXdyb25nUGFpciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5TZXJ2ZXIxd3JvbmdQYWlyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLkNMSTEiIFR5cGU9IkNMSUVOVF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzE0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ0xJMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuQ0xJMDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMTYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nUGFpci5DTEkwMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuQ2xpZW50MV8wd3JvbmdQYWlyIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLkNMSTEwIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzIwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ0xJMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLlNUUklORzJTVFJJTkdfMV8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5GX05PVF8xXzFfMV80IiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuQ2xpZW50MHdyb25nUGFpciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLkNMSTAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ0xJMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMyNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuU0VSMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nUGFpci5TRVIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5GX05PVF8xXzFfMV8yXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5TZXJ2ZXIwXzF3cm9uZ1BhaXIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzMwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5TVFJJTkcyU1RSSU5HXzIiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLlNUUklORzJTVFJJTkdfMl8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzMyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5TRVIwMSIgVHlwZT0iU0VSVkVSXzBfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMzMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLlNFUjAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzM0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Indyb25nUGFpci5TVFJJTkcyU1RSSU5HXzMiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLlNlcnZlcjFfMHdyb25nUGFpciIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cm9uZ1BhaXIuU0VSMTAiIFR5cGU9IlNFUlZFUl8xXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzMzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249Indyb25nUGFpci5TRVIxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjMzOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNDAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ2xpZW50MU5vQnJvd3NlTmFtZU5vck5vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuUHViMU5vQnJvd3NlTmFtZU5vck5vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5QVUIxIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlBVQjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNlcnZlcjBOb0Jyb3dzZU5hbWVOb3JOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlN1YjFOb0Jyb3dzZU5hbWVOb3JOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU1VCMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNVQjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU0VSMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU1RSSU5HMlNUUklOR18xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNsaWVudDBfMU5vQnJvd3NlTmFtZU5vck5vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU2VydmVyMU5vQnJvd3NlTmFtZU5vck5vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ0xJMDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNjIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzYzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNsaWVudDFfME5vQnJvd3NlTmFtZU5vck5vZGVJZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ0xJMTAiIFR5cGU9IkNMSUVOVF8xXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNUUklORzJTVFJJTkdfMV8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzQiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzY5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNsaWVudDBOb0Jyb3dzZU5hbWVOb3JOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzcwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzczIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzJfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU2VydmVyMF8xTm9Ccm93c2VOYW1lTm9yTm9kZUlkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TVFJJTkcyU1RSSU5HXzIiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU1RSSU5HMlNUUklOR18yXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU0VSMDEiIFR5cGU9IlNFUlZFUl8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzNzkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzgwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNUUklORzJTVFJJTkdfMyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM4MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TZXJ2ZXIxXzBOb0Jyb3dzZU5hbWVOb3JOb2RlSWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzgyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIxMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU0VSMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXXzFfMV80XzIiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM4NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsxOTIuMTY4LjAuMTo0ODQwIztdIiBEZXN0aW5hdGlvbj0iVzJXXzFfMV80XzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5DbGllbnQxUmVtb3RlUmVhZFdyb25nU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzg5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuUHViMVJlbW90ZVJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzkwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjM5MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5QVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzk0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuU2VydmVyMFJlbW90ZVJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuU3ViMVJlbW90ZVJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzk2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzOTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMzk4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuU0VSMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIzOTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU0VSMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLlNlcnZlcjFSZW1vdGVSZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDAzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MDQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuQ0xJMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLkNsaWVudDFfMENsaWVudDFSZW1SZWFkV3JvbmdTRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MDYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMV8zIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLkNMSTEwIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDA4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkNMSTEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuU1RSSU5HMlNUUklOR18xXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMV80IiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLkNsaWVudDBSZW1vdGVSZWFkV3JvbmdSRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5DTEkwIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQxMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5DTEkwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuU0VSMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU0VSMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQxNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzJfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5TZXJ2ZXIwXzFSZW1vdGVSZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQxOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLlNUUklORzJTVFJJTkdfMl8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuU0VSMDEiIFR5cGU9IlNFUlZFUl8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MjAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU0VSMDEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5TVFJJTkcyU1RSSU5HXzMiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlUmVhZC5TZXJ2ZXIxXzBSZW1vdGVSZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLlNFUjEwIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNFUjEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVJlYWQuU1VCMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MjciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU1VCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVSZWFkLlNUUklORzJTVFJJTkdfMiIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQyOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXMldfMV8xXzRfMl8xXzEiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQzMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsxOTIuMTY4LjAuMTo0ODQwIzsxOmk9NF0iIERlc3RpbmF0aW9uPSJXMldfMV8xXzRfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQzMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuQ2xpZW50MVJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5QdWIxUmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLkZfTk9UXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MzUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQzNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlBVQjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0MzciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU2VydmVyMFJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5TdWIxUmVhZFdyb25nTm9SRHMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5GX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU1RSSU5HMlNUUklORyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU0VSMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TRVIwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDQ0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5TVFJJTkcyU1RSSU5HXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLkNsaWVudDBfMVJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDQ2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5GX05PVF8xXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ0NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU2VydmVyMVJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDQ4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5GX05PVF8xXzFfMV8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5DTEkxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDUxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5DTEkwMSIgVHlwZT0iQ0xJRU5UXzBfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ1MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNMSTAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5DbGllbnQxXzBSZWFkIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ1NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzFfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLkNMSTEwIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDU2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuQ0xJMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLlNUUklORzJTVFJJTkdfMV8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5GX05PVF8xXzFfMV80IiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuQ2xpZW50MFJlYWQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5DTEkwIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ2MSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNMSTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLlNFUjEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU0VSMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ2NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzFfMl8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ2NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU2VydmVyMF8xUmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLlNUUklORzJTVFJJTkdfMiIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ2NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU1RSSU5HMlNUUklOR18yXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLlNFUjAxIiBUeXBlPSJTRVJWRVJfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDY5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU0VSMDEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLlNUUklORzJTVFJJTkdfMyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU2VydmVyMV8wUmVhZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU0VSMTAiIFR5cGU9IlNFUlZFUl8xXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NzQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TRVIxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU1VCMiIgVHlwZT0iU1VCU0NSSUJFXzIiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TVUIyLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5TVFJJTkcyU1RSSU5HXzQiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0NzgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxSZWFkLlN1YjBSZWFkV3JvbmdOb1JEc18iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsUmVhZC5GX05PVF8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFJlYWQuU1VCMCIgVHlwZT0iU1VCU0NSSUJFXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0ODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXXzFfMV80XzJfMSIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDgyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtSRUFEOzE6aT00XSIgRGVzdGluYXRpb249IlcyV18xXzFfNF8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0ODMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXXzFfMV80XzJfMV8xXzEiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbV1JJVEU7MTppPTRdIiBEZXN0aW5hdGlvbj0iVzJXXzFfMV80XzJfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0ODUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDg2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLkNsaTFSZW1Xcml0ZUdvb2RTRHdSRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0ODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuQ2xpMlJlbVdyaXRlV3JvbmdTREdvb2RSRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0ODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuU2VydmVyMFJlbVdyaXRlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjQ5MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5TdWIxUmVtV3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLkZfTk9UXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDkzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0OTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuU0VSMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0OTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNFUjAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0OTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuU1RSSU5HMlNUUklOR18xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNDk3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLlNlcnZlcjFSZW1Xcml0ZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0OTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI0OTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNMSTEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuU1RSSU5HMlNUUklOR18xXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MDIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzFfNCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuQ2xpZW50MFJlbVdyaXRlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5DTEkwIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUwNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuQ0xJMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUwNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5TRVIxIiBUeXBlPSJTRVJWRVJfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUwNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0VSMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5GX05PVF8xXzFfMV8yXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTA5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLlNlcnZlcjBfMVJlbVdyaXRlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5TVFJJTkcyU1RSSU5HXzIiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MTEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuU1RSSU5HMlNUUklOR18yXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuU0VSMDEiIFR5cGU9IlNFUlZFUl8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MTMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNFUjAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTE0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLlNUUklORzJTVFJJTkdfMyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUxNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5TZXJ2ZXIxXzBSZW1Xcml0ZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzFfMl8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLlNFUjEwIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TRVIxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUxOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5TVUIyIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUyMCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU1VCMi5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5QdWIwUmVtV3JpdGVXcm9uZFNEXzEiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLkZfTk9UXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuUFVCMCIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTI0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5QVUIwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLkNMSTIiIFR5cGU9IkNMSUVOVF8yXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNMSTIuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8zIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUyOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJSZW1vdGVXcml0ZS5DbGkzV3JvbmdTRFdyb25nUkQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlJlbW90ZVdyaXRlLkNMSTMiIFR5cGU9IkNMSUVOVF8yXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MzAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNMSTMuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MzEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXXzFfMV80XzJfMV8xXzFfMSIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTMyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtXUklURTsxOTIuMTY4LjAuMTo0ODQwIzsxOmk9NF0iIERlc3RpbmF0aW9uPSJXMldfMV8xXzRfMl8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTMzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTM0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuQ2xpZW50MVdyaXRlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlB1YjFXcml0ZVdyb25kU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUzNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjUzOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlNlcnZlcjBXcml0ZSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1MzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxXcml0ZS5TdWIxV3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxXcml0ZS5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTQyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuU0VSMCIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NDMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0VSMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU0NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLkNsaWVudDBfMVdyaXRlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU0NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTQ3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuU2VydmVyMVdyaXRlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU0OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTQ5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NTAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuQ0xJMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLkNMSTAxIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTUyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNMSTAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTUzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuQ2xpZW50MV8wV3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTU0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxXcml0ZS5DTEkxMCIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU1NiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5DTEkxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlNUUklORzJTVFJJTkdfMV8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTU4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfNCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxXcml0ZS5DbGllbnQwV3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuQ0xJMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NjEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuQ0xJMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU2MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlNFUjEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTYzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNFUjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8yXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuU2VydmVyMF8xV3JpdGUiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTY2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuU1RSSU5HMlNUUklOR18yIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuU1RSSU5HMlNUUklOR18yXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxXcml0ZS5TRVIwMSIgVHlwZT0iU0VSVkVSXzBfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU2OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRVIwMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU3MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlNUUklORzJTVFJJTkdfMyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU3MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlNlcnZlcjFfMFdyaXRlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlNFUjEwIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTc0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNFUjEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuU1VCMiIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1NzYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU1VCMi5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLlBVQjEiIFR5cGU9IlBVQkxJU0hfMiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5QVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTc5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkxvY2FsV3JpdGUuUHViMFdyaXRlV3JvbmRTRF8xIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU4MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJMb2NhbFdyaXRlLkZfTk9UXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1ODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTG9jYWxXcml0ZS5QVUIwIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1ODIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuUFVCMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTg0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU1ldGhvZC5DbGllbnQxQ3JlYXRlTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU4NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuUHViMUNyZWF0ZU1ldGhvZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1ODYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU4NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlBVQjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1ODgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU4OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuU3ViMUNyZWF0ZU1ldGhvZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLkZfTk9UXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTkxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU1ldGhvZC5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTkyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU1ldGhvZC5TVUIxIiBUeXBlPSJTVUJTQ1JJQkVfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU5MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlNVQjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1OTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU5NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuQ2xpZW50MF8xQ3JlYXRlTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI1OTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLkNMSTEiIFR5cGU9IkNMSUVOVF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNTk4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ0xJMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjU5OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuQ0xJMDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MDAiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5DTEkwMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuQ2xpZW50MV8wQ3JlYXRlTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYwMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfMyIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLkNMSTEwIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjA0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ0xJMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLlNUUklORzJTVFJJTkdfMV8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU1ldGhvZC5GX05PVF8xXzFfMV80IiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuQ2xpZW50MENyZWF0ZU1ldGhvZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLkNMSTAiIFR5cGU9IkNMSUVOVF8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjA5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ0xJMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfMl8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDcmVhdGVNZXRob2QuQ3JlYXRlTWV0aG9kV3JvbmdOb09mUGFpcnMiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjEyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU1ldGhvZC5TVFJJTkcyU1RSSU5HXzIiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ3JlYXRlTWV0aG9kLlNFUjAxIiBUeXBlPSJTRVJWRVJfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjE0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuU0VSMDEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7L09iamVjdHMvdGVzdDEsMTppPTQ7L09iamVjdHMvdGVzdDIsMTppPTVdIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlNFUjAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNyZWF0ZU1ldGhvZC5TVFJJTkcyU1RSSU5HXzMiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MTciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xIiBUeXBlPSJXU1RSSU5HMldTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9NRVRIT0Q7MTppPTRdIiBEZXN0aW5hdGlvbj0iVzJXXzFfMV80XzJfMV8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjE5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuUHViMUNhbGxNZXRob2QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYyMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDYWxsTWV0aG9kLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYyMiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5QVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuU2VydmVyMENhbGxNZXRob2QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuU3ViMUNhbGxNZXRob2QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2FsbE1ldGhvZC5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuU1VCMSIgVHlwZT0iU1VCU0NSSUJFXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MjkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU1VCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYzMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDYWxsTWV0aG9kLlNFUjAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNFUjAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MzIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2FsbE1ldGhvZC5TVFJJTkcyU1RSSU5HXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2FsbE1ldGhvZC5TZXJ2ZXIxQ2FsbE1ldGhvZCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYzNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDYWxsTWV0aG9kLkZfTk9UXzFfMV8xXzQiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjM2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuQ2xpZW50MENhbGxNZXRob2QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjM3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuQ0xJMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2MzgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuQ0xJMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjYzOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ0FMTF9NRVRIT0Q7L09iamVjdHMvdGVzdDEsMTppPTQ7L09iamVjdHMvdGVzdDIsMTppPTVdIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5DTEkwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuU0VSMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NDEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU0VSMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDYWxsTWV0aG9kLkZfTk9UXzFfMV8xXzJfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2FsbE1ldGhvZC5TZXJ2ZXIwXzFDYWxsTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDYWxsTWV0aG9kLlNUUklORzJTVFJJTkdfMl8xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjQ1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuU0VSMDEiIFR5cGU9IlNFUlZFUl8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU0VSMDEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2FsbE1ldGhvZC5TVFJJTkcyU1RSSU5HXzMiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NDgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iQ2FsbE1ldGhvZC5TZXJ2ZXIxXzBDYWxsTWV0aG9kIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY0OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDYWxsTWV0aG9kLkZfTk9UXzFfMV8xXzJfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDYWxsTWV0aG9kLlNFUjEwIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjUxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNFUjEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjUyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuQ0xJMF8xIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY1MyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5DTEkwXzEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NBTExfTUVUSE9EOywxOmk9NF0iIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLkNMSTBfMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY1NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJDYWxsTWV0aG9kLkNsaWVudENhbGxOb0Jyb3dzZVBhdGgiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjU2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkNhbGxNZXRob2QuRl9OT1RfMV8xXzFfNF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJXMldfMV8xXzRfMl8xXzFfMV8xXzFfMSIgVHlwZT0iV1NUUklORzJXU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjU4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDQUxMX01FVEhPRDsxOmk9NF0iIERlc3RpbmF0aW9uPSJXMldfMV8xXzRfMl8xXzFfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY1OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5DbGllbnQxU3ViIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY2MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuUHViMVN1YiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLkZfTk9UXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY2NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlBVQjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY2NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU2VydmVyMFN1YiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLlN1YjFTdWJXcm9uZ05vUkRzIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY2OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuRl9OT1RfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLlNUUklORzJTVFJJTkciIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLlNFUjAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjcxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU0VSMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY3MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU1RSSU5HMlNUUklOR18xIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjczIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5DbGllbnQwXzFTdWIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5GX05PVF8xXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY3NSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU2VydmVyMVN1YiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzIiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjc3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5DTEkxIiBUeXBlPSJDTElFTlRfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY3OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNMSTEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2NzkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLkNMSTAxIiBUeXBlPSJDTElFTlRfMF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjgwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuQ0xJMDEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2ODEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLkNsaWVudDFfMFN1YiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2ODIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzMiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjgzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5DTEkxMCIgVHlwZT0iQ0xJRU5UXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY4NCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNMSTEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjg1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5TVFJJTkcyU1RSSU5HXzFfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY4NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfNCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2ODciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLkNsaWVudDBTdWIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjg4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5DTEkwIiBUeXBlPSJDTElFTlRfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY4OSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNMSTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2OTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLlNFUjEiIFR5cGU9IlNFUlZFUl8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjkxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU0VSMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY5MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMl8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU2VydmVyMF8xU3ViIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY5NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU1RSSU5HMlNUUklOR18yIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjk1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5TVFJJTkcyU1RSSU5HXzJfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU0VSMDEiIFR5cGU9IlNFUlZFUl8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI2OTciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TRVIwMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjY5OCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU1RSSU5HMlNUUklOR18zIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNjk5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5TZXJ2ZXIxXzBTdWIiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzAwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5GX05PVF8xXzFfMV8yXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MDEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLlNFUjEwIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzAyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU0VSMTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MDMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iU3Vic2NyaWJlLlNVQjIiIFR5cGU9IlNVQlNDUklCRV8yIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzA0IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU1VCMi5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcwNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU1RSSU5HMlNUUklOR180IiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5TdWIwU3ViV3JvbmdOb1JEc18iIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzA3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlN1YnNjcmliZS5GX05PVF8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTdWJzY3JpYmUuU1VCMCIgVHlwZT0iU1VCU0NSSUJFXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MDkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TVUIwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzEwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IlcyV18xXzFfNF8yXzFfMV8xXzFfMV8xXzEiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcxMSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbU1VCU0NSSUJFOzE6aT00XSIgRGVzdGluYXRpb249IlcyV18xXzFfNF8yXzFfMV8xXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iVzJXXzIiIFR5cGU9IldTVFJJTkcyV1NUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcxMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbUkVBRDsvT2JqZWN0cy90ZXN0MSwxOmc9Ml0iIERlc3RpbmF0aW9uPSJXMldfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcxNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MTUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuQ2xpZW50MUdVSUQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLlB1YjFHVUlEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcxNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzE4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLlBVQjEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcxOSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuUFVCMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcyMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuU2VydmVyMEdVSUQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLlN1YjFHVUlEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcyMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5GX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjcyNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLlNVQjEiIFR5cGU9IlNVQlNDUklCRV8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TVUIxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLlNFUjAiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzI4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TRVIwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjczMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5DbGllbnQwXzFHVUlEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjczMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjczMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5TZXJ2ZXIxR1VJRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MzMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xXzFfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MzQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuQ0xJMSIgVHlwZT0iQ0xJRU5UXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MzUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkNMSTEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MzYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuQ0xJMDEiIFR5cGU9IkNMSUVOVF8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3MzciIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkNMSTAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzM4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLkNsaWVudDFfMEdVSUQiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzM5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzMiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzQwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLkNMSTEwIiBUeXBlPSJDTElFTlRfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzQxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5DTEkxMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc0MiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzFfMSIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc0MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV80IiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc0NCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5DbGllbnQwR1VJRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuQ0xJMCIgVHlwZT0iQ0xJRU5UXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NDYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkNMSTAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NDciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuU0VSMSIgVHlwZT0iU0VSVkVSXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NDgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNFUjEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xXzFfMl8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc1MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5TZXJ2ZXIwXzFHVUlEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc1MSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzIiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuU1RSSU5HMlNUUklOR18yXzEiIFR5cGU9IlNUUklORzJTVFJJTkciIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuU0VSMDEiIFR5cGU9IlNFUlZFUl8wXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNFUjAxLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzU1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkdVSURJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc1NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5TZXJ2ZXIxXzBHVUlEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc1NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzFfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NTgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iR1VJRElkZW50aWZpZXIuU0VSMTAiIFR5cGU9IlNFUlZFUl8xXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NTkiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNFUjEwLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzYwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5TRVJWRVJfMV8wIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzYxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMC5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc2MiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbQ1JFQVRFX09CSkVDVDsvT2JqZWN0cy9NeU9iamVjdF0iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc2MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzY0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5jcmVhdGVub1B1Ymxpc2hXcm9uZ1BhaXJzQmFkU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzY1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5jcmVhdGVub1B1Ymxpc2hHb29kUGFpcnNCYWRTRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iY3JlYXRlT2JqZWN0LkZfTk9UXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzY3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5jcmVhdGVub1B1Ymxpc2hHb29kUGFpcnNHb29kU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzY4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5GX05PVF8yIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc2OSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuY3JlYXRlbm9QdWJsaXNoV3JvbmdQYWlyc0dvb2RTRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3NzAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iY3JlYXRlT2JqZWN0LkZfTk9UXzMiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzcxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5jcmVhdGVwdWJsaXNoR29vZFBhaXJzQmFkU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzcyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5GX05PVF80IiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc3MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuY3JlYXRlcHVibGlzaFdyb25nUGFpcnNHb29kU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzc0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5GX05PVF8xXzEiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzc1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNyZWF0ZU9iamVjdC5jcmVhdGVwdWJsaXNoV3JvbmdQYWlyc0JhZFNEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc3NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuRl9OT1RfM18xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc3NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMF8yIiBUeXBlPSJTRVJWRVJfMV8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzc4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMF8yLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzc5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfT0JKRUNUOy9PYmplY3RzL015T2JqZWN0Oy9PYmplY3RzL015T2JqZWN0XSIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5TRVJWRVJfMV8wXzIuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3ODAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iY3JlYXRlT2JqZWN0LlNFUlZFUl8xXzBfMSIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3ODEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5TRVJWRVJfMV8wXzEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3ODIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7L09iamVjdHMvTXlPYmplY3RdIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlNFUlZFUl8xXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc4MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuQk9PTDJCT09MIiBUeXBlPSJCT09MMkJPT0wiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3ODQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iY3JlYXRlT2JqZWN0LlNFUlZFUl8xXzBfMyIgVHlwZT0iU0VSVkVSXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3ODUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5TRVJWRVJfMV8wXzMuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3ODYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7L09iamVjdHMvTXlPYmplY3Q7L09iamVjdHMvTXlPYmplY3RdIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlNFUlZFUl8xXzBfMy5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc4NyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuUFVCTElTSF8wXzEiIFR5cGU9IlBVQkxJU0hfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc4OCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlBVQkxJU0hfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iNzg5IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtDUkVBVEVfT0JKRUNUOy9PYmplY3RzL015T2JqZWN0XSIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5QVUJMSVNIXzBfMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc5MCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuUFVCTElTSF8xIiBUeXBlPSJQVUJMSVNIXzAiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3OTEiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5QVUJMSVNIXzEuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3OTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7L09iamVjdHMvTXlPYmplY3RdIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlBVQkxJU0hfMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc5MyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjcmVhdGVPYmplY3QuUFVCTElTSF8wIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3OTQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5QVUJMSVNIXzAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3OTUiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0NSRUFURV9PQkpFQ1Q7L09iamVjdHMvTXlPYmplY3Q7L09iamVjdHMvTXlPYmplY3RdIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlBVQkxJU0hfMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc5NiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuU0VSVkVSXzFfMCIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijc5NyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LlNFUlZFUl8xXzAuUUkiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3OTgiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ib3BjX3VhW0RFTEVURV9PQkpFQ1Q7L09iamVjdHMvTXlPYmplY3Q7L09iamVjdHMvTXlPYmplY3RdIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LlNFUlZFUl8xXzAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI3OTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgwMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuZGVsZXRlbm9QdWJsaXNoV3JvbmdQYWlyc0JhZFNEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgwMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuZGVsZXRlbm9QdWJsaXNoR29vZFBhaXJzQmFkU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODAyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImRlbGV0ZU9iamVjdC5GX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgwMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuZGVsZXRlbm9QdWJsaXNoR29vZFBhaXJzR29vZFNEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgwNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuRl9OT1RfMiIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MDUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LmRlbGV0ZW5vUHVibGlzaFdyb25nUGFpcnNHb29kU0QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODA2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImRlbGV0ZU9iamVjdC5GX05PVF8zIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgwNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuZGVsZXRlcHVibGlzaEdvb2RQYWlyc0JhZFNEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgwOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuRl9OT1RfNCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MDkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LmRlbGV0ZXB1Ymxpc2hXcm9uZ1BhaXJzR29vZFNEIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuRl9OT1RfMV8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkZWxldGVPYmplY3QuZGVsZXRlcHVibGlzaFdyb25nUGFpcnNCYWRTRCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MTIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LkZfTk9UXzNfMSIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MTMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LlNFUlZFUl8xXzBfMiIgVHlwZT0iU0VSVkVSXzFfMCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgxNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LlNFUlZFUl8xXzBfMi5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgxNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbREVMRVRFX09CSkVDVDsvT2JqZWN0cy9NeU9iamVjdF0iIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuU0VSVkVSXzFfMF8yLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODE2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wXzEiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODE3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuU0VSVkVSXzFfMF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODE4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtERUxFVEVfT0JKRUNUOy9PYmplY3RzL015T2JqZWN0Oy9PYmplY3RzL015T2JqZWN0XSIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MTkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODIwIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wXzMiIFR5cGU9IlNFUlZFUl8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODIxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuU0VSVkVSXzFfMF8zLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODIyIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtERUxFVEVfT0JKRUNUOy9PYmplY3RzL015T2JqZWN0XSIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wXzMuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LlBVQkxJU0hfMF8xIiBUeXBlPSJQVUJMSVNIXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5QVUJMSVNIXzBfMS5RSSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgyNSIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJvcGNfdWFbREVMRVRFX09CSkVDVDsvT2JqZWN0cy9NeU9iamVjdDsvT2JqZWN0cy9NeU9iamVjdF0iIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuUFVCTElTSF8wXzEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MjYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LlBVQkxJU0hfMSIgVHlwZT0iUFVCTElTSF8wIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuUFVCTElTSF8xLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODI4IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtERUxFVEVfT0JKRUNUOy9PYmplY3RzL015T2JqZWN0Oy9PYmplY3RzL015T2JqZWN0XSIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5QVUJMSVNIXzEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iZGVsZXRlT2JqZWN0LlBVQkxJU0hfMCIgVHlwZT0iUFVCTElTSF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODMwIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuUFVCTElTSF8wLlFJIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODMxIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im9wY191YVtERUxFVEVfT0JKRUNUOy9PYmplY3RzL015T2JqZWN0XSIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5QVUJMSVNIXzAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xLkNORiIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkNsaWVudDFOb1NlbWljb2xvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uUHViMU5vU2VtaWNvbG9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uUHViMU5vU2VtaWNvbG9uLkNORiIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNFUjAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjgzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU0VSMC5JTklUTyIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TZXJ2ZXIwTm9TZW1pY29sb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5TdWIxTm9TZW1pY29sb24uQ05GIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uUFVCMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5QVUIxLklOSVRPIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlNVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9ULkNORiIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlN1YjFOb1NlbWljb2xvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uQ2xpZW50MF8xTm9TZW1pY29sb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNlcnZlcjFOb1NlbWljb2xvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkNMSTEuSU5JVE8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkNMSTAxLklOSVRPIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uRl9OT1RfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkNMSTAuSU5JVE8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uRl9OT1RfMV8xXzFfNC5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DbGllbnQwTm9TZW1pY29sb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkNsaWVudDFfME5vU2VtaWNvbG9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uQ0xJMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg0OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU0VSMS5JTklUTyIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uU2VydmVyMF8xTm9TZW1pY29sb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5TRVIwMS5JTklUTyIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlNlcnZlcjBOb1NlbWljb2xvbi5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkNsaWVudDBOb1NlbWljb2xvbi5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkNsaWVudDFOb1NlbWljb2xvbi5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5DbGllbnQwXzFOb1NlbWljb2xvbi5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5DbGllbnQxXzBOb1NlbWljb2xvbi5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TRVIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlNlcnZlcjFOb1NlbWljb2xvbi5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TRVIwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TZXJ2ZXIxXzBOb1NlbWljb2xvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlNlcnZlcjFfME5vU2VtaWNvbG9uLkNORiIgRGVzdGluYXRpb249IlcyV18xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU2VydmVyMF8xTm9TZW1pY29sb24uQ05GIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uU0VSMTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU0VSMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkNsaWVudDFOb1NlbWljb2xvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5QdWIxTm9TZW1pY29sb24uY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlNFUjAuUU8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TZXJ2ZXIwTm9TZW1pY29sb24uY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5QVUIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlBVQjEuUU8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5TVUIxLlFPIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uRl9OT1QuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9ULk9VVCIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlN1YjFOb1NlbWljb2xvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU1VCMS5SRF8xIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uU1RSSU5HMlNUUklORy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uRl9OT1RfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DbGllbnQwXzFOb1NlbWljb2xvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uRl9OT1RfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TZXJ2ZXIxTm9TZW1pY29sb24uY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkNMSTEuUU8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uQ0xJMDEuUU8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5TVFJJTkcyU1RSSU5HXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkNMSTEuUkRfMSIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNUUklORzJTVFJJTkdfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV80Lk9VVCIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkNsaWVudDBOb1NlbWljb2xvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uQ0xJMC5RTyIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uQ2xpZW50MV8wTm9TZW1pY29sb24uY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkNMSTEwLlFPIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uRl9OT1RfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU0VSMS5RTyIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLkZfTk9UXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TZXJ2ZXIwXzFOb1NlbWljb2xvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uQ0xJMDEuUkRfMSIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNUUklORzJTVFJJTkdfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU1RSSU5HMlNUUklOR18yLk9VVCIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLkNMSTEwLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlNUUklORzJTVFJJTkdfMl8xLk9VVCIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNFUjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU0VSMS5SRF8xIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uU1RSSU5HMlNUUklOR18yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4ODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vU2VtaWNvbG9uLlNFUjAxLlFPIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uRl9OT1RfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5TRVIwMS5SRF8xIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uU1RSSU5HMlNUUklOR18zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TZXJ2ZXIxXzBOb1NlbWljb2xvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU0VSMTAuUU8iIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5GX05PVF8xXzFfMV8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9TZW1pY29sb24uU1RSSU5HMlNUUklOR18zLk9VVCIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNFUjEwLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xLkNORiIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkNsaWVudDFFbXB0eUFjdGlvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uUHViMUVtcHR5QWN0aW9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uUHViMUVtcHR5QWN0aW9uLkNORiIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNFUjAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijg5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uU0VSMC5JTklUTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TZXJ2ZXIwRW1wdHlBY3Rpb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TdWIxRW1wdHlBY3Rpb24uQ05GIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uUFVCMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iODk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5QVUIxLklOSVRPIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI4OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLlNVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5GX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkZfTk9ULkNORiIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlN1YjFFbXB0eUFjdGlvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uQ2xpZW50MF8xRW1wdHlBY3Rpb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNlcnZlcjFFbXB0eUFjdGlvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkNMSTEuSU5JVE8iIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkNMSTAxLklOSVRPIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkNMSTAuSU5JVE8iIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xXzFfNC5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DbGllbnQwRW1wdHlBY3Rpb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkNsaWVudDFfMEVtcHR5QWN0aW9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uQ0xJMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uU0VSMS5JTklUTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU2VydmVyMF8xRW1wdHlBY3Rpb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TRVIwMS5JTklUTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLlNlcnZlcjBFbXB0eUFjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DTEkwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkNsaWVudDBFbXB0eUFjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DTEkxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkNsaWVudDFFbXB0eUFjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DTEkwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5DbGllbnQwXzFFbXB0eUFjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DTEkxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5DbGllbnQxXzBFbXB0eUFjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TRVIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLlNlcnZlcjFFbXB0eUFjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TRVIwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TZXJ2ZXIxXzBFbXB0eUFjdGlvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLlNlcnZlcjFfMEVtcHR5QWN0aW9uLkNORiIgRGVzdGluYXRpb249IlcyV18xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TZXJ2ZXIwXzFFbXB0eUFjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TRVIxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TRVIxMC5JTklUTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uQ2xpZW50MUVtcHR5QWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5GX05PVF8xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlB1YjFFbXB0eUFjdGlvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uU0VSMC5RTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNlcnZlcjBFbXB0eUFjdGlvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlBVQjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uUFVCMS5RTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLlNVQjEuUU8iIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU3ViMUVtcHR5QWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TVUIxLlJEXzEiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkNsaWVudDBfMUVtcHR5QWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNlcnZlcjFFbXB0eUFjdGlvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uQ0xJMS5RTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5DTEkwMS5RTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLlNUUklORzJTVFJJTkdfMV8xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkNMSTEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uQ0xJMS5SRF8xIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU1RSSU5HMlNUUklOR18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uQ2xpZW50MEVtcHR5QWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5DTEkwLlFPIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xXzFfNC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjkzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DbGllbnQxXzBFbXB0eUFjdGlvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uQ0xJMTAuUU8iIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TRVIxLlFPIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNlcnZlcjBfMUVtcHR5QWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5DTEkwMS5SRF8xIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU1RSSU5HMlNUUklOR18yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTQ0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HXzIuT1VUIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uQ0xJMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uU1RSSU5HMlNUUklOR18yXzEuT1VUIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU0VSMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TRVIxLlJEXzEiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZW1wdHlBY3Rpb24uU0VSMDEuUU8iIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5GX05PVF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLlNFUjAxLlJEXzEiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNlcnZlcjFfMEVtcHR5QWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TRVIxMC5RTyIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkZfTk9UXzFfMV8xXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJlbXB0eUFjdGlvbi5TVFJJTkcyU1RSSU5HXzMuT1VUIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU0VSMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNsaWVudDFOb0V4aXN0aW5nQWN0aW9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xLkNORiIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uUHViMU5vRXhpc3RpbmdBY3Rpb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlB1YjFOb0V4aXN0aW5nQWN0aW9uLkNORiIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uU0VSMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjAuSU5JVE8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uU2VydmVyME5vRXhpc3RpbmdBY3Rpb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlN1YjFOb0V4aXN0aW5nQWN0aW9uLkNORiIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uUFVCMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlBVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlNVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlN1YjFOb0V4aXN0aW5nQWN0aW9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uQ2xpZW50MF8xTm9FeGlzdGluZ0FjdGlvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNlcnZlcjFOb0V4aXN0aW5nQWN0aW9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5DTEkxLklOSVRPIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMDEuSU5JVE8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTAuSU5JVE8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzQuQ05GIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5DbGllbnQwTm9FeGlzdGluZ0FjdGlvbi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNsaWVudDFfME5vRXhpc3RpbmdBY3Rpb24uUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTEwLklOSVRPIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TRVIxLklOSVRPIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TZXJ2ZXIwXzFOb0V4aXN0aW5nQWN0aW9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TRVIwMS5JTklUTyIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TZXJ2ZXIwTm9FeGlzdGluZ0FjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5DbGllbnQwTm9FeGlzdGluZ0FjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5DbGllbnQxTm9FeGlzdGluZ0FjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uQ2xpZW50MF8xTm9FeGlzdGluZ0FjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uQ2xpZW50MV8wTm9FeGlzdGluZ0FjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TZXJ2ZXIxTm9FeGlzdGluZ0FjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5NzgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TZXJ2ZXIxXzBOb0V4aXN0aW5nQWN0aW9uLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TZXJ2ZXIxXzBOb0V4aXN0aW5nQWN0aW9uLkNORiIgRGVzdGluYXRpb249IlcyV18xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uU2VydmVyMF8xTm9FeGlzdGluZ0FjdGlvbi5DTkYiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uU0VSMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNsaWVudDFOb0V4aXN0aW5nQWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzEuT1VUIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5QdWIxTm9FeGlzdGluZ0FjdGlvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TRVIwLlFPIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xLk9VVCIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uU2VydmVyME5vRXhpc3RpbmdBY3Rpb24uY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uUFVCMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlBVQjEuUU8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uU1VCMS5RTyIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1QuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5ODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TdWIxTm9FeGlzdGluZ0FjdGlvbi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9Ijk5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TVUIxLlJEXzEiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5OTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNsaWVudDBfMU5vRXhpc3RpbmdBY3Rpb24uY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNlcnZlcjFOb0V4aXN0aW5nQWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTEuUU8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTAxLlFPIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlNUUklORzJTVFJJTkdfMV8xLk9VVCIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTEuUkRfMSIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uU1RSSU5HMlNUUklOR18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5OTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNsaWVudDBOb0V4aXN0aW5nQWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iOTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTAuUU8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSI5OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNsaWVudDFfME5vRXhpc3RpbmdBY3Rpb24uY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5DTEkxMC5RTyIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjEuUU8iIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkZfTk9UXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TZXJ2ZXIwXzFOb0V4aXN0aW5nQWN0aW9uLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMDEuUkRfMSIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uU1RSSU5HMlNUUklOR18yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uU1RSSU5HMlNUUklOR18yLk9VVCIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uQ0xJMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlNUUklORzJTVFJJTkdfMl8xLk9VVCIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uU0VSMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vRXhpc3RpbmdBY3Rpb24uU0VSMS5SRF8xIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TVFJJTkcyU1RSSU5HXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjAxLlFPIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TRVIwMS5SRF8xIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TVFJJTkcyU1RSSU5HXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5GX05PVF8xXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNlcnZlcjFfME5vRXhpc3RpbmdBY3Rpb24uY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TRVIxMC5RTyIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uRl9OT1RfMV8xXzFfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9FeGlzdGluZ0FjdGlvbi5TVFJJTkcyU1RSSU5HXzMuT1VUIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TRVIxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xLkNORiIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkNsaWVudDFVbmtub3duSWRlbnRpZmllci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMS5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5QdWIxVW5rbm93bklkZW50aWZpZXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLlB1YjFVbmtub3duSWRlbnRpZmllci5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TRVIwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU0VSMC5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLlNlcnZlcjBVbmtub3duSWRlbnRpZmllci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU3ViMVVua25vd25JZGVudGlmaWVyLkNORiIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLlBVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5QVUIxLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU1VCMS5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TdWIxVW5rbm93bklkZW50aWZpZXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ2xpZW50MF8xVW5rbm93bklkZW50aWZpZXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU2VydmVyMVVua25vd25JZGVudGlmaWVyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5DTEkxLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkNMSTAxLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuQ0xJMC5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzQuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ2xpZW50MFVua25vd25JZGVudGlmaWVyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkNsaWVudDFfMFVua25vd25JZGVudGlmaWVyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5DTEkxMC5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLlNFUjEuSU5JVE8iIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU2VydmVyMF8xVW5rbm93bklkZW50aWZpZXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLlNFUjAxLklOSVRPIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5TZXJ2ZXIwVW5rbm93bklkZW50aWZpZXIuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ0xJMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkNsaWVudDBVbmtub3duSWRlbnRpZmllci5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5DTEkxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuQ2xpZW50MVVua25vd25JZGVudGlmaWVyLkNORiIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkNMSTAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuQ2xpZW50MF8xVW5rbm93bklkZW50aWZpZXIuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ0xJMTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5DbGllbnQxXzBVbmtub3duSWRlbnRpZmllci5DTkYiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TRVIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU2VydmVyMVVua25vd25JZGVudGlmaWVyLkNORiIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLlNFUjAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDAzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU2VydmVyMV8wVW5rbm93bklkZW50aWZpZXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLlNlcnZlcjFfMFVua25vd25JZGVudGlmaWVyLkNORiIgRGVzdGluYXRpb249IlcyV18xXzFfNC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU2VydmVyMF8xVW5rbm93bklkZW50aWZpZXIuQ05GIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU0VSMTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5TRVIxMC5JTklUTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5DbGllbnQxVW5rbm93bklkZW50aWZpZXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5QdWIxVW5rbm93bklkZW50aWZpZXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU0VSMC5RTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU2VydmVyMFVua25vd25JZGVudGlmaWVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5QVUIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuUFVCMS5RTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU1VCMS5RTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkZfTk9ULk9VVCIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLlN1YjFVbmtub3duSWRlbnRpZmllci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5TVUIxLlJEXzEiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ2xpZW50MF8xVW5rbm93bklkZW50aWZpZXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TZXJ2ZXIxVW5rbm93bklkZW50aWZpZXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuQ0xJMS5RTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkNMSTAxLlFPIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5DTEkxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuQ0xJMS5SRF8xIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU1RSSU5HMlNUUklOR18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5DbGllbnQwVW5rbm93bklkZW50aWZpZXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuQ0xJMC5RTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5DbGllbnQxXzBVbmtub3duSWRlbnRpZmllci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5DTEkxMC5RTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU0VSMS5RTyIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkZfTk9UXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLlNlcnZlcjBfMVVua25vd25JZGVudGlmaWVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLkNMSTAxLlJEXzEiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU1RSSU5HMlNUUklOR18yLk9VVCIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkNMSTEwLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU1RSSU5HMlNUUklOR18yXzEuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU0VSMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLlNFUjEuUkRfMSIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLlNFUjAxLlFPIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlVua25vd25JZGVudGlmaWVyLlNFUjAxLlJEXzEiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuRl9OT1RfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU2VydmVyMV8wVW5rbm93bklkZW50aWZpZXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVW5rbm93bklkZW50aWZpZXIuU0VSMTAuUU8iIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJVbmtub3duSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU0VSMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNsaWVudDFXcm9uZ0lkZW50aWZpZXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5GX05PVF8xLkNORiIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5QdWIxV3JvbmdJZGVudGlmaWVyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuUHViMVdyb25nSWRlbnRpZmllci5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU0VSMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TRVIwLklOSVRPIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMFdyb25nSWRlbnRpZmllci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLlN1YjFXcm9uZ0lkZW50aWZpZXIuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlBVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuUFVCMS5JTklUTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU1VCMS5JTklUTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9ULkNORiIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TdWIxV3JvbmdJZGVudGlmaWVyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuQ2xpZW50MF8xV3JvbmdJZGVudGlmaWVyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMVdyb25nSWRlbnRpZmllci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkNMSTEuSU5JVE8iIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5DTEkwMS5JTklUTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMC5JTklUTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzFfNC5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuQ2xpZW50MFdyb25nSWRlbnRpZmllci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNsaWVudDFfMFdyb25nSWRlbnRpZmllci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkNMSTEwLklOSVRPIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TRVIxLklOSVRPIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNlcnZlcjBfMVdyb25nSWRlbnRpZmllci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLlNFUjAxLklOSVRPIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLlNlcnZlcjBXcm9uZ0lkZW50aWZpZXIuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNMSTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuQ2xpZW50MFdyb25nSWRlbnRpZmllci5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwOTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5DbGllbnQxV3JvbmdJZGVudGlmaWVyLkNORiIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5DTEkwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5DbGllbnQwXzFXcm9uZ0lkZW50aWZpZXIuQ05GIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNMSTEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDA5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkNsaWVudDFfMFdyb25nSWRlbnRpZmllci5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU0VSMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TZXJ2ZXIxV3JvbmdJZGVudGlmaWVyLkNORiIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TRVIwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwwOTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMV8wV3JvbmdJZGVudGlmaWVyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMV8wV3JvbmdJZGVudGlmaWVyLkNORiIgRGVzdGluYXRpb249IlcyV18xXzFfNF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMF8xV3JvbmdJZGVudGlmaWVyLkNORiIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TRVIxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TRVIxMC5JTklUTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDEwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5DbGllbnQxV3JvbmdJZGVudGlmaWVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5GX05PVF8xLk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5QdWIxV3JvbmdJZGVudGlmaWVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TRVIwLlFPIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xLk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TZXJ2ZXIwV3JvbmdJZGVudGlmaWVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlBVQjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuUFVCMS5RTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TVUIxLlFPIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5GX05PVC5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU3ViMVdyb25nSWRlbnRpZmllci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU1VCMS5SRF8xIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDExMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNsaWVudDBfMVdyb25nSWRlbnRpZmllci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMVdyb25nSWRlbnRpZmllci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMS5RTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMDEuUU8iIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU1RSSU5HMlNUUklOR18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNMSTEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMS5SRF8xIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV80Lk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5DbGllbnQwV3JvbmdJZGVudGlmaWVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5DTEkwLlFPIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDExOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNsaWVudDFfMFdyb25nSWRlbnRpZmllci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMTAuUU8iIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuRl9OT1RfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU0VSMS5RTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNlcnZlcjBfMVdyb25nSWRlbnRpZmllci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMDEuUkRfMSIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDEyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMi5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTI1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU1RSSU5HMlNUUklOR18yXzEuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNFUjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU0VSMS5SRF8xIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TRVIwMS5RTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDEyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iV3JvbmdJZGVudGlmaWVyLlNFUjAxLlJEXzEiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU1RSSU5HMlNUUklOR18zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuU2VydmVyMV8wV3JvbmdJZGVudGlmaWVyLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ildyb25nSWRlbnRpZmllci5TRVIxMC5RTyIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXcm9uZ0lkZW50aWZpZXIuU1RSSU5HMlNUUklOR18zLk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TRVIxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xLkNORiIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNsaWVudDF3cm9uZ05vZGVJZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDEzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMS5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5QdWIxd3JvbmdOb2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLlB1YjF3cm9uZ05vZGVJZC5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5TRVIwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDEzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU0VSMC5JTklUTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDEzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNlcnZlcjB3cm9uZ05vZGVJZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDEzNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU3ViMXdyb25nTm9kZUlkLkNORiIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlBVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5QVUIxLklOSVRPIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDEzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU1VCMS5JTklUTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5TdWIxd3JvbmdOb2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuQ2xpZW50MF8xd3JvbmdOb2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU2VydmVyMXdyb25nTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5DTEkxLklOSVRPIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkNMSTAxLklOSVRPIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuQ0xJMC5JTklUTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzQuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuQ2xpZW50MHdyb25nTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5GX05PVF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNsaWVudDFfMHdyb25nTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5DTEkxMC5JTklUTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLlNFUjEuSU5JVE8iIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5GX05PVF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU2VydmVyMF8xd3JvbmdOb2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLlNFUjAxLklOSVRPIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5TZXJ2ZXIwd3JvbmdOb2RlSWQuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuQ0xJMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkNsaWVudDB3cm9uZ05vZGVJZC5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5DTEkxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuQ2xpZW50MXdyb25nTm9kZUlkLkNORiIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNMSTAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuQ2xpZW50MF8xd3JvbmdOb2RlSWQuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuQ0xJMTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5DbGllbnQxXzB3cm9uZ05vZGVJZC5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5TRVIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU2VydmVyMXdyb25nTm9kZUlkLkNORiIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNFUjAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU2VydmVyMV8wd3JvbmdOb2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLlNlcnZlcjFfMHdyb25nTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlcyV18xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU2VydmVyMF8xd3JvbmdOb2RlSWQuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU0VSMTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5TRVIxMC5JTklUTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTYyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5GX05PVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5DbGllbnQxd3JvbmdOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5QdWIxd3JvbmdOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU0VSMC5RTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5GX05PVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU2VydmVyMHdyb25nTm9kZUlkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5QVUIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuUFVCMS5RTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU1VCMS5RTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkZfTk9ULk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlN1YjF3cm9uZ05vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5TVUIxLlJEXzEiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuQ2xpZW50MF8xd3JvbmdOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5TZXJ2ZXIxd3JvbmdOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuQ0xJMS5RTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxNzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkNMSTAxLlFPIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5TVFJJTkcyU1RSSU5HXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5DTEkxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuQ0xJMS5SRF8xIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU1RSSU5HMlNUUklOR18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE3NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5DbGllbnQwd3JvbmdOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuQ0xJMC5RTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5DbGllbnQxXzB3cm9uZ05vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5DTEkxMC5RTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU0VSMS5RTyIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkZfTk9UXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNlcnZlcjBfMXdyb25nTm9kZUlkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLkNMSTAxLlJEXzEiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5TVFJJTkcyU1RSSU5HXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU1RSSU5HMlNUUklOR18yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNMSTEwLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU1RSSU5HMlNUUklOR18yXzEuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU0VSMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLlNFUjEuUkRfMSIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNUUklORzJTVFJJTkdfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLlNFUjAxLlFPIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nTm9kZUlkLlNFUjAxLlJEXzEiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5TVFJJTkcyU1RSSU5HXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuRl9OT1RfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU2VydmVyMV8wd3JvbmdOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdOb2RlSWQuU0VSMTAuUU8iIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5GX05PVF8xXzFfMV8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ05vZGVJZC5TVFJJTkcyU1RSSU5HXzMuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU0VSMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkNsaWVudDF3cm9uZ1BhaXIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5GX05PVF8xLkNORiIgRGVzdGluYXRpb249Indyb25nUGFpci5QdWIxd3JvbmdQYWlyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuUHViMXdyb25nUGFpci5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU0VSMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwxOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5TRVIwLklOSVRPIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE5NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU2VydmVyMHdyb25nUGFpci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDE5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlN1YjF3cm9uZ1BhaXIuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLlBVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuUFVCMS5JTklUTyIgRGVzdGluYXRpb249Indyb25nUGFpci5GX05PVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMTk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuU1VCMS5JTklUTyIgRGVzdGluYXRpb249Indyb25nUGFpci5GX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkZfTk9ULkNORiIgRGVzdGluYXRpb249Indyb25nUGFpci5TdWIxd3JvbmdQYWlyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ2xpZW50MF8xd3JvbmdQYWlyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU2VydmVyMXdyb25nUGFpci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkNMSTEuSU5JVE8iIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5DTEkwMS5JTklUTyIgRGVzdGluYXRpb249Indyb25nUGFpci5GX05PVF8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuQ0xJMC5JTklUTyIgRGVzdGluYXRpb249Indyb25nUGFpci5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfNC5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ2xpZW50MHdyb25nUGFpci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkNsaWVudDFfMHdyb25nUGFpci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkNMSTEwLklOSVRPIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5TRVIxLklOSVRPIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLlNlcnZlcjBfMXdyb25nUGFpci5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNFUjAxLklOSVRPIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNlcnZlcjB3cm9uZ1BhaXIuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkNMSTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuQ2xpZW50MHdyb25nUGFpci5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ0xJMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5DbGllbnQxd3JvbmdQYWlyLkNORiIgRGVzdGluYXRpb249Indyb25nUGFpci5DTEkwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5DbGllbnQwXzF3cm9uZ1BhaXIuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkNMSTEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkNsaWVudDFfMHdyb25nUGFpci5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU0VSMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5TZXJ2ZXIxd3JvbmdQYWlyLkNORiIgRGVzdGluYXRpb249Indyb25nUGFpci5TRVIwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5GX05PVF8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU2VydmVyMV8wd3JvbmdQYWlyLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuU2VydmVyMV8wd3JvbmdQYWlyLkNORiIgRGVzdGluYXRpb249IlcyV18xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNlcnZlcjBfMXdyb25nUGFpci5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU0VSMTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuU0VSMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5GX05PVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ2xpZW50MXdyb25nUGFpci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuUHViMXdyb25nUGFpci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuU0VSMC5RTyIgRGVzdGluYXRpb249Indyb25nUGFpci5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU2VydmVyMHdyb25nUGFpci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5QVUIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlBVQjEuUU8iIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuRl9OT1RfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuU1VCMS5RTyIgRGVzdGluYXRpb249Indyb25nUGFpci5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLlN1YjF3cm9uZ1BhaXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIzMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNVQjEuUkRfMSIgRGVzdGluYXRpb249Indyb25nUGFpci5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5GX05PVF8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5DbGllbnQwXzF3cm9uZ1BhaXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLlNlcnZlcjF3cm9uZ1BhaXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkNMSTEuUU8iIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkNMSTAxLlFPIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNUUklORzJTVFJJTkdfMV8xLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5DTEkxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDIzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkNMSTEuUkRfMSIgRGVzdGluYXRpb249Indyb25nUGFpci5TVFJJTkcyU1RSSU5HXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ2xpZW50MHdyb25nUGFpci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuQ0xJMC5RTyIgRGVzdGluYXRpb249Indyb25nUGFpci5GX05PVF8xXzFfMV80LklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyMzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5GX05PVF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5DbGllbnQxXzB3cm9uZ1BhaXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI0MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkNMSTEwLlFPIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkZfTk9UXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNFUjEuUU8iIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5TZXJ2ZXIwXzF3cm9uZ1BhaXIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLkNMSTAxLlJEXzEiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU1RSSU5HMlNUUklOR18yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5TVFJJTkcyU1RSSU5HXzIuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkNMSTEwLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNUUklORzJTVFJJTkdfMl8xLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5TRVIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNFUjEuUkRfMSIgRGVzdGluYXRpb249Indyb25nUGFpci5TVFJJTkcyU1RSSU5HXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuU0VSMDEuUU8iIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Indyb25nUGFpci5TRVIwMS5SRF8xIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLlNUUklORzJTVFJJTkdfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLlNlcnZlcjFfMHdyb25nUGFpci5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cm9uZ1BhaXIuU0VSMTAuUU8iIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuRl9OT1RfMV8xXzFfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JvbmdQYWlyLlNUUklORzJTVFJJTkdfMy5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU0VSMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DbGllbnQxTm9Ccm93c2VOYW1lTm9yTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlB1YjFOb0Jyb3dzZU5hbWVOb3JOb2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlB1YjFOb0Jyb3dzZU5hbWVOb3JOb2RlSWQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU0VSMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TZXJ2ZXIwTm9Ccm93c2VOYW1lTm9yTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TdWIxTm9Ccm93c2VOYW1lTm9yTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlBVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5QVUIxLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU1VCMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjYwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TdWIxTm9Ccm93c2VOYW1lTm9yTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjYxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNsaWVudDBfMU5vQnJvd3NlTmFtZU5vck5vZGVJZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TZXJ2ZXIxTm9Ccm93c2VOYW1lTm9yTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkxLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTAxLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ0xJMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ2xpZW50ME5vQnJvd3NlTmFtZU5vck5vZGVJZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DbGllbnQxXzBOb0Jyb3dzZU5hbWVOb3JOb2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTEwLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU0VSMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TZXJ2ZXIwXzFOb0Jyb3dzZU5hbWVOb3JOb2RlSWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjAxLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TZXJ2ZXIwTm9Ccm93c2VOYW1lTm9yTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DbGllbnQwTm9Ccm93c2VOYW1lTm9yTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DbGllbnQxTm9Ccm93c2VOYW1lTm9yTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ2xpZW50MF8xTm9Ccm93c2VOYW1lTm9yTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ2xpZW50MV8wTm9Ccm93c2VOYW1lTm9yTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TZXJ2ZXIxTm9Ccm93c2VOYW1lTm9yTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU2VydmVyMV8wTm9Ccm93c2VOYW1lTm9yTm9kZUlkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TZXJ2ZXIxXzBOb0Jyb3dzZU5hbWVOb3JOb2RlSWQuQ05GIiBEZXN0aW5hdGlvbj0iVzJXXzFfMV80XzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU2VydmVyMF8xTm9Ccm93c2VOYW1lTm9yTm9kZUlkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU0VSMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xXzFfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ2xpZW50MU5vQnJvd3NlTmFtZU5vck5vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlB1YjFOb0Jyb3dzZU5hbWVOb3JOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU0VSMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU2VydmVyME5vQnJvd3NlTmFtZU5vck5vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjg2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuUFVCMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyODciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlBVQjEuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNVQjEuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TdWIxTm9Ccm93c2VOYW1lTm9yTm9kZUlkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyOTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNVQjEuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DbGllbnQwXzFOb0Jyb3dzZU5hbWVOb3JOb2RlSWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TZXJ2ZXIxTm9Ccm93c2VOYW1lTm9yTm9kZUlkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyOTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTEuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkwMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDI5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU1RSSU5HMlNUUklOR18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ0xJMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyOTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTEuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNUUklORzJTVFJJTkdfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwyOTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ2xpZW50ME5vQnJvd3NlTmFtZU5vck5vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkwLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfNC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMjk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5GX05PVF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNsaWVudDFfME5vQnJvd3NlTmFtZU5vck5vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkxMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU0VSMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNlcnZlcjBfMU5vQnJvd3NlTmFtZU5vck5vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkwMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU1RSSU5HMlNUUklOR18yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNUUklORzJTVFJJTkdfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNUUklORzJTVFJJTkdfMl8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIxLlJEXzEiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TVFJJTkcyU1RSSU5HXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIwMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIwMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU1RSSU5HMlNUUklOR18zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNlcnZlcjFfME5vQnJvd3NlTmFtZU5vck5vZGVJZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIxMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkZfTk9UXzFfMV8xXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNUUklORzJTVFJJTkdfMy5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuRl9OT1RfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5DbGllbnQxUmVtb3RlUmVhZFdyb25nU0QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuRl9OT1RfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlB1YjFSZW1vdGVSZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlB1YjFSZW1vdGVSZWFkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU0VSMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU0VSMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuRl9OT1RfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNlcnZlcjBSZW1vdGVSZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlN1YjFSZW1vdGVSZWFkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuUFVCMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUFVCMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlN1YjFSZW1vdGVSZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5TZXJ2ZXIxUmVtb3RlUmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5DTEkxLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5DTEkwLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5DbGllbnQwUmVtb3RlUmVhZFdyb25nUkQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuRl9OT1RfMV8xXzFfMy5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkNsaWVudDFfMENsaWVudDFSZW1SZWFkV3JvbmdTRC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5DTEkxMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuRl9OT1RfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5TRVIxLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNlcnZlcjBfMVJlbW90ZVJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU0VSMDEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5TZXJ2ZXIwUmVtb3RlUmVhZC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkNMSTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkNsaWVudDBSZW1vdGVSZWFkV3JvbmdSRC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkNMSTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzMxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkNsaWVudDFfMENsaWVudDFSZW1SZWFkV3JvbmdTRC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNFUjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlNlcnZlcjFSZW1vdGVSZWFkLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU0VSMDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU2VydmVyMV8wUmVtb3RlUmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5TZXJ2ZXIxXzBSZW1vdGVSZWFkLkNORiIgRGVzdGluYXRpb249IlcyV18xXzFfNF8yXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlNlcnZlcjBfMVJlbW90ZVJlYWQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5TRVIxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU0VSMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlNVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkNsaWVudDFSZW1vdGVSZWFkV3JvbmdTRC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkNMSTEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDMzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkNsaWVudDFSZW1vdGVSZWFkV3JvbmdTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5QdWIxUmVtb3RlUmVhZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzQxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlNFUjAuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkZfTk9UXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNlcnZlcjBSZW1vdGVSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuUFVCMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuUFVCMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuRl9OT1RfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9ULk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU3ViMVJlbW90ZVJlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU2VydmVyMVJlbW90ZVJlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5DTEkxLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlNUUklORzJTVFJJTkdfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuQ0xJMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuQ0xJMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5TVFJJTkcyU1RSSU5HXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5DbGllbnQwUmVtb3RlUmVhZFdyb25nUkQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5DTEkwLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMV80LklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuRl9OT1RfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkNsaWVudDFfMENsaWVudDFSZW1SZWFkV3JvbmdTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzUzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkNMSTEwLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5GX05PVF8xXzFfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU0VSMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuRl9OT1RfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNlcnZlcjBfMVJlbW90ZVJlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5TVFJJTkcyU1RSSU5HXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNFUjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlNFUjEuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU1RSSU5HMlNUUklOR18yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlUmVhZC5TRVIwMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuRl9OT1RfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU0VSMDEuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU1RSSU5HMlNUUklOR18zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuRl9OT1RfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5TZXJ2ZXIxXzBSZW1vdGVSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU0VSMTAuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkZfTk9UXzFfMV8xXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU1RSSU5HMlNUUklOR18zLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU0VSMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVSZWFkLlNVQjEuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU1VCMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVJlYWQuU1RSSU5HMlNUUklOR18yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuQ0xJMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzY2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNsaWVudDFSZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuRl9OT1RfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuUHViMVJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5QdWIxUmVhZC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU0VSMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TRVIwLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU2VydmVyMFJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TdWIxUmVhZFdyb25nTm9SRHMuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlBVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuUFVCMS5JTklUTyIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5GX05PVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlN1YjFSZWFkV3JvbmdOb1JEcy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNsaWVudDBfMVJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5GX05PVF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TZXJ2ZXIxUmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkNMSTEuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzNzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5DTEkwMS5JTklUTyIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5GX05PVF8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuQ0xJMC5JTklUTyIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzFfNC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuQ2xpZW50MFJlYWQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5GX05PVF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5DbGllbnQxXzBSZWFkLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuQ0xJMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlNFUjEuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU2VydmVyMF8xUmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlNFUjAxLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM4NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlNlcnZlcjBSZWFkLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5DTEkwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkNsaWVudDBSZWFkLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5DTEkxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkNsaWVudDFSZWFkLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5DTEkwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5DbGllbnQwXzFSZWFkLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5DTEkxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzODkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5DbGllbnQxXzBSZWFkLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TRVIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlNlcnZlcjFSZWFkLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TRVIwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzOTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5GX05PVF8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU2VydmVyMV8wUmVhZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlNlcnZlcjFfMFJlYWQuQ05GIiBEZXN0aW5hdGlvbj0iVzJXXzFfMV80XzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU2VydmVyMF8xUmVhZC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU0VSMTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU0VSMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSwzOTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TVUIyLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU1VCMC5JTklUTyIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5GX05PVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuRl9OT1RfMi5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU3ViMFJlYWRXcm9uZ05vUkRzXy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDM5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlN1YjBSZWFkV3JvbmdOb1JEc18uQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlNVQjIuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsMzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNsaWVudDFSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5GX05PVF8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5QdWIxUmVhZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDAxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU0VSMC5RTyIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU2VydmVyMFJlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuUFVCMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5QVUIxLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9ULk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TdWIxUmVhZFdyb25nTm9SRHMuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNsaWVudDBfMVJlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlNlcnZlcjFSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5DTEkxLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5DTEkwMS5RTyIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5GX05PVF8xXzFfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TVFJJTkcyU1RSSU5HXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuQ0xJMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5DTEkxLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU1RSSU5HMlNUUklOR18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNsaWVudDBSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5DTEkwLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNsaWVudDFfMFJlYWQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkNMSTEwLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlNFUjEuUU8iIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TZXJ2ZXIwXzFSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5DTEkwMS5SRF8xIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlNUUklORzJTVFJJTkdfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU1RSSU5HMlNUUklOR18yLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5DTEkxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TVFJJTkcyU1RSSU5HXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU0VSMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TRVIxLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU1RSSU5HMlNUUklOR18yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLlNFUjAxLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU0VSMDEuUkRfMSIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TVFJJTkcyU1RSSU5HXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxSZWFkLkZfTk9UXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TZXJ2ZXIxXzBSZWFkLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TRVIxMC5RTyIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5GX05PVF8xXzFfMV8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU1RSSU5HMlNUUklOR18zLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TRVIxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TVUIyLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5TVUIyLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU1RSSU5HMlNUUklORy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU1VCMi5SRF8yIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlNUUklORzJTVFJJTkdfNC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFJlYWQuU1VCMC5RTyIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5GX05PVF8yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsUmVhZC5GX05PVF8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TdWIwUmVhZFdyb25nTm9SRHNfLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNsaTFSZW1Xcml0ZUdvb2RTRHdSRC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuRl9OT1RfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5DbGkyUmVtV3JpdGVXcm9uZ1NER29vZFJELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5TRVIwLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDM1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5GX05PVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU2VydmVyMFJlbVdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TdWIxUmVtV3JpdGUuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU2VydmVyMVJlbVdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5DTEkxLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0MzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkNMSTAuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5GX05PVF8xXzFfMV80LkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNsaWVudDBSZW1Xcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU0VSMS5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TZXJ2ZXIwXzFSZW1Xcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU0VSMDEuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5GX05PVF8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLlNlcnZlcjBSZW1Xcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5DTEkwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuQ2xpZW50MFJlbVdyaXRlLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNMSTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5TZXJ2ZXIxUmVtV3JpdGUuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0VSMDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDQ3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5GX05PVF8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TZXJ2ZXIxXzBSZW1Xcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU2VydmVyMV8wUmVtV3JpdGUuQ05GIiBEZXN0aW5hdGlvbj0iVzJXXzFfMV80XzJfMV8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5TZXJ2ZXIwXzFSZW1Xcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TRVIxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLlNFUjEwLklOSVRPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLlNVQjIuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5GX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8yLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlB1YjBSZW1Xcml0ZVdyb25kU0RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuUFVCMC5JTklUTyIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkZfTk9UXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU3ViMVJlbVdyaXRlLkNORiIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlBVQjAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5QdWIwUmVtV3JpdGVXcm9uZFNEXzEuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuQ0xJMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkNMSTIuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5GX05PVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5GX05PVF8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuQ2xpM1dyb25nU0RXcm9uZ1JELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDU4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5DbGkzV3JvbmdTRFdyb25nUkQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0VSMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkNsaTJSZW1Xcml0ZVdyb25nU0RHb29kUkQuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuQ0xJMy5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkNMSTMuSU5JVE8iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5GX05PVF8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkNsaTFSZW1Xcml0ZUdvb2RTRHdSRC5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TRVIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuQ2xpMVJlbVdyaXRlR29vZFNEd1JELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkZfTk9UXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuQ2xpMlJlbVdyaXRlV3JvbmdTREdvb2RSRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5TRVIwLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TZXJ2ZXIwUmVtV3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU3ViMVJlbVdyaXRlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU2VydmVyMVJlbVdyaXRlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkNMSTEuUU8iIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5GX05PVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5TVFJJTkcyU1RSSU5HXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5DTEkxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuQ0xJMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU1RSSU5HMlNUUklOR18xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5DbGllbnQwUmVtV3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuQ0xJMC5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU0VSMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNlcnZlcjBfMVJlbVdyaXRlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLlNUUklORzJTVFJJTkdfMl8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNFUjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5TRVIxLlJEXzEiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TVFJJTkcyU1RSSU5HXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5TRVIwMS5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5TRVIwMS5SRF8xIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU1RSSU5HMlNUUklOR18zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkZfTk9UXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNlcnZlcjFfMFJlbVdyaXRlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLlNFUjEwLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuRl9OT1RfMV8xXzFfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU1RSSU5HMlNUUklOR18zLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNFUjEwLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU1VCMi5RTyIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLlNVQjIuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuRl9OT1RfMV8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlB1YjBSZW1Xcml0ZVdyb25kU0RfMS5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5QVUIwLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuRl9OT1RfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5DTEkyLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNMSTIuU0RfMiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5DTEkyLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuRl9OT1RfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5GX05PVF8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuQ2xpM1dyb25nU0RXcm9uZ1JELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5DTEkzLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iUmVtb3RlV3JpdGUuU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNMSTMuU0RfMiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJSZW1vdGVXcml0ZS5DTEkzLlFPIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuRl9OT1RfMV8zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlJlbW90ZVdyaXRlLkNMSTMuUkRfMSIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLlNUUklORzJTVFJJTkdfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuQ2xpZW50MVdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5QdWIxV3JpdGVXcm9uZFNELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlB1YjFXcml0ZVdyb25kU0QuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRVIwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDQ5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TRVIwLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5GX05PVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw0OTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU2VydmVyMFdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNDk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkZfTk9ULkNORiIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU3ViMVdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5DbGllbnQwXzFXcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU2VydmVyMVdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkNMSTEuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTAzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkNMSTAxLklOSVRPIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkNMSTAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfNC5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNsaWVudDBXcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuQ2xpZW50MV8wV3JpdGUuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuQ0xJMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuU0VSMS5JTklUTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TZXJ2ZXIwXzFXcml0ZS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TRVIwMS5JTklUTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlNlcnZlcjBXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNMSTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkNsaWVudDBXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNMSTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkNsaWVudDFXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNMSTAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5DbGllbnQwXzFXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNMSTEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5DbGllbnQxXzBXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNFUjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlNlcnZlcjFXcml0ZS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNFUjAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNlcnZlcjFfMFdyaXRlLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlNlcnZlcjFfMFdyaXRlLkNORiIgRGVzdGluYXRpb249IlcyV18xXzFfNF8yXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuU2VydmVyMF8xV3JpdGUuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRVIxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuU0VSMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlNVQjIuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlBVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuRl9OT1RfMV8yLkNORiIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuUHViMFdyaXRlV3JvbmRTRF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlBVQjAuSU5JVE8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9UXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TdWIxV3JpdGUuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5QVUIwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5QdWIwV3JpdGVXcm9uZFNEXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5QVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNsaWVudDFXcml0ZS5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkZfTk9UXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5QdWIxV3JpdGVXcm9uZFNELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuU0VSMC5RTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuRl9OT1RfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuRl9OT1RfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU2VydmVyMFdyaXRlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TdWIxV3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUzMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuQ2xpZW50MF8xV3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU2VydmVyMVdyaXRlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuQ0xJMS5RTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5DTEkwMS5RTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlNUUklORzJTVFJJTkdfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuQ0xJMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuQ0xJMS5SRF8xIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TVFJJTkcyU1RSSU5HXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5DbGllbnQwV3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDUzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5DTEkwLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV80LklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNsaWVudDFfMFdyaXRlLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuQ0xJMTAuUU8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TRVIxLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5GX05PVF8xXzFfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU2VydmVyMF8xV3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5DTEkwMS5SRF8xIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TVFJJTkcyU1RSSU5HXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TVFJJTkcyU1RSSU5HXzIuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5DTEkxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuU1RSSU5HMlNUUklOR18yXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRVIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TRVIxLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNUUklORzJTVFJJTkdfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuU0VSMDEuUU8iIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTQ5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLlNFUjAxLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNUUklORzJTVFJJTkdfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJMb2NhbFdyaXRlLkZfTk9UXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU2VydmVyMV8wV3JpdGUuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TRVIxMC5RTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuRl9OT1RfMV8xXzFfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TVFJJTkcyU1RSSU5HXzMuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TRVIxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuU1VCMi5RTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuRl9OT1QuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TVUIyLlJEXzEiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5QVUIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTG9jYWxXcml0ZS5QVUIxLlFPIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuUFVCMS5TRF8yIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuRl9OT1RfMV8yLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuUHViMFdyaXRlV3JvbmRTRF8xLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkxvY2FsV3JpdGUuUFVCMC5RTyIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuRl9OT1RfMV8yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5GX05PVF8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ2xpZW50MUNyZWF0ZU1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlB1YjFDcmVhdGVNZXRob2QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5TdWIxQ3JlYXRlTWV0aG9kLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5QVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU2MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLlBVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU2NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLlNVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuU3ViMUNyZWF0ZU1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNsaWVudDBfMUNyZWF0ZU1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU2NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLkNMSTEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5DTEkwMS5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5GX05PVF8xXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuQ0xJMC5JTklUTyIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfNC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ2xpZW50MENyZWF0ZU1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU3MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLkZfTk9UXzFfMV8xXzMuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNsaWVudDFfMENyZWF0ZU1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLkNMSTEwLklOSVRPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkZfTk9UXzFfMV8xXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNyZWF0ZU1ldGhvZFdyb25nTm9PZlBhaXJzLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuU0VSMDEuSU5JVE8iIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfMl8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuQ2xpZW50MENyZWF0ZU1ldGhvZC5DTkYiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ0xJMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5DbGllbnQxQ3JlYXRlTWV0aG9kLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5DTEkwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5DbGllbnQwXzFDcmVhdGVNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNMSTEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLlB1YjFDcmVhdGVNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNMSTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuQ2xpZW50MV8wQ3JlYXRlTWV0aG9kLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5TRVIwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5DcmVhdGVNZXRob2RXcm9uZ05vT2ZQYWlycy5DTkYiIERlc3RpbmF0aW9uPSJXMldfMV8xXzRfMl8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU4MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLkZfTk9UXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5DbGllbnQxQ3JlYXRlTWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5GX05PVF8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5QdWIxQ3JlYXRlTWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlBVQjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuUFVCMS5RTyIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1ODUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5TVUIxLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5GX05PVC5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuU3ViMUNyZWF0ZU1ldGhvZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuU1VCMS5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLkZfTk9UXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNsaWVudDBfMUNyZWF0ZU1ldGhvZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuQ0xJMS5RTyIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5GX05PVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuQ0xJMDEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTkxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuU1RSSU5HMlNUUklOR18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNMSTEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuQ0xJMS5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlNUUklORzJTVFJJTkdfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5GX05PVF8xXzFfMV80Lk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5DbGllbnQwQ3JlYXRlTWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw1OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5DTEkwLlFPIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLkZfTk9UXzFfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNsaWVudDFfMENyZWF0ZU1ldGhvZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuQ0xJMTAuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5DcmVhdGVNZXRob2RXcm9uZ05vT2ZQYWlycy5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNTk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuQ0xJMDEuUkRfMSIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5TVFJJTkcyU1RSSU5HXzIuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDU5OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ3JlYXRlTWV0aG9kLlNUUklORzJTVFJJTkdfMi5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ0xJMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDcmVhdGVNZXRob2QuU0VSMDEuUU8iIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuRl9OT1RfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNyZWF0ZU1ldGhvZC5TRVIwMS5SRF8xIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlNUUklORzJTVFJJTkdfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5QdWIxQ2FsbE1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5QdWIxQ2FsbE1ldGhvZC5DTkYiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNFUjAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLlNFUjAuSU5JVE8iIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYwNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TZXJ2ZXIwQ2FsbE1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TdWIxQ2FsbE1ldGhvZC5DTkYiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlBVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLlBVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLkZfTk9UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuU1VCMS5JTklUTyIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TdWIxQ2FsbE1ldGhvZC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV8yLkNORiIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU2VydmVyMUNhbGxNZXRob2QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuQ0xJMC5JTklUTyIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuRl9OT1RfMV8xXzFfNC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV80LkNORiIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuQ2xpZW50MENhbGxNZXRob2QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuU0VSMS5JTklUTyIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuRl9OT1RfMV8xXzFfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV8yXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TZXJ2ZXIwXzFDYWxsTWV0aG9kLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLlNFUjAxLklOSVRPIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuU2VydmVyMENhbGxNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5DTEkwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TZXJ2ZXIxQ2FsbE1ldGhvZC5DTkYiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNFUjAxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNlcnZlcjFfMENhbGxNZXRob2QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuU2VydmVyMF8xQ2FsbE1ldGhvZC5DTkYiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNFUjEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TRVIxMC5JTklUTyIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuRl9OT1RfMV8xXzFfMl8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuQ2xpZW50MENhbGxNZXRob2QuQ05GIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TRVIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV80XzEuQ05GIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5DbGllbnRDYWxsTm9Ccm93c2VQYXRoLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLkNsaWVudENhbGxOb0Jyb3dzZVBhdGguQ05GIiBEZXN0aW5hdGlvbj0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TZXJ2ZXIxXzBDYWxsTWV0aG9kLkNORiIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuQ0xJMF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5DTEkwXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLkZfTk9UXzFfMV8xXzRfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xLk9VVCIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuUHViMUNhbGxNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TRVIwLlFPIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TZXJ2ZXIwQ2FsbE1ldGhvZC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLlNUUklORzJTVFJJTkdfMS5PVVQiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlBVQjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjMwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLlBVQjEuUU8iIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLkZfTk9UXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TVUIxLlFPIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLkZfTk9ULk9VVCIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU3ViMUNhbGxNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TVUIxLlJEXzEiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYzNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU2VydmVyMUNhbGxNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV80Lk9VVCIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuQ2xpZW50MENhbGxNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYzNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5DTEkwLlFPIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5GX05PVF8xXzFfMV80LklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuU0VSMS5RTyIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuRl9OT1RfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLkZfTk9UXzFfMV8xXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNlcnZlcjBfMUNhbGxNZXRob2QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDYzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TVFJJTkcyU1RSSU5HXzJfMS5PVVQiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNFUjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLlNFUjEuUkRfMSIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU1RSSU5HMlNUUklOR18yXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5TRVIwMS5RTyIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuRl9OT1RfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuU0VSMDEuUkRfMSIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU1RSSU5HMlNUUklOR18zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuRl9OT1RfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TZXJ2ZXIxXzBDYWxsTWV0aG9kLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuU0VSMTAuUU8iIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLkZfTk9UXzFfMV8xXzJfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkNhbGxNZXRob2QuU1RSSU5HMlNUUklOR18zLk9VVCIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuU0VSMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJDYWxsTWV0aG9kLkZfTk9UXzFfMV8xXzRfMS5PVVQiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLkNsaWVudENhbGxOb0Jyb3dzZVBhdGguY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQ2FsbE1ldGhvZC5DTEkwXzEuUU8iIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLkZfTk9UXzFfMV8xXzRfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNsaWVudDFTdWIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5GX05PVF8xLkNORiIgRGVzdGluYXRpb249IlN1YnNjcmliZS5QdWIxU3ViLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjUwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuUHViMVN1Yi5DTkYiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU0VSMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5TRVIwLklOSVRPIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY1MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkZfTk9UXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU2VydmVyMFN1Yi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlN1YjFTdWJXcm9uZ05vUkRzLkNORiIgRGVzdGluYXRpb249IlN1YnNjcmliZS5QVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlBVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkZfTk9ULkNORiIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TdWIxU3ViV3JvbmdOb1JEcy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY1NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNsaWVudDBfMVN1Yi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNlcnZlcjFTdWIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5DTEkxLklOSVRPIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjU5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuQ0xJMDEuSU5JVE8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkNMSTAuSU5JVE8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfNC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzQuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNsaWVudDBTdWIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5GX05PVF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249IlN1YnNjcmliZS5DbGllbnQxXzBTdWIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5DTEkxMC5JTklUTyIgRGVzdGluYXRpb249IlN1YnNjcmliZS5GX05PVF8xXzFfMV8zLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU0VSMS5JTklUTyIgRGVzdGluYXRpb249IlN1YnNjcmliZS5GX05PVF8xXzFfMV8yLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMl8xLkNORiIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TZXJ2ZXIwXzFTdWIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5TRVIwMS5JTklUTyIgRGVzdGluYXRpb249IlN1YnNjcmliZS5GX05PVF8xXzFfMV8yXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5TZXJ2ZXIwU3ViLkNORiIgRGVzdGluYXRpb249IlN1YnNjcmliZS5DTEkwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkNsaWVudDBTdWIuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNMSTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuQ2xpZW50MVN1Yi5DTkYiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuQ0xJMDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuQ2xpZW50MF8xU3ViLkNORiIgRGVzdGluYXRpb249IlN1YnNjcmliZS5DTEkxMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5DbGllbnQxXzBTdWIuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNFUjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjcyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU2VydmVyMVN1Yi5DTkYiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU0VSMDEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMl8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNlcnZlcjFfMFN1Yi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY3NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNlcnZlcjFfMFN1Yi5DTkYiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2NzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5TZXJ2ZXIwXzFTdWIuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNFUjEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNFUjEwLklOSVRPIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzJfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU1VCMi5JTklUTyIgRGVzdGluYXRpb249IlN1YnNjcmliZS5GX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNVQjAuSU5JVE8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkZfTk9UXzIuQ05GIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlN1YjBTdWJXcm9uZ05vUkRzXy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY4MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlN1YjBTdWJXcm9uZ05vUkRzXy5DTkYiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU1VCMi5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5GX05PVF8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuQ2xpZW50MVN1Yi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuUHViMVN1Yi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjgzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU0VSMC5RTyIgRGVzdGluYXRpb249IlN1YnNjcmliZS5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY4NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU2VydmVyMFN1Yi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU1RSSU5HMlNUUklOR18xLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5QVUIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlBVQjEuUU8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlN1YjFTdWJXcm9uZ05vUkRzLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2ODgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5GX05PVF8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5DbGllbnQwXzFTdWIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNlcnZlcjFTdWIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkNMSTEuUU8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkNMSTAxLlFPIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY5MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNUUklORzJTVFJJTkdfMV8xLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5DTEkxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY5MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkNMSTEuUkRfMSIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TVFJJTkcyU1RSSU5HXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjk0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuQ2xpZW50MFN1Yi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuQ0xJMC5RTyIgRGVzdGluYXRpb249IlN1YnNjcmliZS5GX05PVF8xXzFfMV80LklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw2OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5GX05PVF8xXzFfMV8zLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5DbGllbnQxXzBTdWIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkNMSTEwLlFPIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkZfTk9UXzFfMV8xXzMuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDY5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNFUjEuUU8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNjk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMl8xLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TZXJ2ZXIwXzFTdWIuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcwMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLkNMSTAxLlJEXzEiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU1RSSU5HMlNUUklOR18yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5TVFJJTkcyU1RSSU5HXzIuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNMSTEwLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNUUklORzJTVFJJTkdfMl8xLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TRVIxLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNFUjEuUkRfMSIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TVFJJTkcyU1RSSU5HXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzA0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU0VSMDEuUU8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMl8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlN1YnNjcmliZS5TRVIwMS5SRF8xIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNUUklORzJTVFJJTkdfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNlcnZlcjFfMFN1Yi5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU0VSMTAuUU8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMV8xXzFfMl8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNUUklORzJTVFJJTkdfMy5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU0VSMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzA5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU1VCMi5RTyIgRGVzdGluYXRpb249IlN1YnNjcmliZS5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuU1VCMi5SRF8xIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNVQjIuUkRfMiIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TVFJJTkcyU1RSSU5HXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU3Vic2NyaWJlLlNVQjAuUU8iIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuRl9OT1RfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTdWJzY3JpYmUuRl9OT1RfMi5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU3ViMFN1Yldyb25nTm9SRHNfLmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkNsaWVudDFHVUlELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5GX05PVF8xLkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlB1YjFHVUlELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5QdWIxR1VJRC5DTkYiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TRVIwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuU0VSMC5JTklUTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNlcnZlcjBHVUlELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzE5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TdWIxR1VJRC5DTkYiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5QVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuUFVCMS5JTklUTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLlNVQjEuSU5JVE8iIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5GX05PVC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuU3ViMUdVSUQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuQ2xpZW50MF8xR1VJRC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xXzFfMi5DTkYiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TZXJ2ZXIxR1VJRC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDcyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuQ0xJMS5JTklUTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5DTEkwMS5JTklUTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkNMSTAuSU5JVE8iIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV80LkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkNsaWVudDBHVUlELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzI5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV8zLkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkNsaWVudDFfMEdVSUQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkNMSTEwLklOSVRPIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xXzFfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDczMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuU0VSMS5JTklUTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzJfMS5DTkYiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TZXJ2ZXIwXzFHVUlELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzMzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TRVIwMS5JTklUTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzJfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDczNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuU2VydmVyMEdVSUQuQ05GIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuQ0xJMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkNsaWVudDBHVUlELkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkNMSTEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5DbGllbnQxR1VJRC5DTkYiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5DTEkwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkNsaWVudDBfMUdVSUQuQ05GIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuQ0xJMTAuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5DbGllbnQxXzBHVUlELkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNFUjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TZXJ2ZXIxR1VJRC5DTkYiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TRVIwMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzJfMV8xLkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNlcnZlcjFfMEdVSUQuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLlNlcnZlcjFfMEdVSUQuQ05GIiBEZXN0aW5hdGlvbj0iVzJXLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzQyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TZXJ2ZXIwXzFHVUlELkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNFUjEwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuU0VSMTAuSU5JVE8iIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzFfMS5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuQ2xpZW50MUdVSUQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5QdWIxR1VJRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzQ2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TRVIwLlFPIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TZXJ2ZXIwR1VJRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzEuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuUFVCMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLlBVQjEuUU8iIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5GX05PVF8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLlNVQjEuUU8iIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzUxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5GX05PVC5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TdWIxR1VJRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TVUIxLlJEXzEiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuQ2xpZW50MF8xR1VJRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzU0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV8yLk9VVCIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNlcnZlcjFHVUlELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkNMSTEuUU8iIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzU2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5DTEkwMS5RTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc1NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuU1RSSU5HMlNUUklOR18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuQ0xJMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkNMSTEuUkRfMSIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuQ2xpZW50MEdVSUQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuQ0xJMC5RTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzQuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5DbGllbnQxXzBHVUlELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkNMSTEwLlFPIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xXzFfMy5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzYzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TRVIxLlFPIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuRl9OT1RfMV8xXzFfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuU2VydmVyMF8xR1VJRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzY1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5DTEkwMS5SRF8xIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuU1RSSU5HMlNUUklOR18yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMi5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5DTEkxMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLlNUUklORzJTVFJJTkdfMl8xLk9VVCIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNFUjEuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TRVIxLlJEXzEiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzY5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TRVIwMS5RTyIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzJfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzcwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TRVIwMS5SRF8xIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuU1RSSU5HMlNUUklOR18zLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkdVSURJZGVudGlmaWVyLkZfTk9UXzFfMV8xXzJfMV8xLk9VVCIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNlcnZlcjFfMEdVSUQuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc3MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iR1VJRElkZW50aWZpZXIuU0VSMTAuUU8iIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5GX05PVF8xXzFfMV8yXzFfMS5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJHVUlESWRlbnRpZmllci5TVFJJTkcyU1RSSU5HXzMuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuU0VSMTAuU0RfMSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LmNyZWF0ZW5vUHVibGlzaFdyb25nUGFpcnNCYWRTRC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LmNyZWF0ZW5vUHVibGlzaEdvb2RQYWlyc0JhZFNELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1RfMi5DTkYiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuY3JlYXRlbm9QdWJsaXNoR29vZFBhaXJzR29vZFNELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1RfMy5DTkYiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuY3JlYXRlbm9QdWJsaXNoV3JvbmdQYWlyc0dvb2RTRC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc3OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LkZfTk9UXzQuQ05GIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LmNyZWF0ZXB1Ymxpc2hXcm9uZ1BhaXJzQmFkU0QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3NzkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5GX05PVF8zXzEuQ05GIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LmNyZWF0ZXB1Ymxpc2hXcm9uZ1BhaXJzR29vZFNELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1RfMV8xLkNORiIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5jcmVhdGVwdWJsaXNoR29vZFBhaXJzQmFkU0QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3ODEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5TRVJWRVJfMV8wLklOSVRPIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzgyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuY3JlYXRlbm9QdWJsaXNoV3JvbmdQYWlyc0dvb2RTRC5DTkYiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMF8yLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LlNFUlZFUl8xXzBfMi5JTklUTyIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5GX05PVF8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuY3JlYXRlbm9QdWJsaXNoV3JvbmdQYWlyc0JhZFNELkNORiIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5TRVJWRVJfMV8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMF8xLklOSVRPIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LkZfTk9UXzMuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3ODYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5jcmVhdGVub1B1Ymxpc2hHb29kUGFpcnNCYWRTRC5DTkYiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMF8zLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LlNFUlZFUl8xXzBfMy5JTklUTyIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5GX05PVF8yLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzg4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuY3JlYXRlcHVibGlzaEdvb2RQYWlyc0JhZFNELkNORiIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LmNyZWF0ZW5vUHVibGlzaEdvb2RQYWlyc0dvb2RTRC5DTkYiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuUFVCTElTSF8wXzEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzkwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuUFVCTElTSF8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuRl9OT1RfNC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LmNyZWF0ZXB1Ymxpc2hXcm9uZ1BhaXJzQmFkU0QuQ05GIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlBVQkxJU0hfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5QVUJMSVNIXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuRl9OT1RfM18xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuY3JlYXRlcHVibGlzaFdyb25nUGFpcnNHb29kU0QuQ05GIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlBVQkxJU0hfMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw3OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5QVUJMSVNIXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuRl9OT1RfMV8xLlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzk1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LmNyZWF0ZW5vUHVibGlzaFdyb25nUGFpcnNCYWRTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzk2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1RfMS5PVVQiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuY3JlYXRlbm9QdWJsaXNoR29vZFBhaXJzQmFkU0QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDc5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LkZfTk9UXzIuT1VUIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LmNyZWF0ZW5vUHVibGlzaEdvb2RQYWlyc0dvb2RTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzk4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1RfMy5PVVQiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuY3JlYXRlbm9QdWJsaXNoV3JvbmdQYWlyc0dvb2RTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsNzk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1RfNC5PVVQiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuY3JlYXRlcHVibGlzaFdyb25nUGFpcnNCYWRTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuRl9OT1RfMV8xLk9VVCIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5jcmVhdGVwdWJsaXNoR29vZFBhaXJzQmFkU0QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDgwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LkZfTk9UXzNfMS5PVVQiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuY3JlYXRlcHVibGlzaFdyb25nUGFpcnNHb29kU0QuY2hlY2siIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDgwMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LlNFUlZFUl8xXzAuUU8iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuRl9OT1QuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDgwMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3JlYXRlT2JqZWN0LkJPT0wyQk9PTC5PVVQiIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuU0VSVkVSXzFfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5CT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlNFUlZFUl8xXzBfMi5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5TRVJWRVJfMV8wXzMuUU8iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuRl9OT1RfMi5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuUFVCTElTSF8wXzEuUU8iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuRl9OT1RfNC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjcmVhdGVPYmplY3QuQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249ImNyZWF0ZU9iamVjdC5QVUJMSVNIXzBfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MDgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5QVUJMSVNIXzEuUU8iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuRl9OT1RfM18xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5QVUJMSVNIXzAuUU8iIERlc3RpbmF0aW9uPSJjcmVhdGVPYmplY3QuRl9OT1RfMV8xLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNyZWF0ZU9iamVjdC5CT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iY3JlYXRlT2JqZWN0LlBVQkxJU0hfMC5TRF8xIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuZGVsZXRlbm9QdWJsaXNoV3JvbmdQYWlyc0JhZFNELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuRl9OT1RfMS5DTkYiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuZGVsZXRlbm9QdWJsaXNoR29vZFBhaXJzQmFkU0QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVF8yLkNORiIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5kZWxldGVub1B1Ymxpc2hHb29kUGFpcnNHb29kU0QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVF8zLkNORiIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5kZWxldGVub1B1Ymxpc2hXcm9uZ1BhaXJzR29vZFNELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuRl9OT1RfNC5DTkYiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuZGVsZXRlcHVibGlzaFdyb25nUGFpcnNCYWRTRC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDgxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LkZfTk9UXzNfMS5DTkYiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuZGVsZXRlcHVibGlzaFdyb25nUGFpcnNHb29kU0QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVF8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LmRlbGV0ZXB1Ymxpc2hHb29kUGFpcnNCYWRTRC5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDgxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LlNFUlZFUl8xXzAuSU5JVE8iIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5kZWxldGVub1B1Ymxpc2hXcm9uZ1BhaXJzR29vZFNELkNORiIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wXzIuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuU0VSVkVSXzFfMF8yLklOSVRPIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LkZfTk9UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5kZWxldGVub1B1Ymxpc2hXcm9uZ1BhaXJzQmFkU0QuQ05GIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LlNFUlZFUl8xXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuRl9OT1RfMy5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDgyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LmRlbGV0ZW5vUHVibGlzaEdvb2RQYWlyc0JhZFNELkNORiIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wXzMuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuU0VSVkVSXzFfMF8zLklOSVRPIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LkZfTk9UXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5kZWxldGVwdWJsaXNoR29vZFBhaXJzQmFkU0QuQ05GIiBEZXN0aW5hdGlvbj0iU1RFU1RfRU5ELlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODI2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuZGVsZXRlbm9QdWJsaXNoR29vZFBhaXJzR29vZFNELkNORiIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5QVUJMSVNIXzBfMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5QVUJMSVNIXzBfMS5JTklUTyIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5GX05PVF80LlJFUSIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuZGVsZXRlcHVibGlzaFdyb25nUGFpcnNCYWRTRC5DTkYiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuUFVCTElTSF8xLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDgyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LlBVQkxJU0hfMS5JTklUTyIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5GX05PVF8zXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5kZWxldGVwdWJsaXNoV3JvbmdQYWlyc0dvb2RTRC5DTkYiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuUFVCTElTSF8wLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDgzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LlBVQkxJU0hfMC5JTklUTyIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5GX05PVF8xXzEuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVC5PVVQiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuZGVsZXRlbm9QdWJsaXNoV3JvbmdQYWlyc0JhZFNELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MzMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVF8xLk9VVCIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5kZWxldGVub1B1Ymxpc2hHb29kUGFpcnNCYWRTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODM0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuRl9OT1RfMi5PVVQiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuZGVsZXRlbm9QdWJsaXNoR29vZFBhaXJzR29vZFNELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVF8zLk9VVCIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5kZWxldGVub1B1Ymxpc2hXcm9uZ1BhaXJzR29vZFNELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVF80Lk9VVCIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5kZWxldGVwdWJsaXNoV3JvbmdQYWlyc0JhZFNELmNoZWNrIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5GX05PVF8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LmRlbGV0ZXB1Ymxpc2hHb29kUGFpcnNCYWRTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuRl9OT1RfM18xLk9VVCIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5kZWxldGVwdWJsaXNoV3JvbmdQYWlyc0dvb2RTRC5jaGVjayIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuU0VSVkVSXzFfMC5RTyIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJkZWxldGVPYmplY3QuQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5TRVJWRVJfMV8wLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg0MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LkJPT0wyQk9PTC5PVVQiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuU0VSVkVSXzFfMF8yLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LlNFUlZFUl8xXzBfMy5RTyIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5GX05PVF8yLklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5QVUJMSVNIXzBfMS5RTyIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5GX05PVF80LklOIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImRlbGV0ZU9iamVjdC5CT09MMkJPT0wuT1VUIiBEZXN0aW5hdGlvbj0iZGVsZXRlT2JqZWN0LlBVQkxJU0hfMF8xLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg0NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LlBVQkxJU0hfMS5RTyIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5GX05PVF8zXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LlBVQkxJU0hfMC5RTyIgRGVzdGluYXRpb249ImRlbGV0ZU9iamVjdC5GX05PVF8xXzEuSU4iIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iZGVsZXRlT2JqZWN0LkJPT0wyQk9PTC5PVVQiIERlc3RpbmF0aW9uPSJkZWxldGVPYmplY3QuUFVCTElTSF8wLlNEXzEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg0OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzEuQ05GIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uU1VCMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5TVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg1MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80LkNORiIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg1MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8zLkNORiIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLlNVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODUyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzIuQ05GIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU1VCMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU1VCMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5DTkYiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg1NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzIuQ05GIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuU1VCMS5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xLkNORiIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TVUIwLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TVUIyLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg1OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5TVUIyLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xLkNORiIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5TVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg2MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzEuQ05GIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TVUIxLklOSVQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzFfMS5DTkYiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU1VCMC5JTklUIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18yLkNORiIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNVQjEuSU5JVCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iVzJXXzIuUkVRIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJXMldfMi5SRVEiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg2NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80Lk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TVUIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuUFVCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODY4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNFUjAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg2OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80Lk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5DTEkwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLkNMSTAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNC5PVVQiIERlc3RpbmF0aW9uPSJXcm9uZ0lkZW50aWZpZXIuQ0xJMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg3MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80Lk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TRVIwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODc0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzQuT1VUIiBEZXN0aW5hdGlvbj0iV3JvbmdJZGVudGlmaWVyLlNFUjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg3NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80Lk9VVCIgRGVzdGluYXRpb249Ildyb25nSWRlbnRpZmllci5TRVIxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODc2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU1VCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODc3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuUFVCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU0VSMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODc5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ0xJMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODgwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ0xJMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuQ0xJMDEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg4MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8zLk9VVCIgRGVzdGluYXRpb249IlVua25vd25JZGVudGlmaWVyLkNMSTEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4ODMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfMy5PVVQiIERlc3RpbmF0aW9uPSJVbmtub3duSWRlbnRpZmllci5TRVIwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODg0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU0VSMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzMuT1VUIiBEZXN0aW5hdGlvbj0iVW5rbm93bklkZW50aWZpZXIuU0VSMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg4NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlBVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNFUjAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg4OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNMSTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg5MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNMSTEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLkNMSTAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4OTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfMi5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ05vZGVJZC5DTEkxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODkzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzIuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdOb2RlSWQuU0VSMDEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg5NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNFUjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg5NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8yLk9VVCIgRGVzdGluYXRpb249Indyb25nTm9kZUlkLlNFUjEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU1VCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsODk3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLlBVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDg5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5TRVIwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw4OTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuQ0xJMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTAwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkNMSTEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5DTEkwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0id3JvbmdQYWlyLkNMSTEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU0VSMDEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV8xLk9VVCIgRGVzdGluYXRpb249Indyb25nUGFpci5TRVIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MDUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJ3cm9uZ1BhaXIuU0VSMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkwNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkwNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlBVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkwOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkwOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLkNMSTAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTm9FeGlzdGluZ0FjdGlvbi5DTEkxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xLk9VVCIgRGVzdGluYXRpb249Ik5vRXhpc3RpbmdBY3Rpb24uU0VSMDEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJOb0V4aXN0aW5nQWN0aW9uLlNFUjEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzEuT1VUIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uUFVCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMS5PVVQiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TRVIwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLkNMSTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzEuT1VUIiBEZXN0aW5hdGlvbj0iZW1wdHlBY3Rpb24uQ0xJMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTIxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMS5PVVQiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DTEkwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTIyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMS5PVVQiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5DTEkxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMS5PVVQiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TRVIwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMS5PVVQiIERlc3RpbmF0aW9uPSJlbXB0eUFjdGlvbi5TRVIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MjUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xLk9VVCIgRGVzdGluYXRpb249ImVtcHR5QWN0aW9uLlNFUjEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TVUIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5QVUIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TRVIwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5DTEkwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMlcuT1VUIiBEZXN0aW5hdGlvbj0iTm9TZW1pY29sb24uQ0xJMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXLk9VVCIgRGVzdGluYXRpb249Ik5vU2VtaWNvbG9uLlNFUjAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TRVIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MzUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyVy5PVVQiIERlc3RpbmF0aW9uPSJOb1NlbWljb2xvbi5TRVIxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTM2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5QVUIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5MzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNFUjAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDkzOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuQ0xJMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTM5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlUmVhZC5DTEkxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLkNMSTEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNFUjAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NDIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVSZWFkLlNFUjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk0MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU0VSMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk0NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVJlYWQuU1VCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5QVUIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NDYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlNFUjAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk0NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuQ0xJMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTQ4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5DTEkxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNMSTAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLkNMSTEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlNFUjAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxSZWFkLlNFUjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk1MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU0VSMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk1NCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFJlYWQuU1VCMi5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTU1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsUmVhZC5TVUIwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0VSMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTU3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNMSTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk1OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5DTEkxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0VSMDEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk2MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TRVIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuU0VSMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk2MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5TVUIyLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV3JpdGUuUFVCMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTY0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdyaXRlLkNMSTIuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk2NSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXcml0ZS5DTEkzLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0VSMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTY3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLkNMSTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk2OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5DTEkxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuQ0xJMDEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk3MCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5DTEkxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTcxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNFUjAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NzIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU0VSMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTczIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlNFUjEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkxvY2FsV3JpdGUuU1VCMi5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTc1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJMb2NhbFdyaXRlLlBVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk3NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iTG9jYWxXcml0ZS5QVUIwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5NzciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuU1VCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTc4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLlBVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk3OSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNyZWF0ZU1ldGhvZC5DTEkwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5ODAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ0xJMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTgxIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ3JlYXRlTWV0aG9kLkNMSTAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5ODIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDcmVhdGVNZXRob2QuQ0xJMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk4MyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TVUIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5ODQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IkNhbGxNZXRob2QuUFVCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTg1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNFUjAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk4NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TRVIwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTg3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJDYWxsTWV0aG9kLlNFUjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk4OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iQ2FsbE1ldGhvZC5TRVIxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTg5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5QVUIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5OTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNFUjAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk5MSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuQ0xJMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTkyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5DTEkxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5OTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNMSTAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5OTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLkNMSTEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5OTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNFUjAxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMSw5OTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yXzFfMV8xXzFfMV8xXzEuT1VUIiBEZXN0aW5hdGlvbj0iU3Vic2NyaWJlLlNFUjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk5NyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU0VSMTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIxLDk5OCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzJfMV8xXzFfMV8xXzFfMS5PVVQiIERlc3RpbmF0aW9uPSJTdWJzY3JpYmUuU1VCMi5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjEsOTk5IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMl8xXzFfMV8xXzFfMV8xLk9VVCIgRGVzdGluYXRpb249IlN1YnNjcmliZS5TVUIwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMiwwMDAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18yLk9VVCIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyLDAwMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzIuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuUFVCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDAyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMi5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TRVIwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMiwwMDMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18yLk9VVCIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLkNMSTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyLDAwNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzIuT1VUIiBEZXN0aW5hdGlvbj0iR1VJRElkZW50aWZpZXIuQ0xJMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDA1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMi5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5DTEkwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDA2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMi5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5DTEkxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDA3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMi5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TRVIwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDA4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMi5PVVQiIERlc3RpbmF0aW9uPSJHVUlESWRlbnRpZmllci5TRVIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMiwwMDkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18yLk9VVCIgRGVzdGluYXRpb249IkdVSURJZGVudGlmaWVyLlNFUjEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMiwwMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNVQjEuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyLDAxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuUFVCMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMiwwMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLkNMSTAuSUQiIC8+PC9SZXF1ZXN0PgorV3JvbmdQYXJhbWV0ZXJzOzxSZXF1ZXN0IElEPSIyLDAxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iVzJXXzFfMV80XzIuT1VUIiBEZXN0aW5hdGlvbj0iUmVtb3RlV2l0aG91dEJyb3dzZU5hbWVOb3JOb2RlSWQuQ0xJMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDE2IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5DTEkxMC5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIwMS5JRCIgLz48L1JlcXVlc3Q+CitXcm9uZ1BhcmFtZXRlcnM7PFJlcXVlc3QgSUQ9IjIsMDE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJXMldfMV8xXzRfMi5PVVQiIERlc3RpbmF0aW9uPSJSZW1vdGVXaXRob3V0QnJvd3NlTmFtZU5vck5vZGVJZC5TRVIxLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMiwwMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlcyV18xXzFfNF8yLk9VVCIgRGVzdGluYXRpb249IlJlbW90ZVdpdGhvdXRCcm93c2VOYW1lTm9yTm9kZUlkLlNFUjEwLklEIiAvPjwvUmVxdWVzdD4KK1dyb25nUGFyYW1ldGVyczs8UmVxdWVzdCBJRD0iMiwwMjAiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL0NNYWtlTGlzdHMudHh0IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRmZmU1ZgotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMTMgQEAKKyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjIENvcHlyaWdodCAoYykgMjAxOSBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCithZGRfc3ViZGlyZWN0b3J5KGNzdldyaXRlcikKZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9DTWFrZUxpc3RzLnR4dCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjlmZDRhCi0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNTYgQEAKKyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjIENvcHlyaWdodCAoYykgMjAxOSBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBUZXN0cyBmb3IgdGhlIHRoZSBjc3Ygd3JpdGVyIEZCcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworRlVOQ1RJT04oQUREX0NTVldSSVRFX1RFU1QgdGVzdF9uYW1lIGJvb3RGaWxlIGNzdkZpbGVOYW1lIGNzdkZpbGVTaG91bGRFeGlzdCBleHBlY3RlZENvbnRlbnQgaXNIYXJkIHRpbWVvdXQpCisKKyAgRklMRShUT19OQVRJVkVfUEFUSCAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2NzdldyaXRlcnRUZXN0LmNtYWtlIiBzY3JpcHRGaWxlKQorICBTVFJJTkcoUkVQTEFDRSAiXFwiICJcXFxcIiBzY3JpcHRGaWxlICR7c2NyaXB0RmlsZX0pCisgIAorICBGSUxFKFRPX05BVElWRV9QQVRIICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHtib290RmlsZX0iIGZpbGVfc3RyKQorICBTVFJJTkcoUkVQTEFDRSAiXFwiICJcXFxcIiBmaWxlX3N0ciAke2ZpbGVfc3RyfSkKKworICBBRERfVEVTVChOQU1FICR7dGVzdF9uYW1lfSBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0KKyAgICAgICAgIC1EQ01EPSQ8VEFSR0VUX0ZJTEU6Zm9ydGU+CisgICAgICAgICAtREJPT1Q9JHtmaWxlX3N0cn0KKyAgICAgICAgIC1EQ1NWX0ZJTEU9JHtjc3ZGaWxlTmFtZX0KKyAgICAgICAgIC1EQ1NWRklMRVNIT1VMREVYSVNUPSR7Y3N2RmlsZVNob3VsZEV4aXN0fQorICAgICAgICAgLURFWFBFQ1RFRF9DT05URU5UPSR7ZXhwZWN0ZWRDb250ZW50fQorICAgICAgICAgLVAgJHtzY3JpcHRGaWxlfSkKKyAgCisgIHNldF90ZXN0c19wcm9wZXJ0aWVzICgke3Rlc3RfbmFtZX0gUFJPUEVSVElFUyBUSU1FT1VUICR7dGltZW91dH0pCisgIAorICBpZigke2lzSGFyZH0pCisgICAgU0VUX1RFU1RTX1BST1BFUlRJRVMoJHt0ZXN0X25hbWV9IFBST1BFUlRJRVMgRkFJTF9SRUdVTEFSX0VYUFJFU1NJT04gIkVSUk9SOiBUIikgCisgIGVsc2UoKQorICAgIFNFVF9URVNUU19QUk9QRVJUSUVTKCR7dGVzdF9uYW1lfSBQUk9QRVJUSUVTIEZBSUxfUkVHVUxBUl9FWFBSRVNTSU9OICJURVNUX0NPTkRJVElPTl9GQUlMRUQiKSAKKyAgZW5kaWYoKQorICAKK0VOREZVTkNUSU9OKEFERF9DU1ZXUklURV9URVNUKQorCitBRERfQ1NWV1JJVEVfVEVTVChUZXN0X0NTVl9Xcml0ZXJfbm9ybWFsRXhlY3V0aW9uX2hhcmQgbm9ybWFsRXhlY3V0aW9uLmZib290ICJjc3ZXcml0ZVRlc3QuY3N2IiAxICInY3N2Rmlyc3RWYWx1ZSdcOyBcbiIgMSA1KQorQUREX0NTVldSSVRFX1RFU1QoVGVzdF9DU1ZfV3JpdGVyX29wZW5BbmROb0Nsb3NlX2hhcmQgb3BlbkFuZE5vQ2xvc2UuZmJvb3QgImNzdldyaXRlVGVzdC5jc3YiIDEgIiIgMSA1KQorQUREX0NTVldSSVRFX1RFU1QoVGVzdF9DU1ZfV3JpdGVyX2RvdWJsZUluaXRfc29mdCBkb3VibGVJbml0LmZib290ICJjc3ZXcml0ZVRlc3QuY3N2IiAxICIiIDAgNSkKK0FERF9DU1ZXUklURV9URVNUKFRlc3RfQ1NWX1dyaXRlcl9pbml0RGVpbml0Tm9Xcml0ZV9oYXJkIGluaXREZWluaXROb1dyaXRlLmZib290ICJjc3ZXcml0ZVRlc3QuY3N2IiAxICIiIDEgNSkKK0FERF9DU1ZXUklURV9URVNUKFRlc3RfQ1NWX1dyaXRlcl9jbG9zZU5vdE9wZW5lZF9zb2Z0IGNsb3NlTm90T3BlbmVkLmZib290ICJjc3ZXcml0ZVRlc3QuY3N2IiAwICIiIDAgNSkKK0FERF9DU1ZXUklURV9URVNUKFRlc3RfQ1NWX1dyaXRlcl93cml0ZVFJRmFsc2Vfc29mdCB3cml0ZVFJRmFsc2UuZmJvb3QgImNzdldyaXRlVGVzdC5jc3YiIDEgIiIgMCA1KQorQUREX0NTVldSSVRFX1RFU1QoVGVzdF9DU1ZfV3JpdGVyX3dyaXRlV2l0aG91dEluaXRfc29mdCB3cml0ZVdpdGhvdXRJbml0LmZib290ICJjc3ZXcml0ZVRlc3QuY3N2IiAwICIiIDAgNSkKKworQUREX0NTVldSSVRFX1RFU1QoVGVzdF9DU1ZfV3JpdGVyX25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlX2hhcmQgbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuZmJvb3QgImNzdldyaXRlVGVzdC5jc3YiIDEgIidjc3ZGaXJzdFZhbHVlJ1w7IFRSVUVcOyAxXDsgXG4nY3N2Rmlyc3RWYWx1ZSdcOyBGQUxTRVw7IDJcOyBcbiIgMSA1KQorCitBRERfQ1NWV1JJVEVfVEVTVChUZXN0X0NTVl9Xcml0ZXJfbm9OYW1lRmlsZV9zb2Z0IHdyaXRlV2l0aG91dEluaXQuZmJvb3QgIm5vTmFtZUZpbGUuY3N2IiAwICIiIDAgNSkKKworCisKZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9jbG9zZU5vdE9wZW5lZC5mYm9vdCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9jbG9zZU5vdE9wZW5lZC5mYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNWJhNDJlCi0tLSAvZGV2L251bGwKKysrIGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL2Nsb3NlTm90T3BlbmVkLmZib290CkBAIC0wLDAgKzEsMTYgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjbG9zZU5vdE9wZW5lZCIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitjbG9zZU5vdE9wZW5lZDs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjbG9zZU5vdE9wZW5lZEZpbGUuQ1NWX1dSSVRFUl8xIiBUeXBlPSJDU1ZfV1JJVEVSXzEiIC8+PC9SZXF1ZXN0PgorY2xvc2VOb3RPcGVuZWQ7PFJlcXVlc3QgSUQ9IjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMCIgRGVzdGluYXRpb249ImNsb3NlTm90T3BlbmVkRmlsZS5DU1ZfV1JJVEVSXzEuUUkiIC8+PC9SZXF1ZXN0PgorY2xvc2VOb3RPcGVuZWQ7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3N2V3JpdGVUZXN0LmNzdiIgRGVzdGluYXRpb249ImNsb3NlTm90T3BlbmVkRmlsZS5DU1ZfV1JJVEVSXzEuRklMRV9OQU1FIiAvPjwvUmVxdWVzdD4KK2Nsb3NlTm90T3BlbmVkOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImNsb3NlTm90T3BlbmVkRmlsZS5EZUluaXRUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+CitjbG9zZU5vdE9wZW5lZDs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjbG9zZU5vdE9wZW5lZEZpbGUuZW5kTm9ybWFsIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorY2xvc2VOb3RPcGVuZWQ7PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iY2xvc2VOb3RPcGVuZWRGaWxlLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+CitjbG9zZU5vdE9wZW5lZDs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJjbG9zZU5vdE9wZW5lZEZpbGUuU1RFU1RfRU5EIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorY2xvc2VOb3RPcGVuZWQ7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNsb3NlTm90T3BlbmVkRmlsZS5GX05PVC5DTkYiIERlc3RpbmF0aW9uPSJjbG9zZU5vdE9wZW5lZEZpbGUuRGVJbml0VGVzdC5SRVEiIC8+PC9SZXF1ZXN0PgorY2xvc2VOb3RPcGVuZWQ7PFJlcXVlc3QgSUQ9IjEwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJjbG9zZU5vdE9wZW5lZEZpbGUuQ1NWX1dSSVRFUl8xLklOSVRPIiBEZXN0aW5hdGlvbj0iY2xvc2VOb3RPcGVuZWRGaWxlLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+CitjbG9zZU5vdE9wZW5lZDs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNsb3NlTm90T3BlbmVkRmlsZS5EZUluaXRUZXN0LkNORiIgRGVzdGluYXRpb249ImNsb3NlTm90T3BlbmVkRmlsZS5TVEVTVF9FTkQuUkVRIiAvPjwvUmVxdWVzdD4KK2Nsb3NlTm90T3BlbmVkOzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY2xvc2VOb3RPcGVuZWRGaWxlLkZfTk9ULk9VVCIgRGVzdGluYXRpb249ImNsb3NlTm90T3BlbmVkRmlsZS5EZUluaXRUZXN0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2Nsb3NlTm90T3BlbmVkOzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY2xvc2VOb3RPcGVuZWRGaWxlLkNTVl9XUklURVJfMS5RTyIgRGVzdGluYXRpb249ImNsb3NlTm90T3BlbmVkRmlsZS5GX05PVC5JTiIgLz48L1JlcXVlc3Q+CitjbG9zZU5vdE9wZW5lZDs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJjbG9zZU5vdE9wZW5lZEZpbGUuQ1NWX1dSSVRFUl8xLklOSVQiIC8+PC9SZXF1ZXN0PgorY2xvc2VOb3RPcGVuZWQ7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iY2xvc2VOb3RPcGVuZWRGaWxlLkNTVl9XUklURVJfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2Nsb3NlTm90T3BlbmVkOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL2NzdldyaXRlcnRUZXN0LmNtYWtlIGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL2NzdldyaXRlcnRUZXN0LmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlYTcxNjgKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvY3N2V3JpdGVydFRlc3QuY21ha2UKQEAgLTAsMCArMSwyOSBAQAorc2V0KEFSR1NfTElTVCAiLWY7JHtCT09UfSIpCisKKyNyZW1vdmUgZmlsZQorZmlsZShSRU1PVkUgIiR7Q1NWX0ZJTEV9IikKKworZXhlY3V0ZV9wcm9jZXNzKENPTU1BTkQgJHtDTUR9ICR7QVJHU19MSVNUfQorICAgICAgICAgICAgICAgIFJFU1VMVF9WQVJJQUJMRSByZXN1bHQpCisgICAgICAgICAgICAgICAgCitpZigke3Jlc3VsdH0pCisgIG1lc3NhZ2UoIlRFU1RfQ09ORElUSU9OX0ZBSUxFRCB8IEVSUk9SOiBUOiBUaGUgcmVzdWx0IG9mIHRoZSBwaXBlIHdhcyAke3Jlc3VsdH0iKQorZW5kaWYoJHtyZXN1bHR9KQorCitpZigke0NTVkZJTEVTSE9VTERFWElTVH0pCisgIGlmKE5PVCBFWElTVFMgIiR7Q1NWX0ZJTEV9IikKKyAgICBtZXNzYWdlKCJURVNUX0NPTkRJVElPTl9GQUlMRUQgfCBFUlJPUjogVDogVGhlIGZpbGUgJHtDU1ZfRklMRX0gc2hvdWxkIGhhdmUgZXhpc3RlZCBidXQgaXQncyBub3QgdGhlcmVcbiIpCisgIGVsc2UoTk9UIEVYSVNUUyAiJHtDU1ZfRklMRX0iKQorICAgIGZpbGUoUkVBRCAiJHtDU1ZfRklMRX0iIFJFQUxfQ09OVEVOVCkKKyAgICBpZihOT1QgIiR7RVhQRUNURURfQ09OVEVOVH0iIFNUUkVRVUFMICIke1JFQUxfQ09OVEVOVH0iKQorICAgICAgbWVzc2FnZSgiVEVTVF9DT05ESVRJT05fRkFJTEVEIHwgRVJST1I6IFQ6IFRoZSBleHBlY3RlZCBjb250ZW50IFxuXG4ke0VYUEVDVEVEX0NPTlRFTlR9XG5cbmlzIG5vdCBzYW1lIGFzIHRoZSByZWFsIG9uZSBcblxuJHtSRUFMX0NPTlRFTlR9IikKKyAgICBlbmRpZihOT1QgIiR7RVhQRUNURURfQ09OVEVOVH0iIFNUUkVRVUFMICIke1JFQUxfQ09OVEVOVH0iKQorICBlbmRpZihOT1QgRVhJU1RTICIke0NTVl9GSUxFfSIpCitlbHNlKCR7Q1NWRklMRVNIT1VMREVYSVNUfSkKKyAgaWYoRVhJU1RTICIke0NTVl9GSUxFfSIpCisgICAgbWVzc2FnZSgiVEVTVF9DT05ESVRJT05fRkFJTEVEIHwgRVJST1I6IFQ6IFRoZSBmaWxlICR7Q1NWX0ZJTEV9IHNob3VsZCBoYXZlIG5vdCBleGlzdGVkIGJ1dCBpdCdzIHRoZXJlXG4iKQorICBlbmRpZihFWElTVFMgIiR7Q1NWX0ZJTEV9IikKK2VuZGlmKCR7Q1NWRklMRVNIT1VMREVYSVNUfSkKKworCisKZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9kb3VibGVJbml0LmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL2RvdWJsZUluaXQuZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDViMDA3MwotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9kb3VibGVJbml0LmZib290CkBAIC0wLDAgKzEsMjQgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJkb3VibGVJbml0IiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK2RvdWJsZUluaXQ7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRG91YmxlSW5pdC5GX05PVF8xIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRvdWJsZUluaXQuRV9TUl8xIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK2RvdWJsZUluaXQ7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRG91YmxlSW5pdC5Eb3VibGVJbml0MSIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEb3VibGVJbml0LkNTVl9XUklURVJfMV8xIiBUeXBlPSJDU1ZfV1JJVEVSXzEiIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0iRG91YmxlSW5pdC5DU1ZfV1JJVEVSXzFfMS5RSSIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNzdldyaXRlVGVzdC5jc3YiIERlc3RpbmF0aW9uPSJEb3VibGVJbml0LkNTVl9XUklURVJfMV8xLkZJTEVfTkFNRSIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRvdWJsZUluaXQuRV9TV0lUQ0hfMSIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEb3VibGVJbml0LmVuZE5vcm1hbF8xIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iRG91YmxlSW5pdC5Eb3VibGVJbml0MiIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRvdWJsZUluaXQuRV9TV0lUQ0hfMS5FTzAiIERlc3RpbmF0aW9uPSJEb3VibGVJbml0LkZfTk9UXzEuUkVRIiAvPjwvUmVxdWVzdD4KK2RvdWJsZUluaXQ7PFJlcXVlc3QgSUQ9IjEyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJEb3VibGVJbml0LkZfTk9UXzEuQ05GIiBEZXN0aW5hdGlvbj0iRG91YmxlSW5pdC5Eb3VibGVJbml0Mi5SRVEiIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iMTMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRvdWJsZUluaXQuRG91YmxlSW5pdDEuQ05GIiBEZXN0aW5hdGlvbj0iRG91YmxlSW5pdC5FX1NSXzEuUiIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSIxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRG91YmxlSW5pdC5FX1NSXzEuRU8iIERlc3RpbmF0aW9uPSJEb3VibGVJbml0LkNTVl9XUklURVJfMV8xLklOSVQiIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iMTUiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRvdWJsZUluaXQuRV9TV0lUQ0hfMS5FTzEiIERlc3RpbmF0aW9uPSJEb3VibGVJbml0LkRvdWJsZUluaXQxLlJFUSIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRG91YmxlSW5pdC5DU1ZfV1JJVEVSXzFfMS5JTklUTyIgRGVzdGluYXRpb249IkRvdWJsZUluaXQuRV9TV0lUQ0hfMS5FSSIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRG91YmxlSW5pdC5Eb3VibGVJbml0Mi5DTkYiIERlc3RpbmF0aW9uPSJEb3VibGVJbml0LmVuZE5vcm1hbF8xLlJFUSIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRG91YmxlSW5pdC5DU1ZfV1JJVEVSXzFfMS5RTyIgRGVzdGluYXRpb249IkRvdWJsZUluaXQuRl9OT1RfMS5JTiIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRG91YmxlSW5pdC5GX05PVF8xLk9VVCIgRGVzdGluYXRpb249IkRvdWJsZUluaXQuRG91YmxlSW5pdDIuY2hlY2siIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iMjAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRvdWJsZUluaXQuRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJEb3VibGVJbml0LkVfU1dJVENIXzEuRyIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSIyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iRG91YmxlSW5pdC5DU1ZfV1JJVEVSXzFfMS5RTyIgRGVzdGluYXRpb249IkRvdWJsZUluaXQuRG91YmxlSW5pdDEuY2hlY2siIC8+PC9SZXF1ZXN0PgorZG91YmxlSW5pdDs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJEb3VibGVJbml0LkVfU1JfMS5TIiAvPjwvUmVxdWVzdD4KK2RvdWJsZUluaXQ7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0iRG91YmxlSW5pdC5FX1NSXzEuUyIgLz48L1JlcXVlc3Q+Citkb3VibGVJbml0OzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL2luaXREZWluaXROb1dyaXRlLmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL2luaXREZWluaXROb1dyaXRlLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjMTU4MTkKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvaW5pdERlaW5pdE5vV3JpdGUuZmJvb3QKQEAgLTAsMCArMSwyOCBAQAorOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9ImluaXREZWluaXROb1dyaXRlIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkluaXREZWluaXROb1dyaXRlLkNTVl9XUklURVJfMSIgVHlwZT0iQ1NWX1dSSVRFUl8xIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNzdldyaXRlVGVzdC5jc3YiIERlc3RpbmF0aW9uPSJJbml0RGVpbml0Tm9Xcml0ZS5DU1ZfV1JJVEVSXzEuRklMRV9OQU1FIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkluaXREZWluaXROb1dyaXRlLkluaXRUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citpbml0RGVpbml0Tm9Xcml0ZTs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJbml0RGVpbml0Tm9Xcml0ZS5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSI2IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9ImNzdkZpcnN0VmFsdWUiIERlc3RpbmF0aW9uPSJJbml0RGVpbml0Tm9Xcml0ZS5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkluaXREZWluaXROb1dyaXRlLkRlSW5pdFRlc3QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkluaXREZWluaXROb1dyaXRlLmVuZE5vcm1hbCIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSI5IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkluaXREZWluaXROb1dyaXRlLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+Citpbml0RGVpbml0Tm9Xcml0ZTs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iSW5pdERlaW5pdE5vV3JpdGUuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJJbml0RGVpbml0Tm9Xcml0ZS5FX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuRV9TUi5FTyIgRGVzdGluYXRpb249IkluaXREZWluaXROb1dyaXRlLkNTVl9XUklURVJfMS5JTklUIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuQ1NWX1dSSVRFUl8xLklOSVRPIiBEZXN0aW5hdGlvbj0iSW5pdERlaW5pdE5vV3JpdGUuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0PgoraW5pdERlaW5pdE5vV3JpdGU7PFJlcXVlc3QgSUQ9IjE0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJbml0RGVpbml0Tm9Xcml0ZS5FX1NXSVRDSC5FTzEiIERlc3RpbmF0aW9uPSJJbml0RGVpbml0Tm9Xcml0ZS5Jbml0VGVzdC5SRVEiIC8+PC9SZXF1ZXN0PgoraW5pdERlaW5pdE5vV3JpdGU7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJbml0RGVpbml0Tm9Xcml0ZS5TVFJJTkcyU1RSSU5HLkNORiIgRGVzdGluYXRpb249IkluaXREZWluaXROb1dyaXRlLkVfU1IuUyIgLz48L1JlcXVlc3Q+Citpbml0RGVpbml0Tm9Xcml0ZTs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkluaXREZWluaXROb1dyaXRlLkZfTk9ULkNORiIgRGVzdGluYXRpb249IkluaXREZWluaXROb1dyaXRlLkRlSW5pdFRlc3QuUkVRIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuRGVJbml0VGVzdC5DTkYiIERlc3RpbmF0aW9uPSJJbml0RGVpbml0Tm9Xcml0ZS5lbmROb3JtYWwuUkVRIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iSW5pdERlaW5pdE5vV3JpdGUuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuSW5pdFRlc3QuQ05GIiBEZXN0aW5hdGlvbj0iSW5pdERlaW5pdE5vV3JpdGUuRV9TUi5SIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuRV9TUi5RIiBEZXN0aW5hdGlvbj0iSW5pdERlaW5pdE5vV3JpdGUuQ1NWX1dSSVRFUl8xLlFJIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuU1RSSU5HMlNUUklORy5PVVQiIERlc3RpbmF0aW9uPSJJbml0RGVpbml0Tm9Xcml0ZS5DU1ZfV1JJVEVSXzEuU0RfMSIgLz48L1JlcXVlc3Q+Citpbml0RGVpbml0Tm9Xcml0ZTs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkluaXREZWluaXROb1dyaXRlLkNTVl9XUklURVJfMS5RTyIgRGVzdGluYXRpb249IkluaXREZWluaXROb1dyaXRlLkluaXRUZXN0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuQ1NWX1dSSVRFUl8xLlFPIiBEZXN0aW5hdGlvbj0iSW5pdERlaW5pdE5vV3JpdGUuRl9OT1QuSU4iIC8+PC9SZXF1ZXN0PgoraW5pdERlaW5pdE5vV3JpdGU7PFJlcXVlc3QgSUQ9IjI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJJbml0RGVpbml0Tm9Xcml0ZS5GX05PVC5PVVQiIERlc3RpbmF0aW9uPSJJbml0RGVpbml0Tm9Xcml0ZS5EZUluaXRUZXN0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK2luaXREZWluaXROb1dyaXRlOzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iSW5pdERlaW5pdE5vV3JpdGUuRV9TUi5RIiBEZXN0aW5hdGlvbj0iSW5pdERlaW5pdE5vV3JpdGUuRV9TV0lUQ0guRyIgLz48L1JlcXVlc3Q+Citpbml0RGVpbml0Tm9Xcml0ZTs8UmVxdWVzdCBJRD0iMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJJbml0RGVpbml0Tm9Xcml0ZS5TVFJJTkcyU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Citpbml0RGVpbml0Tm9Xcml0ZTs8UmVxdWVzdCBJRD0iMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJJbml0RGVpbml0Tm9Xcml0ZS5TVFJJTkcyU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Citpbml0RGVpbml0Tm9Xcml0ZTs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9ub05hbWVGaWxlLmZib290IGIvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL25vTmFtZUZpbGUuZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y0YzBlMAotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9ub05hbWVGaWxlLmZib290CkBAIC0wLDAgKzEsMTQgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJub05hbWVGaWxlIiBUeXBlPSJFTUJfUkVTIiAvPjwvUmVxdWVzdD4KK25vTmFtZUZpbGU7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibm9OYW1lRmlsZS5DU1ZfV1JJVEVSXzEiIFR5cGU9IkNTVl9XUklURVJfMSIgLz48L1JlcXVlc3Q+Citub05hbWVGaWxlOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IjEiIERlc3RpbmF0aW9uPSJub05hbWVGaWxlLkNTVl9XUklURVJfMS5RSSIgLz48L1JlcXVlc3Q+Citub05hbWVGaWxlOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im5vTmFtZUZpbGUuSW5pdFRlc3QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK25vTmFtZUZpbGU7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibm9OYW1lRmlsZS5lbmROb3JtYWwiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+Citub05hbWVGaWxlOzxSZXF1ZXN0IElEPSI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im5vTmFtZUZpbGUuRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK25vTmFtZUZpbGU7PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Im5vTmFtZUZpbGUuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0ibm9OYW1lRmlsZS5Jbml0VGVzdC5SRVEiIC8+PC9SZXF1ZXN0Pgorbm9OYW1lRmlsZTs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibm9OYW1lRmlsZS5Jbml0VGVzdC5DTkYiIERlc3RpbmF0aW9uPSJub05hbWVGaWxlLmVuZE5vcm1hbC5SRVEiIC8+PC9SZXF1ZXN0Pgorbm9OYW1lRmlsZTs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibm9OYW1lRmlsZS5DU1ZfV1JJVEVSXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJub05hbWVGaWxlLkZfTk9ULlJFUSIgLz48L1JlcXVlc3Q+Citub05hbWVGaWxlOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0ibm9OYW1lRmlsZS5DU1ZfV1JJVEVSXzEuUU8iIERlc3RpbmF0aW9uPSJub05hbWVGaWxlLkZfTk9ULklOIiAvPjwvUmVxdWVzdD4KK25vTmFtZUZpbGU7PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJub05hbWVGaWxlLkZfTk9ULk9VVCIgRGVzdGluYXRpb249Im5vTmFtZUZpbGUuSW5pdFRlc3QuY2hlY2siIC8+PC9SZXF1ZXN0Pgorbm9OYW1lRmlsZTs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJub05hbWVGaWxlLkNTVl9XUklURVJfMS5JTklUIiAvPjwvUmVxdWVzdD4KK25vTmFtZUZpbGU7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0ibm9OYW1lRmlsZS5DU1ZfV1JJVEVSXzEuSU5JVCIgLz48L1JlcXVlc3Q+Citub05hbWVGaWxlOzxSZXF1ZXN0IElEPSIxNCIgQWN0aW9uPSJTVEFSVCIvPgpkaWZmIC0tZ2l0IGEvc3lzdGVtdGVzdHMvc3JjL21vZHVsZXMvdXRpbHMvY3N2V3JpdGVyL25vcm1hbEV4ZWN1dGlvbi5mYm9vdCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9ub3JtYWxFeGVjdXRpb24uZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIwOGVjMAotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9ub3JtYWxFeGVjdXRpb24uZmJvb3QKQEAgLTAsMCArMSwzMiBAQAorOzxSZXF1ZXN0IElEPSIxIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Im5vcm1hbEV4ZWN1dGlvbiIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb247PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9ybWFsRXhlY3V0aW9uLndyaXRlTm9ybWFsIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb247PFJlcXVlc3QgSUQ9IjMiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9ybWFsRXhlY3V0aW9uLkNTVl9XUklURVJfMSIgVHlwZT0iQ1NWX1dSSVRFUl8xIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJjc3ZXcml0ZVRlc3QuY3N2IiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uLkNTVl9XUklURVJfMS5GSUxFX05BTUUiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vcm1hbEV4ZWN1dGlvbi5Jbml0VGVzdCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSI2IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vcm1hbEV4ZWN1dGlvbi5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJjc3ZGaXJzdFZhbHVlIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uLlNUUklORzJTVFJJTkcuSU4iIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSI4IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vcm1hbEV4ZWN1dGlvbi5EZUluaXRUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb247PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9ybWFsRXhlY3V0aW9uLmVuZE5vcm1hbCIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9ybWFsRXhlY3V0aW9uLkZfTk9UIiBUeXBlPSJGX05PVCIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb247PFJlcXVlc3QgSUQ9IjExIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vcm1hbEV4ZWN1dGlvbi5FX1NXSVRDSCIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb3JtYWxFeGVjdXRpb24uRV9TUiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb247PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb24uQ1NWX1dSSVRFUl8xLkNORiIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi53cml0ZU5vcm1hbC5SRVEiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIxNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLndyaXRlTm9ybWFsLkNORiIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi5FX1NSLlIiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb24uQ1NWX1dSSVRFUl8xLklOSVQiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLkluaXRUZXN0LkNORiIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi5DU1ZfV1JJVEVSXzEuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iMTciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbi5DU1ZfV1JJVEVSXzEuSU5JVE8iIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb24uRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi5Jbml0VGVzdC5SRVEiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLlNUUklORzJTVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uLkVfU1IuUyIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb247PFJlcXVlc3QgSUQ9IjIwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb24uRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uLkRlSW5pdFRlc3QuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbi5EZUluaXRUZXN0LkNORiIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi5lbmROb3JtYWwuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbi5FX1NXSVRDSC5FTzAiIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb24uRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iMjMiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbi5DU1ZfV1JJVEVSXzEuUU8iIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb24ud3JpdGVOb3JtYWwuY2hlY2siIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIyNCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLkVfU1IuUSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi5DU1ZfV1JJVEVSXzEuUUkiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLlNUUklORzJTVFJJTkcuT1VUIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uLkNTVl9XUklURVJfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbi5DU1ZfV1JJVEVSXzEuUU8iIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb24uSW5pdFRlc3QuY2hlY2siIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIyNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLkNTVl9XUklURVJfMS5RTyIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi5GX05PVC5JTiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb247PFJlcXVlc3QgSUQ9IjI4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb24uRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uLkRlSW5pdFRlc3QuY2hlY2siIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uLkVfU1IuUSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbjs8UmVxdWVzdCBJRD0iMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb24uU1RSSU5HMlNUUklORy5SRVEiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uOzxSZXF1ZXN0IElEPSIzMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbi5TVFJJTkcyU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb247PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IlNUQVJUIi8+CmRpZmYgLS1naXQgYS9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkxZmIyMAotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9ub3JtYWxFeGVjdXRpb25NdWx0aXBsZS5mYm9vdApAQCAtMCwwICsxLDQ4IEBACis7PFJlcXVlc3QgSUQ9IjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0ibm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjIiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUud3JpdGVOb3JtYWwiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkluaXRUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUUklORyNjc3ZGaXJzdFZhbHVlIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuU1RSSU5HMlNUUklORy5JTiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iNiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5EZUluaXRUZXN0IiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5lbmROb3JtYWwiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5FX1NSIiBUeXBlPSJFX1NSIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5DU1ZfV1JJVEVSXzEiIFR5cGU9IkNTVl9XUklURVJfMyIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3N2V3JpdGVUZXN0LmNzdiIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkNTVl9XUklURVJfMS5GSUxFX05BTUUiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjEzIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1JfMSIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TV0lUQ0hfMSIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1JfMiIgVHlwZT0iRV9TUiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TV0lUQ0hfMiIgVHlwZT0iRV9TV0lUQ0giIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfQ1RVIiBUeXBlPSJFX0NUVSIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMTgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkluaXRUZXN0LlJFUSIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMTkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkZfTk9ULkNORiIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkRlSW5pdFRlc3QuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRGVJbml0VGVzdC5DTkYiIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5lbmROb3JtYWwuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIyMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIyMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TUi5FTyIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkNTVl9XUklURVJfMS5JTklUIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIyMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuQ1NWX1dSSVRFUl8xLklOSVRPIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjI0IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5DU1ZfV1JJVEVSXzEuQ05GIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUud3JpdGVOb3JtYWwuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUud3JpdGVOb3JtYWwuQ05GIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TV0lUQ0hfMS5FSSIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1dJVENIXzEuRU8wIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TUl8xLlMiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5FX1NXSVRDSF8xLkVPMSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1IuUiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkluaXRUZXN0LkNORiIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLlNUUklORzJTVFJJTkcuUkVRIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIyOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TV0lUQ0hfMS5FTzAiIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5TVFJJTkcyU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMzAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLlNUUklORzJTVFJJTkcuQ05GIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TV0lUQ0hfMi5FSSIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMzEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1dJVENIXzIuRU8wIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TUl8yLlMiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjMyIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5FX1NXSVRDSF8yLkVPMSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1JfMi5SIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIzMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9DVFUuQ1VPIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuQ1NWX1dSSVRFUl8xLlJFUSIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMzQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1JfMi5FTyIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfQ1RVLkNVIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIzNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRGVJbml0VGVzdC5jaGVjayIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iMzYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1IuUSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1dJVENILkciIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjM3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5FX1NSLlEiIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5DU1ZfV1JJVEVSXzEuUUkiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjM4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5TVFJJTkcyU1RSSU5HLk9VVCIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkNTVl9XUklURVJfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSIzOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuQ1NWX1dSSVRFUl8xLlFPIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuSW5pdFRlc3QuY2hlY2siIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjQwIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5DU1ZfV1JJVEVSXzEuUU8iIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5GX05PVC5JTiIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iNDEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkNTVl9XUklURVJfMS5RTyIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLndyaXRlTm9ybWFsLmNoZWNrIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSI0MiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuRV9TUl8xLlEiIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5FX1NXSVRDSF8xLkciIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjQzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5FX1NSXzIuUSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1dJVENIXzIuRyIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iNDQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfQ1RVLkNWIiBEZXN0aW5hdGlvbj0iTm9ybWFsRXhlY3V0aW9uTXVsdGlwbGUuQ1NWX1dSSVRFUl8xLlNEXzMiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjQ1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5FX1NSXzIuUSIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkNTVl9XUklURVJfMS5TRF8yIiAvPjwvUmVxdWVzdD4KK25vcm1hbEV4ZWN1dGlvbk11bHRpcGxlOzxSZXF1ZXN0IElEPSI0NiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249Ik5vcm1hbEV4ZWN1dGlvbk11bHRpcGxlLkVfU1IuUyIgLz48L1JlcXVlc3Q+Citub3JtYWxFeGVjdXRpb25NdWx0aXBsZTs8UmVxdWVzdCBJRD0iNDciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJOb3JtYWxFeGVjdXRpb25NdWx0aXBsZS5FX1NSLlMiIC8+PC9SZXF1ZXN0Pgorbm9ybWFsRXhlY3V0aW9uTXVsdGlwbGU7PFJlcXVlc3QgSUQ9IjQ4IiBBY3Rpb249IlNUQVJUIi8+CmRpZmYgLS1naXQgYS9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvb3BlbkFuZE5vQ2xvc2UuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvb3BlbkFuZE5vQ2xvc2UuZmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBiMzY2OQotLS0gL2Rldi9udWxsCisrKyBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci9vcGVuQW5kTm9DbG9zZS5mYm9vdApAQCAtMCwwICsxLDkgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJvcGVuQW5kTm9DbG9zZSIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitvcGVuQW5kTm9DbG9zZTs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJEb250Q2xvc2UuQ1NWX1dSSVRFUl8yIiBUeXBlPSJDU1ZfV1JJVEVSXzEiIC8+PC9SZXF1ZXN0Pgorb3BlbkFuZE5vQ2xvc2U7PFJlcXVlc3QgSUQ9IjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iMSIgRGVzdGluYXRpb249IkRvbnRDbG9zZS5DU1ZfV1JJVEVSXzIuUUkiIC8+PC9SZXF1ZXN0Pgorb3BlbkFuZE5vQ2xvc2U7PFJlcXVlc3QgSUQ9IjQiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3N2V3JpdGVUZXN0LmNzdiIgRGVzdGluYXRpb249IkRvbnRDbG9zZS5DU1ZfV1JJVEVSXzIuRklMRV9OQU1FIiAvPjwvUmVxdWVzdD4KK29wZW5BbmROb0Nsb3NlOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkRvbnRDbG9zZS5lbmROb3JtYWxfMV8xIiBUeXBlPSJTVEVTVF9FTkQiIC8+PC9SZXF1ZXN0Pgorb3BlbkFuZE5vQ2xvc2U7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IkRvbnRDbG9zZS5DU1ZfV1JJVEVSXzIuSU5JVE8iIERlc3RpbmF0aW9uPSJEb250Q2xvc2UuZW5kTm9ybWFsXzFfMS5SRVEiIC8+PC9SZXF1ZXN0Pgorb3BlbkFuZE5vQ2xvc2U7PFJlcXVlc3QgSUQ9IjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJEb250Q2xvc2UuQ1NWX1dSSVRFUl8yLklOSVQiIC8+PC9SZXF1ZXN0Pgorb3BlbkFuZE5vQ2xvc2U7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJEb250Q2xvc2UuQ1NWX1dSSVRFUl8yLklOSVQiIC8+PC9SZXF1ZXN0Pgorb3BlbkFuZE5vQ2xvc2U7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci93cml0ZVFJRmFsc2UuZmJvb3QgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvd3JpdGVRSUZhbHNlLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzNjdlYzQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvd3JpdGVRSUZhbHNlLmZib290CkBAIC0wLDAgKzEsMjkgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cml0ZVFJRmFsc2UiIFR5cGU9IkVNQl9SRVMiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IndyaXRlUUlGYWxzZS5DU1ZfV1JJVEVSXzEiIFR5cGU9IkNTVl9XUklURVJfMSIgLz48L1JlcXVlc3Q+Cit3cml0ZVFJRmFsc2U7PFJlcXVlc3QgSUQ9IjMiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3N2V3JpdGVUZXN0LmNzdiIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5DU1ZfV1JJVEVSXzEuRklMRV9OQU1FIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cml0ZVFJRmFsc2UuSW5pdFRlc3QiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iNSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cml0ZVFJRmFsc2UuU1RSSU5HMlNUUklORyIgVHlwZT0iU1RSSU5HMlNUUklORyIgLz48L1JlcXVlc3Q+Cit3cml0ZVFJRmFsc2U7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3N2Rmlyc3RWYWx1ZSIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5TVFJJTkcyU1RSSU5HLklOIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iNyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cml0ZVFJRmFsc2Uud3JpdGVRSUZhbHNlIiBUeXBlPSJURVNUX0NPTkRJVElPTiIgLz48L1JlcXVlc3Q+Cit3cml0ZVFJRmFsc2U7PFJlcXVlc3QgSUQ9IjgiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JpdGVRSUZhbHNlLmVuZE5vcm1hbCIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iOSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cml0ZVFJRmFsc2UuRl9OT1QiIFR5cGU9IkZfTk9UIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JpdGVRSUZhbHNlLkVfU1IiIFR5cGU9IkVfU1IiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cml0ZVFJRmFsc2UuRV9TV0lUQ0giIFR5cGU9IkVfU1dJVENIIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iMTIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IndyaXRlUUlGYWxzZS5TVFJJTkcyU1RSSU5HLkNORiIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5FX1NSLlMiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVRSUZhbHNlLkZfTk9ULkNORiIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS53cml0ZVFJRmFsc2UuUkVRIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IndyaXRlUUlGYWxzZS53cml0ZVFJRmFsc2UuQ05GIiBEZXN0aW5hdGlvbj0id3JpdGVRSUZhbHNlLmVuZE5vcm1hbC5SRVEiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIxNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVRSUZhbHNlLkNTVl9XUklURVJfMS5JTklUTyIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5Jbml0VGVzdC5SRVEiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIxNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVRSUZhbHNlLkluaXRUZXN0LkNORiIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5FX1NSLlIiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIxNyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVRSUZhbHNlLkVfU1dJVENILkVPMSIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5DU1ZfV1JJVEVSXzEuSU5JVCIgLz48L1JlcXVlc3Q+Cit3cml0ZVFJRmFsc2U7PFJlcXVlc3QgSUQ9IjE4IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cml0ZVFJRmFsc2UuRV9TV0lUQ0guRU8wIiBEZXN0aW5hdGlvbj0id3JpdGVRSUZhbHNlLkNTVl9XUklURVJfMS5SRVEiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIxOSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVRSUZhbHNlLkVfU1IuRU8iIERlc3RpbmF0aW9uPSJ3cml0ZVFJRmFsc2UuRV9TV0lUQ0guRUkiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIyMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVRSUZhbHNlLkNTVl9XUklURVJfMS5DTkYiIERlc3RpbmF0aW9uPSJ3cml0ZVFJRmFsc2UuRl9OT1QuUkVRIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iMjEiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IndyaXRlUUlGYWxzZS5FX1NSLlEiIERlc3RpbmF0aW9uPSJ3cml0ZVFJRmFsc2UuQ1NWX1dSSVRFUl8xLlFJIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iMjIiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IndyaXRlUUlGYWxzZS5TVFJJTkcyU1RSSU5HLk9VVCIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5DU1ZfV1JJVEVSXzEuU0RfMSIgLz48L1JlcXVlc3Q+Cit3cml0ZVFJRmFsc2U7PFJlcXVlc3QgSUQ9IjIzIiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cml0ZVFJRmFsc2UuQ1NWX1dSSVRFUl8xLlFPIiBEZXN0aW5hdGlvbj0id3JpdGVRSUZhbHNlLkluaXRUZXN0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iMjQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IndyaXRlUUlGYWxzZS5DU1ZfV1JJVEVSXzEuUU8iIERlc3RpbmF0aW9uPSJ3cml0ZVFJRmFsc2UuRl9OT1QuSU4iIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIyNSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVRSUZhbHNlLkZfTk9ULk9VVCIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS53cml0ZVFJRmFsc2UuY2hlY2siIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIyNiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVRSUZhbHNlLkVfU1IuUSIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5FX1NXSVRDSC5HIiAvPjwvUmVxdWVzdD4KK3dyaXRlUUlGYWxzZTs8UmVxdWVzdCBJRD0iMjciIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULkNPTEQiIERlc3RpbmF0aW9uPSJ3cml0ZVFJRmFsc2UuU1RSSU5HMlNUUklORy5SRVEiIC8+PC9SZXF1ZXN0Pgord3JpdGVRSUZhbHNlOzxSZXF1ZXN0IElEPSIyOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuV0FSTSIgRGVzdGluYXRpb249IndyaXRlUUlGYWxzZS5TVFJJTkcyU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit3cml0ZVFJRmFsc2U7PFJlcXVlc3QgSUQ9IjI5IiBBY3Rpb249IlNUQVJUIi8+CmRpZmYgLS1naXQgYS9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvd3JpdGVXaXRob3V0SW5pdC5mYm9vdCBiL3N5c3RlbXRlc3RzL3NyYy9tb2R1bGVzL3V0aWxzL2NzdldyaXRlci93cml0ZVdpdGhvdXRJbml0LmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5OTZmODQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy9zcmMvbW9kdWxlcy91dGlscy9jc3ZXcml0ZXIvd3JpdGVXaXRob3V0SW5pdC5mYm9vdApAQCAtMCwwICsxLDE5IEBACis7PFJlcXVlc3QgSUQ9IjEiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JpdGVXaXRob3V0SW5pdCIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+Cit3cml0ZVdpdGhvdXRJbml0OzxSZXF1ZXN0IElEPSIyIiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IndyaXRlV2l0aG91dEluaXQuQ1NWX1dSSVRFUl8xIiBUeXBlPSJDU1ZfV1JJVEVSXzEiIC8+PC9SZXF1ZXN0Pgord3JpdGVXaXRob3V0SW5pdDs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSIxIiBEZXN0aW5hdGlvbj0id3JpdGVXaXRob3V0SW5pdC5DU1ZfV1JJVEVSXzEuUUkiIC8+PC9SZXF1ZXN0Pgord3JpdGVXaXRob3V0SW5pdDs8UmVxdWVzdCBJRD0iNCIgQWN0aW9uPSJXUklURSI+PENvbm5lY3Rpb24gU291cmNlPSJjc3ZXcml0ZVRlc3QuY3N2IiBEZXN0aW5hdGlvbj0id3JpdGVXaXRob3V0SW5pdC5DU1ZfV1JJVEVSXzEuRklMRV9OQU1FIiAvPjwvUmVxdWVzdD4KK3dyaXRlV2l0aG91dEluaXQ7PFJlcXVlc3QgSUQ9IjUiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JpdGVXaXRob3V0SW5pdC5TVFJJTkcyU1RSSU5HIiBUeXBlPSJTVFJJTkcyU1RSSU5HIiAvPjwvUmVxdWVzdD4KK3dyaXRlV2l0aG91dEluaXQ7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iV1JJVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iY3N2Rmlyc3RWYWx1ZSIgRGVzdGluYXRpb249IndyaXRlV2l0aG91dEluaXQuU1RSSU5HMlNUUklORy5JTiIgLz48L1JlcXVlc3Q+Cit3cml0ZVdpdGhvdXRJbml0OzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IndyaXRlV2l0aG91dEluaXQuRGVJbml0VGVzdCIgVHlwZT0iVEVTVF9DT05ESVRJT04iIC8+PC9SZXF1ZXN0Pgord3JpdGVXaXRob3V0SW5pdDs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJ3cml0ZVdpdGhvdXRJbml0LmVuZE5vcm1hbCIgVHlwZT0iU1RFU1RfRU5EIiAvPjwvUmVxdWVzdD4KK3dyaXRlV2l0aG91dEluaXQ7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48RkIgTmFtZT0id3JpdGVXaXRob3V0SW5pdC5GX05PVCIgVHlwZT0iRl9OT1QiIC8+PC9SZXF1ZXN0Pgord3JpdGVXaXRob3V0SW5pdDs8UmVxdWVzdCBJRD0iMTAiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IndyaXRlV2l0aG91dEluaXQuRl9OT1QuQ05GIiBEZXN0aW5hdGlvbj0id3JpdGVXaXRob3V0SW5pdC5EZUluaXRUZXN0LlJFUSIgLz48L1JlcXVlc3Q+Cit3cml0ZVdpdGhvdXRJbml0OzxSZXF1ZXN0IElEPSIxMSIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVXaXRob3V0SW5pdC5EZUluaXRUZXN0LkNORiIgRGVzdGluYXRpb249IndyaXRlV2l0aG91dEluaXQuZW5kTm9ybWFsLlJFUSIgLz48L1JlcXVlc3Q+Cit3cml0ZVdpdGhvdXRJbml0OzxSZXF1ZXN0IElEPSIxMiIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVXaXRob3V0SW5pdC5TVFJJTkcyU1RSSU5HLkNORiIgRGVzdGluYXRpb249IndyaXRlV2l0aG91dEluaXQuQ1NWX1dSSVRFUl8xLlJFUSIgLz48L1JlcXVlc3Q+Cit3cml0ZVdpdGhvdXRJbml0OzxSZXF1ZXN0IElEPSIxMyIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0id3JpdGVXaXRob3V0SW5pdC5DU1ZfV1JJVEVSXzEuQ05GIiBEZXN0aW5hdGlvbj0id3JpdGVXaXRob3V0SW5pdC5GX05PVC5SRVEiIC8+PC9SZXF1ZXN0Pgord3JpdGVXaXRob3V0SW5pdDs8UmVxdWVzdCBJRD0iMTQiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IndyaXRlV2l0aG91dEluaXQuU1RSSU5HMlNUUklORy5PVVQiIERlc3RpbmF0aW9uPSJ3cml0ZVdpdGhvdXRJbml0LkNTVl9XUklURVJfMS5TRF8xIiAvPjwvUmVxdWVzdD4KK3dyaXRlV2l0aG91dEluaXQ7PFJlcXVlc3QgSUQ9IjE1IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJ3cml0ZVdpdGhvdXRJbml0LkNTVl9XUklURVJfMS5RTyIgRGVzdGluYXRpb249IndyaXRlV2l0aG91dEluaXQuRl9OT1QuSU4iIC8+PC9SZXF1ZXN0Pgord3JpdGVXaXRob3V0SW5pdDs8UmVxdWVzdCBJRD0iMTYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IndyaXRlV2l0aG91dEluaXQuRl9OT1QuT1VUIiBEZXN0aW5hdGlvbj0id3JpdGVXaXRob3V0SW5pdC5EZUluaXRUZXN0LmNoZWNrIiAvPjwvUmVxdWVzdD4KK3dyaXRlV2l0aG91dEluaXQ7PFJlcXVlc3QgSUQ9IjE3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJTVEFSVC5XQVJNIiBEZXN0aW5hdGlvbj0id3JpdGVXaXRob3V0SW5pdC5TVFJJTkcyU1RSSU5HLlJFUSIgLz48L1JlcXVlc3Q+Cit3cml0ZVdpdGhvdXRJbml0OzxSZXF1ZXN0IElEPSIxOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IndyaXRlV2l0aG91dEluaXQuU1RSSU5HMlNUUklORy5SRVEiIC8+PC9SZXF1ZXN0Pgord3JpdGVXaXRob3V0SW5pdDs8UmVxdWVzdCBJRD0iMTkiIEFjdGlvbj0iU1RBUlQiLz4KZGlmZiAtLWdpdCBhL3N5c3RlbXRlc3RzL3Vua25vd25fRkIuZmJvb3QgYi9zeXN0ZW10ZXN0cy91bmtub3duX0ZCLmZib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ODg0N2YKLS0tIC9kZXYvbnVsbAorKysgYi9zeXN0ZW10ZXN0cy91bmtub3duX0ZCLmZib290CkBAIC0wLDAgKzEsMTIgQEAKKzs8UmVxdWVzdCBJRD0iMSIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJIYXJkX1Bhc3NfRXhhbXBsZSIgVHlwZT0iRU1CX1JFUyIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMiIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTVEVTVF9FTkQiIFR5cGU9IlNURVNUX0VORCIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMyIgQWN0aW9uPSJDUkVBVEUiPjxGQiBOYW1lPSJTSE9VTERfTk9UX0ZBSUwiIFR5cGU9IlRFU1RfQ09ORElUSU9OIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI1IiBBY3Rpb249IldSSVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9InRydWUiIERlc3RpbmF0aW9uPSJCT09MMkJPT0wuSU4iIC8+PC9SZXF1ZXN0PgorSGFyZF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjYiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNIT1VMRF9OT1RfRkFJTC5DTkYiIERlc3RpbmF0aW9uPSJTVEVTVF9FTkQuUkVRIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI3IiBBY3Rpb249IkNSRUFURSI+PENvbm5lY3Rpb24gU291cmNlPSJCT09MMkJPT0wuQ05GIiBEZXN0aW5hdGlvbj0iU0hPVUxEX05PVF9GQUlMLlJFUSIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iOCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iU1RBUlQuQ09MRCIgRGVzdGluYXRpb249IkJPT0wyQk9PTC5SRVEiIC8+PC9SZXF1ZXN0PgorSGFyZF9QYXNzX0V4YW1wbGU7PFJlcXVlc3QgSUQ9IjkiIEFjdGlvbj0iQ1JFQVRFIj48Q29ubmVjdGlvbiBTb3VyY2U9IlNUQVJULldBUk0iIERlc3RpbmF0aW9uPSJCT09MMkJPT0wuUkVRIiAvPjwvUmVxdWVzdD4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSIxMCIgQWN0aW9uPSJDUkVBVEUiPjxDb25uZWN0aW9uIFNvdXJjZT0iQk9PTDJCT09MLk9VVCIgRGVzdGluYXRpb249IlNIT1VMRF9OT1RfRkFJTC5jaGVjayIgLz48L1JlcXVlc3Q+CitIYXJkX1Bhc3NfRXhhbXBsZTs8UmVxdWVzdCBJRD0iMTEiIEFjdGlvbj0iU1RBUlQiLz4KK0hhcmRfUGFzc19FeGFtcGxlOzxSZXF1ZXN0IElEPSI0IiBBY3Rpb249IkNSRUFURSI+PEZCIE5hbWU9IkJPT0wyQk9PTCIgVHlwZT0iQk9PTDJCT09MVW5rbm93biIgLz48L1JlcXVlc3Q+CmRpZmYgLS1naXQgYS90ZXN0cy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL0NNYWtlTGlzdHMudHh0CmluZGV4IDAwNWI3M2YuLjhjY2RkZjEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL0NNYWtlTGlzdHMudHh0CisrKyBiL3Rlc3RzL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTggQUNJTiwgbnh0Q29udHJvbCwgUHJvZmFjdG9yIEdtYkgsIGZvcnRpc3MgR21iSAotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSwgTWljaGVhbCBIb2ZtYW5uLCAKKyMgQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxOCBBQ0lOLCBueHRDb250cm9sLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEsIE1pY2hlYWwgSG9mbWFubiwgCiAjICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgIC0gYWRkcyBzdWJkaXJlY3RvcnkgZm9yIGFyY2ggdGVzdHMKICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTEzMywxNiArMTM0LDE4IEBACiAKIEdFVF9QUk9QRVJUWShsaW5rX2ZsYWdzX3Rlc3QgR0xPQkFMIFBST1BFUlRZIEZPUlRFX1RFU1RfTElOS19GTEFHUykKIAorI2FkZCBmb3J0ZV90ZXN0IHRvIHRoZSBsaXN0IG9mIHRlc3QgdG8gYmUgZXhlY3V0ZWQgYnkgY3Rlc3QKK2FkZF90ZXN0KGZvcnRlX3Rlc3QgJHtFWEVDVVRBQkxFX09VVFBVVF9QQVRIfS9mb3J0ZV90ZXN0KQorCiBpZigiJHtGT1JURV9BUkNISVRFQ1RVUkV9IiBTVFJFUVVBTCAiUG9zaXgiKQogICBzZXQoRk9SVEVfVEVTVF9DT0RFX0NPVkVSQUdFX0FOQUxZU0lTIE9GRiBDQUNIRSBCT09MICJQZXJmb3JtIGNvZGUgY292ZXJhZ2UgYW5hbHlpcyB3aXRoIEdDT1YgYW5kIHByZXNlbnRhdGlvbiB3aXRoIExDT1YiKQogICBtYXJrX2FzX2FkdmFuY2VkKEZPUlRFX1RFU1RfQ09ERV9DT1ZFUkFHRV9BTkFMWVNJUykKICAgaWYoRk9SVEVfVEVTVF9DT0RFX0NPVkVSQUdFX0FOQUxZU0lTKQogICAgICAgSU5DTFVERSgke0ZPUlRFX0JVSUxEU1VQUE9SVF9ESVJFQ1RPUll9L0dDb3YuY21ha2UpICAgIAotICAgICAgU0VUVVBfR0NPVihUZXN0Q292ZXJhZ2UgZm9ydGVfdGVzdCBjb3ZlcmFnZSkKKyAgICAgIFNFVFVQX0dDT1YoVGVzdENvdmVyYWdlIGN0ZXN0IGNvdmVyYWdlKQogICBlbmRpZigpIAogZW5kaWYoKQogCi1hZGRfdGVzdChmb3J0ZV90ZXN0ICR7RVhFQ1VUQUJMRV9PVVRQVVRfUEFUSH0vZm9ydGVfdGVzdCkKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBHZW5lcmF0ZSBzdHJpbmdsaXN0IGZvciBldmVyeSBzb3VyY2UgZmlsZQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS90ZXN0cy9hcmNoL0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvYXJjaC9DTWFrZUxpc3RzLnR4dAppbmRleCA4ODQxOWQ4Li4zZjFlYWZiIDEwMDY0NAotLS0gYS90ZXN0cy9hcmNoL0NNYWtlTGlzdHMudHh0CisrKyBiL3Rlc3RzL2FyY2gvQ01ha2VMaXN0cy50eHQKQEAgLTEsOSArMSwxMCBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTggQUNJTgotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisjIENvcHlyaWdodCAoYykgMjAxOCBBQ0lOCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICMgKgogIyAqIENvbnRyaWJ1dG9yczogCiAjICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvYXJjaC91dGlscy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL2FyY2gvdXRpbHMvQ01ha2VMaXN0cy50eHQKaW5kZXggOTQ5ZWQ3ZC4uODVlMjE2ZiAxMDA2NDQKLS0tIGEvdGVzdHMvYXJjaC91dGlscy9DTWFrZUxpc3RzLnR4dAorKysgYi90ZXN0cy9hcmNoL3V0aWxzL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxOCBBQ0lOCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDE4IEFDSU4KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKIGZvcnRlX3Rlc3RfYWRkX2luY19kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0pCmRpZmYgLS1naXQgYS90ZXN0cy9hcmNoL3V0aWxzL3RpbWVzcGVjX3V0aWxzX3Rlc3RzLmNwcCBiL3Rlc3RzL2FyY2gvdXRpbHMvdGltZXNwZWNfdXRpbHNfdGVzdHMuY3BwCmluZGV4IDczNmFjYTcuLmY1N2YwZWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2FyY2gvdXRpbHMvdGltZXNwZWNfdXRpbHNfdGVzdHMuY3BwCisrKyBiL3Rlc3RzL2FyY2gvdXRpbHMvdGltZXNwZWNfdXRpbHNfdGVzdHMuY3BwCkBAIC0xLDEzICsxLDE1IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiBDb3B5cmlnaHQgKGMpIDIwMTggQUNJTgotKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0qIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotKgotKiBDb250cmlidXRvcnM6Ci0qICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBpbml0aWFsIHRlc3QgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAqIENvcHlyaWdodCAoYykgMjAxOCBBQ0lOCisgKgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gaW5pdGlhbCB0ZXN0IGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjaW5jbHVkZSA8Ym9vc3QvdGVzdC91bml0X3Rlc3QuaHBwPgogCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvY29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5M2NjMTA1Li5hNTBjYTIyIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL3Rlc3RzL2NvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNSBBQ0lOLCBueHRDb250cm9sLCBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE1IEFDSU4sIG54dENvbnRyb2wsIGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KICMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI1NFVChTT1VSQ0VfR1JPVVAgJHtTT1VSQ0VfR1JPVVB9XFxjb3JlKQpAQCAtMjAsNyArMjEsNiBAQAogZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAobmFtZWlkZW50aWZpZXJ0ZXN0LmNwcCkKIGZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKG1nbXN0YXRlbWFjaGluZXRlc3QuY3BwKQogZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoaWVjNjExMzFfZnVuY3Rpb25zdGVzdHMuY3BwKQotZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoY29udmVydF9mdW5jdGlvbnN0ZXN0cy5jcHApCiBmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChpbnRlcm5hbHZhcnRlc3RzLmNwcCkKIAogZm9ydGVfdGVzdF9hZGRfc3ViZGlyZWN0b3J5KGRhdGF0eXBlcykKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvY29taW5mcmEvQ01ha2VMaXN0cy50eHQgYi90ZXN0cy9jb3JlL2NvbWluZnJhL0NNYWtlTGlzdHMudHh0CmluZGV4IDA4Y2ZjMTcuLjM0YTc3MTAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvY29taW5mcmEvQ01ha2VMaXN0cy50eHQKKysrIGIvdGVzdHMvY29yZS9jb21pbmZyYS9DTWFrZUxpc3RzLnR4dApAQCAtMSwxMiArMSwxMyBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTgotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSMgKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0jICoKLSMgKiBDb250cmlidXRvcnM6Ci0jICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjU0VUKFNPVVJDRV9HUk9VUCAke1NPVVJDRV9HUk9VUH1cXGNvcmUpCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXJfc2VyZGVzZXJkYXRhLmggYi90ZXN0cy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXJfc2VyZGVzZXJkYXRhLmgKaW5kZXggYmY1OWIyOC4uZThlOGZiZCAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9jb21pbmZyYS9mYmRrYXNuMWxheWVyX3NlcmRlc2VyZGF0YS5oCisrKyBiL3Rlc3RzL2NvcmUvY29taW5mcmEvZmJka2FzbjFsYXllcl9zZXJkZXNlcmRhdGEuaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4gYW5kIG54dENvbnRyb2wKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9jb21pbmZyYS9mYmRrYXNuMWxheWVyZGVzZXJfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXJkZXNlcl90ZXN0LmNwcAppbmRleCBjNDgyZDMwLi5mZDM1MmQwIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXJkZXNlcl90ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXJkZXNlcl90ZXN0LmNwcApAQCAtMSwxMCArMSwxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE0IEFDSU4sIGZvcnRpc3MsIG54dENvbnRyb2wgYW5kIFByb2ZhY3Rvcg0KICAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQogICogICBBbG9pcyBab2l0bCwgSW5nbyBIZWdueSwgTWljaGFlbCBIb2ZtYW5uLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXJzZXJfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2NvbWluZnJhL2ZiZGthc24xbGF5ZXJzZXJfdGVzdC5jcHAKaW5kZXggNmU3ZjZhYy4uOWE0ZmI0YSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9jb21pbmZyYS9mYmRrYXNuMWxheWVyc2VyX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvY29taW5mcmEvZmJka2FzbjFsYXllcnNlcl90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTQgQUNJTiwgZm9ydGlzcywgbnh0Q29udHJvbCBhbmQgUHJvZmFjdG9yDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIEluZ28gSGVnbnksIE1pY2hhZWwgSG9mbWFubiwgU3RhbmlzbGF2IE1lZHVuYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9jb252ZXJ0X2Z1bmN0aW9uc3Rlc3RzLmNwcCBiL3Rlc3RzL2NvcmUvY29udmVydF9mdW5jdGlvbnN0ZXN0cy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyOWYyMDguLjAwMDAwMDAKLS0tIGEvdGVzdHMvY29yZS9jb252ZXJ0X2Z1bmN0aW9uc3Rlc3RzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qIENvcHlyaWdodCAoYykgMjAxOCBUVSBWaWVubmEvQUNJTgotKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0qIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotKgotKiBDb250cmlidXRvcnM6Ci0qICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgotKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gYWRkcyB0ZXN0cyBmb3IgUkVBTCBhbmQgTFJFQUwgY2FzdHMKLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpbmNsdWRlIDxib29zdC90ZXN0L3VuaXRfdGVzdC5ocHA+Ci0KLSNpbmNsdWRlICJjb252ZXJ0X2Z1bmN0aW9ucy5oIgotCi0jaW5jbHVkZSAiZm9ydGVfc2ludC5oIgotI2luY2x1ZGUgImZvcnRlX3JlYWwuaCIKLSNpbmNsdWRlICJmb3J0ZV9kYXRlX2FuZF90aW1lLmgiCi0jaW5jbHVkZSAiZm9ydGVfdGltZV9vZl9kYXkuaCIKLQotQk9PU1RfQVVUT19URVNUX1NVSVRFKGNvbnZlcnRfZnVuY3Rpb25zKQotCi1CT09TVF9BVVRPX1RFU1RfQ0FTRShDT05WRVJUX0RUX1RPX1RPRCkKLXsKLSAgQ0lFQ19EQVRFX0FORF9USU1FIGRhdGU7Ci0gIGRhdGUuZnJvbVN0cmluZygiRFQjMjAxOC0wNy0xMC0xMjozODo1MC4xMjMiKTsKLQotICBDSUVDX1RJTUVfT0ZfREFZIHRvZChEVF9UT19UT0QoZGF0ZSkpOwotICBCT09TVF9URVNUKChURm9ydGVVSW50NjQpdG9kID09ICgxMiozNjAwICsgMzgqNjAgKyA1MCkqMTAwMFVMTCArIDEyMyk7Ci19Ci0KLUJPT1NUX0FVVE9fVEVTVF9DQVNFKENPTlZFUlRfUkVBTF9UT19YSU5UKQotewotICBDSUVDX1JFQUwgcm91bmRVcFJlYWwoNTAuNWYpOwotICBDSUVDX1JFQUwgcm91bmREb3duUmVhbCg1MC40Zik7Ci0KLSAgQk9PU1RfVEVTVChSRUFMX1RPX1NJTlQocm91bmRVcFJlYWwpID09IDUxKTsKLSAgQk9PU1RfVEVTVChSRUFMX1RPX1NJTlQocm91bmREb3duUmVhbCkgPT0gNTApOwotICBCT09TVF9URVNUKFJFQUxfVE9fSU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7Ci0gIEJPT1NUX1RFU1QoUkVBTF9UT19JTlQocm91bmREb3duUmVhbCkgPT0gNTApOwotICBCT09TVF9URVNUKFJFQUxfVE9fRElOVChyb3VuZFVwUmVhbCkgPT0gNTEpOwotICBCT09TVF9URVNUKFJFQUxfVE9fRElOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7Ci0gIEJPT1NUX1RFU1QoUkVBTF9UT19MSU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7Ci0gIEJPT1NUX1RFU1QoUkVBTF9UT19MSU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKLQotICBCT09TVF9URVNUKFJFQUxfVE9fVVNJTlQocm91bmRVcFJlYWwpID09IDUxKTsKLSAgQk9PU1RfVEVTVChSRUFMX1RPX1VTSU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKLSAgQk9PU1RfVEVTVChSRUFMX1RPX1VJTlQocm91bmRVcFJlYWwpID09IDUxKTsKLSAgQk9PU1RfVEVTVChSRUFMX1RPX1VJTlQocm91bmREb3duUmVhbCkgPT0gNTApOwotICBCT09TVF9URVNUKFJFQUxfVE9fVURJTlQocm91bmRVcFJlYWwpID09IDUxKTsKLSAgQk9PU1RfVEVTVChSRUFMX1RPX1VESU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKLSAgQk9PU1RfVEVTVChSRUFMX1RPX1VMSU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7Ci0gIEJPT1NUX1RFU1QoUkVBTF9UT19VTElOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7Ci19Ci0KLUJPT1NUX0FVVE9fVEVTVF9DQVNFKENPTlZFUlRfTFJFQUxfVE9fWElOVCkKLXsKLSAgQ0lFQ19MUkVBTCByb3VuZFVwUmVhbCg1MC41Zik7Ci0gIENJRUNfTFJFQUwgcm91bmREb3duUmVhbCg1MC40Zik7Ci0KLSAgQk9PU1RfVEVTVChMUkVBTF9UT19TSU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7Ci0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fU0lOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7Ci0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fSU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7Ci0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fSU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKLSAgQk9PU1RfVEVTVChMUkVBTF9UT19ESU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7Ci0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fRElOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7Ci0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fTElOVChyb3VuZFVwUmVhbCkgPT0gNTEpOwotICBCT09TVF9URVNUKExSRUFMX1RPX0xJTlQocm91bmREb3duUmVhbCkgPT0gNTApOwotCi0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fVVNJTlQocm91bmRVcFJlYWwpID09IDUxKTsKLSAgQk9PU1RfVEVTVChMUkVBTF9UT19VU0lOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7Ci0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fVUlOVChyb3VuZFVwUmVhbCkgPT0gNTEpOwotICBCT09TVF9URVNUKExSRUFMX1RPX1VJTlQocm91bmREb3duUmVhbCkgPT0gNTApOwotICBCT09TVF9URVNUKExSRUFMX1RPX1VESU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7Ci0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fVURJTlQocm91bmREb3duUmVhbCkgPT0gNTApOwotICBCT09TVF9URVNUKExSRUFMX1RPX1VMSU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7Ci0gIEJPT1NUX1RFU1QoTFJFQUxfVE9fVUxJTlQocm91bmREb3duUmVhbCkgPT0gNTApOwotfQotCi1CT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQU5ZX3Rlc3RzLmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQU5ZX3Rlc3RzLmNwcAppbmRleCBjY2YzZjRkLi42OTI3ZmRhIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0FOWV90ZXN0cy5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19BTllfdGVzdHMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgLSAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCwgTW9uaWthIFdlbmdlciAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0FSUkFZX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19BUlJBWV90ZXN0LmNwcAppbmRleCA5YmIyMjRhLi4yNjdmYTcyIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0FSUkFZX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQVJSQVlfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE1IEFDSU4sIGZvcnRpc3MgR21iSCwgUHJvZmFjdG9yLCBueHRDb250cm9sDQotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMA0KLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KICAqICAgQWxvaXMgWm9pdGwsIE1pY2hlYWwgSG9mbWFubiwgU3RhbmlzbGF2IE1lZHVuYSwgSW5nbyBIZWdueSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19CT09MX0NBU1RTX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19CT09MX0NBU1RTX3Rlc3QuY3BwCmluZGV4IGIxZWFlMDYuLjZjYTM3NTAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQk9PTF9DQVNUU190ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0JPT0xfQ0FTVFNfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTIgQUNJTiwgbnh0Q29udHJvbAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0JPT0xfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0JPT0xfdGVzdC5jcHAKaW5kZXggNGE3NTg3OC4uMzI5M2RiOSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19CT09MX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQk9PTF90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQllURV9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQllURV9DQVNUU190ZXN0LmNwcAppbmRleCAwM2VhZTEwLi40ZjgzOTBlIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0JZVEVfQ0FTVFNfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19CWVRFX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4sIG54dENvbnRyb2wsIDIwMTggVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQllURV90ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfQllURV90ZXN0LmNwcAppbmRleCBiMzA2ZTU2Li43NDFlN2M2IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0JZVEVfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19CWVRFX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19EQVRFX0FORF9USU1FX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19EQVRFX0FORF9USU1FX3Rlc3QuY3BwCmluZGV4IDg2ODEzNGQuLmM2Mjc2ZDkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfREFURV9BTkRfVElNRV90ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0RBVEVfQU5EX1RJTUVfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOLCBueHRDb250cm9sCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0RBVEVfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0RBVEVfdGVzdC5jcHAKaW5kZXggYWFjODFlOC4uMWQxYzI2MSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19EQVRFX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfREFURV90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4sIG54dENvbnRyb2wKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfRElOVF9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfRElOVF9DQVNUU190ZXN0LmNwcAppbmRleCA5YTAwYjc1Li43ZGE4MDczIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0RJTlRfQ0FTVFNfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19ESU5UX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4sIG54dENvbnRyb2wsIDIwMTggVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfRElOVF90ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfRElOVF90ZXN0LmNwcAppbmRleCA0MGYwMTkwLi5iMDJmZTU3IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0RJTlRfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19ESU5UX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19EV09SRF9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfRFdPUkRfQ0FTVFNfdGVzdC5jcHAKaW5kZXggZGE2NzMyOC4uOWRhODQyMSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19EV09SRF9DQVNUU190ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0RXT1JEX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4sIG54dENvbnRyb2wsIDIwMTggVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfRFdPUkRfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0RXT1JEX3Rlc3QuY3BwCmluZGV4IDZiZWViODIuLmM2MTA2NGMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfRFdPUkRfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19EV09SRF90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfSU5UX0NBU1RTX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19JTlRfQ0FTVFNfdGVzdC5jcHAKaW5kZXggNjE4MjQyYi4uNzQxMzZjZSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19JTlRfQ0FTVFNfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19JTlRfQ0FTVFNfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTIgQUNJTiwgbnh0Q29udHJvbCwgMjAxOCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19JTlRfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0lOVF90ZXN0LmNwcAppbmRleCA1MDAyNjk2Li4yODEwYzU4IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0lOVF90ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0lOVF90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4sIG54dENvbnRyb2wKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfTElOVF9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfTElOVF9DQVNUU190ZXN0LmNwcAppbmRleCAwM2M3Y2RmLi41ZTgwOWZjIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0xJTlRfQ0FTVFNfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MSU5UX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIG54dENvbnRyb2wsIGZvcnRpc3MgR21iSCwgMjAxOCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MSU5UX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MSU5UX3Rlc3QuY3BwCmluZGV4IDJhMGFkZDguLmUyZjQyY2MgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfTElOVF90ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0xJTlRfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0xSRUFMX0NBU1RTX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MUkVBTF9DQVNUU190ZXN0LmNwcAppbmRleCA4OGMxNzZmLi4xNDI5N2Y2IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0xSRUFMX0NBU1RTX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfTFJFQUxfQ0FTVFNfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTIgQUNJTiwgbnh0Q29udHJvbCwgMjAxOCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MUkVBTF90ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfTFJFQUxfdGVzdC5jcHAKaW5kZXggYjVkOGM5MS4uY2ZiOGYyMiAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MUkVBTF90ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0xSRUFMX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIG54dENvbnRyb2wsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MV09SRF9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfTFdPUkRfQ0FTVFNfdGVzdC5jcHAKaW5kZXggNzlkYTVmMi4uMGYyNmViYiAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MV09SRF9DQVNUU190ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0xXT1JEX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4sIG54dENvbnRyb2wsIDIwMTggVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfTFdPUkRfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX0xXT1JEX3Rlc3QuY3BwCmluZGV4IGY5M2JhZTUuLmFlNTI0YzkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfTFdPUkRfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19MV09SRF90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfUkVBTF9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfUkVBTF9DQVNUU190ZXN0LmNwcAppbmRleCA0ODU5YWYyLi5hNzhkZmRkIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1JFQUxfQ0FTVFNfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19SRUFMX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4sIG54dENvbnRyb2wsIDIwMTggVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfUkVBTF90ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfUkVBTF90ZXN0LmNwcAppbmRleCBhYmZhZmNmLi4zM2RhOTllIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1JFQUxfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19SRUFMX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzIEFDSU4sIG54dENvbnRyb2wsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19TSU5UX0NBU1RTX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19TSU5UX0NBU1RTX3Rlc3QuY3BwCmluZGV4IDNlNWZmMTIuLjljYmE5ZTMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfU0lOVF9DQVNUU190ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1NJTlRfQ0FTVFNfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTIgQUNJTiwgbnh0Q29udHJvbCwgMjAxOCBUVSBWaWVubmEvQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19TSU5UX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19TSU5UX3Rlc3QuY3BwCmluZGV4IDIzZjYwNGEuLjc5MDg1YmQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfU0lOVF90ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1NJTlRfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1NUUklOR190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfU1RSSU5HX3Rlc3QuY3BwCmluZGV4IGE0OTBmZTAuLjA1ODdkNzMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfU1RSSU5HX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfU1RSSU5HX3Rlc3QuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMyBBQ0lOLCBueHRDb250cm9sLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICiAgKiAgIDIwMTggVFUgV2llbi9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSwKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfU1RSVUNUX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19TVFJVQ1RfdGVzdC5jcHAKaW5kZXggMGZmYzRmNS4uMGUwODQwNiAxMDA3NTUKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19TVFJVQ1RfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19TVFJVQ1RfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMyBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19USU1FX09GX0RBWV90ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVElNRV9PRl9EQVlfdGVzdC5jcHAKaW5kZXggN2Y2NjI1YS4uYWEyYjhiNiAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19USU1FX09GX0RBWV90ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1RJTUVfT0ZfREFZX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTiwgbnh0Q29udHJvbAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIFN0YW5pc2xhdiBNZWR1bmEgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19USU1FX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19USU1FX3Rlc3QuY3BwCmluZGV4IDgzMmZkMmQuLmZmNWYxZjggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVElNRV90ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1RJTUVfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSwgMjEwMyBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KQEAgLTExNSw3ICsxMTYsNyBAQAogICBzdHJjcHkoY0J1ZmZlciwgIiIpOyovCiAKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QuZnJvbVN0cmluZygiVElNRSM0aDM2bSIpLCAxMCk7Ci0gIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LCAxNjU2MDAwMExMICogKEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EIC8gMTAwMCkpOworICBCT09TVF9DSEVDS19FUVVBTChuVGVzdCwgMTY1NjAwMDBMTCAqIChjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCAvIDEwMDApKTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QudG9TdHJpbmcoY0J1ZmZlciwgMTcpLCAxMik7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXJGYWlsLCAyKSwgLTEpOwogICBCT09TVF9DSEVDS19FUVVBTChzdGQ6OnN0cmluZyhjQnVmZmVyKSwgIlQjMTY1NjAwMDBtcyIpOwpAQCAtMTIzLDcgKzEyNCw3IEBACiAgIG5UZXN0ID0gMDsKIAogICBCT09TVF9DSEVDS19FUVVBTChuVGVzdC5mcm9tU3RyaW5nKCJ0aW1lIzRoMzZtIiksIDEwKTsKLSAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QsIDE2NTYwMDAwTEwgKiAoRk9SVEVfVElNRV9CQVNFX1VOSVRTX1BFUl9TRUNPTkQgLyAxMDAwKSk7CisgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LCAxNjU2MDAwMExMICogKGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kIC8gMTAwMCkpOwogICBCT09TVF9DSEVDS19FUVVBTChuVGVzdC50b1N0cmluZyhjQnVmZmVyLCAxNyksIDEyKTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QudG9TdHJpbmcoY0J1ZmZlckZhaWwsIDIpLCAtMSk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKHN0ZDo6c3RyaW5nKGNCdWZmZXIpLCAiVCMxNjU2MDAwMG1zIik7CkBAIC0xMzEsNyArMTMyLDcgQEAKICAgblRlc3QgPSAwOwogCiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LmZyb21TdHJpbmcoIlQjNGgzNm0iKSwgNyk7Ci0gIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LCAxNjU2MDAwMExMICogKEZPUlRFX1RJTUVfQkFTRV9VTklUU19QRVJfU0VDT05EIC8gMTAwMCkpOworICBCT09TVF9DSEVDS19FUVVBTChuVGVzdCwgMTY1NjAwMDBMTCAqIChjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCAvIDEwMDApKTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QudG9TdHJpbmcoY0J1ZmZlciwgMTcpLCAxMik7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXJGYWlsLCAyKSwgLTEpOwogICBCT09TVF9DSEVDS19FUVVBTChzdGQ6OnN0cmluZyhjQnVmZmVyKSwgIlQjMTY1NjAwMDBtcyIpOwpAQCAtMTM5LDcgKzE0MCw3IEBACiAgIG5UZXN0ID0gMDsKIAogICBCT09TVF9DSEVDS19FUVVBTChuVGVzdC5mcm9tU3RyaW5nKCJ0IzRoMzZtIiksIDcpOwotICBCT09TVF9DSEVDS19FUVVBTChuVGVzdCwgMTY1NjAwMDBMTCAqIChGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCAvIDEwMDApKTsKKyAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QsIDE2NTYwMDAwTEwgKiAoY2dGb3J0ZVRpbWVCYXNlVW5pdHNQZXJTZWNvbmQgLyAxMDAwKSk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXIsIDE3KSwgMTIpOwogICBCT09TVF9DSEVDS19FUVVBTChuVGVzdC50b1N0cmluZyhjQnVmZmVyRmFpbCwgMiksIC0xKTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoc3RkOjpzdHJpbmcoY0J1ZmZlciksICJUIzE2NTYwMDAwbXMiKTsKQEAgLTE1Myw3ICsxNTQsNyBAQAogICBzdHJjcHkoY0J1ZmZlciwgIiIpOyovCiAKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QuZnJvbVN0cmluZygiVElNRSMzc18yMm1zIiksIDEyKTsKLSAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QsIChDSUVDX1RJTUU6OlRWYWx1ZVR5cGUpKDMwMjJMTCAqIChGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCAvIDEwMDBMTCkpKTsKKyAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QsIChDSUVDX1RJTUU6OlRWYWx1ZVR5cGUpKDMwMjJMTCAqIChjZ0ZvcnRlVGltZUJhc2VVbml0c1BlclNlY29uZCAvIDEwMDBMTCkpKTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QudG9TdHJpbmcoY0J1ZmZlciwgMTcpLCA4KTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QudG9TdHJpbmcoY0J1ZmZlckZhaWwsIDIpLCAtMSk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKHN0ZDo6c3RyaW5nKGNCdWZmZXIpLCAiVCMzMDIybXMiKTsKQEAgLTE2MSw3ICsxNjIsNyBAQAogICBuVGVzdCA9IDA7CiAKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QuZnJvbVN0cmluZygidGltZSMzc18yMm1zIiksIDEyKTsKLSAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QsIDMwMjJMTCAqIChGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCAvIDEwMDBMTCkpOworICBCT09TVF9DSEVDS19FUVVBTChuVGVzdCwgMzAyMkxMICogKGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kIC8gMTAwMExMKSk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXIsIDE3KSwgOCk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXJGYWlsLCAyKSwgLTEpOwogICBCT09TVF9DSEVDS19FUVVBTChzdGQ6OnN0cmluZyhjQnVmZmVyKSwgIlQjMzAyMm1zIik7CkBAIC0xNjksNyArMTcwLDcgQEAKICAgblRlc3QgPSAwOwogCiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LmZyb21TdHJpbmcoIlQjM3NfMjJtcyIpLCA5KTsKLSAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QsIDMwMjJMTCAqIChGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCAvIDEwMDBMTCkpOworICBCT09TVF9DSEVDS19FUVVBTChuVGVzdCwgMzAyMkxMICogKGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kIC8gMTAwMExMKSk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXIsIDE3KSwgOCk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXJGYWlsLCAyKSwgLTEpOwogICBCT09TVF9DSEVDS19FUVVBTChzdGQ6OnN0cmluZyhjQnVmZmVyKSwgIlQjMzAyMm1zIik7CkBAIC0xNzcsNyArMTc4LDcgQEAKICAgblRlc3QgPSAwOwogCiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LmZyb21TdHJpbmcoInQjM3NfMjJtcyIpLCA5KTsKLSAgQk9PU1RfQ0hFQ0tfRVFVQUwoblRlc3QsIDMwMjJMTCAqIChGT1JURV9USU1FX0JBU0VfVU5JVFNfUEVSX1NFQ09ORCAvIDEwMDBMTCkpOworICBCT09TVF9DSEVDS19FUVVBTChuVGVzdCwgMzAyMkxMICogKGNnRm9ydGVUaW1lQmFzZVVuaXRzUGVyU2Vjb25kIC8gMTAwMExMKSk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXIsIDE3KSwgOCk7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKG5UZXN0LnRvU3RyaW5nKGNCdWZmZXJGYWlsLCAyKSwgLTEpOwogICBCT09TVF9DSEVDS19FUVVBTChzdGQ6OnN0cmluZyhjQnVmZmVyKSwgIlQjMzAyMm1zIik7CkBAIC0xODUsNyArMTg2LDcgQEAKICAgblRlc3QgPSAwOwogfQogCi1CT09TVF9BVVRPX1RFU1RfQ0FTRSh0aW1lX2Zyb21TdHJpbmdfd2l0aF9taWNyb3NlY29uZHNfdGVzdCl7CitCT09TVF9BVVRPX1RFU1RfQ0FTRSh0b1N0cmluZ193aXRoX21pY3Jvc2Vjb25kc190ZXN0KXsKICAgQ0lFQ19USU1FIHRpbWU7CiAgIGNoYXIgY0J1ZmZlclsxN107CiAKQEAgLTIxNCwxNCArMjE1LDE0IEBACiBCT09TVF9BVVRPX1RFU1RfQ0FTRSh0aW1lX2NvbXBhcmlzaW9uX3Rlc3RzKXsKICAgQ0lFQ19USU1FIHRpbWUxLCB0aW1lMjsKIAotICB0aW1lMS5zZXRGcm9tTWlsaVNlY29uZHMoMjAwKTsKLSAgdGltZTIuc2V0RnJvbU1pbGlTZWNvbmRzKDIwMCk7CisgIHRpbWUxLnNldEZyb21NaWxsaVNlY29uZHMoMjAwKTsKKyAgdGltZTIuc2V0RnJvbU1pbGxpU2Vjb25kcygyMDApOwogCiAgIEJPT1NUX0NIRUNLKHRpbWUxID09IHRpbWUyKTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwodHJ1ZSwgdGltZTEgPj0gdGltZTIpOwogICBCT09TVF9DSEVDS19FUVVBTCh0cnVlLCB0aW1lMSA8PSB0aW1lMik7CiAKLSAgdGltZTIuc2V0RnJvbU1pbGlTZWNvbmRzKDE1MCk7CisgIHRpbWUyLnNldEZyb21NaWxsaVNlY29uZHMoMTUwKTsKIAogICBCT09TVF9DSEVDS19FUVVBTCh0cnVlLCB0aW1lMSA+IHRpbWUyKTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwodHJ1ZSwgdGltZTEgPj0gdGltZTIpOwpAQCAtMjI5LDcgKzIzMCw3IEBACiAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCB0aW1lMSA8IHRpbWUyKTsKICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZmFsc2UsIHRpbWUxIDw9IHRpbWUyKTsKIAotICB0aW1lMS5zZXRGcm9tTWlsaVNlY29uZHMoMTIwKTsKKyAgdGltZTEuc2V0RnJvbU1pbGxpU2Vjb25kcygxMjApOwogICBCT09TVF9DSEVDS19FUVVBTChmYWxzZSwgdGltZTEgPiB0aW1lMik7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCB0aW1lMSA+PSB0aW1lMik7CiAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIHRpbWUxICE9IHRpbWUyKTsKQEAgLTIzOCw0ICsyMzksMTQwIEBACiAKIH0KIAorQk9PU1RfQVVUT19URVNUX0NBU0UoZ2V0X3RpbWVfaW5fbmFub3NlY29uZHMpCit7CisgIENJRUNfVElNRSB0aW1lOworCisgIHRpbWUuc2V0RnJvbU5hbm9TZWNvbmRzKDEpOworICBCT09TVF9DSEVDSyh0aW1lLmdldEluTmFub1NlY29uZHMoKSA9PSAxKTsKKworICB0aW1lLnNldEZyb21OYW5vU2Vjb25kcygxMCk7CisgIEJPT1NUX0NIRUNLKHRpbWUuZ2V0SW5OYW5vU2Vjb25kcygpID09IDEwKTsKKworICB0aW1lLnNldEZyb21OYW5vU2Vjb25kcyg5OTkpOworICBCT09TVF9DSEVDSyh0aW1lLmdldEluTmFub1NlY29uZHMoKSA9PSA5OTkpOworCisgIHRpbWUuc2V0RnJvbU5hbm9TZWNvbmRzKDEwMzI1NjQzKTsKKyAgQk9PU1RfQ0hFQ0sodGltZS5nZXRJbk5hbm9TZWNvbmRzKCkgPT0gMTAzMjU2NDMpOworfQorCitCT09TVF9BVVRPX1RFU1RfQ0FTRShwYXJzZV90aW1lX2xpdGVyYWxfaW5fbWlsbGlzZWNvbmRzKQoreworICBDSUVDX1RJTUUgdGltZTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjMW1zIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWxsaVNlY29uZHMoKSwgMSk7CisKKyAgdGltZS5mcm9tU3RyaW5nKCJUIzEwbXMiKTsKKyAgQk9PU1RfQ0hFQ0tfRVFVQUwodGltZS5nZXRJbk1pbGxpU2Vjb25kcygpLCAxMCk7CisKKyAgdGltZS5mcm9tU3RyaW5nKCJUIzk5OW1zIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWxsaVNlY29uZHMoKSwgOTk5KTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjMTAzMjU2NDNtcyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTWlsbGlTZWNvbmRzKCksIDEwMzI1NjQzKTsKK30KKworQk9PU1RfQVVUT19URVNUX0NBU0UocGFyc2VfcG9zaXRpdmVfc2lnbmVkX3RpbWVfbGl0ZXJhbF9pbl9taWxsaXNlY29uZHMpCit7CisgIENJRUNfVElNRSB0aW1lOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMrMW1zIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWxsaVNlY29uZHMoKSwgMSk7CisKKyAgdGltZS5mcm9tU3RyaW5nKCJUIysxMG1zIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWxsaVNlY29uZHMoKSwgMTApOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMrOTk5bXMiKTsKKyAgQk9PU1RfQ0hFQ0tfRVFVQUwodGltZS5nZXRJbk1pbGxpU2Vjb25kcygpLCA5OTkpOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMrMTAzMjU2NDNtcyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTWlsbGlTZWNvbmRzKCksIDEwMzI1NjQzKTsKK30KKworQk9PU1RfQVVUT19URVNUX0NBU0UocGFyc2VfbmVnYXRpdmVfc2lnbmVkX3RpbWVfbGl0ZXJhbF9pbl9taWxsaXNlY29uZHMpCit7CisgIENJRUNfVElNRSB0aW1lOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMtMW1zIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWxsaVNlY29uZHMoKSwgLTEpOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMtMTBtcyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTWlsbGlTZWNvbmRzKCksIC0xMCk7CisKKyAgdGltZS5mcm9tU3RyaW5nKCJUIy05OTltcyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTWlsbGlTZWNvbmRzKCksIC05OTkpOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMtMTAzMjU2NDNtcyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTWlsbGlTZWNvbmRzKCksIC0xMDMyNTY0Myk7Cit9CisKK0JPT1NUX0FVVE9fVEVTVF9DQVNFKHBhcnNlX3RpbWVfbGl0ZXJhbF9pbl9taWNyb3NlY29uZHMpCit7CisgIENJRUNfVElNRSB0aW1lOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMxdXMiKTsKKyAgQk9PU1RfQ0hFQ0tfRVFVQUwodGltZS5nZXRJbk1pY3JvU2Vjb25kcygpLCAxKTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjMTB1cyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTWljcm9TZWNvbmRzKCksIDEwKTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjOTk5dXMiKTsKKyAgQk9PU1RfQ0hFQ0tfRVFVQUwodGltZS5nZXRJbk1pY3JvU2Vjb25kcygpLCA5OTkpOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMxMDMyNTY0M3VzIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWNyb1NlY29uZHMoKSwgMTAzMjU2NDMpOworfQorCitCT09TVF9BVVRPX1RFU1RfQ0FTRShwYXJzZV9uZWdhdGl2ZV9zaWduZWRfdGltZV9saXRlcmFsX2luX21pY3Jvc2Vjb25kcykKK3sKKyAgQ0lFQ19USU1FIHRpbWU7CisKKyAgdGltZS5mcm9tU3RyaW5nKCJUIy0xdXMiKTsKKyAgQk9PU1RfQ0hFQ0tfRVFVQUwodGltZS5nZXRJbk1pY3JvU2Vjb25kcygpLCAtMSk7CisKKyAgdGltZS5mcm9tU3RyaW5nKCJUIy0xMHVzIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWNyb1NlY29uZHMoKSwgLTEwKTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjLTk5OXVzIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWNyb1NlY29uZHMoKSwgLTk5OSk7CisKKyAgdGltZS5mcm9tU3RyaW5nKCJUIy0xMDMyNTY0M3VzIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5NaWNyb1NlY29uZHMoKSwgLTEwMzI1NjQzKTsKK30KKworQk9PU1RfQVVUT19URVNUX0NBU0UocGFyc2VfdGltZV9saXRlcmFsX2luX25hbm9zZWNvbmRzKQoreworICBDSUVDX1RJTUUgdGltZTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjMW5zIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5OYW5vU2Vjb25kcygpLCAxKTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjMTBucyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTmFub1NlY29uZHMoKSwgMTApOworCisgIHRpbWUuZnJvbVN0cmluZygiVCM5OTlucyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTmFub1NlY29uZHMoKSwgOTk5KTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjMTAzMjU2NDNucyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTmFub1NlY29uZHMoKSwgMTAzMjU2NDMpOworfQorCitCT09TVF9BVVRPX1RFU1RfQ0FTRShwYXJzZV9uZWdhdGl2ZV9zaWduZWRfdGltZV9saXRlcmFsX2luX25hbm9zZWNvbmRzKQoreworICBDSUVDX1RJTUUgdGltZTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjLTFucyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTmFub1NlY29uZHMoKSwgLTEpOworCisgIHRpbWUuZnJvbVN0cmluZygiVCMtMTBucyIpOworICBCT09TVF9DSEVDS19FUVVBTCh0aW1lLmdldEluTmFub1NlY29uZHMoKSwgLTEwKTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjLTk5OW5zIik7CisgIEJPT1NUX0NIRUNLX0VRVUFMKHRpbWUuZ2V0SW5OYW5vU2Vjb25kcygpLCAtOTk5KTsKKworICB0aW1lLmZyb21TdHJpbmcoIlQjLTEwMzI1NjQzbnMiKTsKKyAgQk9PU1RfQ0hFQ0tfRVFVQUwodGltZS5nZXRJbk5hbm9TZWNvbmRzKCksIC0xMDMyNTY0Myk7Cit9CisKIEJPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VRElOVF9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVURJTlRfQ0FTVFNfdGVzdC5jcHAKaW5kZXggMmE3ZWVhMS4uYzNhZThmYyAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VRElOVF9DQVNUU190ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VESU5UX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4sIG54dENvbnRyb2wsIDIwMTggVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVURJTlRfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VESU5UX3Rlc3QuY3BwCmluZGV4IGQ1YWY3NzguLmUwMzU3YmMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVURJTlRfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VRElOVF90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVUlOVF9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVUlOVF9DQVNUU190ZXN0LmNwcAppbmRleCAzYThmNGM0Li4xY2ZhNmEzIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VJTlRfQ0FTVFNfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VSU5UX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4sIG54dENvbnRyb2wsIDIwMTggVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVUlOVF90ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVUlOVF90ZXN0LmNwcAppbmRleCBmNjU0MDFhLi41ODIyYjA4IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VJTlRfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VSU5UX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgQUNJTgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucywgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VTElOVF9DQVNUU190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVUxJTlRfQ0FTVFNfdGVzdC5jcHAKaW5kZXggODY2YzJlOC4uY2VhYWE3MiAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VTElOVF9DQVNUU190ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VMSU5UX0NBU1RTX3Rlc3QuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEyIEFDSU4sIG54dENvbnRyb2wsIDIwMTggVFUgVmllbm5hL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBTdGFuaXNsYXYgTWVkdW5hIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVUxJTlRfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VMSU5UX3Rlc3QuY3BwCmluZGV4IDE5YTFkNzQuLjg5Y2I4ZGIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVUxJTlRfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VTElOVF90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVVNJTlRfQ0FTVFNfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VTSU5UX0NBU1RTX3Rlc3QuY3BwCmluZGV4IDU4MTk0MGMuLjdjN2Y5ZjUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVVNJTlRfQ0FTVFNfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VU0lOVF9DQVNUU190ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMiBBQ0lOLCBueHRDb250cm9sLCAyMDE4IFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VTSU5UX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19VU0lOVF90ZXN0LmNwcAppbmRleCBlMjU1YjgzLi4yM2Q1MTdiIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1VTSU5UX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfVVNJTlRfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSBBQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1dPUkRfQ0FTVFNfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1dPUkRfQ0FTVFNfdGVzdC5jcHAKaW5kZXggOTMyYjg4Yy4uYTg1YWE4ZCAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19XT1JEX0NBU1RTX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfV09SRF9DQVNUU190ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxMiBBQ0lOLCBueHRDb250cm9sLCAyMDE4IFRVIFZpZW5uYS9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCwgU3RhbmlzbGF2IE1lZHVuYSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1dPUkRfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1dPUkRfdGVzdC5jcHAKaW5kZXggYzc3ZjY5My4uOGNlNzAyNiAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19XT1JEX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfV09SRF90ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfV1NUUklOR190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NJRUNfV1NUUklOR190ZXN0LmNwcAppbmRleCAxZDA4YTY1Li45YmFhZmQ1IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9DSUVDX1dTVFJJTkdfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ0lFQ19XU1RSSU5HX3Rlc3QuY3BwCkBAIC0xLDEwICsxLDExIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCBBQ0lOLCBueHRDb250cm9sLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJICiAgKiAgIDIwMTggVFUgV2llbi9BQ0lOCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zLCBJbmdvIEhlZ255LCBBbG9pcyBab2l0bCwKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NNYWtlTGlzdHMudHh0IGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ01ha2VMaXN0cy50eHQKaW5kZXggNDFmOGMxMS4uNDVlM2Y3NyAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ01ha2VMaXN0cy50eHQKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ01ha2VMaXN0cy50eHQKQEAgLTEsMTIgKzEsMTMgQEAKICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0jICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCBueHRDb250cm9sLCBBQ0lOLCBmb3J0aXNzIEdtYkgsIFByb2ZhY3RvciBHbWJICi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIFN0YW5pc2xhdiBNZWR1bmEsIEluZ28gSGVnbnksIEFsb2lzIFpvaXRsLCBNb25pa2EgV2VuZ2VyLCBNYXR0aGlhcyBQbGFzY2ggIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCBueHRDb250cm9sLCBBQ0lOLCBmb3J0aXNzIEdtYkgsIFByb2ZhY3RvciBHbWJICisjIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorIyB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisjIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyMKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgU3RhbmlzbGF2IE1lZHVuYSwgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwsIE1vbmlrYSBXZW5nZXIsIE1hdHRoaWFzIFBsYXNjaCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjU0VUKFNPVVJDRV9HUk9VUCAke1NPVVJDRV9HUk9VUH1cXGNvcmUpCkBAIC04MCwxMCArODEsNSBAQAogICBmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChDSUVDX1RJTUVfT0ZfREFZX3Rlc3QuY3BwKQogICAKICAgZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoQ0lFQ19TVFJVQ1RfdGVzdC5jcHApCi0gIAotIyBjb252ZXJ0IGZ1bmN0aW9ucyBmb3IgVE9fKFcpU1RSSU5HIGNvbnZlcnNpb25zCi0gIGZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKGNvbnZlcnRfdG9fU1RSSU5HX3Rlc3QuY3BwKQotCi1JRihGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRSkKLSAgZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoY29udmVydF90b19XU1RSSU5HX3Rlc3QuY3BwKQotRU5ESUYoRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorIAorIGZvcnRlX3Rlc3RfYWRkX3N1YmRpcmVjdG9yeShjb252ZXJ0KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL0NVbmljb2RlVXRpbGl0aWVzX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ1VuaWNvZGVVdGlsaXRpZXNfdGVzdC5jcHAKaW5kZXggNGMxZDU2NC4uODFjMWY2ZCAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ1VuaWNvZGVVdGlsaXRpZXNfdGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvQ1VuaWNvZGVVdGlsaXRpZXNfdGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxMSwgMjAxNSBueHRDb250cm9sLCBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgU3RhbmlzbGF2IE1lZHVuYSwgSW5nbyBIZWdueSwgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL2FueXRvc3RyaW5ndGVzdHMuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvYW55dG9zdHJpbmd0ZXN0cy5jcHAKaW5kZXggMmI0NzNlMC4uOGE2OTI4MSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvYW55dG9zdHJpbmd0ZXN0cy5jcHAKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvYW55dG9zdHJpbmd0ZXN0cy5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvY29udmVydC9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM3MTlhNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwyMCBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zICAtIGFkZHMgcGFja2FnZSBsYXllciBmb3IgY29udmVydCB0ZXN0cworIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChjb252ZXJ0X2Z1bmN0aW9uc3Rlc3RzLmNwcCkKKworIyBjb252ZXJ0IGZ1bmN0aW9ucyBmb3IgVE9fKFcpU1RSSU5HIGNvbnZlcnNpb25zCisgIGZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKGNvbnZlcnRfdG9fU1RSSU5HX3Rlc3QuY3BwKQorCitJRihGT1JURV9VU0VfV1NUUklOR19EQVRBVFlQRSkKKyAgZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoY29udmVydF90b19XU1RSSU5HX3Rlc3QuY3BwKQorRU5ESUYoRk9SVEVfVVNFX1dTVFJJTkdfREFUQVRZUEUpCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L2NvbnZlcnRfZnVuY3Rpb25zdGVzdHMuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvY29udmVydC9jb252ZXJ0X2Z1bmN0aW9uc3Rlc3RzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzFlNjE3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvY29udmVydC9jb252ZXJ0X2Z1bmN0aW9uc3Rlc3RzLmNwcApAQCAtMCwwICsxLDE2NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCBUVSBWaWVubmEvQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBhZGRzIHRlc3RzIGZvciBSRUFMIGFuZCBMUkVBTCBjYXN0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxib29zdC90ZXN0L3VuaXRfdGVzdC5ocHA+CisKKyNpbmNsdWRlICJjb252ZXJ0X2Z1bmN0aW9ucy5oIgorCisjaW5jbHVkZSAiZm9ydGVfc2ludC5oIgorI2luY2x1ZGUgImZvcnRlX2xpbnQuaCIKKyNpbmNsdWRlICJmb3J0ZV9yZWFsLmgiCisjaW5jbHVkZSAiZm9ydGVfZGF0ZV9hbmRfdGltZS5oIgorI2luY2x1ZGUgImZvcnRlX3RpbWVfb2ZfZGF5LmgiCisKK0JPT1NUX0FVVE9fVEVTVF9TVUlURShjb252ZXJ0X2Z1bmN0aW9ucykKKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShDT05WRVJUX0RUX1RPX1RPRCkgeworICAgIENJRUNfREFURV9BTkRfVElNRSBkYXRlOworICAgIGRhdGUuZnJvbVN0cmluZygiRFQjMjAxOC0wNy0xMC0xMjozODo1MC4xMjMiKTsKKworICAgIENJRUNfVElNRV9PRl9EQVkgdG9kKERUX1RPX1RPRChkYXRlKSk7CisgICAgQk9PU1RfVEVTVCgoVEZvcnRlVUludDY0KXRvZCA9PSAoMTIqMzYwMCArIDM4KjYwICsgNTApKjEwMDBVTEwgKyAxMjMpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoQ09OVkVSVF9SRUFMX1RPX1hJTlQpIHsKKyAgICBDSUVDX1JFQUwgcm91bmRVcFJlYWwoNTAuNWYpOworICAgIENJRUNfUkVBTCByb3VuZERvd25SZWFsKDUwLjRmKTsKKworICAgIEJPT1NUX1RFU1QoUkVBTF9UT19TSU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7CisgICAgQk9PU1RfVEVTVChSRUFMX1RPX1NJTlQocm91bmREb3duUmVhbCkgPT0gNTApOworICAgIEJPT1NUX1RFU1QoUkVBTF9UT19JTlQocm91bmRVcFJlYWwpID09IDUxKTsKKyAgICBCT09TVF9URVNUKFJFQUxfVE9fSU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKKyAgICBCT09TVF9URVNUKFJFQUxfVE9fRElOVChyb3VuZFVwUmVhbCkgPT0gNTEpOworICAgIEJPT1NUX1RFU1QoUkVBTF9UT19ESU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKKyAgICBCT09TVF9URVNUKFJFQUxfVE9fTElOVChyb3VuZFVwUmVhbCkgPT0gNTEpOworICAgIEJPT1NUX1RFU1QoUkVBTF9UT19MSU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKKworICAgIEJPT1NUX1RFU1QoUkVBTF9UT19VU0lOVChyb3VuZFVwUmVhbCkgPT0gNTEpOworICAgIEJPT1NUX1RFU1QoUkVBTF9UT19VU0lOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7CisgICAgQk9PU1RfVEVTVChSRUFMX1RPX1VJTlQocm91bmRVcFJlYWwpID09IDUxKTsKKyAgICBCT09TVF9URVNUKFJFQUxfVE9fVUlOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7CisgICAgQk9PU1RfVEVTVChSRUFMX1RPX1VESU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7CisgICAgQk9PU1RfVEVTVChSRUFMX1RPX1VESU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKKyAgICBCT09TVF9URVNUKFJFQUxfVE9fVUxJTlQocm91bmRVcFJlYWwpID09IDUxKTsKKyAgICBCT09TVF9URVNUKFJFQUxfVE9fVUxJTlQocm91bmREb3duUmVhbCkgPT0gNTApOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoQ09OVkVSVF9MUkVBTF9UT19YSU5UKSB7CisgICAgQ0lFQ19MUkVBTCByb3VuZFVwUmVhbCg1MC41Zik7CisgICAgQ0lFQ19MUkVBTCByb3VuZERvd25SZWFsKDUwLjRmKTsKKworICAgIEJPT1NUX1RFU1QoTFJFQUxfVE9fU0lOVChyb3VuZFVwUmVhbCkgPT0gNTEpOworICAgIEJPT1NUX1RFU1QoTFJFQUxfVE9fU0lOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7CisgICAgQk9PU1RfVEVTVChMUkVBTF9UT19JTlQocm91bmRVcFJlYWwpID09IDUxKTsKKyAgICBCT09TVF9URVNUKExSRUFMX1RPX0lOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7CisgICAgQk9PU1RfVEVTVChMUkVBTF9UT19ESU5UKHJvdW5kVXBSZWFsKSA9PSA1MSk7CisgICAgQk9PU1RfVEVTVChMUkVBTF9UT19ESU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKKyAgICBCT09TVF9URVNUKExSRUFMX1RPX0xJTlQocm91bmRVcFJlYWwpID09IDUxKTsKKyAgICBCT09TVF9URVNUKExSRUFMX1RPX0xJTlQocm91bmREb3duUmVhbCkgPT0gNTApOworCisgICAgQk9PU1RfVEVTVChMUkVBTF9UT19VU0lOVChyb3VuZFVwUmVhbCkgPT0gNTEpOworICAgIEJPT1NUX1RFU1QoTFJFQUxfVE9fVVNJTlQocm91bmREb3duUmVhbCkgPT0gNTApOworICAgIEJPT1NUX1RFU1QoTFJFQUxfVE9fVUlOVChyb3VuZFVwUmVhbCkgPT0gNTEpOworICAgIEJPT1NUX1RFU1QoTFJFQUxfVE9fVUlOVChyb3VuZERvd25SZWFsKSA9PSA1MCk7CisgICAgQk9PU1RfVEVTVChMUkVBTF9UT19VRElOVChyb3VuZFVwUmVhbCkgPT0gNTEpOworICAgIEJPT1NUX1RFU1QoTFJFQUxfVE9fVURJTlQocm91bmREb3duUmVhbCkgPT0gNTApOworICAgIEJPT1NUX1RFU1QoTFJFQUxfVE9fVUxJTlQocm91bmRVcFJlYWwpID09IDUxKTsKKyAgICBCT09TVF9URVNUKExSRUFMX1RPX1VMSU5UKHJvdW5kRG93blJlYWwpID09IDUwKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKENPTlZFUlRfVElNRV9UT19TX0xJTlQpIHsKKyAgICBDSUVDX1RJTUUgdGltZSgiVCMyZDVoNDNtMTJzIik7CisgICAgQ0lFQ19MSU5UIHRpbWVJblM7CisgICAgdGltZUluUyA9IFRJTUVfSU5fU19UT19MSU5UKHRpbWUpOworICAgIEJPT1NUX1RFU1QodGltZUluUyA9PSAoSU5UNjRfQygxNzI4MDApICsgSU5UNjRfQygxODAwMCkgKyBJTlQ2NF9DKDI1ODApICsgSU5UNjRfQygxMikpKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKENPTlZFUlRfVElNRV9UT19NU19MSU5UKSB7CisgICAgQ0lFQ19USU1FIHRpbWUoIlQjMmQ1aDQzbTEyczQ0bXMiKTsKKyAgICBDSUVDX0xJTlQgdGltZUluTXM7CisgICAgdGltZUluTXMgPSBUSU1FX0lOX01TX1RPX0xJTlQodGltZSk7CisgICAgQk9PU1RfVEVTVCh0aW1lSW5NcyA9PSAoSU5UNjRfQygxNzI4MDAwMDApICsgSU5UNjRfQygxODAwMDAwMCkgKyBJTlQ2NF9DKDI1ODAwMDApICsgSU5UNjRfQygxMjAwMCkgKyBJTlQ2NF9DKDQ0KSkpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoQ09OVkVSVF9USU1FX1RPX1VTX0xJTlQpIHsKKyAgICBDSUVDX1RJTUUgdGltZSgiVCMyZDVoNDNtMTJzNDRtczI3dXMiKTsKKyAgICBDSUVDX0xJTlQgdGltZUluVXM7CisgICAgdGltZUluVXMgPSBUSU1FX0lOX1VTX1RPX0xJTlQodGltZSk7CisgICAgQk9PU1RfVEVTVCh0aW1lSW5VcyA9PSAoSU5UNjRfQygxNzI4MDAwMDAwMDApICsgSU5UNjRfQygxODAwMDAwMDAwMCkgKyBJTlQ2NF9DKDI1ODAwMDAwMDApICsgSU5UNjRfQygxMjAwMDAwMCkgKyBJTlQ2NF9DKDQ0MDAwKSArIElOVDY0X0MoMjcpKSk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShDT05WRVJUX1RJTUVfVE9fTlNfTElOVCkgeworICAgIENJRUNfVElNRSB0aW1lKCJUIzJkNWg0M20xMnM0NG1zMjd1czMxbnMiKTsKKyAgICBDSUVDX0xJTlQgdGltZUluTnM7CisgICAgdGltZUluTnMgPSBUSU1FX0lOX05TX1RPX0xJTlQodGltZSk7CisgICAgQk9PU1RfVEVTVCh0aW1lSW5OcyA9PSAoSU5UNjRfQygxNzI4MDAwMDAwMDAwMDApICsgSU5UNjRfQygxODAwMDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDI1ODAwMDAwMDAwMDApICsgSU5UNjRfQygxMjAwMDAwMDAwMCkgKyBJTlQ2NF9DKDQ0MDAwMDAwKSArIElOVDY0X0MoMjcwMDApICsgSU5UNjRfQygzMSkpKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKENPTlZFUlRfVElNRV9UT19TX1VMSU5UKSB7CisgICAgQ0lFQ19USU1FIHRpbWUoIlQjMmQ1aDQzbTEycyIpOworICAgIENJRUNfVUxJTlQgdGltZUluUzsKKyAgICB0aW1lSW5TID0gVElNRV9JTl9TX1RPX1VMSU5UKHRpbWUpOworICAgIEJPT1NUX1RFU1QodGltZUluUyA9PSAoVUlOVDY0X0MoMTcyODAwKSArIFVJTlQ2NF9DKDE4MDAwKSArIFVJTlQ2NF9DKDI1ODApICsgVUlOVDY0X0MoMTIpKSk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShDT05WRVJUX1RJTUVfVE9fTVNfVUxJTlQpIHsKKyAgICBDSUVDX1RJTUUgdGltZSgiVCMyZDVoNDNtMTJzNDRtcyIpOworICAgIENJRUNfVUxJTlQgdGltZUluTXM7CisgICAgdGltZUluTXMgPSBUSU1FX0lOX01TX1RPX1VMSU5UKHRpbWUpOworICAgIEJPT1NUX1RFU1QodGltZUluTXMgPT0gKFVJTlQ2NF9DKDE3MjgwMDAwMCkgKyBVSU5UNjRfQygxODAwMDAwMCkgKyBVSU5UNjRfQygyNTgwMDAwKSArIFVJTlQ2NF9DKDEyMDAwKSArIFVJTlQ2NF9DKDQ0KSkpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoQ09OVkVSVF9USU1FX1RPX1VTX1VMSU5UKSB7CisgICAgQ0lFQ19USU1FIHRpbWUoIlQjMmQ1aDQzbTEyczQ0bXMyN3VzIik7CisgICAgQ0lFQ19VTElOVCB0aW1lSW5VczsKKyAgICB0aW1lSW5VcyA9IFRJTUVfSU5fVVNfVE9fVUxJTlQodGltZSk7CisgICAgQk9PU1RfVEVTVCh0aW1lSW5VcyA9PSAoVUlOVDY0X0MoMTcyODAwMDAwMDAwKSArIFVJTlQ2NF9DKDE4MDAwMDAwMDAwKSArIFVJTlQ2NF9DKDI1ODAwMDAwMDApICsgVUlOVDY0X0MoMTIwMDAwMDApICsgVUlOVDY0X0MoNDQwMDApICsgVUlOVDY0X0MoMjcpKSk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShDT05WRVJUX1RJTUVfVE9fTlNfVUxJTlQpIHsKKyAgICBDSUVDX1RJTUUgdGltZSgiVCMyZDVoNDNtMTJzNDRtczI3dXMzMW5zIik7CisgICAgQ0lFQ19VTElOVCB0aW1lSW5OczsKKyAgICB0aW1lSW5OcyA9IFRJTUVfSU5fTlNfVE9fVUxJTlQodGltZSk7CisgICAgQk9PU1RfVEVTVCh0aW1lSW5OcyA9PSAoVUlOVDY0X0MoMTcyODAwMDAwMDAwMDAwKSArIFVJTlQ2NF9DKDE4MDAwMDAwMDAwMDAwKSArIFVJTlQ2NF9DKDI1ODAwMDAwMDAwMDApICsgVUlOVDY0X0MoMTIwMDAwMDAwMDApICsgVUlOVDY0X0MoNDQwMDAwMDApICsgVUlOVDY0X0MoMjcwMDApICsgVUlOVDY0X0MoMzEpKSk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShDT05WRVJUX1RJTUVfVE9fU19MUkVBTCkgeworICAgIENJRUNfVElNRSB0aW1lKCJUIzJkNWg0M20xMnM0NG1zMjd1czMxbnMiKTsKKyAgICBDSUVDX0xSRUFMIHRpbWVJblM7CisgICAgdGltZUluUyA9IFRJTUVfSU5fU19UT19MUkVBTCh0aW1lKTsKKyAgICBCT09TVF9URVNUKHRpbWVJblMgPT0gc3RhdGljX2Nhc3Q8Q0lFQ19MUkVBTD4oSU5UNjRfQygxNzI4MDAwMDAwMDAwMDApICsgSU5UNjRfQygxODAwMDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDI1ODAwMDAwMDAwMDApICsgSU5UNjRfQygxMjAwMDAwMDAwMCkgKyBJTlQ2NF9DKDQ0MDAwMDAwKSArIElOVDY0X0MoMjcwMDApICsgSU5UNjRfQygzMSkpIC8gc3RhdGljX2Nhc3Q8Q0lFQ19MUkVBTD4oMUU5KSk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShDT05WRVJUX1RJTUVfVE9fTVNfTFJFQUwpIHsKKyAgICBDSUVDX1RJTUUgdGltZSgiVCMyZDVoNDNtMTJzNDRtczI3dXMzMW5zIik7CisgICAgQ0lFQ19MUkVBTCB0aW1lSW5NczsKKyAgICB0aW1lSW5NcyA9IFRJTUVfSU5fTVNfVE9fTFJFQUwodGltZSk7CisgICAgQk9PU1RfVEVTVCgKKyAgICAgIHRpbWVJbk1zID09IHN0YXRpY19jYXN0PENJRUNfTFJFQUw+KElOVDY0X0MoMTcyODAwMDAwMDAwMDAwKSArIElOVDY0X0MoMTgwMDAwMDAwMDAwMDApICsgSU5UNjRfQygyNTgwMDAwMDAwMDAwKSArIElOVDY0X0MoMTIwMDAwMDAwMDApICsgSU5UNjRfQyg0NDAwMDAwMCkgKyBJTlQ2NF9DKDI3MDAwKSArIElOVDY0X0MoMzEpKSAvIHN0YXRpY19jYXN0PENJRUNfTFJFQUw+KDFFNikpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoQ09OVkVSVF9USU1FX1RPX1VTX0xSRUFMKSB7CisgICAgQ0lFQ19USU1FIHRpbWUoIlQjMmQ1aDQzbTEyczQ0bXMyN3VzMzFucyIpOworICAgIENJRUNfTFJFQUwgdGltZUluVXM7CisgICAgdGltZUluVXMgPSBUSU1FX0lOX1VTX1RPX0xSRUFMKHRpbWUpOworICAgIEJPT1NUX1RFU1QoCisgICAgICB0aW1lSW5VcyA9PSBzdGF0aWNfY2FzdDxDSUVDX0xSRUFMPihJTlQ2NF9DKDE3MjgwMDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDE4MDAwMDAwMDAwMDAwKSArIElOVDY0X0MoMjU4MDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDEyMDAwMDAwMDAwKSArIElOVDY0X0MoNDQwMDAwMDApICsgSU5UNjRfQygyNzAwMCkgKyBJTlQ2NF9DKDMxKSkgLyBzdGF0aWNfY2FzdDxDSUVDX0xSRUFMPigxRTMpKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKENPTlZFUlRfVElNRV9UT19OU19MUkVBTCkgeworICAgIENJRUNfVElNRSB0aW1lKCJUIzJkNWg0M20xMnM0NG1zMjd1czMxbnMiKTsKKyAgICBDSUVDX0xSRUFMIHRpbWVJbk5zOworICAgIHRpbWVJbk5zID0gVElNRV9JTl9OU19UT19MUkVBTCh0aW1lKTsKKyAgICBCT09TVF9URVNUKAorICAgICAgdGltZUluTnMgPT0gc3RhdGljX2Nhc3Q8Q0lFQ19MUkVBTD4oSU5UNjRfQygxNzI4MDAwMDAwMDAwMDApICsgSU5UNjRfQygxODAwMDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDI1ODAwMDAwMDAwMDApICsgSU5UNjRfQygxMjAwMDAwMDAwMCkgKyBJTlQ2NF9DKDQ0MDAwMDAwKSArIElOVDY0X0MoMjcwMDApICsgSU5UNjRfQygzMSkpKTsKKyAgfQorICBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnRfdG9fU1RSSU5HX3Rlc3QuY3BwIGIvdGVzdHMvY29yZS9kYXRhdHlwZXMvY29udmVydC9jb252ZXJ0X3RvX1NUUklOR190ZXN0LmNwcApzaW1pbGFyaXR5IGluZGV4IDk1JQpyZW5hbWUgZnJvbSB0ZXN0cy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0X3RvX1NUUklOR190ZXN0LmNwcApyZW5hbWUgdG8gdGVzdHMvY29yZS9kYXRhdHlwZXMvY29udmVydC9jb252ZXJ0X3RvX1NUUklOR190ZXN0LmNwcAppbmRleCAxMGVlNzljLi42ZTQ0MjM4IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0X3RvX1NUUklOR190ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL2RhdGF0eXBlcy9jb252ZXJ0L2NvbnZlcnRfdG9fU1RSSU5HX3Rlc3QuY3BwCkBAIC0xLDE2ICsxLDE3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hdHRoaWFzIFBsYXNjaCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpbmNsdWRlIDxib29zdC90ZXN0L3VuaXRfdGVzdC5ocHA+CiAKLSNpbmNsdWRlICIuLi8uLi8uLi9zcmMvY29yZS9jb252ZXJ0X2Z1bmN0aW9ucy5oIgorI2luY2x1ZGUgImNvbnZlcnRfZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3N0cmluZy5oIgogCiAvL0JPT0xFQU4KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnRfdG9fV1NUUklOR190ZXN0LmNwcCBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvY29udmVydF90b19XU1RSSU5HX3Rlc3QuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBmcm9tIHRlc3RzL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnRfdG9fV1NUUklOR190ZXN0LmNwcApyZW5hbWUgdG8gdGVzdHMvY29yZS9kYXRhdHlwZXMvY29udmVydC9jb252ZXJ0X3RvX1dTVFJJTkdfdGVzdC5jcHAKaW5kZXggMTZkNTg5MS4uMTFiNzU4YyAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9kYXRhdHlwZXMvY29udmVydF90b19XU1RSSU5HX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL2NvcmUvZGF0YXR5cGVzL2NvbnZlcnQvY29udmVydF90b19XU1RSSU5HX3Rlc3QuY3BwCkBAIC0xLDE2ICsxLDE3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IFByb2ZhY3RvciBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIE1hdHRoaWFzIFBsYXNjaCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpbmNsdWRlIDxib29zdC90ZXN0L3VuaXRfdGVzdC5ocHA+CiAKLSNpbmNsdWRlICIuLi8uLi8uLi9zcmMvY29yZS9jb252ZXJ0X2Z1bmN0aW9ucy5oIgorI2luY2x1ZGUgImNvbnZlcnRfZnVuY3Rpb25zLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vc3JjL2NvcmUvZGF0YXR5cGVzL2ZvcnRlX3dzdHJpbmcuaCIKIAogLy9CT09MRUFOCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2ZidGVzdHMvQ01ha2VMaXN0cy50eHQgYi90ZXN0cy9jb3JlL2ZidGVzdHMvQ01ha2VMaXN0cy50eHQKaW5kZXggNWU0YzM1Zi4uOWVkZTY5NSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9mYnRlc3RzL0NNYWtlTGlzdHMudHh0CisrKyBiL3Rlc3RzL2NvcmUvZmJ0ZXN0cy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxNCArMSwxNiBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0jICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNSBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KLSMgKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwNCi0jICoNCi0jICogQ29udHJpYnV0b3JzOg0KLSMgKiAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQorIyBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE1IEFDSU4sIGZvcnRpc3MgR21iSA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogU0VUKFNPVVJDRV9HUk9VUCAke1NPVVJDRV9HUk9VUH1cXGZidGVzdHMpDQogDQotZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoZmJ0ZXN0ZXIuY3BwKQ0KLWZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKGZidGVzdHNtYW5hZ2VyLmNwcCkNCisNCitmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChmYnRlc3Rlcmdsb2JhbGZpeHR1cmUuY3BwKQ0KK2ZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKGZidGVzdGZpeHR1cmUuY3BwKQ0KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZmJ0ZXN0cy9mYnRlc3Rlci5jcHAgYi90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2IyMTE4Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2NvcmUvZmJ0ZXN0cy9mYnRlc3Rlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzOTYgKzAsMCBAQAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE1IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqICAgICAgICAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAqDQotICogQ29udHJpYnV0b3JzOg0KLSAqICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCi0gKiAgICBBbG9pcyBab2l0bCAtIGludHJvZHVjZWQgbmV3IENHZW5GQiBjbGFzcyBmb3IgYmV0dGVyIGhhbmRsaW5nIGdlbmVyaWMgRkJzDQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotI2luY2x1ZGUgImZidGVzdGVyLmgiDQotI2luY2x1ZGUgPGJvb3N0L3Rlc3QvdW5pdF90ZXN0LmhwcD4NCi0jaW5jbHVkZSAic3RyaW5nZGljdC5oIg0KLSNpbmNsdWRlIDxzdGRpby5oPg0KLSNpbmNsdWRlIDxhbGdvcml0aG0+DQotI2luY2x1ZGUgPGVjZXQuaD4NCi0jaW5jbHVkZSA8Y3JpdGljYWxyZWdpb24uaD4NCi0jaW5jbHVkZSA8aWYyaW5kY28uaD4NCi0NCi0jaWZkZWYgV0lOMzINCi0jICBpbmNsdWRlIDx3aW5kb3dzLmg+DQotIyAgZGVmaW5lIHVzbGVlcCh4KSBTbGVlcCgoeCkvMTAwMCkNCi0jZWxzZQ0KLSMgIGluY2x1ZGUgPHVuaXN0ZC5oPg0KLSMgIGVuZGlmDQotI2luY2x1ZGUgPHN0ZGlvLmg+DQotDQotLyoqSGVscGVyIGZ1bmN0b3IgZm9yIGRlbGV0aW5nIHN0dWZmIGluIGNvbnRhaW5lcnMNCi0gKg0KLSAqLw0KLXN0cnVjdCBTRGVsZXRlRnVuY3RvciB7DQotICAgIHRlbXBsYXRlPGNsYXNzIFQ+DQotICAgIHZvaWQgb3BlcmF0b3IoKShUKiBwYVZhbCkgY29uc3Qgew0KLSAgICAgIGRlbGV0ZSBwYVZhbDsNCi0gICAgfQ0KLX07DQotDQotLy8hIEhlbHBlciBjbGFzcyBhbGxvd2luZyB0byBhY2Nlc3MgdGhlIGNhbiBiZSBjb25uZWN0ZWQgZnVuY3Rpb24gZnJvbSB0aGUgRkJUZXN0ZXINCi1jbGFzcyBDRkJUZXN0Q29ubiA6IHB1YmxpYyBDRGF0YUNvbm5lY3Rpb24gew0KLSAgcHVibGljOg0KLSAgICBzdGF0aWMgYm9vbCBjYW5CZUNvbm5lY3RlZChjb25zdCBDSUVDX0FOWSAqcGFfcG9TcmNEYXRhUG9pbnQsIGNvbnN0IENJRUNfQU5ZICpwYV9wb0RzdERhdGFQb2ludCkgew0KLSAgICAgIGJvb2wgYlNwZWNpYWxDYXN0Ow0KLSAgICAgIHJldHVybiBDRGF0YUNvbm5lY3Rpb246OmNhbkJlQ29ubmVjdGVkKHBhX3BvU3JjRGF0YVBvaW50LCBwYV9wb0RzdERhdGFQb2ludCwgYlNwZWNpYWxDYXN0KTsNCi0gICAgfQ0KLSAgcHJpdmF0ZToNCi0gICAgLy95b3Ugc2hvdWxkIG5vdCBiZSBhbGxvd2VkIHRvIGNyZWF0ZSB0aGlzIGNsYXNzIHRoZWlyIGZvciBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3RvciBhcmUgcHJpdmF0ZQ0KLSAgICBDRkJUZXN0Q29ubigpOw0KLSAgICB2aXJ0dWFsIH5DRkJUZXN0Q29ubigpOw0KLX07DQotDQotQ0ZCVGVzdGVyOjpDRkJUZXN0ZXIoQ1Jlc291cmNlICpwYV9wb1Rlc3RSZXNvdXJjZSkgOg0KLSAgICBDRnVuY3Rpb25CbG9jayhwYV9wb1Rlc3RSZXNvdXJjZSwgMCwgMCwgMCwgMCksIG1GQlVuZGVyVGVzdCgwKSwgbV9uTnVtU3VjY2VzZnVsVGVzdENhc2VzKDApLCBtX25OdW1VbnN1Y2Nlc2Z1bFRlc3RDYXNlcygwKSwgbUZCQ29ubkRhdGEoMCksIG1GQlZhcnNEYXRhKDApIHsNCi0NCi0gIGNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfUmVzZXQpOw0KLSAgY2hhbmdlRkJFeGVjdXRpb25TdGF0ZShjZ19uTUdNX0NNRF9TdGFydCk7DQotICAvL2Fzc3VyZSB0aGF0IHdlIGFyZSBpbiBydW5uaW5nIHN0YXRlDQotICBCT09TVF9DSEVDS19FUVVBTChDRnVuY3Rpb25CbG9jazo6ZV9SVU5OSU5HLCBnZXRTdGF0ZSgpKTsNCi19DQotDQotQ0ZCVGVzdGVyOjp+Q0ZCVGVzdGVyKCkgew0KLSAgaWYoMCAhPSBtX3BzdEludGVyZmFjZVNwZWMpIHsNCi0gICAgZnJlZUFsbERhdGEoKTsgLy9jbGVhbiB0aGUgaW50ZXJmYWNlIGFuZCBjb25uZWN0aW9ucyBmaXJzdC4NCi0gICAgZGVsZXRlW10gbUZCQ29ubkRhdGE7DQotICAgIGRlbGV0ZVtdIG1GQlZhcnNEYXRhOw0KLSAgICBkZWxldGUgbV9wc3RJbnRlcmZhY2VTcGVjOw0KLSAgICBtX3BzdEludGVyZmFjZVNwZWMgPSAwOyAvL3RoaXMgc3RvcHMgdGhlIGJhc2UgY2xhc3NlcyBmcm9tIGFueSB3cm9uZyBjbGVhbi11cA0KLSAgfQ0KLX0NCi0NCi12b2lkIENGQlRlc3Rlcjo6ZXhlY3V0ZVRlc3RzKCkgew0KLSAgaWYocHJlcGFyZVRlc3RzKCkpIHsNCi0gICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlV3JvbmdJbnB1dEV2ZW50KCksICJXcm9uZyBJbnB1dCBFdmVudCIpOw0KLSAgICBleGVjdXRlQWxsVGVzdHMoKTsNCi0gIH0NCi0gIGNsZWFudXBUZXN0RGF0YSgpOw0KLX0NCi0NCi1ib29sIENGQlRlc3Rlcjo6cHJlcGFyZVRlc3RzKCkgew0KLSAgYm9vbCByZXRWYWwgPSBmYWxzZTsNCi0NCi0gIG1fbk51bVN1Y2Nlc2Z1bFRlc3RDYXNlcyA9IDA7DQotICBtX25OdW1VbnN1Y2Nlc2Z1bFRlc3RDYXNlcyA9IDA7DQotDQotICBwZXJmb3JtQ3JlYXRpb25UZXN0KCk7DQotDQotICBpZigwICE9IG1GQlVuZGVyVGVzdCkgew0KLSAgICBwZXJmb3JtRGF0YUludGVyZmFjZVRlc3RzKCk7DQotDQotICAgIG1GQlVuZGVyVGVzdC0+Y2hhbmdlRkJFeGVjdXRpb25TdGF0ZShjZ19uTUdNX0NNRF9TdGFydCk7DQotDQotICAgIGNyZWF0ZUV2ZW50T3V0cHV0Q29ubmVjdGlvbnMoKTsNCi0gICAgaWYoY3JlYXRlRGF0YUlucHV0Q29ubmVjdGlvbnMoKSkgew0KLSAgICAgIGlmKGNyZWF0ZURhdGFPdXRwdXRDb25uZWN0aW9ucygpKSB7DQotICAgICAgICByZXRWYWwgPSB0cnVlOw0KLSAgICAgIH0NCi0gICAgfQ0KLSAgICBpZihmYWxzZSA9PSByZXRWYWwpIHsNCi0gICAgICAvL0luZm9ybSB0ZXN0IHJ1bm5lciB0aGF0IHdlIGhhZCBhbiBpc3N1ZQ0KLSAgICAgIG1fbk51bVVuc3VjY2VzZnVsVGVzdENhc2VzKys7DQotICAgIH0NCi0gIH0NCi0NCi0gIHJldHVybiByZXRWYWw7DQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjpjbGVhbnVwVGVzdERhdGEoKSB7DQotDQotICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjKiBpbnRlcmZhY2VTcGVjID0gbUZCVW5kZXJUZXN0LT5nZXRGQkludGVyZmFjZVNwZWMoKTsNCi0NCi0gIGZvcihUUG9ydElkIGkgPSAwOyBpIDwgaW50ZXJmYWNlU3BlYy0+bV9uTnVtRU9zOyBpKyspIHsNCi0gICAgQ0V2ZW50Q29ubmVjdGlvbiAqZXZlbnRDb24gPSBtRkJVbmRlclRlc3QtPmdldEVPQ29ubmVjdGlvbihpbnRlcmZhY2VTcGVjLT5tX2F1bkVPTmFtZXNbaV0pOw0KLSAgICBCT09TVF9DSEVDS19FUVVBTChlX1JEWSwgZXZlbnRDb24tPmRpc2Nvbm5lY3QodGhpcywgaW50ZXJmYWNlU3BlYy0+bV9hdW5FT05hbWVzW2ldKSk7DQotICB9DQotDQotICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgaW50ZXJmYWNlU3BlYy0+bV9uTnVtRE9zOyArK2kpIHsNCi0gICAgQ0RhdGFDb25uZWN0aW9uICpkYXRhQ29uID0gbUZCVW5kZXJUZXN0LT5nZXRET0Nvbm5lY3Rpb24oaW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzW2ldKTsNCi0gICAgLy9zZXQgaXQgdG8gemVybyBzbyB0aGF0IHdoZW4gdGhlIEZCIHVuZGVyIHRlc3QgaXMgZGVsZXRlZCBpdCB3aWxsIG5vdCBkZWxldGUgb3VyIHRlc3Qgb3V0cHV0IGRhdGENCi0gICAgZGF0YUNvbi0+c2V0VmFsdWUoMCk7DQotDQotICAgIEJPT1NUX0NIRUNLX0VRVUFMKGVfUkRZLCBkYXRhQ29uLT5kaXNjb25uZWN0KHRoaXMsIGludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lc1tpXSkpOw0KLSAgfQ0KLQ0KLSAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGludGVyZmFjZVNwZWMtPm1fbk51bURJczsgKytpKSB7DQotICAgIEJPT1NUX0NIRUNLX0VRVUFMKGVfUkRZLCBtRElDb25uZWN0aW9uc1tpXS0+ZGlzY29ubmVjdChtRkJVbmRlclRlc3QsIGludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1tpXSkpOw0KLSAgfQ0KLQ0KLSAgZm9yX2VhY2gobURJQ29ubmVjdGlvbnMuYmVnaW4oKSwgbURJQ29ubmVjdGlvbnMuZW5kKCksIFNEZWxldGVGdW5jdG9yKCkpOw0KLQ0KLSAgcGVyZm9ybUZCRGVsZXRlVGVzdHMoKTsNCi19DQotDQotdm9pZCBDRkJUZXN0ZXI6OnBlcmZvcm1GQkRlbGV0ZVRlc3RzKCkgew0KLSAgYm9vbCBiVGVzdFJlc3VsdCA9IHRydWU7DQotDQotICBpZigwICE9IG1GQlVuZGVyVGVzdCkgew0KLSAgICBpZihtRkJVbmRlclRlc3QtPmlzQ3VycmVudGx5RGVsZXRlYWJsZSgpKSB7DQotICAgICAgYlRlc3RSZXN1bHQgPSBmYWxzZTsNCi0gICAgfQ0KLQ0KLSAgICBpZihlX1JEWSAhPSBtRkJVbmRlclRlc3QtPmNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfU3RvcCkpIHsNCi0gICAgICBiVGVzdFJlc3VsdCA9IGZhbHNlOw0KLSAgICB9DQotDQotICAgIGlmKCFtRkJVbmRlclRlc3QtPmlzQ3VycmVudGx5RGVsZXRlYWJsZSgpKSB7DQotICAgICAgYlRlc3RSZXN1bHQgPSBmYWxzZTsNCi0gICAgfQ0KLQ0KLSAgICBpZighQ1R5cGVMaWI6OmRlbGV0ZUZCKG1GQlVuZGVyVGVzdCkpIHsNCi0gICAgICBiVGVzdFJlc3VsdCA9IGZhbHNlOw0KLSAgICB9DQotICB9IGVsc2Ugew0KLSAgICBiVGVzdFJlc3VsdCA9IGZhbHNlOw0KLSAgfQ0KLQ0KLSAgbUZCVW5kZXJUZXN0ID0gMDsNCi0NCi0gIGV2YWx1YXRlVGVzdFJlc3VsdChiVGVzdFJlc3VsdCwgIlR5cGUgZGVsZXRpb24iKTsNCi19DQotDQotdm9pZCBDRkJUZXN0ZXI6OmV4ZWN1dGVFdmVudChpbnQgcGFFSUlEKSB7DQotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obU91dHB1dEV2ZW50TG9jayk7DQotICBtRkJPdXRwdXRFdmVudHMucHVzaF9iYWNrKHBhRUlJRCk7DQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjp0cmlnZ2VyRXZlbnQoVFBvcnRJZCBwYUVJSWQpIHsNCi0gIENFdmVudENoYWluRXhlY3V0aW9uVGhyZWFkICpleGVjVGhyZWFkID0gZ2V0UmVzb3VyY2UoKS5nZXRSZXNvdXJjZUV2ZW50RXhlY3V0aW9uKCk7DQotICBTRXZlbnRFbnRyeSBlbnRyeShtRkJVbmRlclRlc3QsIHBhRUlJZCk7DQotDQotICBleGVjVGhyZWFkLT5zdGFydEV2ZW50Q2hhaW4oJmVudHJ5KTsNCi0NCi0gIC8vV2FpdCB0aWxsIGV2ZW50IGV4ZWN1dGlvbiBmb3IgdGhpcyBpbnB1dCBldmVudCBoYXMgZmluaXNoZWQNCi0gIGRvIHsNCi0gICAgdXNsZWVwKDEpOw0KLSAgfSB3aGlsZShleGVjVGhyZWFkLT5pc1Byb2Nlc3NpbmdFdmVudHMoKSk7DQotDQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjpwZXJmb3JtQ3JlYXRpb25UZXN0KCkgew0KLSAgYm9vbCB0ZXN0UmVzdWx0ID0gZmFsc2U7DQotDQotICBtRkJVbmRlclRlc3QgPSBDVHlwZUxpYjo6Y3JlYXRlRkIoZ2V0RkJUeXBlSWQoKSwgZ2V0RkJUeXBlSWQoKSwgZ2V0UmVzb3VyY2VQdHIoKSk7DQotDQotICBpZigwICE9IG1GQlVuZGVyVGVzdCkgew0KLSAgICBpZigoQ0Z1bmN0aW9uQmxvY2s6OmVfSURMRSA9PSBtRkJVbmRlclRlc3QtPmdldFN0YXRlKCkpICYmIChnZXRGQlR5cGVJZCgpID09IG1GQlVuZGVyVGVzdC0+Z2V0RkJUeXBlSWQoKSkNCi0gICAgICAmJiAoZ2V0RkJUeXBlSWQoKSA9PSBtRkJVbmRlclRlc3QtPmdldEluc3RhbmNlTmFtZUlkKCkpKSB7DQotICAgICAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogaW50ZXJmYWNlU3BlYyA9IG1GQlVuZGVyVGVzdC0+Z2V0RkJJbnRlcmZhY2VTcGVjKCk7DQotDQotICAgICAgU0ZCSW50ZXJmYWNlU3BlYyogdGVzdGVySW50ZXJmYWNlU3BlYyA9IG5ldyBTRkJJbnRlcmZhY2VTcGVjOw0KLSAgICAgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fbk51bUVJcyA9IGludGVyZmFjZVNwZWMtPm1fbk51bUVPczsNCi0gICAgICB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX2F1bkVJTmFtZXMgPSBpbnRlcmZhY2VTcGVjLT5tX2F1bkVPTmFtZXM7DQotICAgICAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9hbkVJV2l0aCA9IDA7DQotICAgICAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9hbkVJV2l0aEluZGV4ZXMgPSAwOw0KLSAgICAgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fbk51bUVPcyA9IDA7DQotICAgICAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9hdW5FT05hbWVzID0gMDsNCi0gICAgICB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX2FuRU9XaXRoID0gMDsNCi0gICAgICB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX2FuRU9XaXRoSW5kZXhlcyA9IDA7DQotICAgICAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRElzID0gaW50ZXJmYWNlU3BlYy0+bV9uTnVtRE9zOw0KLSAgICAgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lcyA9IGludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lczsNCi0gICAgICB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX2F1bkRJRGF0YVR5cGVOYW1lcyA9IGludGVyZmFjZVNwZWMtPm1fYXVuRE9EYXRhVHlwZU5hbWVzOw0KLSAgICAgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fbk51bURPcyA9IDA7DQotICAgICAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzID0gMDsNCi0gICAgICB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX2F1bkRPRGF0YVR5cGVOYW1lcyA9IDA7DQotICAgICAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtQWRhcHRlcnMgPSAwOw0KLSAgICAgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fcHN0QWRhcHRlckluc3RhbmNlRGVmaW5pdGlvbiA9IDA7DQotDQotICAgICAgbUZCQ29ubkRhdGEgPQ0KLSAgICAgICAgICAoMCAhPSB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXMpID8NCi0gICAgICAgICAgICBuZXcgVEZvcnRlQnl0ZVtnZW5GQkNvbm5EYXRhU2l6ZSh0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX25OdW1FT3MsIHRlc3RlckludGVyZmFjZVNwZWMtPm1fbk51bURJcywgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRE9zKV0gOiAwOw0KLSAgICAgIG1GQlZhcnNEYXRhID0NCi0gICAgICAgICAgKDAgIT0gdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRElzKSA/IG5ldyBURm9ydGVCeXRlW2dlbkZCVmFyc0RhdGFTaXplKHRlc3RlckludGVyZmFjZVNwZWMtPm1fbk51bURJcywgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRE9zKV0gOiAwOw0KLQ0KLSAgICAgIHNldHVwRkJJbnRlcmZhY2UodGVzdGVySW50ZXJmYWNlU3BlYywgbUZCQ29ubkRhdGEsIG1GQlZhcnNEYXRhKTsNCi0gICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCi0gICAgfQ0KLSAgfQ0KLQ0KLSAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RSZXN1bHQsICJUeXBlIGNyZWF0aW9uIik7DQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjpldmFsdWF0ZVRlc3RSZXN1bHQoYm9vbCBwYVN1Y2Nlc3MsIGNvbnN0IGNoYXIqIHBhX2FjVGVzdENhc2VOYW1lKSB7DQotICBpZihwYVN1Y2Nlc3MpIHsNCi0gICAgKyttX25OdW1TdWNjZXNmdWxUZXN0Q2FzZXM7DQotICB9IGVsc2Ugew0KLSAgICArK21fbk51bVVuc3VjY2VzZnVsVGVzdENhc2VzOw0KLSAgfQ0KLQ0KLSAgcHJpbnRmKCIlcyAtICVzOiAlc1xuIiwgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KGdldEZCVHlwZUlkKCkpLCBwYV9hY1Rlc3RDYXNlTmFtZSwNCi0gICAgKHBhU3VjY2VzcykgPyAiT0siIDogIj09PT09PT09PT09PT0+IEVSUk9SIDw9PT09PT09PT09PT09PT09PT09PSIpOw0KLX0NCi0NCi1pbnQgQ0ZCVGVzdGVyOjpwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKSB7DQotICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obU91dHB1dEV2ZW50TG9jayk7DQotICBpbnQgcmV0VmFsID0gbUZCT3V0cHV0RXZlbnRzLmZyb250KCk7DQotICBtRkJPdXRwdXRFdmVudHMucG9wX2Zyb250KCk7DQotICByZXR1cm4gcmV0VmFsOw0KLX0NCi0NCi1ib29sIENGQlRlc3Rlcjo6ZXZlbnRDaGFpbkVtcHR5KCkgew0KLSAgQ0NyaXRpY2FsUmVnaW9uIGNyaXRpY2FsUmVnaW9uKG1PdXRwdXRFdmVudExvY2spOw0KLSAgYm9vbCByZXRWYWwgPSBtRkJPdXRwdXRFdmVudHMuZW1wdHkoKTsNCi0gIHJldHVybiByZXRWYWw7DQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjpjbGVhckV2ZW50Q2hhaW4oKSB7DQotICBtRkJPdXRwdXRFdmVudHMuY2xlYXIoKTsNCi19DQotDQotYm9vbCBDRkJUZXN0ZXI6OmNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoaW50IHBhRXhwZWN0ZWRFT0lkKSB7DQotICAvL1Rlc3QgaWYgZXZlbnQgY2hhaW4gaXMgbm90IGVtcHR5LCB0aGF0IHRoZSBmaXJzdCBlbnRyeSBpcyB0aGUgZXhwZWN0ZWQgb25lIGFuZCB0aGF0IG5vIGZ1cmh0ZXIgZXZlbnRzIGFyZSB0aGVyZQ0KLSAgcmV0dXJuICghZXZlbnRDaGFpbkVtcHR5KCkgJiYgKHB1bGxGaXJzdENoYWluRXZlbnRJRCgpID09IHBhRXhwZWN0ZWRFT0lkKSAmJiBldmVudENoYWluRW1wdHkoKSk7DQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjpzZXRJbnB1dERhdGEoVElFQ19BTllQdHIgcGFJbnB1dERhdGFbXSwgc2l6ZV90IHBhTGVuZ2h0KSB7DQotICBtSW5wdXREYXRhQnVmZmVycy5yZXNlcnZlKHBhTGVuZ2h0KTsNCi0gIG1JbnB1dERhdGFCdWZmZXJzLmFzc2lnbihwYUlucHV0RGF0YSwgcGFJbnB1dERhdGEgKyBwYUxlbmdodCk7DQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjpzZXRPdXRwdXREYXRhKFRJRUNfQU5ZUHRyIHBhT3V0cHV0RGF0YVtdLCBzaXplX3QgcGFMZW5naHQpIHsNCi0gIG1PdXRwdXREYXRhQnVmZmVycy5yZXNlcnZlKHBhTGVuZ2h0KTsNCi0gIG1PdXRwdXREYXRhQnVmZmVycy5hc3NpZ24ocGFPdXRwdXREYXRhLCBwYU91dHB1dERhdGEgKyBwYUxlbmdodCk7DQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjpjcmVhdGVFdmVudE91dHB1dENvbm5lY3Rpb25zKCkgew0KLSAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogaW50ZXJmYWNlU3BlYyA9IG1GQlVuZGVyVGVzdC0+Z2V0RkJJbnRlcmZhY2VTcGVjKCk7DQotDQotICBmb3IoVFBvcnRJZCBpID0gMDsgaSA8IGludGVyZmFjZVNwZWMtPm1fbk51bUVPczsgaSsrKSB7DQotICAgIENFdmVudENvbm5lY3Rpb24gKmV2ZW50Q29uID0gbUZCVW5kZXJUZXN0LT5nZXRFT0Nvbm5lY3Rpb24oaW50ZXJmYWNlU3BlYy0+bV9hdW5FT05hbWVzW2ldKTsNCi0gICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZV9SRFksIGV2ZW50Q29uLT5jb25uZWN0KHRoaXMsIGludGVyZmFjZVNwZWMtPm1fYXVuRU9OYW1lc1tpXSkpOw0KLSAgfQ0KLX0NCi0NCi1ib29sIENGQlRlc3Rlcjo6Y3JlYXRlRGF0YUlucHV0Q29ubmVjdGlvbnMoKSB7DQotICBib29sIHJldFZhbCA9IHRydWU7DQotDQotICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjKiBpbnRlcmZhY2VTcGVjID0gbUZCVW5kZXJUZXN0LT5nZXRGQkludGVyZmFjZVNwZWMoKTsNCi0NCi0gIGlmKGludGVyZmFjZVNwZWMtPm1fbk51bURJcyA9PSBtSW5wdXREYXRhQnVmZmVycy5zaXplKCkpIHsNCi0gICAgZm9yKFRQb3J0SWQgaSA9IDA7IGkgPCBpbnRlcmZhY2VTcGVjLT5tX25OdW1ESXM7ICsraSkgew0KLSAgICAgIENJbnRlcmZhY2UySW50ZXJuYWxEYXRhQ29ubmVjdGlvbiAqY29uID0gbmV3IENJbnRlcmZhY2UySW50ZXJuYWxEYXRhQ29ubmVjdGlvbigpOw0KLSAgICAgIG1ESUNvbm5lY3Rpb25zLnB1c2hfYmFjayhjb24pOw0KLSAgICAgIGNvbi0+c2V0VmFsdWUobUlucHV0RGF0YUJ1ZmZlcnNbaV0pOw0KLSAgICAgIGlmKGVfUkRZICE9IGNvbi0+Y29ubmVjdChtRkJVbmRlclRlc3QsIGludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1tpXSkpIHsNCi0gICAgICAgIHByaW50ZigiKioqIEZCIHRlc3QgcHJlcGFyYXRpb246IEdpdmVuIGlucHV0IGRhdGEgdmFsdWUgZm9yIGlucHV0ICVzIGNhbiBub3QgYmUgY29ubmVjdGVkIVxuIiwNCi0gICAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KGludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1tpXSkpOw0KLSAgICAgICAgcmV0VmFsID0gZmFsc2U7DQotICAgICAgICBicmVhazsNCi0gICAgICB9DQotICAgIH0NCi0gIH0gZWxzZSB7DQotICAgIHByaW50ZigiKioqIEZCIHRlc3QgcHJlcGFyYXRpb246IFdyb25nIGFtb3VudCBvZiBpbnB1dCBkYXRhIGdpdmVuISBFeHBlY3RlZDogJWQsIGdvdDogJWx1XG4iLCBpbnRlcmZhY2VTcGVjLT5tX25OdW1ESXMsDQotICAgICAgc3RhdGljX2Nhc3Q8bG9uZyB1bnNpZ25lZCBpbnQ+KG1JbnB1dERhdGFCdWZmZXJzLnNpemUoKSkpOw0KLSAgICByZXRWYWwgPSBmYWxzZTsNCi0gIH0NCi0NCi0gIHJldHVybiByZXRWYWw7DQotfQ0KLQ0KLWJvb2wgQ0ZCVGVzdGVyOjpjcmVhdGVEYXRhT3V0cHV0Q29ubmVjdGlvbnMoKSB7DQotICBib29sIHJldFZhbCA9IHRydWU7DQotDQotICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjKiBpbnRlcmZhY2VTcGVjID0gbUZCVW5kZXJUZXN0LT5nZXRGQkludGVyZmFjZVNwZWMoKTsNCi0NCi0gIGlmKGludGVyZmFjZVNwZWMtPm1fbk51bURPcyA9PSBtT3V0cHV0RGF0YUJ1ZmZlcnMuc2l6ZSgpKSB7DQotICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBpbnRlcmZhY2VTcGVjLT5tX25OdW1ET3M7ICsraSkgew0KLSAgICAgIGlmKENGQlRlc3RDb25uOjpjYW5CZUNvbm5lY3RlZChtT3V0cHV0RGF0YUJ1ZmZlcnNbaV0sIG1GQlVuZGVyVGVzdC0+Z2V0RGF0YU91dHB1dChpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pKSkgew0KLSAgICAgICAgQ0RhdGFDb25uZWN0aW9uICpkYXRhQ29uID0gbUZCVW5kZXJUZXN0LT5nZXRET0Nvbm5lY3Rpb24oaW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzW2ldKTsNCi0gICAgICAgIGRhdGFDb24tPnNldFZhbHVlKG1PdXRwdXREYXRhQnVmZmVyc1tpXSk7DQotICAgICAgICBpZihlX1JEWSAhPSBkYXRhQ29uLT5jb25uZWN0KHRoaXMsIGludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lc1tpXSkpIHsNCi0gICAgICAgICAgcHJpbnRmKCIqKiogRkIgdGVzdCBwcmVwYXJhdGlvbjogQ2Fubm90IGNyZWF0ZSBkYXRhIGNvbm5lY3Rpb24gZm9yIG91dHB1dCAlcyFcbiIsDQotICAgICAgICAgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OmdldEluc3RhbmNlKCkuZ2V0KGludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lc1tpXSkpOw0KLSAgICAgICAgICByZXRWYWwgPSBmYWxzZTsNCi0gICAgICAgICAgYnJlYWs7DQotICAgICAgICB9DQotICAgICAgfSBlbHNlIHsNCi0gICAgICAgIHByaW50ZigiKioqIEZCIHRlc3QgcHJlcGFyYXRpb246IEdpdmVuIG91dHB1dCBkYXRhIHZhbHVlIGZvciBvdXRwdXQgJXMgY2FuIG5vdCBiZSBjb25uZWN0ZWQhXG4iLA0KLSAgICAgICAgICBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5nZXQoaW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzW2ldKSk7DQotICAgICAgICByZXRWYWwgPSBmYWxzZTsNCi0gICAgICAgIGJyZWFrOw0KLSAgICAgIH0NCi0gICAgfQ0KLSAgfSBlbHNlIHsNCi0gICAgcHJpbnRmKCIqKiogRkIgdGVzdCBwcmVwYXJhdGlvbjogV3JvbmcgYW1vdW50IG9mIG91dHB1dCBkYXRhIGdpdmVuISBFeHBlY3RlZDogJWQsIGdvdDogJWx1XG4iLCBpbnRlcmZhY2VTcGVjLT5tX25OdW1ET3MsDQotICAgICAgc3RhdGljX2Nhc3Q8bG9uZyB1bnNpZ25lZCBpbnQ+KG1PdXRwdXREYXRhQnVmZmVycy5zaXplKCkpKTsNCi0gICAgcmV0VmFsID0gZmFsc2U7DQotICB9DQotDQotICByZXR1cm4gcmV0VmFsOw0KLQ0KLX0NCi0NCi1ib29sIENGQlRlc3Rlcjo6dGVzdENhc2VXcm9uZ0lucHV0RXZlbnQoKSB7DQotICBib29sIGJSZXN1bHQgPSB0cnVlOw0KLQ0KLSAgZm9yKFRQb3J0SWQgaSA9IG1GQlVuZGVyVGVzdC0+Z2V0RkJJbnRlcmZhY2VTcGVjKCktPm1fbk51bUVJczsgaSA8IGNnX25FeHRlcm5hbEV2ZW50SUQ7IGkrKykgew0KLSAgICB0cmlnZ2VyRXZlbnQoaSk7DQotICAgIGlmKCFldmVudENoYWluRW1wdHkoKSkgew0KLSAgICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0gICAgICBicmVhazsNCi0gICAgfQ0KLSAgfQ0KLQ0KLSAgcmV0dXJuIGJSZXN1bHQ7DQotfQ0KLQ0KLXZvaWQgQ0ZCVGVzdGVyOjpwZXJmb3JtRGF0YUludGVyZmFjZVRlc3RzKCkgew0KLSAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogaW50ZXJmYWNlU3BlYyA9IG1GQlVuZGVyVGVzdC0+Z2V0RkJJbnRlcmZhY2VTcGVjKCk7DQotDQotICBCT09TVF9DSEVDS19FUVVBTChpbnRlcmZhY2VTcGVjLT5tX25OdW1ESXMsIG1JbnB1dERhdGFCdWZmZXJzLnNpemUoKSk7DQotDQotICBCT09TVF9DSEVDSygwID09IG1GQlVuZGVyVGVzdC0+Z2V0RGF0YUlucHV0KENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCkpOw0KLSAgQk9PU1RfQ0hFQ0tfRVFVQUwoY2dfdW5JbnZhbGlkUG9ydElkLCBtRkJVbmRlclRlc3QtPmdldERJSUQoQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkKSk7DQotDQotICBmb3IoVFBvcnRJZCBpID0gMDsgaSA8IGludGVyZmFjZVNwZWMtPm1fbk51bURJczsgKytpKSB7DQotICAgIENJRUNfQU5ZICp2YWwgPSBtRkJVbmRlclRlc3QtPmdldERhdGFJbnB1dChpbnRlcmZhY2VTcGVjLT5tX2F1bkRJTmFtZXNbaV0pOw0KLSAgICBCT09TVF9DSEVDSygwICE9IHZhbCk7DQotICAgIC8vZWl0aGVyIHdlIGhhdmUgdGhlIHNhbWUgZGF0YXR5cGVpZCBvciB0aGUgaW5wdXQgaXMgYW55DQotICAgIEJPT1NUX0NIRUNLKChtSW5wdXREYXRhQnVmZmVyc1tpXS0+Z2V0RGF0YVR5cGVJRCgpLCB2YWwtPmdldERhdGFUeXBlSUQoKSkgfHwgKENJRUNfQU5ZOjplX0FOWSA9PSB2YWwtPmdldERhdGFUeXBlSUQoKSkpOw0KLQ0KLSAgICBCT09TVF9DSEVDS19FUVVBTCh2YWwsIG1GQlVuZGVyVGVzdC0+Z2V0RElGcm9tUG9ydElkKGkpKTsNCi0gICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzdHJpbmdJZEJ1ZiA9IGludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1tpXTsNCi0gICAgQk9PU1RfQ0hFQ0tfRVFVQUwodmFsLCBtRkJVbmRlclRlc3QtPmdldFZhcigmc3RyaW5nSWRCdWYsIDEpKTsNCi0NCi0gICAgQk9PU1RfQ0hFQ0tfRVFVQUwoaSwgbUZCVW5kZXJUZXN0LT5nZXRESUlEKGludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1tpXSkpOw0KLQ0KLSAgICAvL3dlIHNob3VsZCBub3QgYmUgYWJsZSB0byBnZXQgYSBkYXRhIG91dHB1dCB3aXRoIGEgZGF0YSBpbnB1dCBuYW1lDQotICAgIEJPT1NUX0NIRUNLKDAgPT0gbUZCVW5kZXJUZXN0LT5nZXREYXRhT3V0cHV0KGludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1tpXSkpOw0KLSAgICBCT09TVF9DSEVDS19FUVVBTChjZ191bkludmFsaWRQb3J0SWQsIG1GQlVuZGVyVGVzdC0+Z2V0RE9JRChpbnRlcmZhY2VTcGVjLT5tX2F1bkRJTmFtZXNbaV0pKTsNCi0gIH0NCi0NCi0gIGZvcihUUG9ydElkIGkgPSBpbnRlcmZhY2VTcGVjLT5tX25OdW1ESXM7IGkgPD0gY2dfdW5JbnZhbGlkUG9ydElkOyArK2kpIHsNCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSBtRkJVbmRlclRlc3QtPmdldERJRnJvbVBvcnRJZChpKSk7DQotICB9DQotDQotICBCT09TVF9DSEVDS19FUVVBTChpbnRlcmZhY2VTcGVjLT5tX25OdW1ET3MsIG1PdXRwdXREYXRhQnVmZmVycy5zaXplKCkpOw0KLQ0KLSAgQk9PU1RfQ0hFQ0soMCA9PSBtRkJVbmRlclRlc3QtPmdldERhdGFPdXRwdXQoQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkKSk7DQotICBCT09TVF9DSEVDS19FUVVBTChjZ191bkludmFsaWRQb3J0SWQsIG1GQlVuZGVyVGVzdC0+Z2V0RE9JRChDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQpKTsNCi0NCi0gIGZvcihUUG9ydElkIGkgPSAwOyBpIDwgaW50ZXJmYWNlU3BlYy0+bV9uTnVtRE9zOyArK2kpIHsNCi0gICAgQ0lFQ19BTlkgKnZhbCA9IG1GQlVuZGVyVGVzdC0+Z2V0RGF0YU91dHB1dChpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pOw0KLSAgICBCT09TVF9DSEVDSygwICE9IHZhbCk7DQotICAgIC8vZWl0aGVyIHdlIGhhdmUgdGhlIHNhbWUgZGF0YXR5cGVpZCBvciB0aGUgaW5wdXQgaXMgYW55DQotICAgIEJPT1NUX0NIRUNLKChtT3V0cHV0RGF0YUJ1ZmZlcnNbaV0tPmdldERhdGFUeXBlSUQoKSwgdmFsLT5nZXREYXRhVHlwZUlEKCkpIHx8IChDSUVDX0FOWTo6ZV9BTlkgPT0gdmFsLT5nZXREYXRhVHlwZUlEKCkpKTsNCi0NCi0gICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBzdHJpbmdJZEJ1ZiA9IGludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lc1tpXTsNCi0gICAgQk9PU1RfQ0hFQ0tfRVFVQUwodmFsLCBtRkJVbmRlclRlc3QtPmdldFZhcigmc3RyaW5nSWRCdWYsIDEpKTsNCi0NCi0gICAgQk9PU1RfQ0hFQ0tfRVFVQUwoaSwgbUZCVW5kZXJUZXN0LT5nZXRET0lEKGludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lc1tpXSkpOw0KLQ0KLSAgICAvL3dlIHNob3VsZCBub3QgYmUgYWJsZSB0byBnZXQgYSBkYXRhIG91dCB3aXRoIGEgZGF0YSBvdXRwdXQgbmFtZQ0KLSAgICBCT09TVF9DSEVDSygwID09IG1GQlVuZGVyVGVzdC0+Z2V0RGF0YUlucHV0KGludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lc1tpXSkpOw0KLSAgICBCT09TVF9DSEVDS19FUVVBTChjZ191bkludmFsaWRQb3J0SWQsIG1GQlVuZGVyVGVzdC0+Z2V0RElJRChpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pKTsNCi0gIH0NCi19DQpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdGVyLmggYi90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWVmMzdlMC4uMDAwMDAwMAotLS0gYS90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDE0OSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTUgQUNJTiwgZm9ydGlzcyBHbWJIDQotICogICAgICAgICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotICoNCi0gKiBDb250cmlidXRvcnM6DQotICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KLSAqICAgIEFsb2lzIFpvaXRsIC0gaW50cm9kdWNlZCBuZXcgQ0dlbkZCIGNsYXNzIGZvciBiZXR0ZXIgaGFuZGxpbmcgZ2VuZXJpYyBGQnMNCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0jaWZuZGVmIEZCVEVTVEVSX0hfDQotI2RlZmluZSBGQlRFU1RFUl9IXw0KLQ0KLSNpbmNsdWRlICJmdW5jYmxvYy5oIg0KLSNpbmNsdWRlICJmYnRlc3RzbWFuYWdlci5oIg0KLSNpbmNsdWRlIDx2ZWN0b3I+DQotI2luY2x1ZGUgPGRlcXVlPg0KLQ0KLQ0KLSNkZWZpbmUgU0VUVVBfSU5QVVREQVRBKC4uLikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgVElFQ19BTllQdHIgaW5wdXREYXRhW10gPSB7X19WQV9BUkdTX199OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICBzZXRJbnB1dERhdGEoaW5wdXREYXRhLCAoc2l6ZW9mKGlucHV0RGF0YSkgLyBzaXplb2YoaW5wdXREYXRhWzBdKSkgKTsgICBcDQotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0NCi0NCi0jZGVmaW5lIFNFVFVQX09VVFBVVERBVEEoLi4uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgVElFQ19BTllQdHIgb3V0cHV0RGF0YVtdID0ge19fVkFfQVJHU19ffTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgc2V0T3V0cHV0RGF0YShvdXRwdXREYXRhLCAoc2l6ZW9mKG91dHB1dERhdGEpIC8gc2l6ZW9mKG91dHB1dERhdGFbMF0pKSApOyBcDQotICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotDQotDQotY2xhc3MgQ0ZCVGVzdGVyIDogcHVibGljIENGdW5jdGlvbkJsb2Nrew0KLSAgcHVibGljOg0KLSAgICB2aXJ0dWFsIH5DRkJUZXN0ZXIoKTsNCi0NCi0gICAgLy8hZXhlY3V0ZSB0aGUgdGVzdCBjYXNlcyBmb3IgdGhlIEZCIGFuZCBnZW5lcmF0ZSBhIHRlc3QgcmVwb3J0DQotICAgIHZvaWQgZXhlY3V0ZVRlc3RzKCk7DQotDQotICAgIHVuc2lnbmVkIGludCBnZXROdW1TdWNjZXNmdWxsVGVzdENhc2VzKCl7DQotICAgICAgcmV0dXJuIG1fbk51bVN1Y2Nlc2Z1bFRlc3RDYXNlczsNCi0gICAgfQ0KLQ0KLSAgICB1bnNpZ25lZCBpbnQgZ2V0TnVtVW5zdWNjZXNmdWxsVGVzdENhc2VzKCl7DQotICAgICAgcmV0dXJuIG1fbk51bVVuc3VjY2VzZnVsVGVzdENhc2VzOw0KLSAgICB9DQotDQotICAgIHZpcnR1YWwgYm9vbCBjb25uZWN0REkoVFBvcnRJZCAsIENEYXRhQ29ubmVjdGlvbiAqKXsNCi0gICAgICAvL2ZvciB0aGUgRkIgdGVzdCB3ZSBjYW4ganVzdCByZXR1cm4gdHJ1ZSBoZXJlDQotICAgICAgcmV0dXJuIHRydWU7DQotICAgIH0NCi0NCi0gIHByb3RlY3RlZDoNCi0gICAgZXhwbGljaXQgQ0ZCVGVzdGVyKENSZXNvdXJjZSAqcGFfcG9UZXN0UmVzb3VyY2UpOw0KLQ0KLSAgICAvKiFcYnJpZWYgaW52b2tlIHRoZSBGQiB1bmRlciBUZXN0IHdpdGggdGhlIGdpdmVuIGV2ZW50IGlkDQotICAgICAqDQotICAgICAqIEBwYXJhbSBwYV9uRUlJZCBpbnB1dCBldmVudCBpZCB0byBiZSBzZW50IHRvIHRoZSBmYiB1bmRlciB0ZXN0DQotICAgICAqLw0KLSAgICB2b2lkIHRyaWdnZXJFdmVudChUUG9ydElkIHBhX25FSUlkKTsNCi0NCi0gICAgLyohXGJyaWVmIHJlcG9ydCB0aGUgc3RhdHVzIG9mIGEgdGVzdCBjYXNlDQotICAgICAqDQotICAgICAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGludm9rZWQgZm9yIGVhY2ggdGVzdCBjYXNlIGV4ZWN1dGVkIHdpdGhpbg0KLSAgICAgKiBleGVjdXRlQWxsVGVzdHMoKS4NCi0gICAgICoNCi0gICAgICogQHBhcmFtIHBhX2JTdWNjZXNzIHRydWUgaWYgdGhlIHRlc3QgY2FzZSB3YXMgc3VjY2Vzc2Z1bA0KLSAgICAgKiBAcGFyYW0gcGFfYWNUZXN0Q2FzZU5hbWUgbmFtZSBvZiB0aGUgdGVzdCBjYXNlDQotICAgICAqLw0KLSAgICB2b2lkIGV2YWx1YXRlVGVzdFJlc3VsdChib29sIHBhX2JTdWNjZXNzLCBjb25zdCBjaGFyKiBwYV9hY1Rlc3RDYXNlTmFtZSk7DQotDQotICAgIGludCBwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKTsNCi0NCi0gICAgYm9vbCBldmVudENoYWluRW1wdHkoKTsNCi0NCi0gICAgLyohXGJyaWVmIFJlbW92ZSBhbGwgZXZlbnRzIGZyb20gdGhlIGV2ZW50IGNoYWluIGJyaW5naW5nIHRoZSB0ZXN0ZXIgaW50byBhIGRlZmluZWQgc3RhdGUNCi0gICAgICoNCi0gICAgICovDQotICAgIHZvaWQgY2xlYXJFdmVudENoYWluKCk7DQotDQotICAgIC8qKiBDaGVjayBpZiBvbmx5IG9uZSBvdXRwdXQgZXZlbnQgb2YgdGhlIGdpdmVuIGV2ZW50IG91dHB1dCBJZCBoYXMgYmVlbiBzZW50IGJ5IHRoZSBGQg0KLSAgICAgKg0KLSAgICAgKiBAcGFyYW0gcGFfbkV4cGVjdGVkRU9JZCB0aGUgb3V0cHV0IGV2ZW50IElkIHRvIGJlIGNoZWNrZWQgZm9yDQotICAgICAqIEByZXR1cm4gdHJ1ZSBpZiBvbmx5IG9uZSBldmVudCBvZiB0aGUgZ2l2ZW4gSWQgaXMgaW4gdGhlIGV2ZW50IHF1ZXVlDQotICAgICAqLw0KLSAgICBib29sIGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoaW50IHBhX25FeHBlY3RlZEVPSWQpOw0KLQ0KLSAgICB2b2lkIHNldElucHV0RGF0YShUSUVDX0FOWVB0ciBwYUlucHV0RGF0YVtdLCBzaXplX3QgcGFMZW5naHQpOw0KLSAgICB2b2lkIHNldE91dHB1dERhdGEoVElFQ19BTllQdHIgcGFJbnB1dERhdGFbXSwgc2l6ZV90IHBhTGVuZ2h0KTsNCi0NCi0gIHByaXZhdGU6DQotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhX25FSUlEKTsNCi0gICAgLyohXGJyaWVmIGF0dGVtcHQgdG8gY3JlYXRlIHRoZSB0eXBlIGZyb20gdGhlIHR5cGUgbGlicmFyeQ0KLSAgICAgKg0KLSAgICAgKi8NCi0gICAgdm9pZCBwZXJmb3JtQ3JlYXRpb25UZXN0KCk7DQotDQotICAgIC8qISBcYnJpZWYgZXhlY3V0ZSBhbGwgdGVzdHMgY2FzZXMgb2YgdGhlIEZCDQotICAgICAqDQotICAgICAqICBUaGlzIGZ1bmN0aW9uIG5lZWRzIHRvIGJlIGltcGxlbWVudGVkIGJ5IHRoZSBzcGVjaWZpYyB0ZXN0IGNsYXNzIG9mDQotICAgICAqICBhIEZCLiBlYWNoIHRlc3QgY2FzZXMgaGFzIHRvIHJlcG9ydCBpdHMgcmVzdWx0cyBieSBpbnZva2luZw0KLSAgICAgKiAgZXZhbHVhdGVUZXN0UmVzdWx0KGJvb2wgcGFfYlN1Y2Nlc3MsIGNvbnN0IGNoYXIqIHBhX2FjVGVzdENhc2VOYW1lKQ0KLSAgICAgKi8NCi0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVBbGxUZXN0cygpID0gMDsNCi0NCi0gICAgLyohIFByZXBhcmUgaW50ZXJuYWwgdmFyaWFibGVzIGFuZCB0aGUgdGVzdGVlIGZvciB0aGUgdGVzdA0KLSAgICAgKg0KLSAgICAgKi8NCi0gICAgYm9vbCBwcmVwYXJlVGVzdHMoKTsNCi0gICAgdm9pZCBjbGVhbnVwVGVzdERhdGEoKTsNCi0gICAgdm9pZCBwZXJmb3JtRkJEZWxldGVUZXN0cygpOw0KLSAgICB2b2lkIGNyZWF0ZUV2ZW50T3V0cHV0Q29ubmVjdGlvbnMoKTsNCi0gICAgYm9vbCBjcmVhdGVEYXRhSW5wdXRDb25uZWN0aW9ucygpOw0KLSAgICBib29sIGNyZWF0ZURhdGFPdXRwdXRDb25uZWN0aW9ucygpOw0KLQ0KLSAgICBib29sIHRlc3RDYXNlV3JvbmdJbnB1dEV2ZW50KCk7DQotDQotICAgIC8qIENoZWNrIGlmIGFsbCBkYXRhIGlucHV0cyBhbmQgZGF0YSBvdXRwdXRzIGFzIGdpdmVuIGluIHRoZSBpbnRlcmZhY2Ugc3RydWN0IGNhbiBiZSBhY2Nlc3NlZCBhbmQNCi0gICAgICogaWYgdGhlIGRhdGEgdHlwZXMgYXJlIGVxdWFsIHRvIHRoZSBkYXRhIHByb3ZpZGVkIGJ5IHRoZSBmYiB0ZXN0ZXINCi0gICAgICovDQotICAgIHZvaWQgcGVyZm9ybURhdGFJbnRlcmZhY2VUZXN0cygpOw0KLQ0KLQ0KLSAgICBzdGQ6OnZlY3RvcjxDSUVDX0FOWSAqPiBtSW5wdXREYXRhQnVmZmVyczsNCi0gICAgc3RkOjp2ZWN0b3I8Q0lFQ19BTlkgKj4gbU91dHB1dERhdGFCdWZmZXJzOw0KLQ0KLQ0KLSAgICBDRnVuY3Rpb25CbG9jayAqbUZCVW5kZXJUZXN0Ow0KLSAgICBzdGQ6OnZlY3RvcjxDSW50ZXJmYWNlMkludGVybmFsRGF0YUNvbm5lY3Rpb24gKj4gbURJQ29ubmVjdGlvbnM7DQotDQotICAgIC8qISBcYnJpZWYgbGlzdCBmb3Igc3RvcmluZyB0aGUgb3V0cHV0IGV2ZW50cyByZWNlaXZlZCBmcm9tIHRoZSB0ZXN0ZWUNCi0gICAgICoNCi0gICAgICogVE9ETyBhZGQgdGltZXN0YW1wcyB0byB0aGUgbGlzdA0KLSAgICAgKi8NCi0gICAgc3RkOjpkZXF1ZTxpbnQ+IG1GQk91dHB1dEV2ZW50czsNCi0NCi0gICAgQ1N5bmNPYmplY3QgbU91dHB1dEV2ZW50TG9jazsNCi0NCi0gICAgdW5zaWduZWQgaW50IG1fbk51bVN1Y2Nlc2Z1bFRlc3RDYXNlczsNCi0gICAgdW5zaWduZWQgaW50IG1fbk51bVVuc3VjY2VzZnVsVGVzdENhc2VzOw0KLQ0KLSAgICBURm9ydGVCeXRlICptRkJDb25uRGF0YTsNCi0gICAgVEZvcnRlQnl0ZSAqbUZCVmFyc0RhdGE7DQotfTsNCi0NCi0jZW5kaWYgLyogRkJURVNURVJfSF8gKi8NCmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXJnbG9iYWxmaXh0dXJlLmNwcCBiL3Rlc3RzL2NvcmUvZmJ0ZXN0cy9mYnRlc3Rlcmdsb2JhbGZpeHR1cmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ODBkNzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXJnbG9iYWxmaXh0dXJlLmNwcApAQCAtMCwwICsxLDQ2IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2luY2x1ZGUgImZidGVzdGVyZ2xvYmFsZml4dHVyZS5oIgorI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgImZidGVzdGVyZ2xvYmFsZml4dHVyZV9nZW4uY3BwIgorI2VuZGlmCisjaW5jbHVkZSA8Ym9vc3QvdGVzdC91bml0X3Rlc3QuaHBwPgorCitjb25zdCBzdGF0aWMgU0ZCSW50ZXJmYWNlU3BlYyBnc2NUZXN0RGV2U3BlYyA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAgICAgICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLAorICAgICAgICAgIDAsCisgICAgICAgICAgMCB9OworCitDRGV2aWNlICpDRkJUZXN0RGF0YUdsb2JhbEZpeHR1cmU6OnNtVGVzdERldjsKK0NSZXNvdXJjZSAqQ0ZCVGVzdERhdGFHbG9iYWxGaXh0dXJlOjpzbVRlc3RSZXM7CisKK0NGQlRlc3REYXRhR2xvYmFsRml4dHVyZTo6Q0ZCVGVzdERhdGFHbG9iYWxGaXh0dXJlKCl7CisgIC8vc2V0dXAgaXMgZG9uZSBpbiB0aGUgc2V0dXAgc28gdGhhdCBib29zdF90ZXN0IGNhbiB0aHJvdyBleGNlcHRpb25zCisgIHNtVGVzdERldiA9IG5ldyBDRGV2aWNlKCZnc2NUZXN0RGV2U3BlYywgQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkLCAwLCAwKTsKKyAgLy9taW1pY2sgdGhlIGJlaGF2aW9yIHByb3ZpZGVkIGJ5IHR5cGVsaWIKKyAgc21UZXN0RGV2LT5jaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKGNnX25NR01fQ01EX1Jlc2V0KTsKKworICBzbVRlc3RSZXMgPSAoQ1Jlc291cmNlICopQ1R5cGVMaWI6OmNyZWF0ZUZCKGdfblN0cmluZ0lkRU1CX1JFUywgZ19uU3RyaW5nSWRFTUJfUkVTLCBzbVRlc3REZXYpOworCisgIGlmKHNtVGVzdFJlcyAhPSAwKXsKKyAgICBzbVRlc3REZXYtPmFkZEZCKHNtVGVzdFJlcyk7CisgICAgc21UZXN0RGV2LT5zdGFydERldmljZSgpOworICB9Cit9CisKKworQ0ZCVGVzdERhdGFHbG9iYWxGaXh0dXJlOjp+Q0ZCVGVzdERhdGFHbG9iYWxGaXh0dXJlKCl7CisgIHNtVGVzdERldi0+Y2hhbmdlRkJFeGVjdXRpb25TdGF0ZShjZ19uTUdNX0NNRF9TdG9wKTsKKyAgZGVsZXRlIHNtVGVzdERldjsKKyAgLy93ZSBkb24ndCBuZWVkIHRvIGRlbGV0ZSB0aGUgcmVzIGhlcmUgYXMgdGhlIHJlcyBpcyBkZWxldGVzIGluIHRoZSBkZXN0cnVjdG9yIG9mIHRoZSBkZXZpY2UKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvZmJ0ZXN0cy9mYnRlc3Rlcmdsb2JhbGZpeHR1cmUuaCBiL3Rlc3RzL2NvcmUvZmJ0ZXN0cy9mYnRlc3Rlcmdsb2JhbGZpeHR1cmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDkwMWJiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdGVyZ2xvYmFsZml4dHVyZS5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2lmbmRlZiBURVNUU19DT1JFX0ZCVEVTVFNfRkJURVNURVJHTE9CQUxGSVhUVVJFX0hfCisjZGVmaW5lIFRFU1RTX0NPUkVfRkJURVNUU19GQlRFU1RFUkdMT0JBTEZJWFRVUkVfSF8KKworI2luY2x1ZGUgPGRldmljZS5oPgorCisvKipHbG9iYWwgZml4dHVyZSBmb3IgcHJvdmRpbmcgdGhlIHJlc291cmNlIGFuZCBkZXZpY2UgbmVlZGVkIGZvciBmYiB0ZXN0aW5nCisgKgorICovCitjbGFzcyBDRkJUZXN0RGF0YUdsb2JhbEZpeHR1cmV7CisKKyAgcHVibGljOgorICAgIENGQlRlc3REYXRhR2xvYmFsRml4dHVyZSgpOworICAgIH5DRkJUZXN0RGF0YUdsb2JhbEZpeHR1cmUoKTsKKworICAgIHN0YXRpYyBDUmVzb3VyY2UgKmdldFJlc291cmNlKCl7CisgICAgICByZXR1cm4gc21UZXN0UmVzOworICAgIH0KKworICBwcml2YXRlOgorICAgIHN0YXRpYyBDRGV2aWNlICpzbVRlc3REZXY7CisgICAgc3RhdGljIENSZXNvdXJjZSAqc21UZXN0UmVzOworfTsKKworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuY3BwIGIvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiOWY1NTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5jcHAKQEAgLTAsMCArMSwyODcgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE0LCAyMDE4IEFDSU4sIGZvcnRpc3MgR21iSAorICogICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqICAgQWxvaXMgWm9pdGwgLSBtaWdyYXRlZCBmYiB0ZXN0cyB0byBib29zdCB0ZXN0IGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpbmNsdWRlICJmYnRlc3RmaXh0dXJlLmgiCisjaW5jbHVkZSAiZmJ0ZXN0ZXJnbG9iYWxmaXh0dXJlLmgiCisjaW5jbHVkZSA8ZGV2aWNlLmg+CisjaW5jbHVkZSA8Y3JpdGljYWxyZWdpb24uaD4KKyNpbmNsdWRlIDxlY2V0Lmg+CisKKyNpZmRlZiBXSU4zMgorIyBkZWZpbmUgdXNsZWVwKHgpIFNsZWVwKCh4KS8xMDAwKQorI2VuZGlmCisKKy8qKkhlbHBlciBmdW5jdG9yIGZvciBkZWxldGluZyBzdHVmZiBpbiBjb250YWluZXJzCisgKgorICovCitzdHJ1Y3QgU0RlbGV0ZUZ1bmN0b3IgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+CisgICAgdm9pZCBvcGVyYXRvcigpKFQqIHBhVmFsKSBjb25zdCB7CisgICAgICBkZWxldGUgcGFWYWw7CisgICAgfQorfTsKKworLy8hIEhlbHBlciBjbGFzcyBhbGxvd2luZyB0byBhY2Nlc3MgdGhlIGNhbiBiZSBjb25uZWN0ZWQgZnVuY3Rpb24gZnJvbSB0aGUgRkJUZXN0ZXIKK2NsYXNzIENGQlRlc3RDb25uIDogcHVibGljIENEYXRhQ29ubmVjdGlvbiB7CisgIHB1YmxpYzoKKyAgICBzdGF0aWMgYm9vbCBjYW5CZUNvbm5lY3RlZChjb25zdCBDSUVDX0FOWSAqcGFTcmNEYXRhUG9pbnQsIGNvbnN0IENJRUNfQU5ZICpwYURzdERhdGFQb2ludCkgeworICAgICAgYm9vbCBiU3BlY2lhbENhc3Q7CisgICAgICByZXR1cm4gQ0RhdGFDb25uZWN0aW9uOjpjYW5CZUNvbm5lY3RlZChwYVNyY0RhdGFQb2ludCwgcGFEc3REYXRhUG9pbnQsIGJTcGVjaWFsQ2FzdCk7CisgICAgfQorICBwcml2YXRlOgorICAgIC8veW91IGFyZSBub3QgYWxsb3dlZCB0byBjcmVhdGUgdGhpcyBjbGFzcyB0aGVyZWZvciBjb25zdHJ1Y3RvciBhbmQgZGVzdHJ1Y3RvciBhcmUgcHJpdmF0ZQorICAgIENGQlRlc3RDb25uKCk7CisgICAgdmlydHVhbCB+Q0ZCVGVzdENvbm4oKTsKK307CisKKworQ0ZCVGVzdEZpeHR1cmVCYXNlOjpDRkJUZXN0Rml4dHVyZUJhc2UoQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBwYVR5cGVJZCkgOgorICAgIENGdW5jdGlvbkJsb2NrKENGQlRlc3REYXRhR2xvYmFsRml4dHVyZTo6Z2V0UmVzb3VyY2UoKSwgMCwgMCwgMCwgMCksIG1UeXBlSWQocGFUeXBlSWQpLAorICAgICAgICBtRkJVbmRlclRlc3QoQ1R5cGVMaWI6OmNyZWF0ZUZCKHBhVHlwZUlkLCBwYVR5cGVJZCwgZ2V0UmVzb3VyY2VQdHIoKSkpLCBtRkJDb25uRGF0YSgwKSwgbUZCVmFyc0RhdGEoMCkgeworCisgIGNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfUmVzZXQpOworICBjaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKGNnX25NR01fQ01EX1N0YXJ0KTsKKyAgLy9hc3N1cmUgdGhhdCB3ZSBhcmUgaW4gcnVubmluZyBzdGF0ZQorICBCT09TVF9SRVFVSVJFX0VRVUFMKENGdW5jdGlvbkJsb2NrOjplX1JVTk5JTkcsIGdldFN0YXRlKCkpOworICBCT09TVF9SRVFVSVJFKDAgIT0gbUZCVW5kZXJUZXN0KTsKK30KKworQ0ZCVGVzdEZpeHR1cmVCYXNlOjp+Q0ZCVGVzdEZpeHR1cmVCYXNlKCl7CisgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIGludGVyZmFjZVNwZWMgPSBtRkJVbmRlclRlc3QtPmdldEZCSW50ZXJmYWNlU3BlYygpOworCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBpbnRlcmZhY2VTcGVjLT5tX25OdW1FT3M7IGkrKykgeworICAgQ0V2ZW50Q29ubmVjdGlvbiAqZXZlbnRDb24gPSBtRkJVbmRlclRlc3QtPmdldEVPQ29ubmVjdGlvbihpbnRlcmZhY2VTcGVjLT5tX2F1bkVPTmFtZXNbaV0pOworICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZV9SRFksIGV2ZW50Q29uLT5kaXNjb25uZWN0KHRoaXMsIGludGVyZmFjZVNwZWMtPm1fYXVuRU9OYW1lc1tpXSkpOworICB9CisKKyAgZm9yKHNpemVfdCBpID0gMDsgaSA8IGludGVyZmFjZVNwZWMtPm1fbk51bURPczsgKytpKSB7CisgICBDRGF0YUNvbm5lY3Rpb24gKmRhdGFDb24gPSBtRkJVbmRlclRlc3QtPmdldERPQ29ubmVjdGlvbihpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pOworICAgLy9zZXQgaXQgdG8gemVybyBzbyB0aGF0IHdoZW4gdGhlIEZCIHVuZGVyIHRlc3QgaXMgZGVsZXRlZCBpdCB3aWxsIG5vdCBkZWxldGUgb3VyIHRlc3Qgb3V0cHV0IGRhdGEKKyAgIGRhdGFDb24tPnNldFZhbHVlKDApOworCisgICBCT09TVF9DSEVDS19FUVVBTChlX1JEWSwgZGF0YUNvbi0+ZGlzY29ubmVjdCh0aGlzLCBpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pKTsKKyAgfQorCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBpbnRlcmZhY2VTcGVjLT5tX25OdW1ESXM7ICsraSkgeworICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZV9SRFksIG1ESUNvbm5lY3Rpb25zW2ldLT5kaXNjb25uZWN0KG1GQlVuZGVyVGVzdCwgaW50ZXJmYWNlU3BlYy0+bV9hdW5ESU5hbWVzW2ldKSk7CisgIH0KKworICBmb3JfZWFjaChtRElDb25uZWN0aW9ucy5iZWdpbigpLCBtRElDb25uZWN0aW9ucy5lbmQoKSwgU0RlbGV0ZUZ1bmN0b3IoKSk7CisKKyAgcGVyZm9ybUZCRGVsZXRlVGVzdHMoKTsKKworICBpZigwICE9IG1fcHN0SW50ZXJmYWNlU3BlYyl7CisgICAgZnJlZUFsbERhdGEoKTsgIC8vY2xlYW4gdGhlIGludGVyZmFjZSBhbmQgY29ubmVjdGlvbnMgZmlyc3QuCisgICAgZGVsZXRlW10gbUZCQ29ubkRhdGE7CisgICAgZGVsZXRlW10gbUZCVmFyc0RhdGE7CisgICAgZGVsZXRlIG1fcHN0SW50ZXJmYWNlU3BlYzsKKyAgICBtX3BzdEludGVyZmFjZVNwZWMgPSAwOyAvL3RoaXMgc3RvcHMgdGhlIGJhc2UgY2xhc3NlcyBmcm9tIGFueSB3cm9uZyBjbGVhbi11cAorICB9Cit9CisKK3ZvaWQgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpwZXJmb3JtRkJEZWxldGVUZXN0cygpIHsKKyAgQk9PU1RfQ0hFQ0soIW1GQlVuZGVyVGVzdC0+aXNDdXJyZW50bHlEZWxldGVhYmxlKCkpOworCisgIEJPT1NUX0NIRUNLX0VRVUFMKGVfUkRZLCBtRkJVbmRlclRlc3QtPmNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfU3RvcCkpOworCisgIEJPT1NUX0NIRUNLKG1GQlVuZGVyVGVzdC0+aXNDdXJyZW50bHlEZWxldGVhYmxlKCkpOworCisgIEJPT1NUX0NIRUNLKENUeXBlTGliOjpkZWxldGVGQihtRkJVbmRlclRlc3QpKTsKKyAgbUZCVW5kZXJUZXN0ID0gMDsKK30KKwordm9pZCBDRkJUZXN0Rml4dHVyZUJhc2U6OnNldHVwKCl7CisgIHNldHVwVGVzdEludGVyZmFjZSgpOworICBwZXJmb3JtRGF0YUludGVyZmFjZVRlc3RzKCk7CisKKyAgbUZCVW5kZXJUZXN0LT5jaGFuZ2VGQkV4ZWN1dGlvblN0YXRlKGNnX25NR01fQ01EX1N0YXJ0KTsKKworICBjcmVhdGVFdmVudE91dHB1dENvbm5lY3Rpb25zKCk7CisgIGNyZWF0ZURhdGFJbnB1dENvbm5lY3Rpb25zKCk7CisgIGNyZWF0ZURhdGFPdXRwdXRDb25uZWN0aW9ucygpOworfQorCit2b2lkIENGQlRlc3RGaXh0dXJlQmFzZTo6ZXhlY3V0ZUV2ZW50KGludCBwYUVJSUQpeworICBDQ3JpdGljYWxSZWdpb24gY3JpdGljYWxSZWdpb24obU91dHB1dEV2ZW50TG9jayk7CisgIG1GQk91dHB1dEV2ZW50cy5wdXNoX2JhY2socGFFSUlEKTsKK30KKwordm9pZCBDRkJUZXN0Rml4dHVyZUJhc2U6OnRyaWdnZXJFdmVudChUUG9ydElkIHBhRUlJZCkgeworICBDRXZlbnRDaGFpbkV4ZWN1dGlvblRocmVhZCAqZXhlY1RocmVhZCA9IGdldFJlc291cmNlKCkuZ2V0UmVzb3VyY2VFdmVudEV4ZWN1dGlvbigpOworICBTRXZlbnRFbnRyeSBlbnRyeShtRkJVbmRlclRlc3QsIHBhRUlJZCk7CisKKyAgZXhlY1RocmVhZC0+c3RhcnRFdmVudENoYWluKCZlbnRyeSk7CisKKyAgLy9XYWl0IHRpbGwgZXZlbnQgZXhlY3V0aW9uIGZvciB0aGlzIGlucHV0IGV2ZW50IGhhcyBmaW5pc2hlZAorICBkbyB7CisgICAgdXNsZWVwKDEpOworICB9IHdoaWxlKGV4ZWNUaHJlYWQtPmlzUHJvY2Vzc2luZ0V2ZW50cygpKTsKKworfQorCitpbnQgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKSB7CisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtT3V0cHV0RXZlbnRMb2NrKTsKKyAgaW50IHJldFZhbCA9IG1GQk91dHB1dEV2ZW50cy5mcm9udCgpOworICBtRkJPdXRwdXRFdmVudHMucG9wX2Zyb250KCk7CisgIHJldHVybiByZXRWYWw7Cit9CisKK2Jvb2wgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpldmVudENoYWluRW1wdHkoKSB7CisgIENDcml0aWNhbFJlZ2lvbiBjcml0aWNhbFJlZ2lvbihtT3V0cHV0RXZlbnRMb2NrKTsKKyAgcmV0dXJuIG1GQk91dHB1dEV2ZW50cy5lbXB0eSgpOworfQorCit2b2lkIENGQlRlc3RGaXh0dXJlQmFzZTo6Y2xlYXJFdmVudENoYWluKCkgeworICBtRkJPdXRwdXRFdmVudHMuY2xlYXIoKTsKK30KKworYm9vbCBDRkJUZXN0Rml4dHVyZUJhc2U6OmNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoaW50IHBhRXhwZWN0ZWRFT0lkKSB7CisgIC8vVGVzdCBpZiBldmVudCBjaGFpbiBpcyBub3QgZW1wdHksIHRoYXQgdGhlIGZpcnN0IGVudHJ5IGlzIHRoZSBleHBlY3RlZCBvbmUgYW5kIHRoYXQgbm8gZnVyaHRlciBldmVudHMgYXJlIHRoZXJlCisgIHJldHVybiAoIWV2ZW50Q2hhaW5FbXB0eSgpICYmIChwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKSA9PSBwYUV4cGVjdGVkRU9JZCkgJiYgZXZlbnRDaGFpbkVtcHR5KCkpOworfQorCit2b2lkIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0SW5wdXREYXRhKFRJRUNfQU5ZUHRyIHBhSW5wdXREYXRhW10sIHNpemVfdCBwYUxlbmdodCl7CisgIG1JbnB1dERhdGFCdWZmZXJzLnJlc2VydmUocGFMZW5naHQpOworICBtSW5wdXREYXRhQnVmZmVycy5hc3NpZ24ocGFJbnB1dERhdGEsIHBhSW5wdXREYXRhICsgcGFMZW5naHQpOworfQorCit2b2lkIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0T3V0cHV0RGF0YShUSUVDX0FOWVB0ciBwYU91dHB1dERhdGFbXSwgc2l6ZV90IHBhTGVuZ2h0KXsKKyAgbU91dHB1dERhdGFCdWZmZXJzLnJlc2VydmUocGFMZW5naHQpOworICBtT3V0cHV0RGF0YUJ1ZmZlcnMuYXNzaWduKHBhT3V0cHV0RGF0YSwgcGFPdXRwdXREYXRhICsgcGFMZW5naHQpOworfQorCit2b2lkIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXBUZXN0SW50ZXJmYWNlKCl7CisgIEJPT1NUX0NIRUNLKENGdW5jdGlvbkJsb2NrOjplX0lETEUgPT0gbUZCVW5kZXJUZXN0LT5nZXRTdGF0ZSgpKTsKKyAgQk9PU1RfQ0hFQ0soZ2V0RkJUeXBlSWQoKSA9PSBtRkJVbmRlclRlc3QtPmdldEZCVHlwZUlkKCkpOworICBCT09TVF9DSEVDSyhnZXRGQlR5cGVJZCgpID09IG1GQlVuZGVyVGVzdC0+Z2V0SW5zdGFuY2VOYW1lSWQoKSk7CisKKyAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogaW50ZXJmYWNlU3BlYyA9IG1GQlVuZGVyVGVzdC0+Z2V0RkJJbnRlcmZhY2VTcGVjKCk7CisKKyAgU0ZCSW50ZXJmYWNlU3BlYyogdGVzdGVySW50ZXJmYWNlU3BlYyA9IG5ldyBTRkJJbnRlcmZhY2VTcGVjOworICB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX25OdW1FSXMgPSBpbnRlcmZhY2VTcGVjLT5tX25OdW1FT3M7CisgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fYXVuRUlOYW1lcyA9IGludGVyZmFjZVNwZWMtPm1fYXVuRU9OYW1lczsKKyAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9hbkVJV2l0aCA9IDA7CisgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fYW5FSVdpdGhJbmRleGVzID0gMDsKKyAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRU9zID0gMDsKKyAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9hdW5FT05hbWVzID0gMDsKKyAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9hbkVPV2l0aCA9IDA7CisgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fYW5FT1dpdGhJbmRleGVzID0gMDsKKyAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRElzID0gaW50ZXJmYWNlU3BlYy0+bV9uTnVtRE9zOworICB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX2F1bkRJTmFtZXMgPSBpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXM7CisgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fYXVuRElEYXRhVHlwZU5hbWVzID0gaW50ZXJmYWNlU3BlYy0+bV9hdW5ET0RhdGFUeXBlTmFtZXM7CisgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fbk51bURPcyA9IDA7CisgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fYXVuRE9OYW1lcyA9IDA7CisgIHRlc3RlckludGVyZmFjZVNwZWMtPm1fYXVuRE9EYXRhVHlwZU5hbWVzID0gMDsKKyAgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtQWRhcHRlcnMgPSAwOworICB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX3BzdEFkYXB0ZXJJbnN0YW5jZURlZmluaXRpb24gPSAwOworCisgIG1GQkNvbm5EYXRhID0gKDAgIT0gdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRElzKSA/CisgICAgICBuZXcgVEZvcnRlQnl0ZVtnZW5GQkNvbm5EYXRhU2l6ZSh0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX25OdW1FT3MsIHRlc3RlckludGVyZmFjZVNwZWMtPm1fbk51bURJcywgdGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRE9zKV0gOiAwOworICBtRkJWYXJzRGF0YSA9ICgwICE9IHRlc3RlckludGVyZmFjZVNwZWMtPm1fbk51bURJcykgPworICAgICAgbmV3IFRGb3J0ZUJ5dGVbZ2VuRkJWYXJzRGF0YVNpemUodGVzdGVySW50ZXJmYWNlU3BlYy0+bV9uTnVtRElzLCB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX25OdW1ET3MpXSA6IDA7CisKKyAgc2V0dXBGQkludGVyZmFjZSh0ZXN0ZXJJbnRlcmZhY2VTcGVjLCBtRkJDb25uRGF0YSwgbUZCVmFyc0RhdGEpOworCisgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCB0ZXN0ZXJJbnRlcmZhY2VTcGVjLT5tX25OdW1ESXM7ICsraSl7CisgICAgQ0lFQ19BTlkgKmRpID0gZ2V0REkoaSk7CisgICAgaWYoQ0lFQ19BTlk6OmVfQU5ZID09IGRpLT5nZXREYXRhVHlwZUlEKCkpeworICAgICAgLy9pZiBvbmUgb2YgdGhlIGlucHV0cyBpcyBhbnkgcmVjbG9uZSBpdCB3aXRoIHRoZSB0eXBlIGdpdmVuIGluIHRoZSB0ZXN0CisgICAgICBkaS0+fkNJRUNfQU5ZKCk7CisgICAgICBtT3V0cHV0RGF0YUJ1ZmZlcnNbaV0tPmNsb25lKHJlaW50ZXJwcmV0X2Nhc3Q8VEZvcnRlQnl0ZSAqPihkaSkpOworICAgIH0KKyB9Cit9CisKK3ZvaWQgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpwZXJmb3JtRGF0YUludGVyZmFjZVRlc3RzKCkgeworICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjKiBpbnRlcmZhY2VTcGVjID0gbUZCVW5kZXJUZXN0LT5nZXRGQkludGVyZmFjZVNwZWMoKTsKKworICBCT09TVF9SRVFVSVJFX0VRVUFMKGludGVyZmFjZVNwZWMtPm1fbk51bURJcywgbUlucHV0RGF0YUJ1ZmZlcnMuc2l6ZSgpKTsKKworICBCT09TVF9DSEVDSygwID09IG1GQlVuZGVyVGVzdC0+Z2V0RGF0YUlucHV0KENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCkpOworICBCT09TVF9DSEVDS19FUVVBTChjZ191bkludmFsaWRQb3J0SWQsIG1GQlVuZGVyVGVzdC0+Z2V0RElJRChDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQpKTsKKworICBmb3IoVFBvcnRJZCBpID0gMDsgaSA8IGludGVyZmFjZVNwZWMtPm1fbk51bURJczsgKytpKSB7CisgICAgQ0lFQ19BTlkgKnZhbCA9IG1GQlVuZGVyVGVzdC0+Z2V0RGF0YUlucHV0KGludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1tpXSk7CisgICAgQk9PU1RfUkVRVUlSRSgwICE9IHZhbCk7CisgICAgLy9laXRoZXIgd2UgaGF2ZSB0aGUgc2FtZSBkYXRhdHlwZWlkIG9yIHRoZSBpbnB1dCBpcyBhbnkKKyAgICBCT09TVF9SRVFVSVJFKChtSW5wdXREYXRhQnVmZmVyc1tpXS0+Z2V0RGF0YVR5cGVJRCgpID09IHZhbC0+Z2V0RGF0YVR5cGVJRCgpKSB8fCAoQ0lFQ19BTlk6OmVfQU5ZID09IHZhbC0+Z2V0RGF0YVR5cGVJRCgpKSk7CisKKyAgICBCT09TVF9DSEVDS19FUVVBTCh2YWwsIG1GQlVuZGVyVGVzdC0+Z2V0RElGcm9tUG9ydElkKGkpKTsKKyAgICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHN0cmluZ0lkQnVmID0gaW50ZXJmYWNlU3BlYy0+bV9hdW5ESU5hbWVzW2ldOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHZhbCwgbUZCVW5kZXJUZXN0LT5nZXRWYXIoJnN0cmluZ0lkQnVmLCAxKSk7CisKKyAgICBCT09TVF9DSEVDS19FUVVBTChpLCBtRkJVbmRlclRlc3QtPmdldERJSUQoaW50ZXJmYWNlU3BlYy0+bV9hdW5ESU5hbWVzW2ldKSk7CisKKyAgICAvL3dlIHNob3VsZCBub3QgYmUgYWJsZSB0byBnZXQgYSBkYXRhIG91dHB1dCB3aXRoIGEgZGF0YSBpbnB1dCBuYW1lCisgICAgQk9PU1RfQ0hFQ0soMCA9PSBtRkJVbmRlclRlc3QtPmdldERhdGFPdXRwdXQoaW50ZXJmYWNlU3BlYy0+bV9hdW5ESU5hbWVzW2ldKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoY2dfdW5JbnZhbGlkUG9ydElkLCBtRkJVbmRlclRlc3QtPmdldERPSUQoaW50ZXJmYWNlU3BlYy0+bV9hdW5ESU5hbWVzW2ldKSk7CisgIH0KKworICBmb3IoVFBvcnRJZCBpID0gaW50ZXJmYWNlU3BlYy0+bV9uTnVtRElzOyBpIDw9IGNnX3VuSW52YWxpZFBvcnRJZDsgKytpKSB7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBtRkJVbmRlclRlc3QtPmdldERJRnJvbVBvcnRJZChpKSk7CisgIH0KKworICBCT09TVF9DSEVDS19FUVVBTChpbnRlcmZhY2VTcGVjLT5tX25OdW1ET3MsIG1PdXRwdXREYXRhQnVmZmVycy5zaXplKCkpOworCisgIEJPT1NUX0NIRUNLKDAgPT0gbUZCVW5kZXJUZXN0LT5nZXREYXRhT3V0cHV0KENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCkpOworICBCT09TVF9DSEVDS19FUVVBTChjZ191bkludmFsaWRQb3J0SWQsIG1GQlVuZGVyVGVzdC0+Z2V0RE9JRChDU3RyaW5nRGljdGlvbmFyeTo6c2NtX25JbnZhbGlkU3RyaW5nSWQpKTsKKworICBmb3IoVFBvcnRJZCBpID0gMDsgaSA8IGludGVyZmFjZVNwZWMtPm1fbk51bURPczsgKytpKSB7CisgICAgQ0lFQ19BTlkgKnZhbCA9IG1GQlVuZGVyVGVzdC0+Z2V0RGF0YU91dHB1dChpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pOworICAgIEJPT1NUX1JFUVVJUkUoMCAhPSB2YWwpOworICAgIC8vZWl0aGVyIHdlIGhhdmUgdGhlIHNhbWUgZGF0YXR5cGVpZCBvciB0aGUgaW5wdXQgaXMgYW55CisgICAgQk9PU1RfUkVRVUlSRSgobU91dHB1dERhdGFCdWZmZXJzW2ldLT5nZXREYXRhVHlwZUlEKCkgPT0gdmFsLT5nZXREYXRhVHlwZUlEKCkpIHx8IChDSUVDX0FOWTo6ZV9BTlkgPT0gdmFsLT5nZXREYXRhVHlwZUlEKCkpKTsKKworICAgIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc3RyaW5nSWRCdWYgPSBpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV07CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwodmFsLCBtRkJVbmRlclRlc3QtPmdldFZhcigmc3RyaW5nSWRCdWYsIDEpKTsKKworICAgIEJPT1NUX0NIRUNLX0VRVUFMKGksIG1GQlVuZGVyVGVzdC0+Z2V0RE9JRChpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pKTsKKworICAgIC8vd2Ugc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGdldCBhIGRhdGEgb3V0IHdpdGggYSBkYXRhIG91dHB1dCBuYW1lCisgICAgQk9PU1RfQ0hFQ0soMCA9PSBtRkJVbmRlclRlc3QtPmdldERhdGFJbnB1dChpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTChjZ191bkludmFsaWRQb3J0SWQsIG1GQlVuZGVyVGVzdC0+Z2V0RElJRChpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pKTsKKyAgfQorfQorCit2b2lkIENGQlRlc3RGaXh0dXJlQmFzZTo6Y3JlYXRlRXZlbnRPdXRwdXRDb25uZWN0aW9ucygpIHsKKyAgY29uc3QgU0ZCSW50ZXJmYWNlU3BlYyogaW50ZXJmYWNlU3BlYyA9IG1GQlVuZGVyVGVzdC0+Z2V0RkJJbnRlcmZhY2VTcGVjKCk7CisKKyAgZm9yKFRQb3J0SWQgaSA9IDA7IGkgPCBpbnRlcmZhY2VTcGVjLT5tX25OdW1FT3M7IGkrKykgeworICAgIENFdmVudENvbm5lY3Rpb24gKmV2ZW50Q29uID0gbUZCVW5kZXJUZXN0LT5nZXRFT0Nvbm5lY3Rpb24oaW50ZXJmYWNlU3BlYy0+bV9hdW5FT05hbWVzW2ldKTsKKyAgICBCT09TVF9SRVFVSVJFX0VRVUFMKGVfUkRZLCBldmVudENvbi0+Y29ubmVjdCh0aGlzLCBpbnRlcmZhY2VTcGVjLT5tX2F1bkVPTmFtZXNbaV0pKTsKKyAgfQorfQorCit2b2lkIENGQlRlc3RGaXh0dXJlQmFzZTo6Y3JlYXRlRGF0YUlucHV0Q29ubmVjdGlvbnMoKSB7CisgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIGludGVyZmFjZVNwZWMgPSBtRkJVbmRlclRlc3QtPmdldEZCSW50ZXJmYWNlU3BlYygpOworCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBpbnRlcmZhY2VTcGVjLT5tX25OdW1ESXM7ICsraSkgeworICAgIENJbnRlcmZhY2UySW50ZXJuYWxEYXRhQ29ubmVjdGlvbiAqY29uID0gbmV3IENJbnRlcmZhY2UySW50ZXJuYWxEYXRhQ29ubmVjdGlvbigpOworICAgIG1ESUNvbm5lY3Rpb25zLnB1c2hfYmFjayhjb24pOworICAgIGNvbi0+c2V0VmFsdWUobUlucHV0RGF0YUJ1ZmZlcnNbaV0pOworICAgIEJPT1NUX1JFUVVJUkVfRVFVQUwoZV9SRFksIGNvbi0+Y29ubmVjdChtRkJVbmRlclRlc3QsIGludGVyZmFjZVNwZWMtPm1fYXVuRElOYW1lc1tpXSkpOworICB9Cit9CisKK3ZvaWQgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpjcmVhdGVEYXRhT3V0cHV0Q29ubmVjdGlvbnMoKSB7CisgIGNvbnN0IFNGQkludGVyZmFjZVNwZWMqIGludGVyZmFjZVNwZWMgPSBtRkJVbmRlclRlc3QtPmdldEZCSW50ZXJmYWNlU3BlYygpOworCisgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBpbnRlcmZhY2VTcGVjLT5tX25OdW1ET3M7ICsraSkgeworICAgIGlmKENGQlRlc3RDb25uOjpjYW5CZUNvbm5lY3RlZChtT3V0cHV0RGF0YUJ1ZmZlcnNbaV0sIG1GQlVuZGVyVGVzdC0+Z2V0RGF0YU91dHB1dChpbnRlcmZhY2VTcGVjLT5tX2F1bkRPTmFtZXNbaV0pKSkgeworICAgICAgQ0RhdGFDb25uZWN0aW9uICpkYXRhQ29uID0gbUZCVW5kZXJUZXN0LT5nZXRET0Nvbm5lY3Rpb24oaW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzW2ldKTsKKyAgICAgIEJPT1NUX1JFUVVJUkVfRVFVQUwoZV9SRFksIGRhdGFDb24tPmNvbm5lY3QodGhpcywgaW50ZXJmYWNlU3BlYy0+bV9hdW5ET05hbWVzW2ldKSk7CisgICAgICBkYXRhQ29uLT5nZXRWYWx1ZSgpLT5+Q0lFQ19BTlkoKTsKKyAgICAgIGRhdGFDb24tPnNldFZhbHVlKG1PdXRwdXREYXRhQnVmZmVyc1tpXSk7CisgICAgfQorICB9Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIGIvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzQzOThhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaApAQCAtMCwwICsxLDExNCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTQsIDIwMTggQUNJTiwgZm9ydGlzcyBHbWJICisgKiAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIEFsb2lzIFpvaXRsIC0gbWlncmF0ZWQgZmIgdGVzdHMgdG8gYm9vc3QgdGVzdCBpbmZyYXN0cnVjdHVyZQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaWZuZGVmIFRFU1RTX0NPUkVfRkJURVNUU19GQlRFU1RGSVhUVVJFX0hfCisjZGVmaW5lIFRFU1RTX0NPUkVfRkJURVNUU19GQlRFU1RGSVhUVVJFX0hfCisKKyNpbmNsdWRlIDxmb3J0ZW5ldy5oPgorI2luY2x1ZGUgPGZ1bmNibG9jLmg+CisjaW5jbHVkZSA8aWYyaW5kY28uaD4KKyNpbmNsdWRlIDxmb3J0ZV9zeW5jLmg+CisjaW5jbHVkZSA8Ym9vc3QvdGVzdC91bml0X3Rlc3QuaHBwPgorI2luY2x1ZGUgPHZlY3Rvcj4KKyNpbmNsdWRlIDxkZXF1ZT4KKworI2RlZmluZSBTRVRVUF9JTlBVVERBVEEoLi4uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgVElFQ19BTllQdHIgaW5wdXREYXRhW10gPSB7X19WQV9BUkdTX199OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNldElucHV0RGF0YShpbnB1dERhdGEsIChzaXplb2YoaW5wdXREYXRhKSAvIHNpemVvZihpbnB1dERhdGFbMF0pKSApOyAgIFwKKyAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisKKworI2RlZmluZSBTRVRVUF9PVVRQVVREQVRBKC4uLikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBUSUVDX0FOWVB0ciBvdXRwdXREYXRhW10gPSB7X19WQV9BUkdTX199OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIHNldE91dHB1dERhdGEob3V0cHV0RGF0YSwgKHNpemVvZihvdXRwdXREYXRhKSAvIHNpemVvZihvdXRwdXREYXRhWzBdKSkgKTsgXAorICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisKKworY2xhc3MgQ0ZCVGVzdEZpeHR1cmVCYXNlIDogcHVibGljIENGdW5jdGlvbkJsb2NreworICBwdWJsaWM6CisgICAgfkNGQlRlc3RGaXh0dXJlQmFzZSgpOworCisgICAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBnZXRGQlR5cGVJZCh2b2lkKSBjb25zdCB7CisgICAgICByZXR1cm4gbVR5cGVJZDsKKyAgICB9CisKKyAgcHJvdGVjdGVkOgorICAgIGV4cGxpY2l0IENGQlRlc3RGaXh0dXJlQmFzZShDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhVHlwZUlkKTsKKworICAgIHZvaWQgc2V0dXAoKTsKKworICAgIC8qIVxicmllZiBpbnZva2UgdGhlIEZCIHVuZGVyIFRlc3Qgd2l0aCB0aGUgZ2l2ZW4gZXZlbnQgaWQKKyAgICAgKgorICAgICAqIEBwYXJhbSBwYUVJSWQgaW5wdXQgZXZlbnQgaWQgdG8gYmUgc2VudCB0byB0aGUgZmIgdW5kZXIgdGVzdAorICAgICAqLworICAgIHZvaWQgdHJpZ2dlckV2ZW50KFRQb3J0SWQgcGFFSUlkKTsKKworICAgIGludCBwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKTsKKworICAgIGJvb2wgZXZlbnRDaGFpbkVtcHR5KCk7CisKKyAgICAvKiFcYnJpZWYgUmVtb3ZlIGFsbCBldmVudHMgZnJvbSB0aGUgZXZlbnQgY2hhaW4gYnJpbmdpbmcgdGhlIHRlc3RlciBpbnRvIGEgZGVmaW5lZCBzdGF0ZQorICAgICAqCisgICAgICovCisgICAgdm9pZCBjbGVhckV2ZW50Q2hhaW4oKTsKKworICAgIC8qKiBDaGVjayBpZiBvbmx5IG9uZSBvdXRwdXQgZXZlbnQgb2YgdGhlIGdpdmVuIGV2ZW50IG91dHB1dCBJZCBoYXMgYmVlbiBzZW50IGJ5IHRoZSBGQgorICAgICAqCisgICAgICogQHBhcmFtIHBhRXhwZWN0ZWRFT0lkIHRoZSBvdXRwdXQgZXZlbnQgSWQgdG8gYmUgY2hlY2tlZCBmb3IKKyAgICAgKiBAcmV0dXJuIHRydWUgaWYgb25seSBvbmUgZXZlbnQgb2YgdGhlIGdpdmVuIElkIGlzIGluIHRoZSBldmVudCBxdWV1ZQorICAgICAqLworICAgIGJvb2wgY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZShpbnQgcGFFeHBlY3RlZEVPSWQpOworCisgICAgdm9pZCBzZXRJbnB1dERhdGEoVElFQ19BTllQdHIgcGFJbnB1dERhdGFbXSwgc2l6ZV90IHBhTGVuZ2h0KTsKKyAgICB2b2lkIHNldE91dHB1dERhdGEoVElFQ19BTllQdHIgcGFJbnB1dERhdGFbXSwgc2l6ZV90IHBhTGVuZ2h0KTsKKworICBwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50IHBhRUlJRCk7CisKKyAgICB2b2lkIHNldHVwVGVzdEludGVyZmFjZSgpOworICAgIHZvaWQgcGVyZm9ybUZCRGVsZXRlVGVzdHMoKTsKKworICAgIC8qIENoZWNrIGlmIGFsbCBkYXRhIGlucHV0cyBhbmQgZGF0YSBvdXRwdXRzIGFzIGdpdmVuIGluIHRoZSBpbnRlcmZhY2Ugc3RydWN0IGNhbiBiZSBhY2Nlc3NlZCBhbmQKKyAgICAgKiBpZiB0aGUgZGF0YSB0eXBlcyBhcmUgZXF1YWwgdG8gdGhlIGRhdGEgcHJvdmlkZWQgYnkgdGhlIGZiIHRlc3RlcgorICAgICAqLworICAgIHZvaWQgcGVyZm9ybURhdGFJbnRlcmZhY2VUZXN0cygpOworCisgICAgdm9pZCBjcmVhdGVFdmVudE91dHB1dENvbm5lY3Rpb25zKCk7CisgICAgdm9pZCBjcmVhdGVEYXRhSW5wdXRDb25uZWN0aW9ucygpOworICAgIHZvaWQgY3JlYXRlRGF0YU91dHB1dENvbm5lY3Rpb25zKCk7CisKKyAgICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIG1UeXBlSWQ7CisgICAgQ0Z1bmN0aW9uQmxvY2sgKm1GQlVuZGVyVGVzdDsKKyAgICBzdGQ6OnZlY3RvcjxDSW50ZXJmYWNlMkludGVybmFsRGF0YUNvbm5lY3Rpb24gKj4gbURJQ29ubmVjdGlvbnM7CisKKyAgICAvKiEgXGJyaWVmIGxpc3QgZm9yIHN0b3JpbmcgdGhlIG91dHB1dCBldmVudHMgcmVjZWl2ZWQgZnJvbSB0aGUgdGVzdGVlCisgICAgICoKKyAgICAgKiBUT0RPIGFkZCB0aW1lc3RhbXBzIHRvIHRoZSBsaXN0CisgICAgICovCisgICAgc3RkOjpkZXF1ZTxpbnQ+IG1GQk91dHB1dEV2ZW50czsKKworICAgIENTeW5jT2JqZWN0IG1PdXRwdXRFdmVudExvY2s7CisKKyAgICBzdGQ6OnZlY3RvcjxDSUVDX0FOWSAqPiBtSW5wdXREYXRhQnVmZmVyczsKKyAgICBzdGQ6OnZlY3RvcjxDSUVDX0FOWSAqPiBtT3V0cHV0RGF0YUJ1ZmZlcnM7CisKKyAgICBURm9ydGVCeXRlICptRkJDb25uRGF0YTsKKyAgICBURm9ydGVCeXRlICptRkJWYXJzRGF0YTsKKworfTsKKworCisKKyNlbmRpZiAvKiBURVNUU19DT1JFX0ZCVEVTVFNfRkJURVNURklYVFVSRV9IXyAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdHNtYW5hZ2VyLmNwcCBiL3Rlc3RzL2NvcmUvZmJ0ZXN0cy9mYnRlc3RzbWFuYWdlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5NzJhYzMuLjAwMDAwMDAKLS0tIGEvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdHNtYW5hZ2VyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNSBBQ0lOLCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCi0gKgotICogQ29udHJpYnV0b3JzOgotICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSAiZmJ0ZXN0c21hbmFnZXIuaCIKLSNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKLSNpbmNsdWRlICJmYnRlc3RzbWFuYWdlcl9nZW4uY3BwIgotI2VuZGlmCi0jaW5jbHVkZSAiZmJ0ZXN0ZXIuaCIKLSNpbmNsdWRlIDxib29zdC90ZXN0L3VuaXRfdGVzdC5ocHA+Ci0jaW5jbHVkZSAiLi4vLi4vc3JjL2NvcmUvZGV2aWNlLmgiCi0jaW5jbHVkZSA8c3RkaW8uaD4KLQotQ0ZCVGVzdGVyRW50cnk6OkNGQlRlc3RlckVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsCi0gICAgVEZCVGVzdGVyQ3JlYXRlRnVuYyBwYV9wZnVuY0NyZWF0ZVRlc3RlcikgOgotICAgIENUeXBlTGliOjpDVHlwZUVudHJ5KHBhX25UeXBlTmFtZUlkKSwgbV9wZnVuY0NyZWF0ZVRlc3RlcihwYV9wZnVuY0NyZWF0ZVRlc3Rlcil7Ci0gIENGQlRlc3RzTWFuYWdlcjo6Z2V0SW5zdGFuY2UoKS5hZGRGQlRlc3Rlcih0aGlzKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1ERUZJTkVfU0lOR0xFVE9OKENGQlRlc3RzTWFuYWdlcikKLQotQ0ZCVGVzdHNNYW5hZ2VyOjpDRkJUZXN0c01hbmFnZXIoKTogbV9uTnVtU3VjY2Vzc2Z1bFRlc3RDYXNlcygwKSwgbV9uTnVtVW5zdWNjZXNzZnVsVGVzdENhc2VzKDApewotfQotCi1DRkJUZXN0c01hbmFnZXI6On5DRkJUZXN0c01hbmFnZXIoKXsKLX0KLQotdW5zaWduZWQgaW50IENGQlRlc3RzTWFuYWdlcjo6cnVuQWxsVGVzdHMoQ1Jlc291cmNlICpwYVJlc3NvdXJjZSl7Ci0gIGNsZWFyVGVzdExvZygpOwotCi0gIHByaW50ZigiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwotICBwcmludGYoIioqKiBSdW5uaW5nIGFsbCBGQiBUZXN0cyEiKTsKLSAgcHJpbnRmKCIqKiogXG4iKTsKLQotICBmb3IoVEZCVGVzdGVyTGlzdDo6SXRlcmF0b3IgaXRSdW5uZXIgPSBtX2xzdHJvRkJUZXN0ZXJMaXN0LmJlZ2luKCk7Ci0gICAgICBpdFJ1bm5lciAhPSBtX2xzdHJvRkJUZXN0ZXJMaXN0LmVuZCgpOyArK2l0UnVubmVyKXsKLSAgICBleGVjdXRlRkJUZXN0cygqaXRSdW5uZXIsIHBhUmVzc291cmNlKTsKLSAgfQotCi0gIHByaW50ZigiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwotICBwcmludGYoIioqKiBPdmVyYWxsIFRlc3QgU3VtbWFyeTpcbiIpOwotICBwcmludGYoIioqKiBFeGVjdXRlZCAldSB0ZXN0IGNhc2VzICgldSBzdWNjZXNzZnVsLCAldSB1bnN1Y2Nlc3NmdWwpXG4iLCBtX25OdW1TdWNjZXNzZnVsVGVzdENhc2VzCi0gICAgICArIG1fbk51bVVuc3VjY2Vzc2Z1bFRlc3RDYXNlcywgbV9uTnVtU3VjY2Vzc2Z1bFRlc3RDYXNlcywgbV9uTnVtVW5zdWNjZXNzZnVsVGVzdENhc2VzKTsKLSAgcHJpbnRmKCIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIik7Ci0KLSAgcmV0dXJuIG1fbk51bVVuc3VjY2Vzc2Z1bFRlc3RDYXNlczsKLX0KLQotdm9pZCBDRkJUZXN0c01hbmFnZXI6OmFkZEZCVGVzdGVyKENGQlRlc3RlckVudHJ5KiBwYV9wb0ZCVGVzdGVyKXsKLSAgbV9sc3Ryb0ZCVGVzdGVyTGlzdC5wdXNoQmFjayhwYV9wb0ZCVGVzdGVyKTsKLX0KLQotdm9pZCBDRkJUZXN0c01hbmFnZXI6OmV4ZWN1dGVGQlRlc3RzKENGQlRlc3RlckVudHJ5KiBwYV9wb0ZCVGVzdEVudGVyeSwgQ1Jlc291cmNlICpwYVJlc3NvdXJjZSl7Ci0gIENGQlRlc3RlciogcG9UZXN0ZXIgPSBwYV9wb0ZCVGVzdEVudGVyeS0+Y3JlYXRlRkJJbnN0YW5jZShwYVJlc3NvdXJjZSk7Ci0gIHBvVGVzdGVyLT5leGVjdXRlVGVzdHMoKTsKLQotICBtX25OdW1TdWNjZXNzZnVsVGVzdENhc2VzICs9IHBvVGVzdGVyLT5nZXROdW1TdWNjZXNmdWxsVGVzdENhc2VzKCk7Ci0gIG1fbk51bVVuc3VjY2Vzc2Z1bFRlc3RDYXNlcyArPSBwb1Rlc3Rlci0+Z2V0TnVtVW5zdWNjZXNmdWxsVGVzdENhc2VzKCk7Ci0KLSAgZGVsZXRlIHBvVGVzdGVyOwotfQotCi12b2lkIENGQlRlc3RzTWFuYWdlcjo6Y2xlYXJUZXN0TG9nKCl7Ci0gIG1fbk51bVN1Y2Nlc3NmdWxUZXN0Q2FzZXMgPSAwOwotICBtX25OdW1VbnN1Y2Nlc3NmdWxUZXN0Q2FzZXMgPSAwOwotfQotCi1CT09TVF9BVVRPX1RFU1RfU1VJVEUoRkJUZXN0cykKLQotICBjb25zdCBTRkJJbnRlcmZhY2VTcGVjIHNjbV9zdEZCSW50ZXJmYWNlU3BlYyA9IHsgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgICAwLAotICAgICAgMCB9OwotCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKHJ1bmFsbEZCVGVzdHMpewotICAgIENEZXZpY2UgZGV2KCZzY21fc3RGQkludGVyZmFjZVNwZWMsIENTdHJpbmdEaWN0aW9uYXJ5OjpzY21fbkludmFsaWRTdHJpbmdJZCwgMCwgMCk7Ci0gICAgLy9taW1pY2sgdGhlIGJlaGF2aW9yIHByb3ZpZGVkIGJ5IHR5cGVsaWIKLSAgZGV2LmNoYW5nZUZCRXhlY3V0aW9uU3RhdGUoY2dfbk1HTV9DTURfUmVzZXQpOwotCi0gICAgQ1Jlc291cmNlICpyZXMgPSAoQ1Jlc291cmNlICopQ1R5cGVMaWI6OmNyZWF0ZUZCKGdfblN0cmluZ0lkRU1CX1JFUywgZ19uU3RyaW5nSWRFTUJfUkVTLCAmZGV2KTsKLSAgICBCT09TVF9DSEVDSygwICE9IHJlcyk7Ci0KLSAgICBpZihyZXMgIT0gMCl7Ci0gICAgICBkZXYuYWRkRkIocmVzKTsKLQotICAgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMSwgZGV2LnN0YXJ0RGV2aWNlKCkpOwotICAgICAgQ0Z1bmN0aW9uQmxvY2s6OkVfRkJTdGF0ZXMgc3RhdGUgPSBkZXYuZ2V0U3RhdGUoKTsKLSAgICAgIEJPT1NUX0NIRUNLX0VRVUFMKENGdW5jdGlvbkJsb2NrOjplX1JVTk5JTkcsIHN0YXRlKTsKLQotICAgICAgaWYoQ0Z1bmN0aW9uQmxvY2s6OmVfUlVOTklORyA9PSBzdGF0ZSl7Ci0gICAgICAgIC8vb25seSBydW4gZmIgdGVzdHMgaWYgdGhlIGVudmlyb25tZW50IGlzIGNvcnJlY3RseSB1cCBhbmQgcnVubmluZwotICAgICAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBDRkJUZXN0c01hbmFnZXI6OmdldEluc3RhbmNlKCkucnVuQWxsVGVzdHMocmVzKSk7Ci0gICAgICB9Ci0KLSAgICAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCByZXMtPmlzQ3VycmVudGx5RGVsZXRlYWJsZSgpKTsKLSAgICAgIEJPT1NUX0NIRUNLX0VRVUFMKGVfUkRZLCBkZXYuY2hhbmdlRkJFeGVjdXRpb25TdGF0ZShjZ19uTUdNX0NNRF9TdG9wKSk7Ci0gICAgICBCT09TVF9DSEVDS19FUVVBTCh0cnVlLCByZXMtPmlzQ3VycmVudGx5RGVsZXRlYWJsZSgpKTsKLSAgICAgIC8vYXMgd2UgYWRkZWQgdGhlIHJlc291cmNlIHRvIHRoZSBkZXZpY2UncyBvYmplY3QgaGFuZGxlciBpdCB3aWxsIGJlIGRlbGV0ZWQgYnkgaXQKLSAgICB9Ci0KLSAgfQotCi0gIEJPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9mYnRlc3RzL2ZidGVzdHNtYW5hZ2VyLmggYi90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0c21hbmFnZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGYwZjUxMi4uMDAwMDAwMAotLS0gYS90ZXN0cy9jb3JlL2ZidGVzdHMvZmJ0ZXN0c21hbmFnZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCBBQ0lOLCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSAqDQotICogQ29udHJpYnV0b3JzOg0KLSAqICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0jaWZuZGVmIEZCVEVTVFNNQU5BR0VSX0hfDQotI2RlZmluZSBGQlRFU1RTTUFOQUdFUl9IXw0KLQ0KLSNpbmNsdWRlIDxzdHJpbmdkaWN0Lmg+DQotI2luY2x1ZGUgPHR5cGVsaWIuaD4NCi0jaW5jbHVkZSA8Zm9ydGVsaXN0Lmg+DQotI2luY2x1ZGUgPHJlc291cmNlLmg+DQotDQotY2xhc3MgQ0ZCVGVzdGVyOw0KLQ0KLXR5cGVkZWYgQ0ZCVGVzdGVyICooKlRGQlRlc3RlckNyZWF0ZUZ1bmMpKENSZXNvdXJjZSAqKTsNCi0NCi0NCi0jZGVmaW5lIERFQ0xBUkVfRkJfVEVTVEVSKHRlc3RlcmNsYXNzKSBcDQotICBwcml2YXRlOiBcDQotICAgIGNvbnN0IHN0YXRpYyBDRkJUZXN0ZXJFbnRyeSBjc21fb0ZCVGVzdGVyRW50cnlfIyNmYmNsYXNzOyBcDQotICBwdWJsaWM6ICBcDQotICAgIHN0YXRpYyBDRkJUZXN0ZXIgKmNyZWF0ZUZCVGVzdGVyKENSZXNvdXJjZSAqbV9wb1Rlc3RSZXNvdXJjZSl7IFwNCi0gICAgICByZXR1cm4gbmV3IHRlc3RlcmNsYXNzKG1fcG9UZXN0UmVzb3VyY2UpOyBcDQotICAgIH07IFwNCi0gICAgdmlydHVhbCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIGdldEZCVHlwZUlkKHZvaWQpIGNvbnN0OyBcDQotICBwcml2YXRlOg0KLQ0KLSNkZWZpbmUgREVGSU5FX0ZCX1RFU1RFUih0ZXN0ZXJjbGFzcywgZmJUeXBlTmFtZUlkKVwNCi0gIGNvbnN0IENGQlRlc3RlckVudHJ5IHRlc3RlcmNsYXNzOjpjc21fb0ZCVGVzdGVyRW50cnlfIyNmYmNsYXNzKChmYlR5cGVOYW1lSWQpLCB0ZXN0ZXJjbGFzczo6Y3JlYXRlRkJUZXN0ZXIpOyBcDQotICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHRlc3RlcmNsYXNzOjpnZXRGQlR5cGVJZCh2b2lkKSBjb25zdCB7cmV0dXJuIChmYlR5cGVOYW1lSWQpOyB9DQotDQotDQotY2xhc3MgQ0ZCVGVzdGVyRW50cnkgOiBwdWJsaWMgQ1R5cGVMaWI6OkNUeXBlRW50cnl7DQotICBwdWJsaWM6DQotICAgIENGQlRlc3RlckVudHJ5KENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgcGFfblR5cGVOYW1lSWQsIFRGQlRlc3RlckNyZWF0ZUZ1bmMgcGFfcGZ1bmNDcmVhdGVUZXN0ZXIpOw0KLQ0KLSAgICBDRkJUZXN0ZXIgKmNyZWF0ZUZCSW5zdGFuY2UoQ1Jlc291cmNlICptX3BvVGVzdFJlc291cmNlKXsNCi0gICAgICByZXR1cm4gbV9wZnVuY0NyZWF0ZVRlc3RlcihtX3BvVGVzdFJlc291cmNlKTsNCi0gICAgfQ0KLSAgcHJpdmF0ZToNCi0gICAgVEZCVGVzdGVyQ3JlYXRlRnVuYyBtX3BmdW5jQ3JlYXRlVGVzdGVyOw0KLX07DQotDQotDQotY2xhc3MgQ0ZCVGVzdHNNYW5hZ2Vyew0KLSAgREVDTEFSRV9TSU5HTEVUT04oQ0ZCVGVzdHNNYW5hZ2VyKQ0KLQ0KLSAgcHVibGljOg0KLSAgLyoqXGJyaWVmIFJ1biB0aGUgRkIgdGVzdCBmb3IgYWxsIHJlZ2lzdGVyZWQgZnVuY3Rpb24gYmxvY2sgdGVzdHMuDQotICAgKg0KLSAgICogXHJldHVybiByZXR1cm5zIHRoZSBudW1iZXIgb2YgdW5zdWNjZXNzZnVsIHRlc3QgY2FzZXMNCi0gICAqLw0KLSAgICB1bnNpZ25lZCBpbnQgcnVuQWxsVGVzdHMoQ1Jlc291cmNlICpwYVJlc3NvdXJjZSk7DQotICAgIHZvaWQgcnVuVGVzdHNGb3JGQihDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHBhX25GQlR5cGVOYW1lSWQpOw0KLQ0KLSAgICB2b2lkIGFkZEZCVGVzdGVyKENGQlRlc3RlckVudHJ5KiBwYV9wb0ZCVGVzdGVyKTsNCi0NCi0gIHByaXZhdGU6DQotICAgIHZvaWQgZXhlY3V0ZUZCVGVzdHMoQ0ZCVGVzdGVyRW50cnkqIHBhX3BvRkJUZXN0RW50ZXJ5LCBDUmVzb3VyY2UgKnBhUmVzc291cmNlKTsNCi0gICAgdm9pZCBjbGVhclRlc3RMb2coKTsNCi0NCi0gICAgdHlwZWRlZiBDU2luZ2x5TGlua2VkTGlzdDxDRkJUZXN0ZXJFbnRyeSo+IFRGQlRlc3Rlckxpc3Q7DQotDQotICAgIFRGQlRlc3Rlckxpc3QgbV9sc3Ryb0ZCVGVzdGVyTGlzdDsNCi0NCi0gICAgdW5zaWduZWQgaW50IG1fbk51bVN1Y2Nlc3NmdWxUZXN0Q2FzZXM7DQotICAgIHVuc2lnbmVkIGludCBtX25OdW1VbnN1Y2Nlc3NmdWxUZXN0Q2FzZXM7DQotfTsNCi0NCi0jZW5kaWYgLyogRkJURVNUU01BTkdFUl9IXyAqLw0KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvaWVjNjExMzFfZnVuY3Rpb25zdGVzdHMuY3BwIGIvdGVzdHMvY29yZS9pZWM2MTEzMV9mdW5jdGlvbnN0ZXN0cy5jcHAKaW5kZXggODc1NmE4MC4uODlhYWQwMiAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9pZWM2MTEzMV9mdW5jdGlvbnN0ZXN0cy5jcHAKKysrIGIvdGVzdHMvY29yZS9pZWM2MTEzMV9mdW5jdGlvbnN0ZXN0cy5jcHAKQEAgLTEsMTcgKzEsMTkgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQotKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzLCAyMDE4IFRVIFZpZW5uYS9BQ0lOLCBueHRDb250cm9sLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQotKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0qIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KLSoNCi0qIENvbnRyaWJ1dG9yczoNCi0qICAgTWFydGluIE1lbGlrIE1lcmt1bWlhbnMgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KLSogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZHMgdGVzdCBmb3IgRklORA0KLSogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZHMgdGVzdHMgZm9yIExFTiwgTEVGVCwgUklHSFQsIE1JRCwgUkVQTEFDRSwgREVMRVRFLA0KLSogICAgIElOU0VSVCwgRVEsIE5FLCBBREQsIGFuZCBBTkQNCi0qICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBhZGRzIHRlc3QgZm9yIFRSVU5DDQotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzLCAyMDE4IFRVIFZpZW5uYS9BQ0lOLCBueHRDb250cm9sLCBQcm9mYWN0b3IgR21iSCwgZm9ydGlzcyBHbWJIDQorICoNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUNCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0DQorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLg0KKyAqDQorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCisgKg0KKyAqIENvbnRyaWJ1dG9yczoNCisgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCisgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gYWRkcyB0ZXN0IGZvciBGSU5EDQorICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZHMgdGVzdHMgZm9yIExFTiwgTEVGVCwgUklHSFQsIE1JRCwgUkVQTEFDRSwgREVMRVRFLA0KKyAqICAgICBJTlNFUlQsIEVRLCBORSwgQURELCBhbmQgQU5EDQorICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGFkZHMgdGVzdCBmb3IgVFJVTkMNCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiANCiAjaW5jbHVkZSA8Ym9vc3QvdGVzdC91bml0X3Rlc3QuaHBwPg0KIA0KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvaW50ZXJhbHZhcnRlc3RzLmNwcCBiL3Rlc3RzL2NvcmUvaW50ZXJhbHZhcnRlc3RzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGY4NTg1Yy4uMDAwMDAwMAotLS0gYS90ZXN0cy9jb3JlL2ludGVyYWx2YXJ0ZXN0cy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiBDb3B5cmlnaHQgKGMpIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSoKLSogQ29udHJpYnV0b3JzOgotKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpbmNsdWRlIDxib29zdC90ZXN0L3VuaXRfdGVzdC5ocHA+Ci0jaW5jbHVkZSA8YmFzaWNmYi5oPgotCi0jaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCi0jaW5jbHVkZSAiaW50ZXJhbHZhcnRlc3RzX2dlbi5jcHAiCi0jZWxzZQotI2luY2x1ZGUgInN0cmluZ2xpc3QuaCIKLSNlbmRpZgotCi1jb25zdCBTRkJJbnRlcmZhY2VTcGVjIGdjRW1wdHlJbnRlcmZhY2UgPSB7IDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAgfTsKLQotY2xhc3MgQ0ludGVybmFsVmFyVGVzdEZCIDogcHVibGljIENCYXNpY0ZCewotICBwdWJsaWM6Ci0gICAgQ0ludGVybmFsVmFyVGVzdEZCKGNvbnN0IFNJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiAqcGFWYXJJbnRlcm5hbHMsIFRGb3J0ZUJ5dGUgKnBhQmFzaWNGQlZhcnNEYXRhKSA6Ci0gICAgICBDQmFzaWNGQigwLCAmZ2NFbXB0eUludGVyZmFjZSwgQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkLAotICAgICAgICAgICAgcGFWYXJJbnRlcm5hbHMsIDAsIHBhQmFzaWNGQlZhcnNEYXRhKSB7Ci0gICAgfQotCi0gICAgQ0lFQ19BTlkgKmdldFZhckludGVybmFsKHVuc2lnbmVkIGludCBwYVZhckludE51bSl7Ci0gICAgICByZXR1cm4gQ0Jhc2ljRkI6OmdldFZhckludGVybmFsKHBhVmFySW50TnVtKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgZ2V0RkJUeXBlSWQoKSBjb25zdCB7Ci0gICAgICByZXR1cm4gQ1N0cmluZ0RpY3Rpb25hcnk6OnNjbV9uSW52YWxpZFN0cmluZ0lkOwotICAgIH0KLQotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlRXZlbnQoaW50KXsKLSAgICAgIC8vbm90aGlpbmcgdG8gZG8gaGVyZQotICAgIH0KLX07Ci0KLQotQk9PU1RfQVVUT19URVNUX1NVSVRFKGludGVybmFsX3ZhcnMpCi0KLUJPT1NUX0FVVE9fVEVTVF9DQVNFKGNoZWNrTnVsbEludGVybmFsVmFyc0FyZUFsbG93ZWQpewotICAvL2NoZWNrIHRoYXQgd2UgY2FuIGNyZWF0ZSBhbiBGQiB3aGVyZSB3ZSBoYXZlIGEgMCBpbnRlcm5hbCBzdHJ1Y3Qgd2hpY2ggaGFzIGFsbCBwYXJ0cyBzZXQgdG8gemVybwotICBURm9ydGVCeXRlIHZhcnNEYXRhQnVmZmVyWzEwXTsKLSAgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBuYW1lbGlzdFsxXSA9IHtnX25TdHJpbmdJZERUfTsKLQotICBDSW50ZXJuYWxWYXJUZXN0RkIgdGVzdEZCKDAsIHZhcnNEYXRhQnVmZmVyKTsKLSAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0RkIuZ2V0VmFyKG5hbWVsaXN0LCAxKSk7Ci0gIC8vY2hlY2sgdGhhdCB3ZSBzaG91bGQgYXQgbGVhc3QgZ2V0IHRoZSBFQ0MgdmFyaWFibGUKLSAgbmFtZWxpc3RbMF0gPSBDU3RyaW5nRGljdGlvbmFyeTo6Z2V0SW5zdGFuY2UoKS5pbnNlcnQoIiRFQ0MiKTsKLSAgQk9PU1RfQ0hFQ0soMCAhPSB0ZXN0RkIuZ2V0VmFyKG5hbWVsaXN0LCAxKSk7Ci19Ci0KLQotQk9PU1RfQVVUT19URVNUX0NBU0UoY2hlY2tFbXB0eUludGVybmFsVmFyc0FyZUFsbG93ZWQpewotICAvL2NoZWNrIHRoYXQgd2UgY2FuIGNyZWF0ZSBhbiBGQiB3aGVyZSB3ZSBoYXZlIGEgdmFyIGludGVybmFsIHN0cnVjdCB3aGljaCBoYXMgYWxsIHBhcnRzIHNldCB0byB6ZXJvCi0gIFNJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiB2YXJEYXRhID0gezAsMCwwfTsKLSAgVEZvcnRlQnl0ZSB2YXJzRGF0YUJ1ZmZlclsxMF07Ci0gIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgbmFtZWxpc3RbMV0gPSB7Z19uU3RyaW5nSWREVH07Ci0KLSAgQ0ludGVybmFsVmFyVGVzdEZCIHRlc3RGQigmdmFyRGF0YSwgdmFyc0RhdGFCdWZmZXIpOwotICBCT09TVF9DSEVDSygwID09IHRlc3RGQi5nZXRWYXIobmFtZWxpc3QsIDEpKTsKLSAgLy9jaGVjayB0aGF0IHdlIHNob3VsZCBhdCBsZWFzdCBnZXQgdGhlIEVDQyB2YXJpYWJsZQotICBuYW1lbGlzdFswXSA9IENTdHJpbmdEaWN0aW9uYXJ5OjpnZXRJbnN0YW5jZSgpLmluc2VydCgiJEVDQyIpOwotICBCT09TVF9DSEVDSygwICE9IHRlc3RGQi5nZXRWYXIobmFtZWxpc3QsIDEpKTsKLX0KLQotQk9PU1RfQVVUT19URVNUX0NBU0Uoc2FtcGxlSW50ZXJhbFZhckxpc3QpewotCi0gIENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgdmFySW50ZXJuYWxOYW1lc1tdID0ge2dfblN0cmluZ0lkUVUsIGdfblN0cmluZ0lkUUQsIGdfblN0cmluZ0lkQ1Z9OwotICBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHZhckludGVybmFsVHlwZUlkc1tdID0ge2dfblN0cmluZ0lkQk9PTCwgZ19uU3RyaW5nSWRCT09MLCBnX25TdHJpbmdJZFVJTlR9OwotCi0gIFNJbnRlcm5hbFZhcnNJbmZvcm1hdGlvbiB2YXJEYXRhezMsIHZhckludGVybmFsTmFtZXMsIHZhckludGVybmFsVHlwZUlkc307Ci0gIFRGb3J0ZUJ5dGUgdmFyc0RhdGFCdWZmZXJbQ0Jhc2ljRkI6OmdlbkJhc2ljRkJWYXJzRGF0YVNpemUoMCwgMCwgdmFyRGF0YS5tX25OdW1JbnRWYXJzKV07Ci0KLSAgQ0ludGVybmFsVmFyVGVzdEZCIHRlc3RGQigmdmFyRGF0YSwgdmFyc0RhdGFCdWZmZXIpOwotCi0gIGZvcihzaXplX3QgaSA9IDA7IGkgPCB2YXJEYXRhLm1fbk51bUludFZhcnM7IGkrKyl7Ci0gICAgQ0lFQ19BTlkgKnZhciA9IHRlc3RGQi5nZXRWYXIoJih2YXJJbnRlcm5hbE5hbWVzW2ldKSwgMSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCAhPSB2YXIpOwotICAgIEJPT1NUX0NIRUNLX0VRVUFMKHZhciwgdGVzdEZCLmdldFZhckludGVybmFsKHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oaSkpKTsKLSAgfQotCi0gIEJPT1NUX0NIRUNLX0VRVUFMKENJRUNfQU5ZOjplX0JPT0wsIHRlc3RGQi5nZXRWYXJJbnRlcm5hbCgwKS0+Z2V0RGF0YVR5cGVJRCgpKTsKLSAgQk9PU1RfQ0hFQ0tfRVFVQUwoQ0lFQ19BTlk6OmVfQk9PTCwgdGVzdEZCLmdldFZhckludGVybmFsKDEpLT5nZXREYXRhVHlwZUlEKCkpOwotICBCT09TVF9DSEVDS19FUVVBTChDSUVDX0FOWTo6ZV9VSU5ULCB0ZXN0RkIuZ2V0VmFySW50ZXJuYWwoMiktPmdldERhdGFUeXBlSUQoKSk7Ci19Ci0KLQotQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCi0KLQpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9pbnRlcm5hbHZhcnRlc3RzLmNwcCBiL3Rlc3RzL2NvcmUvaW50ZXJuYWx2YXJ0ZXN0cy5jcHAKaW5kZXggZWI4NjM3OS4uNTYxMGNlNSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS9pbnRlcm5hbHZhcnRlc3RzLmNwcAorKysgYi90ZXN0cy9jb3JlL2ludGVybmFsdmFydGVzdHMuY3BwCkBAIC0xLDE5ICsxLDIyIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiBDb3B5cmlnaHQgKGMpIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKLSogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSoKLSogQ29udHJpYnV0b3JzOgotKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKKyAqCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNpbmNsdWRlIDxib29zdC90ZXN0L3VuaXRfdGVzdC5ocHA+CiAjaW5jbHVkZSA8YmFzaWNmYi5oPgogCiAjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCi0jIGluY2x1ZGUgImludGVybmFsdmFydGVzdHNfZ2VuLmNwcCIKKy8vZG9uJ3QgYWRkIGEgc3BhY2UgYmV0d2VlbiAjIGFuZCBpbmNsdWRlIHNvIHRoZSBjbWFrZSBzY3JpcHQgZmluZHMgdGhlIGxpbmUKKyNpbmNsdWRlICJpbnRlcm5hbHZhcnRlc3RzX2dlbi5jcHAiCiAjZWxzZQogIyBpbmNsdWRlICJzdHJpbmdsaXN0LmgiCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvbWdtc3RhdGVtYWNoaW5ldGVzdC5jcHAgYi90ZXN0cy9jb3JlL21nbXN0YXRlbWFjaGluZXRlc3QuY3BwCmluZGV4IDFkY2Q4Y2YuLmZkMTBlMTkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvbWdtc3RhdGVtYWNoaW5ldGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS9tZ21zdGF0ZW1hY2hpbmV0ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE1IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS9uYW1laWRlbnRpZmllcnRlc3QuY3BwIGIvdGVzdHMvY29yZS9uYW1laWRlbnRpZmllcnRlc3QuY3BwCmluZGV4IGMxZjQ0MmIuLjZkNTg5MWUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvbmFtZWlkZW50aWZpZXJ0ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL25hbWVpZGVudGlmaWVydGVzdC5jcHAKQEAgLTEsOSArMSwxMCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNSBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvc3RyaW5nZGljdHRlc3RzLmNwcCBiL3Rlc3RzL2NvcmUvc3RyaW5nZGljdHRlc3RzLmNwcAppbmRleCA4NjM2Yzg0Li4zZmRkYmE4IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL3N0cmluZ2RpY3R0ZXN0cy5jcHAKKysrIGIvdGVzdHMvY29yZS9zdHJpbmdkaWN0dGVzdHMuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTMgLSAyMDE0IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS90eXBlbGliZGF0YXR5cGV0ZXN0cy5jcHAgYi90ZXN0cy9jb3JlL3R5cGVsaWJkYXRhdHlwZXRlc3RzLmNwcAppbmRleCA1YzA4ZjllLi4zNzU2ZWUxIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL3R5cGVsaWJkYXRhdHlwZXRlc3RzLmNwcAorKysgYi90ZXN0cy9jb3JlL3R5cGVsaWJkYXRhdHlwZXRlc3RzLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS91dGlscy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL2NvcmUvdXRpbHMvQ01ha2VMaXN0cy50eHQKaW5kZXggY2ZmOTkxNi4uNWNhNGJjZSAxMDA2NDQKLS0tIGEvdGVzdHMvY29yZS91dGlscy9DTWFrZUxpc3RzLnR4dAorKysgYi90ZXN0cy9jb3JlL3V0aWxzL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTMgZm9ydGlzcyBHbWJICi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxMyBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvdXRpbHMvcGFyYW1ldGVyUGFyc2VyVGVzdC5jcHAgYi90ZXN0cy9jb3JlL3V0aWxzL3BhcmFtZXRlclBhcnNlclRlc3QuY3BwCmluZGV4IGUyOGM0NDQuLmY5N2IyYjAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvdXRpbHMvcGFyYW1ldGVyUGFyc2VyVGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS91dGlscy9wYXJhbWV0ZXJQYXJzZXJUZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpAQCAtMTMsMzI1ICsxNCwzODQgQEAKICNpbmNsdWRlICIuLi8uLi8uLi9zcmMvY29yZS9kYXRhdHlwZXMvZm9ydGVfc3RyaW5nLmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKLQotLy8gRm9yIG1vc3QgY2FzZXMsIHRoZSB0ZXN0IGNhc2UgY2hlY2tzIHRoZSBib3VuZGFyaWVzIG9mIHRoZSBudW1iZXIgb2YKLS8vIGFyZ3VtZW50cyBzcGVjaWZpZWQsIG9yIHRoZSBhY3R1YWwgYW1vdW50IG9mIHBhcmFtZXRlciBpbiB0aGUgc3RyaW5nCi0vLyBFLmcuOiBJZiAzIGFyZ3VtZW50cyB3ZXJlIHNwZWNpZmllZCBpbiB0aGUgY29uc3RydWN0b3IsCi0vLyBpdCB3aWxsIGJlIGNoZWNrZWQgZm9yIGluZGV4IDIsMyBhbmQgNCwgZXZlbnQgdGhvdWdoIG9ubHkgdXAgdG8gaW5kZXggMgotLy8gdGhlcmUgc2hvdWxkIGJlIHNvbWV0aGluZy4gSW4gdGhlIGNhc2UgdGhlIHN0cmluZyBoYXMgNCBhcmd1bWVudHMsIGluZGV4Ci0vLyB1cCB0byA1IHNob3VsZCBiZSBjaGVja2VkLCB0byBtYWtlIHN1cmUgdGhlIHBhcnNlciBpcyBub3QgcGFyc2luZyBtb3JlIHRoYW4KLS8vIGFza2VkCiBCT09TVF9BVVRPX1RFU1RfU1VJVEUoUGFyYW1ldGVyUGFyc2VyX1Rlc3QpCiAKLSAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX051bGxTdHJpbmcpewotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoMCwgMik7CisgIHZvaWQgdGVzdFBhcmFtZXRlclBhcmFtZXRlclBhcnNlcl9OdWxsU3RyaW5nKENQYXJhbWV0ZXJQYXJzZXImIHBhUGFyc2VyKSB7CisgICAgQk9PU1RfQ0hFQ0soMSA9PSBwYVBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSk7CiAKLSAgICBCT09TVF9DSEVDSygxID09IHRlc3QyLnBhcnNlUGFyYW1ldGVycygpKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QyWzBdLCAiIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDJbMV0pOwotCisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMF0sICIiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBwYVBhcnNlclsxXSk7CiAgIH0KIAotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfU291cmNlU3RyaW5nUmVtYWluc1VudG91Y2hlZCl7Ci0gICAgQ0lFQ19TVFJJTkcgZW1wdHlUZXN0ID0gIjEyMyw0NTYiOwotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoZW1wdHlUZXN0LmdldFZhbHVlKCksIDIpOworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfTnVsbFN0cmluZykgeworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDEoMCwgJywnKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKDAsICcsJywgMCk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MygwLCAnLCcsIDEpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDQoMCwgJywnLCAyMCk7CisKKyAgICB0ZXN0UGFyYW1ldGVyUGFyYW1ldGVyUGFyc2VyX051bGxTdHJpbmcodGVzdDEpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJhbWV0ZXJQYXJzZXJfTnVsbFN0cmluZyh0ZXN0Mik7CisgICAgdGVzdFBhcmFtZXRlclBhcmFtZXRlclBhcnNlcl9OdWxsU3RyaW5nKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyYW1ldGVyUGFyc2VyX051bGxTdHJpbmcodGVzdDQpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX1NvdXJjZVN0cmluZ1JlbWFpbnNVbnRvdWNoZWQpIHsKKyAgICBDSUVDX1NUUklORyBzdHJpbmdUZXN0ID0gIjEyMyw0NTYiOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDEoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDIpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDMoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDEpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDQoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDIwKTsKKworICAgIEJPT1NUX0NIRUNLKDIgPT0gdGVzdDEucGFyc2VQYXJhbWV0ZXJzKCkpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgIjEyMyw0NTYiKSk7CiAKICAgICBCT09TVF9DSEVDSygyID09IHRlc3QyLnBhcnNlUGFyYW1ldGVycygpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChlbXB0eVRlc3QuZ2V0VmFsdWUoKSwgIjEyMyw0NTYiKSk7Ci0KLSAgfQotCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9Jbml0aWFsaXplZFRvWmVybyl7Ci0gICAgQ0lFQ19TVFJJTkcgZW1wdHlUZXN0ID0gIjEyMyw0NTYiOwotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoZW1wdHlUZXN0LmdldFZhbHVlKCksIDIpOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MlswXSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MlsxXSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MlsyXSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MlszXSk7Ci0gIH0KLQotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfUmVndWxhclBhcmFtc1plcm9Bcmd1bWVudHNTcGVjaWZpZWQpewotICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIxMjMsNDU2IjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QwKGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCAwKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDAucGFyc2VQYXJhbWV0ZXJzKCkpOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MFswXSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MFsxXSk7Ci0KLSAgfQotCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9SZWd1bGFyUGFyYW1zVG9vRmV3QXJndW1lbnRzU3BlY2lmaWVkKXsKLSAgICBDSUVDX1NUUklORyBlbXB0eVRlc3QgPSAiMTIzLDQ1NiI7Ci0gICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MShlbXB0eVRlc3QuZ2V0VmFsdWUoKSwgMSk7Ci0KLSAgICBCT09TVF9DSEVDSygxID09IHRlc3QxLnBhcnNlUGFyYW1ldGVycygpKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QxWzBdLCAiMTIzIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDFbMV0pOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDFbMl0pOwotCi0gIH0KLQotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfUmVndWxhclBhcmFtc1JpZ2h0QXJndW1lbnRzU3BlY2lmaWVkKXsKLSAgICBDSUVDX1NUUklORyBlbXB0eVRlc3QgPSAiMTIzLDQ1NiI7Ci0gICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MihlbXB0eVRlc3QuZ2V0VmFsdWUoKSwgMik7Ci0KLSAgICBCT09TVF9DSEVDSygyID09IHRlc3QyLnBhcnNlUGFyYW1ldGVycygpKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QyWzBdLCAiMTIzIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QyWzFdLCAiNDU2IikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDJbMl0pOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDJbM10pOwotCi0gIH0KLQotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfUmVndWxhclBhcmFtc1Rvb01hbnlBcmd1bWVudHNTcGVjaWZpZWQpewotICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIxMjMsNDU2IjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QzKGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCAzKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChzdHJpbmdUZXN0LmdldFZhbHVlKCksICIxMjMsNDU2IikpOwogCiAgICAgQk9PU1RfQ0hFQ0soMiA9PSB0ZXN0My5wYXJzZVBhcmFtZXRlcnMoKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAiMTIzLDQ1NiIpKTsKIAotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QzWzBdLCAiMTIzIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QzWzFdLCAiNDU2IikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDNbM10pOwotCisgICAgQk9PU1RfQ0hFQ0soMiA9PSB0ZXN0NC5wYXJzZVBhcmFtZXRlcnMoKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAiMTIzLDQ1NiIpKTsKICAgfQogCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9FbXB0eVN0cmluZ1plcm9Bcmd1bWVudHNTcGVjaWZpZWQpewotICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIiOwotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDAoZW1wdHlUZXN0LmdldFZhbHVlKCksIDApOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MC5wYXJzZVBhcmFtZXRlcnMoKSk7Ci0KLSAgICBCT09TVF9DSEVDSygwID09IHRlc3QwWzBdKTsKLSAgICBCT09TVF9DSEVDSygwID09IHRlc3QwWzFdKTsKLQorICB2b2lkIHRlc3RQYXJhbWV0ZXJQYXJzZXJfSW5pdGlhbGl6ZWRUb1plcm8oQ1BhcmFtZXRlclBhcnNlciYgcGFQYXJzZXIpIHsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzBdKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzFdKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzJdKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzNdKTsKICAgfQogCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9FbXB0eVN0cmluZ1JpZ2h0QXJndW1lbnRzU3BlY2lmaWVkKXsKLSAgICBDSUVDX1NUUklORyBlbXB0eVRlc3QgPSAiIjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QxKGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCAxKTsKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX0luaXRpYWxpemVkVG9aZXJvKSB7CisgICAgQ0lFQ19TVFJJTkcgc3RyaW5nVGVzdCA9ICIxMjMsNDU2IjsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QxKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QzKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAxKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q0KHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyMCk7CiAKLSAgICBCT09TVF9DSEVDSygxID09IHRlc3QxLnBhcnNlUGFyYW1ldGVycygpKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QxWzBdLCAiIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDFbMV0pOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDFbMl0pOwotCisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9Jbml0aWFsaXplZFRvWmVybyh0ZXN0MSk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9Jbml0aWFsaXplZFRvWmVybyh0ZXN0Mik7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9Jbml0aWFsaXplZFRvWmVybyh0ZXN0Myk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9Jbml0aWFsaXplZFRvWmVybyh0ZXN0NCk7CiAgIH0KIAotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfRW1wdHlTdHJpbmdUb29NYW55QXJndW1lbnRzU3BlY2lmaWVkKXsKLSAgICBDSUVDX1NUUklORyBlbXB0eVRlc3QgPSAiIjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCAyKTsKKyAgdm9pZCB0ZXN0UGFyYW1ldGVyUGFyc2VyX1JlZ3VsYXJQYXJhbXMoQ1BhcmFtZXRlclBhcnNlciYgcGFQYXJzZXIpIHsKKyAgICBCT09TVF9DSEVDSygyID09IHBhUGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKTsKIAotICAgIEJPT1NUX0NIRUNLKDEgPT0gdGVzdDIucGFyc2VQYXJhbWV0ZXJzKCkpOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDJbMF0sICIiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MlsxXSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MlsyXSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MlszXSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMF0sICIxMjMiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMV0sICI0NTYiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBwYVBhcnNlclsyXSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBwYVBhcnNlclszXSk7CiAgIH0KIAotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZXNaZXJvQXJndW1lbnRzU3BlY2lmaWVkKXsKLSAgICBDSUVDX1NUUklORyBlbXB0eVRlc3QgPSAiICAxICAyIDMgLCAgICAgICAgICAgICA0IDU2ICAgICAsICAgICAgIDc4OSAgICAgICAgICAgICAgIjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QwKGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCAwKTsKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX1JlZ3VsYXJQYXJhbXMpIHsKKyAgICBDSUVDX1NUUklORyBzdHJpbmdUZXN0ID0gIjEyMyw0NTYiOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDEoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDIpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDMoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDEpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDQoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDIwKTsKIAotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDAucGFyc2VQYXJhbWV0ZXJzKCkpOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MFswXSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MFsxXSk7Ci0KKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX1JlZ3VsYXJQYXJhbXModGVzdDEpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfUmVndWxhclBhcmFtcyh0ZXN0Mik7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9SZWd1bGFyUGFyYW1zKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX1JlZ3VsYXJQYXJhbXModGVzdDQpOwogICB9CiAKLSAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX0JsYW5rU3BhY2VzVG9vRmV3QXJndW1lbnRzU3BlY2lmaWVkKXsKLSAgICBDSUVDX1NUUklORyBlbXB0eVRlc3QgPSAiICAxICAyIDMgLCAgICAgICAgICAgICA0IDU2ICAgICAsICAgICAgIDc4OSAgICAgICAgICAgICAgIjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCAyKTsKKyAgdm9pZCB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5U3RyaW5nKENQYXJhbWV0ZXJQYXJzZXImIHBhUGFyc2VyKSB7CisgICAgQk9PU1RfQ0hFQ0soMSA9PSBwYVBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSk7CiAKLSAgICBCT09TVF9DSEVDSygyID09IHRlc3QyLnBhcnNlUGFyYW1ldGVycygpKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QyWzBdLCAiMSAgMiAzIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3QyWzFdLCAiNCA1NiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHRlc3QyWzJdKTsKLSAgICBCT09TVF9DSEVDSygwID09IHRlc3QyWzNdKTsKLQorICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzBdLCAiIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gcGFQYXJzZXJbMV0pOworICAgIEJPT1NUX0NIRUNLKDAgPT0gcGFQYXJzZXJbMl0pOwogICB9CiAKLSAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX0JsYW5rU3BhY2VzUmlnaHRBcmd1bWVudHNTcGVjaWZpZWQpewotICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIgIDEgIDIgMyAsICAgICAgICAgICAgIDQgNTYgICAgICwgICAgICAgNzg5ICAgICAgICAgICAgICAiOwotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDMoZW1wdHlUZXN0LmdldFZhbHVlKCksIDMpOworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfRW1wdHlTdHJpbmcpIHsKKyAgICBDSUVDX1NUUklORyBzdHJpbmdUZXN0ID0gIiI7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MShzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJyk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MihzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMik7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MyhzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMSk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0NChzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMjApOwogCi0gICAgQk9PU1RfQ0hFQ0soMyA9PSB0ZXN0My5wYXJzZVBhcmFtZXRlcnMoKSk7Ci0KLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0M1swXSwgIjEgIDIgMyIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0M1sxXSwgIjQgNTYiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDNbMl0sICI3ODkiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0M1szXSk7Ci0KKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5U3RyaW5nKHRlc3QxKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5U3RyaW5nKHRlc3QyKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5U3RyaW5nKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5U3RyaW5nKHRlc3Q0KTsKICAgfQogCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9CbGFua1NwYWNlc1Rvb01hbnlBcmd1bWVudHNTcGVjaWZpZWQpewotICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIgIDEgIDIgMyAsICAgICAgICAgICAgIDQgNTYgICAgICwgICAgICAgNzg5ICAgICAgICAgICAgICAiOwotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDQoZW1wdHlUZXN0LmdldFZhbHVlKCksIDQpOworICB2b2lkIHRlc3RQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZXMoQ1BhcmFtZXRlclBhcnNlciYgcGFQYXJzZXIpIHsKKyAgICBCT09TVF9DSEVDSygzID09IHBhUGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKTsKIAotICAgIEJPT1NUX0NIRUNLKDMgPT0gdGVzdDQucGFyc2VQYXJhbWV0ZXJzKCkpOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDRbMF0sICIxICAyIDMiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDRbMV0sICI0IDU2IikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q0WzJdLCAiNzg5IikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDRbM10pOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDRbNF0pOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzBdLCAiMSAgMiAzIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzFdLCAiNCA1NiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclsyXSwgIjc4OSIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzNdKTsKICAgfQogCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9FbXB0eVBhcmFtZXRlcnMpewotICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIsMTIzLDQ1NiwsNzg5LCI7Ci0gICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0NyhlbXB0eVRlc3QuZ2V0VmFsdWUoKSwgNyk7CisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9CbGFua1NwYWNlcykgeworICAgIENJRUNfU1RSSU5HIHN0cmluZ1Rlc3QgPSAiICAxICAyIDMgLCAgICAgICAgICAgICA0IDU2ICAgICAsICAgICAgIDc4OSAgICAgICAgICAgICAgIjsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QxKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QzKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAxKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q0KHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyMCk7CiAKLSAgICBCT09TVF9DSEVDSyg2ID09IHRlc3Q3LnBhcnNlUGFyYW1ldGVycygpKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q3WzBdLCAiIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q3WzFdLCAiMTIzIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q3WzJdLCAiNDU2IikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q3WzNdLCAiIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q3WzRdLCAiNzg5IikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q3WzVdLCAiIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDdbNl0pOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gdGVzdDdbN10pOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZXModGVzdDEpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZXModGVzdDIpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZXModGVzdDMpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZXModGVzdDQpOwogICB9CiAKLSAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX090aGVyU2VwYXJhdG9yUHJlc2VudEluU3RyaW5nKXsKLSAgICBDSUVDX1NUUklORyBlbXB0eVRlc3QgPSAiIDEyMywgNDU2LCA3ODkgICAiOwotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoZW1wdHlUZXN0LmdldFZhbHVlKCksIDIsICc1Jyk7CisgIHZvaWQgdGVzdFBhcmFtZXRlclBhcnNlcl9FbXB0eVBhcmFtZXRlcnMoQ1BhcmFtZXRlclBhcnNlciYgcGFQYXJzZXIpIHsKKyAgICBCT09TVF9DSEVDSyg2ID09IHBhUGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKTsKIAotICAgIEJPT1NUX0NIRUNLKDIgPT0gdGVzdDIucGFyc2VQYXJhbWV0ZXJzKCkpOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDJbMF0sICIxMjMsIDQiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDJbMV0sICI2LCA3ODkiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MlsyXSk7Ci0KKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclswXSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclsxXSwgIjEyMyIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclsyXSwgIjQ1NiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclszXSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlcls0XSwgIjc4OSIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlcls1XSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzZdKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzddKTsKICAgfQogCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9PdGhlclNlcGFyYXRvck5vblByZXNlbnRJblN0cmluZyl7Ci0gICAgQ0lFQ19TVFJJTkcgZW1wdHlUZXN0ID0gIiAxMjMsIDQ1NiwgNzg5ICAgIjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QxKGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCAxLCAnOycpOworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfRW1wdHlQYXJhbWV0ZXJzKSB7CisgICAgQ0lFQ19TVFJJTkcgc3RyaW5nVGVzdCA9ICIsMTIzLDQ1NiwsNzg5LCI7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MShzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJyk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MihzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMik7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MyhzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMSk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0NChzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMjApOwogCi0gICAgQk9PU1RfQ0hFQ0soMSA9PSB0ZXN0MS5wYXJzZVBhcmFtZXRlcnMoKSk7Ci0KLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0MVswXSwgIjEyMywgNDU2LCA3ODkiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0MVsxXSk7Ci0KKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVycyh0ZXN0MSk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9FbXB0eVBhcmFtZXRlcnModGVzdDIpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfRW1wdHlQYXJhbWV0ZXJzKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVycyh0ZXN0NCk7CiAgIH0KIAotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZVNlcGFyYXRvcil7Ci0gICAgQ0lFQ19TVFJJTkcgZW1wdHlUZXN0ID0gIiAxMjMsIDQ1NiwgNzg5ICAgIjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q4KGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCA4LCAnICcpOworICB2b2lkIHRlc3RQYXJhbWV0ZXJQYXJzZXJfT3RoZXJTZXBhcmF0b3JQcmVzZW50SW5TdHJpbmcoQ1BhcmFtZXRlclBhcnNlciYgcGFQYXJzZXIpIHsKKyAgICBCT09TVF9DSEVDSygyID09IHBhUGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKTsKIAotICAgIEJPT1NUX0NIRUNLKDcgPT0gdGVzdDgucGFyc2VQYXJhbWV0ZXJzKCkpOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDhbMF0sICIiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDhbMV0sICIxMjMsIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q4WzJdLCAiNDU2LCIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0OFszXSwgIjc4OSIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0OFs0XSwgIiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0OFs1XSwgIiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0OFs2XSwgIiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHRlc3Q4WzddKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclswXSwgIjEyMywgNCIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclsxXSwgIjYsIDc4OSIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzJdKTsKICAgfQogCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9Pbmx5QmxhbmtTcGFjZSl7Ci0gICAgQ0lFQ19TVFJJTkcgZW1wdHlUZXN0ID0gIiAgICI7IC8vMyBCbGFuayBTcGFjZXMKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q0KGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCA0KTsKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX090aGVyU2VwYXJhdG9yUHJlc2VudEluU3RyaW5nKSB7CisgICAgQ0lFQ19TVFJJTkcgc3RyaW5nVGVzdCA9ICIgMTIzLCA0NTYsIDc4OSAgICI7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MShzdHJpbmdUZXN0LmdldFZhbHVlKCksICc1Jyk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MihzdHJpbmdUZXN0LmdldFZhbHVlKCksICc1JywgMik7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MyhzdHJpbmdUZXN0LmdldFZhbHVlKCksICc1JywgMSk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0NChzdHJpbmdUZXN0LmdldFZhbHVlKCksICc1JywgMjApOwogCi0gICAgQk9PU1RfQ0hFQ0soMSA9PSB0ZXN0NC5wYXJzZVBhcmFtZXRlcnMoKSk7Ci0KLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0NFswXSwgIiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHRlc3Q0WzFdKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX090aGVyU2VwYXJhdG9yUHJlc2VudEluU3RyaW5nKHRlc3QxKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX090aGVyU2VwYXJhdG9yUHJlc2VudEluU3RyaW5nKHRlc3QyKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX090aGVyU2VwYXJhdG9yUHJlc2VudEluU3RyaW5nKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX090aGVyU2VwYXJhdG9yUHJlc2VudEluU3RyaW5nKHRlc3Q0KTsKICAgfQogCi0gIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9FbXB0eVBhcmFtZXRlcnNXaXRoQmxhbmtTcGFjZSl7Ci0gICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIgLCAiOwotICAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q0KGVtcHR5VGVzdC5nZXRWYWx1ZSgpLCA0KTsKKyAgdm9pZCB0ZXN0UGFyYW1ldGVyUGFyc2VyX090aGVyU2VwYXJhdG9yTm9uUHJlc2VudEluU3RyaW5nKENQYXJhbWV0ZXJQYXJzZXImIHBhUGFyc2VyKSB7CisgICAgQk9PU1RfQ0hFQ0soMSA9PSBwYVBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSk7CiAKLSAgICAgQk9PU1RfQ0hFQ0soMiA9PSB0ZXN0NC5wYXJzZVBhcmFtZXRlcnMoKSk7Ci0KLSAgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDRbMF0sICIiKSk7Ci0gICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q0WzFdLCAiIikpOwotICAgICBCT09TVF9DSEVDSygwID09IHRlc3Q0WzJdKTsKLSAgIH0KLQotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfRW1wdHlQYXJhbWV0ZXJzV2l0aEJsYW5rU3BhY2VBbmRFbmRpbmdJblBhcmFtZXRlcil7Ci0gICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIgLCAsIjsKLSAgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0NChlbXB0eVRlc3QuZ2V0VmFsdWUoKSwgNCk7Ci0KLSAgICAgQk9PU1RfQ0hFQ0soMyA9PSB0ZXN0NC5wYXJzZVBhcmFtZXRlcnMoKSk7Ci0KLSAgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDRbMF0sICIiKSk7Ci0gICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHRlc3Q0WzFdLCAiIikpOwotICAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0NFsyXSwgIiIpKTsKLSAgICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0NFszXSk7Ci0gICB9Ci0KLSAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX09ubHlTZXBhcmF0b3IpewotICAgIENJRUNfU1RSSU5HIGVtcHR5VGVzdCA9ICIsLCwiOwotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDUoZW1wdHlUZXN0LmdldFZhbHVlKCksIDUpOwotCi0gICAgQk9PU1RfQ0hFQ0soNCA9PSB0ZXN0NS5wYXJzZVBhcmFtZXRlcnMoKSk7Ci0KLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0NVswXSwgIiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0NVsxXSwgIiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0NVsyXSwgIiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcCh0ZXN0NVszXSwgIiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHRlc3Q1WzRdKTsKLSAgICBCT09TVF9DSEVDSygwID09IHRlc3Q1WzVdKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclswXSwgIjEyMywgNDU2LCA3ODkiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBwYVBhcnNlclsxXSk7OwogICB9CiAKLSAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX09ubHlCbGFua1NwYWNlU2VwYXJhdG9yKXsKLSAgICBDSUVDX1NUUklORyBlbXB0eVRlc3QgPSAiICAgIjsgLy8zIEJsYW5rIFNwYWNlcwotICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDUoZW1wdHlUZXN0LmdldFZhbHVlKCksIDUsICcgJyk7CisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9PdGhlclNlcGFyYXRvck5vblByZXNlbnRJblN0cmluZykgeworICAgIENJRUNfU1RSSU5HIHN0cmluZ1Rlc3QgPSAiIDEyMywgNDU2LCA3ODkgICAiOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDEoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnOycpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnOycsIDIpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDMoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnOycsIDEpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDQoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnOycsIDIwKTsKIAotICAgIEJPT1NUX0NIRUNLKDQgPT0gdGVzdDUucGFyc2VQYXJhbWV0ZXJzKCkpOwotCi0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDVbMF0sICIiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDVbMV0sICIiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDVbMl0sICIiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAodGVzdDVbM10sICIiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0NVs0XSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSB0ZXN0NVs1XSk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9PdGhlclNlcGFyYXRvck5vblByZXNlbnRJblN0cmluZyh0ZXN0MSk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9PdGhlclNlcGFyYXRvck5vblByZXNlbnRJblN0cmluZyh0ZXN0Mik7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9PdGhlclNlcGFyYXRvck5vblByZXNlbnRJblN0cmluZyh0ZXN0Myk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9PdGhlclNlcGFyYXRvck5vblByZXNlbnRJblN0cmluZyh0ZXN0NCk7CiAgIH0KIAotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfU2VyaWFsQ2FzZTEpCi0gIHsKLSAgICBDSUVDX1NUUklORyBzUGFyYW1ldGVyU3RyaW5nID0gIkNPTTEsIDE5MjAwLCA4LCAxLCBOT05FLCAkbiI7Ci0gICAgQ1BhcmFtZXRlclBhcnNlciBwYXJzZXIoc1BhcmFtZXRlclN0cmluZy5nZXRWYWx1ZSgpLCA2KTsKKyAgdm9pZCB0ZXN0UGFyYW1ldGVyUGFyc2VyX0JsYW5rU3BhY2VTZXBhcmF0b3IoQ1BhcmFtZXRlclBhcnNlciYgcGFQYXJzZXIpIHsKKyAgICBCT09TVF9DSEVDSyg3ID09IHBhUGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKTsKIAotICAgIEJPT1NUX0NIRUNLKDYgPT0gcGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhcnNlclswXSwgIkNPTTEiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFyc2VyWzFdLCAiMTkyMDAiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFyc2VyWzJdLCAiOCIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYXJzZXJbM10sICIxIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhcnNlcls0XSwgIk5PTkUiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFyc2VyWzVdLCAiJG4iKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBwYXJzZXJbNl0pOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzBdLCAiIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzFdLCAiMTIzLCIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclsyXSwgIjQ1NiwiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbM10sICI3ODkiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbNF0sICIiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbNV0sICIiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbNl0sICIiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBwYVBhcnNlcls3XSk7CiAgIH0KIAotICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfU2VyaWFsQ2FzZTIpCi0gIHsKLSAgICBDSUVDX1NUUklORyBzUGFyYW1ldGVyU3RyaW5nID0gIkNPTTEsIDE5MjAwLCA4LCAxLCBOT05FLCAkciRuIjsKLSAgICBDUGFyYW1ldGVyUGFyc2VyIHBhcnNlcihzUGFyYW1ldGVyU3RyaW5nLmdldFZhbHVlKCksIDYpOworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZVNlcGFyYXRvcikgeworICAgIENJRUNfU1RSSU5HIHN0cmluZ1Rlc3QgPSAiIDEyMywgNDU2LCA3ODkgICAiOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDEoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnICcpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnICcsIDIpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDMoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnICcsIDEpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDQoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnICcsIDIwKTsKIAotICAgIEJPT1NUX0NIRUNLKDYgPT0gcGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKTsKLQotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhcnNlclswXSwgIkNPTTEiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFyc2VyWzFdLCAiMTkyMDAiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFyc2VyWzJdLCAiOCIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYXJzZXJbM10sICIxIikpOwotICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhcnNlcls0XSwgIk5PTkUiKSk7Ci0gICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFyc2VyWzVdLCAiJHIkbiIpKTsKLSAgICBCT09TVF9DSEVDSygwID09IHBhcnNlcls2XSk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9CbGFua1NwYWNlU2VwYXJhdG9yKHRlc3QxKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0JsYW5rU3BhY2VTZXBhcmF0b3IodGVzdDIpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfQmxhbmtTcGFjZVNlcGFyYXRvcih0ZXN0Myk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9CbGFua1NwYWNlU2VwYXJhdG9yKHRlc3Q0KTsKICAgfQogCi1CT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKKyAgdm9pZCB0ZXN0UGFyYW1ldGVyUGFyc2VyX09ubHlCbGFua1NwYWNlKENQYXJhbWV0ZXJQYXJzZXImIHBhUGFyc2VyKSB7CisgICAgQk9PU1RfQ0hFQ0soMSA9PSBwYVBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSk7CiAKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclswXSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzFdKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9Pbmx5QmxhbmtTcGFjZSkgeworICAgIENJRUNfU1RSSU5HIHN0cmluZ1Rlc3QgPSAiICAgIjsgLy8zIEJsYW5rIFNwYWNlcworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDEoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDIoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDIpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDMoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDEpOworICAgIENQYXJhbWV0ZXJQYXJzZXIgdGVzdDQoc3RyaW5nVGVzdC5nZXRWYWx1ZSgpLCAnLCcsIDIwKTsKKworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfT25seUJsYW5rU3BhY2UodGVzdDEpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfT25seUJsYW5rU3BhY2UodGVzdDIpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfT25seUJsYW5rU3BhY2UodGVzdDMpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfT25seUJsYW5rU3BhY2UodGVzdDQpOworICB9CisKKyAgdm9pZCB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVyc1dpdGhCbGFua1NwYWNlKENQYXJhbWV0ZXJQYXJzZXImIHBhUGFyc2VyKSB7CisgICAgQk9PU1RfQ0hFQ0soMiA9PSBwYVBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSk7CisKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclswXSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclsxXSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzJdKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9FbXB0eVBhcmFtZXRlcnNXaXRoQmxhbmtTcGFjZSkgeworICAgIENJRUNfU1RSSU5HIHN0cmluZ1Rlc3QgPSAiICwgIjsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QxKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QzKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAxKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q0KHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyMCk7CisKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVyc1dpdGhCbGFua1NwYWNlKHRlc3QxKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVyc1dpdGhCbGFua1NwYWNlKHRlc3QyKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVyc1dpdGhCbGFua1NwYWNlKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVyc1dpdGhCbGFua1NwYWNlKHRlc3Q0KTsKKyAgfQorCisgIHZvaWQgdGVzdFBhcmFtZXRlclBhcnNlcl9FbXB0eVBhcmFtZXRlcnNXaXRoQmxhbmtTcGFjZUFuZEVuZGluZ0luUGFyYW1ldGVyKENQYXJhbWV0ZXJQYXJzZXImIHBhUGFyc2VyKSB7CisgICAgQk9PU1RfQ0hFQ0soMyA9PSBwYVBhcnNlci5wYXJzZVBhcmFtZXRlcnMoKSk7CisKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclswXSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclsxXSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlclsyXSwgIiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzNdKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9FbXB0eVBhcmFtZXRlcnNXaXRoQmxhbmtTcGFjZUFuZEVuZGluZ0luUGFyYW1ldGVyKSB7CisgICAgQ0lFQ19TVFJJTkcgc3RyaW5nVGVzdCA9ICIgLCAsIjsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QxKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QzKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAxKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q0KHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyMCk7CisKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVyc1dpdGhCbGFua1NwYWNlQW5kRW5kaW5nSW5QYXJhbWV0ZXIodGVzdDEpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfRW1wdHlQYXJhbWV0ZXJzV2l0aEJsYW5rU3BhY2VBbmRFbmRpbmdJblBhcmFtZXRlcih0ZXN0Mik7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9FbXB0eVBhcmFtZXRlcnNXaXRoQmxhbmtTcGFjZUFuZEVuZGluZ0luUGFyYW1ldGVyKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX0VtcHR5UGFyYW1ldGVyc1dpdGhCbGFua1NwYWNlQW5kRW5kaW5nSW5QYXJhbWV0ZXIodGVzdDQpOworICB9CisKKyAgdm9pZCB0ZXN0UGFyYW1ldGVyUGFyc2VyX09ubHlTZXBhcmF0b3IoQ1BhcmFtZXRlclBhcnNlciYgcGFQYXJzZXIpIHsKKyAgICBCT09TVF9DSEVDSyg0ID09IHBhUGFyc2VyLnBhcnNlUGFyYW1ldGVycygpKTsKKworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzBdLCAiIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzFdLCAiIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzJdLCAiIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzNdLCAiIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gcGFQYXJzZXJbNF0pOworICAgIEJPT1NUX0NIRUNLKDAgPT0gcGFQYXJzZXJbNV0pOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX09ubHlTZXBhcmF0b3IpIHsKKyAgICBDSUVDX1NUUklORyBzdHJpbmdUZXN0ID0gIiwsLCI7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MShzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJyk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MihzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMik7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MyhzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMSk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0NChzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMjApOworCisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9Pbmx5U2VwYXJhdG9yKHRlc3QxKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX09ubHlTZXBhcmF0b3IodGVzdDIpOworICAgIHRlc3RQYXJhbWV0ZXJQYXJzZXJfT25seVNlcGFyYXRvcih0ZXN0Myk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9Pbmx5U2VwYXJhdG9yKHRlc3Q0KTsKKyAgfQorCisgIHZvaWQgdGVzdFBhcmFtZXRlclBhcnNlcl9Pbmx5QmxhbmtTcGFjZVNlcGFyYXRvcihDUGFyYW1ldGVyUGFyc2VyJiBwYVBhcnNlcikgeworICAgIEJPT1NUX0NIRUNLKDQgPT0gcGFQYXJzZXIucGFyc2VQYXJhbWV0ZXJzKCkpOworCisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMF0sICIiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMV0sICIiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMl0sICIiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbM10sICIiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBwYVBhcnNlcls0XSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBwYVBhcnNlcls1XSk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQYXJhbWV0ZXJQYXJzZXJfT25seUJsYW5rU3BhY2VTZXBhcmF0b3IpIHsKKyAgICBDSUVDX1NUUklORyBzdHJpbmdUZXN0ID0gIiAgICI7IC8vMyBCbGFuayBTcGFjZXMKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QxKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJyAnKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJyAnLCAyKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QzKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJyAnLCAxKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q0KHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJyAnLCAyMCk7CisKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX09ubHlCbGFua1NwYWNlU2VwYXJhdG9yKHRlc3QxKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX09ubHlCbGFua1NwYWNlU2VwYXJhdG9yKHRlc3QyKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX09ubHlCbGFua1NwYWNlU2VwYXJhdG9yKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX09ubHlCbGFua1NwYWNlU2VwYXJhdG9yKHRlc3Q0KTsKKyAgfQorCisgIHZvaWQgdGVzdFBhcmFtZXRlclBhcnNlcl9TZXJpYWxDYXNlMShDUGFyYW1ldGVyUGFyc2VyJiBwYVBhcnNlcikgeworICAgIEJPT1NUX0NIRUNLKDYgPT0gcGFQYXJzZXIucGFyc2VQYXJhbWV0ZXJzKCkpOworCisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMF0sICJDT00xIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzFdLCAiMTkyMDAiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMl0sICI4IikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzNdLCAiMSIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlcls0XSwgIk5PTkUiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbNV0sICIkbiIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHBhUGFyc2VyWzZdKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFBhcmFtZXRlclBhcnNlcl9TZXJpYWxDYXNlMSkgeworICAgIENJRUNfU1RSSU5HIHN0cmluZ1Rlc3QgPSAiQ09NMSwgMTkyMDAsIDgsIDEsIE5PTkUsICRuIjsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QxKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QyKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3QzKHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAxKTsKKyAgICBDUGFyYW1ldGVyUGFyc2VyIHRlc3Q0KHN0cmluZ1Rlc3QuZ2V0VmFsdWUoKSwgJywnLCAyMCk7CisKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX1NlcmlhbENhc2UxKHRlc3QxKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX1NlcmlhbENhc2UxKHRlc3QyKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX1NlcmlhbENhc2UxKHRlc3QzKTsKKyAgICB0ZXN0UGFyYW1ldGVyUGFyc2VyX1NlcmlhbENhc2UxKHRlc3Q0KTsKKyAgfQorCisgIHZvaWQgdGVzdFBhcmFtZXRlclBhcnNlcl9TZXJpYWxDYXNlMihDUGFyYW1ldGVyUGFyc2VyJiBwYVBhcnNlcikgeworICAgIEJPT1NUX0NIRUNLKDYgPT0gcGFQYXJzZXIucGFyc2VQYXJhbWV0ZXJzKCkpOworCisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMF0sICJDT00xIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzFdLCAiMTkyMDAiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbMl0sICI4IikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gc3RyY21wKHBhUGFyc2VyWzNdLCAiMSIpKTsKKyAgICBCT09TVF9DSEVDSygwID09IHN0cmNtcChwYVBhcnNlcls0XSwgIk5PTkUiKSk7CisgICAgQk9PU1RfQ0hFQ0soMCA9PSBzdHJjbXAocGFQYXJzZXJbNV0sICIkciRuIikpOworICAgIEJPT1NUX0NIRUNLKDAgPT0gcGFQYXJzZXJbNl0pOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoUGFyYW1ldGVyUGFyc2VyX1NlcmlhbENhc2UyKSB7CisgICAgQ0lFQ19TVFJJTkcgc3RyaW5nVGVzdCA9ICJDT00xLCAxOTIwMCwgOCwgMSwgTk9ORSwgJHIkbiI7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MShzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJyk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MihzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMik7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0MyhzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMSk7CisgICAgQ1BhcmFtZXRlclBhcnNlciB0ZXN0NChzdHJpbmdUZXN0LmdldFZhbHVlKCksICcsJywgMjApOworCisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9TZXJpYWxDYXNlMih0ZXN0MSk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9TZXJpYWxDYXNlMih0ZXN0Mik7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9TZXJpYWxDYXNlMih0ZXN0Myk7CisgICAgdGVzdFBhcmFtZXRlclBhcnNlcl9TZXJpYWxDYXNlMih0ZXN0NCk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvdXRpbHMvc2luZ2VsdG9udGVzdC5jcHAgYi90ZXN0cy9jb3JlL3V0aWxzL3NpbmdlbHRvbnRlc3QuY3BwCmluZGV4IDVhZTg0YTUuLjYxODc1ZGYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvdXRpbHMvc2luZ2VsdG9udGVzdC5jcHAKKysrIGIvdGVzdHMvY29yZS91dGlscy9zaW5nZWx0b250ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS91dGlscy9zaW5nbGV0b250ZXN0Mm5kdW5pdC5jcHAgYi90ZXN0cy9jb3JlL3V0aWxzL3NpbmdsZXRvbnRlc3QybmR1bml0LmNwcAppbmRleCBiY2JiOGY3Li5mYjlhZGU0IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL3V0aWxzL3NpbmdsZXRvbnRlc3QybmR1bml0LmNwcAorKysgYi90ZXN0cy9jb3JlL3V0aWxzL3NpbmdsZXRvbnRlc3QybmR1bml0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS91dGlscy9zdHJpbmdfdXRpbHNfdGVzdC5jcHAgYi90ZXN0cy9jb3JlL3V0aWxzL3N0cmluZ191dGlsc190ZXN0LmNwcAppbmRleCA1ZTNhYzRmLi5hNTAxNmI3IDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL3V0aWxzL3N0cmluZ191dGlsc190ZXN0LmNwcAorKysgYi90ZXN0cy9jb3JlL3V0aWxzL3N0cmluZ191dGlsc190ZXN0LmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIC0gMjAxNCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2NvcmUvdXRpbHMvdGVzdHNpbmdsZXRvbi5jcHAgYi90ZXN0cy9jb3JlL3V0aWxzL3Rlc3RzaW5nbGV0b24uY3BwCmluZGV4IDkxYjVmZTkuLmE1NDVlZmYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NvcmUvdXRpbHMvdGVzdHNpbmdsZXRvbi5jcHAKKysrIGIvdGVzdHMvY29yZS91dGlscy90ZXN0c2luZ2xldG9uLmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29yZS91dGlscy90ZXN0c2luZ2xldG9uLmggYi90ZXN0cy9jb3JlL3V0aWxzL3Rlc3RzaW5nbGV0b24uaAppbmRleCA1MzhkZmUwLi5jZTk0OTRhIDEwMDY0NAotLS0gYS90ZXN0cy9jb3JlL3V0aWxzL3Rlc3RzaW5nbGV0b24uaAorKysgYi90ZXN0cy9jb3JlL3V0aWxzL3Rlc3RzaW5nbGV0b24uaApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDEzIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvZm9ydGVfYm9vc3RfdGVzdGVyLmNwcCBiL3Rlc3RzL2ZvcnRlX2Jvb3N0X3Rlc3Rlci5jcHAKaW5kZXggMmIyNzRiMi4uYjgxMzdlMiAxMDA2NDQKLS0tIGEvdGVzdHMvZm9ydGVfYm9vc3RfdGVzdGVyLmNwcAorKysgYi90ZXN0cy9mb3J0ZV9ib29zdF90ZXN0ZXIuY3BwCkBAIC0xLDEzICsxLDI3IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDExIEFDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBDb3B5cmlnaHQgKGMpIDIwMTEsIDIwMTggQUNJTiwgZm9ydGlzcyBHbWJILAorICogICAgICAgICAgICAgICAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSW5nbyBIZWdueSAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIEpvc2UgQ2FicmFsIC0gQWRkIGR1bW15IGZ1bmN0aW9uIGZvciB0aHJvd19leGNlcHRpb24KKyAqICAgQWxvaXMgWm9pdGwgLSBtaWdyYXRlZCBmYiB0ZXN0cyB0byBib29zdCB0ZXN0IGluZnJhc3RydWN0dXJlCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNkZWZpbmUgQk9PU1RfVEVTVF9NT0RVTEUgRk9SVEVfVEVTVFMKICNpbmNsdWRlIDxib29zdC90ZXN0L2luY2x1ZGVkL3VuaXRfdGVzdC5ocHA+CisjaW5jbHVkZSAiY29yZS9mYnRlc3RzL2ZidGVzdGVyZ2xvYmFsZml4dHVyZS5oIgogCisjaWYgZGVmaW5lZChCT09TVF9OT19FWENFUFRJT05TKSAmJiBCT09TVF9WRVJTSU9OIDwgMTA2NTAwIC8vIEF0IGxlYXN0IEJvb3N0IHYxLjY1IHByb3ZpZGVzIGEgc2ltcGxlIE5PX0VYQ0VQVElPTiB2ZXJzaW9uIG9mIHRocm93X2V4Y2VwdGlvbgordm9pZCBib29zdDo6dGhyb3dfZXhjZXB0aW9uKHN0ZDo6ZXhjZXB0aW9uIGNvbnN0JikgeworICAvL2R1bW15Cit9CisjZW5kaWYKKworLy9CT09TVF9URVNUX0dMT0JBTF9GSVhUVVJFKE15R2xvYmFsRml4dHVyZSkoKTsKKy8vZml4IGZvciBhIHByb2JsZW0gaW4gQk9PU1RfVEVTVF9HTE9CQUxfRklYVFVSRSwgcmV2ZXJ0IHdoZW4gZml4ZWQsIGlzc3VlIHNlYW1zIHRvIGJlIGluIEJPT1NUX0pPSU4KK3N0YXRpYyBib29zdDo6dW5pdF90ZXN0Ojp1dF9kZXRhaWw6Omdsb2JhbF9maXh0dXJlX2ltcGw8Q0ZCVGVzdERhdGFHbG9iYWxGaXh0dXJlPiBnZkNGQlRlc3REYXRhR2xvYmFsRml4dHVyZTsKZGlmZiAtLWdpdCBhL3Rlc3RzL21vZHVsZXMvQ01ha2VMaXN0cy50eHQgYi90ZXN0cy9tb2R1bGVzL0NNYWtlTGlzdHMudHh0CmluZGV4IDc0OTE5ODguLjcwNjA3OTQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21vZHVsZXMvQ01ha2VMaXN0cy50eHQKKysrIGIvdGVzdHMvbW9kdWxlcy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxNSArMSwyNCBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lOCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIE1hcnRpbiBNZWxpayBNZXJrdW1pYW5zICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNYXJ0aW4gTWVsaWsgTWVya3VtaWFucyAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogU0VUKFNPVVJDRV9HUk9VUCAke1NPVVJDRV9HUk9VUH1cXGZibGliKQogCiBJRihGT1JURV9NT0RVTEVfSUVDNjExMzEpCi0gYWRkX3N1YmRpcmVjdG9yeShJRUM2MTEzMS0zKQotRU5ESUYoRk9SVEVfTU9EVUxFX0lFQzYxMTMxKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgYWRkX3N1YmRpcmVjdG9yeShJRUM2MTEzMS0zKQorRU5ESUYoRk9SVEVfTU9EVUxFX0lFQzYxMTMxKQorCitJRihGT1JURV9NT0RVTEVfVVRJTFMpCisgIGFkZF9zdWJkaXJlY3RvcnkodXRpbHMpCitFTkRJRihGT1JURV9NT0RVTEVfVVRJTFMpCisKK0lGKEZPUlRFX0NPTV9IVFRQKQorICBhZGRfc3ViZGlyZWN0b3J5KEhUVFApCitFTkRJRihGT1JURV9DT01fSFRUUCkKZGlmZiAtLWdpdCBhL3Rlc3RzL21vZHVsZXMvSFRUUC9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL21vZHVsZXMvSFRUUC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGVlOTZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbW9kdWxlcy9IVFRQL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsMTcgQEAKKyMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisjIENvcHlyaWdodCAoYykgMjAxOCBmb3J0aXNzIEdtYkgKKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBKb3NlIENhYnJhbCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBUZXN0cyBmb3IgdGhlIEhUVFAgbW9kdWxlCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChIVFRQX3Rlc3QuY3BwKQpkaWZmIC0tZ2l0IGEvdGVzdHMvbW9kdWxlcy9IVFRQL0hUVFBfdGVzdC5jcHAgYi90ZXN0cy9tb2R1bGVzL0hUVFAvSFRUUF90ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGY0YjJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbW9kdWxlcy9IVFRQL0hUVFBfdGVzdC5jcHAKQEAgLTAsMCArMSwyNTggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggZm9ydGlzcyBHbWJICisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSA8Ym9vc3QvdGVzdC91bml0X3Rlc3QuaHBwPgorCisjaW5jbHVkZSAiLi4vLi4vLi4vc3JjL21vZHVsZXMvSFRUUC9odHRwcGFyc2VyLmgiCisKK0JPT1NUX0FVVE9fVEVTVF9TVUlURSAoSFRUUFBhcnNlcl9mdW5jdGlvbl90ZXN0KQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKGNyZWF0ZUdldFJlcXVlc3RfdGVzdCkgeworCisgICAgY29uc3QgY2hhciogcmVzdWx0VmFsaWQxID0gIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IDAuMC4wLjBcclxuXHJcbiI7CisgICAgY29uc3QgY2hhciogcmVzdWx0VmFsaWQyID0gIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IDE5Mi4xNjguMC4xXHJcblxyXG4iOworICAgIGNvbnN0IGNoYXIqIHJlc3VsdFZhbGlkMyA9ICJHRVQgL2xvb2tGb3IgSFRUUC8xLjFcclxuSG9zdDogMTkyLjE2OC4wLjFcclxuXHJcbiI7CisgICAgY29uc3QgY2hhciogcmVzdWx0VmFsaWQ0ID0gIkdFVCAvbG9va0Zvci9zb21ldGhpbmcvZWxzZSBIVFRQLzEuMVxyXG5Ib3N0OiAxOTIuMTY4LjAuMVxyXG5cclxuIjsKKworICAgIENJRUNfU1RSSU5HIGRlc3QgPSAicmFuZG9tIHRleHQiOworICAgIENJRUNfU1RSSU5HIGhvc3QgPSAiMC4wLjAuMCI7CisgICAgQ0lFQ19TVFJJTkcgcGF0aCA9ICIvIjsKKworICAgIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjcmVhdGVHZXRSZXF1ZXN0KGRlc3QsIGhvc3QsIHBhdGgpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChkZXN0LmdldFZhbHVlKCksIHJlc3VsdFZhbGlkMSkpOworCisgICAgaG9zdCA9ICIxOTIuMTY4LjAuMSI7CisgICAgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNyZWF0ZUdldFJlcXVlc3QoZGVzdCwgaG9zdCwgcGF0aCk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGRlc3QuZ2V0VmFsdWUoKSwgcmVzdWx0VmFsaWQyKSk7CisKKyAgICBwYXRoID0gIi9sb29rRm9yIjsKKyAgICBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6Y3JlYXRlR2V0UmVxdWVzdChkZXN0LCBob3N0LCBwYXRoKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoZGVzdC5nZXRWYWx1ZSgpLCByZXN1bHRWYWxpZDMpKTsKKworICAgIHBhdGggPSAiL2xvb2tGb3Ivc29tZXRoaW5nL2Vsc2UiOworICAgIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjcmVhdGVHZXRSZXF1ZXN0KGRlc3QsIGhvc3QsIHBhdGgpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChkZXN0LmdldFZhbHVlKCksIHJlc3VsdFZhbGlkNCkpOworCisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShQVVRQT1NUX3Rlc3QpIHsKKworICAgIGNvbnN0IGNoYXIqIHB1dFJlc3VsdFZhbGlkMSA9ICJQVVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiAwLjAuMC4wXHJcbkNvbnRlbnQtdHlwZTogdGV4dC94bWxcclxuQ29udGVudC1sZW5ndGg6IDE5XHJcblxyXG5rZXkxPXZhbDE7a2V5Mj12YWwyIjsKKyAgICBjb25zdCBjaGFyKiBwdXRSZXN1bHRWYWxpZDFDaGFuZ2VkID0KKyAgICAgICJQVVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiAwLjAuMC4wXHJcbkNvbnRlbnQtdHlwZTogdGV4dC94bWxcclxuQ29udGVudC1sZW5ndGg6IDMzXHJcblxyXG5rZXkxPXZhbDFDaGFuZ2VkO2tleTJDaGFuZ2VkPXZhbDIiOworICAgIGNvbnN0IGNoYXIqIHB1dFJlc3VsdFZhbGlkMiA9ICJQVVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiAxOTIuMTY4LjAuMVxyXG5Db250ZW50LXR5cGU6IHRleHQveG1sXHJcbkNvbnRlbnQtbGVuZ3RoOiAxOVxyXG5cclxua2V5MT12YWwxO2tleTI9dmFsMiI7CisgICAgY29uc3QgY2hhciogcHV0UmVzdWx0VmFsaWQzID0gIlBVVCAvbG9va0ZvciBIVFRQLzEuMVxyXG5Ib3N0OiAxOTIuMTY4LjAuMVxyXG5Db250ZW50LXR5cGU6IHRleHQveG1sXHJcbkNvbnRlbnQtbGVuZ3RoOiAxOVxyXG5cclxua2V5MT12YWwxO2tleTI9dmFsMiI7CisgICAgY29uc3QgY2hhciogcHV0UmVzdWx0VmFsaWQ0ID0KKyAgICAgICJQVVQgL2xvb2tGb3Ivc29tZXRoaW5nL2Vsc2UgSFRUUC8xLjFcclxuSG9zdDogMTkyLjE2OC4wLjFcclxuQ29udGVudC10eXBlOiB0ZXh0L3htbFxyXG5Db250ZW50LWxlbmd0aDogMTlcclxuXHJcbmtleTE9dmFsMTtrZXkyPXZhbDIiOworCisgICAgY29uc3QgY2hhciogcHV0RW1wdHlEYXRhID0gIlBVVCAvbG9va0Zvci9zb21ldGhpbmcvZWxzZSBIVFRQLzEuMVxyXG5Ib3N0OiAxOTIuMTY4LjAuMVxyXG5Db250ZW50LXR5cGU6IHRleHQveG1sXHJcbkNvbnRlbnQtbGVuZ3RoOiAwXHJcblxyXG4iOworICAgIGNvbnN0IGNoYXIqIHB1dEpTT05UeXBlID0KKyAgICAgICJQVVQgL2xvb2tGb3Ivc29tZXRoaW5nL2Vsc2UgSFRUUC8xLjFcclxuSG9zdDogMTkyLjE2OC4wLjFcclxuQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uXHJcbkNvbnRlbnQtbGVuZ3RoOiAyOVxyXG5cclxue1wia2V5MVwiIDogdmFsMSxcImtleTJcIiA6IHZhbDJ9IjsKKworICAgIGNvbnN0IGNoYXIqIHBvc3RSZXN1bHRWYWxpZDEgPSAiUE9TVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IDAuMC4wLjBcclxuQ29udGVudC10eXBlOiB0ZXh0L3htbFxyXG5Db250ZW50LWxlbmd0aDogMTlcclxuXHJcbmtleTE9dmFsMTtrZXkyPXZhbDIiOworICAgIGNvbnN0IGNoYXIqIHBvc3RSZXN1bHRWYWxpZDFDaGFuZ2VkID0KKyAgICAgICJQT1NUIC8gSFRUUC8xLjFcclxuSG9zdDogMC4wLjAuMFxyXG5Db250ZW50LXR5cGU6IHRleHQveG1sXHJcbkNvbnRlbnQtbGVuZ3RoOiAzM1xyXG5cclxua2V5MT12YWwxQ2hhbmdlZDtrZXkyQ2hhbmdlZD12YWwyIjsKKyAgICBjb25zdCBjaGFyKiBwb3N0UmVzdWx0VmFsaWQyID0gIlBPU1QgLyBIVFRQLzEuMVxyXG5Ib3N0OiAxOTIuMTY4LjAuMVxyXG5Db250ZW50LXR5cGU6IHRleHQveG1sXHJcbkNvbnRlbnQtbGVuZ3RoOiAxOVxyXG5cclxua2V5MT12YWwxO2tleTI9dmFsMiI7CisgICAgY29uc3QgY2hhciogcG9zdFJlc3VsdFZhbGlkMyA9ICJQT1NUIC9sb29rRm9yIEhUVFAvMS4xXHJcbkhvc3Q6IDE5Mi4xNjguMC4xXHJcbkNvbnRlbnQtdHlwZTogdGV4dC94bWxcclxuQ29udGVudC1sZW5ndGg6IDE5XHJcblxyXG5rZXkxPXZhbDE7a2V5Mj12YWwyIjsKKyAgICBjb25zdCBjaGFyKiBwb3N0UmVzdWx0VmFsaWQ0ID0KKyAgICAgICJQT1NUIC9sb29rRm9yL3NvbWV0aGluZy9lbHNlIEhUVFAvMS4xXHJcbkhvc3Q6IDE5Mi4xNjguMC4xXHJcbkNvbnRlbnQtdHlwZTogdGV4dC94bWxcclxuQ29udGVudC1sZW5ndGg6IDE5XHJcblxyXG5rZXkxPXZhbDE7a2V5Mj12YWwyIjsKKworICAgIGNvbnN0IGNoYXIqIHBvc3RFbXB0eURhdGEgPSAiUE9TVCAvbG9va0Zvci9zb21ldGhpbmcvZWxzZSBIVFRQLzEuMVxyXG5Ib3N0OiAxOTIuMTY4LjAuMVxyXG5Db250ZW50LXR5cGU6IHRleHQveG1sXHJcbkNvbnRlbnQtbGVuZ3RoOiAwXHJcblxyXG4iOworCisgICAgY29uc3QgY2hhciogcG9zdEpTT05UeXBlID0KKyAgICAgICJQT1NUIC9sb29rRm9yL3NvbWV0aGluZy9lbHNlIEhUVFAvMS4xXHJcbkhvc3Q6IDE5Mi4xNjguMC4xXHJcbkNvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vanNvblxyXG5Db250ZW50LWxlbmd0aDogMjlcclxuXHJcbntcImtleTFcIiA6IHZhbDEsXCJrZXkyXCIgOiB2YWwyfSI7CisKKworICAgIENJRUNfU1RSSU5HIGRlc3QgPSAicmFuZG9tIHRleHQiOworICAgIENJRUNfU1RSSU5HIGRlc3RFbXB0eSA9ICIiOworICAgIENJRUNfU1RSSU5HIGhvc3QgPSAiMC4wLjAuMCI7CisgICAgQ0lFQ19TVFJJTkcgcGF0aCA9ICIvIjsKKyAgICBDSUVDX1NUUklORyBkYXRhID0gImtleTE9dmFsMTtrZXkyPXZhbDIiOworICAgIENJRUNfU1RSSU5HIGRhdGFDaGFuZ2VkID0gImtleTE9dmFsMUNoYW5nZWQ7a2V5MkNoYW5nZWQ9dmFsMiI7CisgICAgQ0lFQ19TVFJJTkcgY29udGVudFR5cGUgPSAidGV4dC94bWwiOworCisgICAgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNyZWF0ZVB1dFBvc3RSZXF1ZXN0KGRlc3QsIGhvc3QsIHBhdGgsIGRhdGEsIGNvbnRlbnRUeXBlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyOjplX1BVVCk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGRlc3QuZ2V0VmFsdWUoKSwgcHV0UmVzdWx0VmFsaWQxKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwodHJ1ZSwgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNoYW5nZVB1dFBvc3REYXRhKGRlc3QsIGRhdGFDaGFuZ2VkKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGRlc3QuZ2V0VmFsdWUoKSwgcHV0UmVzdWx0VmFsaWQxQ2hhbmdlZCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjaGFuZ2VQdXRQb3N0RGF0YShkZXN0LCBkYXRhKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGRlc3QuZ2V0VmFsdWUoKSwgcHV0UmVzdWx0VmFsaWQxKSk7CisKKyAgICBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6Y3JlYXRlUHV0UG9zdFJlcXVlc3QoZGVzdCwgaG9zdCwgcGF0aCwgZGF0YSwgY29udGVudFR5cGUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXI6OmVfUE9TVCk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGRlc3QuZ2V0VmFsdWUoKSwgcG9zdFJlc3VsdFZhbGlkMSkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjaGFuZ2VQdXRQb3N0RGF0YShkZXN0LCBkYXRhQ2hhbmdlZCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChkZXN0LmdldFZhbHVlKCksIHBvc3RSZXN1bHRWYWxpZDFDaGFuZ2VkKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwodHJ1ZSwgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNoYW5nZVB1dFBvc3REYXRhKGRlc3QsIGRhdGEpKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoZGVzdC5nZXRWYWx1ZSgpLCBwb3N0UmVzdWx0VmFsaWQxKSk7CisKKyAgICBCT09TVF9DSEVDS19FUVVBTChmYWxzZSwgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNoYW5nZVB1dFBvc3REYXRhKGRlc3RFbXB0eSwgZGF0YSkpOworICAgIGRhdGFDaGFuZ2VkID0gIiI7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZmFsc2UsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjaGFuZ2VQdXRQb3N0RGF0YShkZXN0RW1wdHksIGRhdGFDaGFuZ2VkKSk7CisKKyAgICBob3N0ID0gIjE5Mi4xNjguMC4xIjsKKyAgICBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6Y3JlYXRlUHV0UG9zdFJlcXVlc3QoZGVzdCwgaG9zdCwgcGF0aCwgZGF0YSwgY29udGVudFR5cGUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXI6OmVfUFVUKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoZGVzdC5nZXRWYWx1ZSgpLCBwdXRSZXN1bHRWYWxpZDIpKTsKKyAgICBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6Y3JlYXRlUHV0UG9zdFJlcXVlc3QoZGVzdCwgaG9zdCwgcGF0aCwgZGF0YSwgY29udGVudFR5cGUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXI6OmVfUE9TVCk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGRlc3QuZ2V0VmFsdWUoKSwgcG9zdFJlc3VsdFZhbGlkMikpOworCisgICAgcGF0aCA9ICIvbG9va0ZvciI7CisgICAgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNyZWF0ZVB1dFBvc3RSZXF1ZXN0KGRlc3QsIGhvc3QsIHBhdGgsIGRhdGEsIGNvbnRlbnRUeXBlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyOjplX1BVVCk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGRlc3QuZ2V0VmFsdWUoKSwgcHV0UmVzdWx0VmFsaWQzKSk7CisgICAgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNyZWF0ZVB1dFBvc3RSZXF1ZXN0KGRlc3QsIGhvc3QsIHBhdGgsIGRhdGEsIGNvbnRlbnRUeXBlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyOjplX1BPU1QpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChkZXN0LmdldFZhbHVlKCksIHBvc3RSZXN1bHRWYWxpZDMpKTsKKworICAgIHBhdGggPSAiL2xvb2tGb3Ivc29tZXRoaW5nL2Vsc2UiOworICAgIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjcmVhdGVQdXRQb3N0UmVxdWVzdChkZXN0LCBob3N0LCBwYXRoLCBkYXRhLCBjb250ZW50VHlwZSwgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllcjo6ZV9QVVQpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChkZXN0LmdldFZhbHVlKCksIHB1dFJlc3VsdFZhbGlkNCkpOworICAgIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjcmVhdGVQdXRQb3N0UmVxdWVzdChkZXN0LCBob3N0LCBwYXRoLCBkYXRhLCBjb250ZW50VHlwZSwgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllcjo6ZV9QT1NUKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoZGVzdC5nZXRWYWx1ZSgpLCBwb3N0UmVzdWx0VmFsaWQ0KSk7CisKKyAgICBkYXRhID0gIiI7CisgICAgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNyZWF0ZVB1dFBvc3RSZXF1ZXN0KGRlc3QsIGhvc3QsIHBhdGgsIGRhdGEsIGNvbnRlbnRUeXBlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyOjplX1BVVCk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGRlc3QuZ2V0VmFsdWUoKSwgcHV0RW1wdHlEYXRhKSk7CisgICAgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OmNyZWF0ZVB1dFBvc3RSZXF1ZXN0KGRlc3QsIGhvc3QsIHBhdGgsIGRhdGEsIGNvbnRlbnRUeXBlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cENvbUxheWVyOjplX1BPU1QpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChkZXN0LmdldFZhbHVlKCksIHBvc3RFbXB0eURhdGEpKTsKKworICAgIGNvbnRlbnRUeXBlID0gImFwcGxpY2F0aW9uL2pzb24iOworICAgIGRhdGEgPSAie1wia2V5MVwiIDogdmFsMSxcImtleTJcIiA6IHZhbDJ9IjsKKyAgICBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6Y3JlYXRlUHV0UG9zdFJlcXVlc3QoZGVzdCwgaG9zdCwgcGF0aCwgZGF0YSwgY29udGVudFR5cGUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwQ29tTGF5ZXI6OmVfUFVUKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoZGVzdC5nZXRWYWx1ZSgpLCBwdXRKU09OVHlwZSkpOworICAgIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjcmVhdGVQdXRQb3N0UmVxdWVzdChkZXN0LCBob3N0LCBwYXRoLCBkYXRhLCBjb250ZW50VHlwZSwgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBDb21MYXllcjo6ZV9QT1NUKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoZGVzdC5nZXRWYWx1ZSgpLCBwb3N0SlNPTlR5cGUpKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKHBhcnNlUmVzcG9uc2VfdGVzdCkgeworCisgICAgQ0lFQ19TVFJJTkcgdmFsaWRSZXBvbnNlID0gIkhUVFAvMS4xIDIwMCBPS1xyXG5Db250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxua2V5MT12YWwxO2tleTI9dmFsMiI7CisgICAgQ0lFQ19TVFJJTkcgdmFsaWRSZXBvbnNlTm9Cb2R5ID0gIkhUVFAvMS4xIDIwMCBPS1xyXG4iOworICAgIENJRUNfU1RSSU5HIHdvcm5nRmlyc3RMaW5lID0gIkhUVFAvMS4xIDIwMCBPS1xuQ29udGVudC1UeXBlOiB0ZXh0L2h0bWwiOworICAgIENJRUNfU1RSSU5HIHdvcm5nU3RhdHVzTGluZSA9ICJIVFRQLzEuMSAyMDBPS1xyXG5Db250ZW50LVR5cGU6IHRleHQvaHRtbFxyXG5cclxua2V5MT12YWwxO2tleTI9dmFsMiI7CisKKyAgICBDSUVDX1NUUklORyBib2R5OworICAgIENJRUNfU1RSSU5HIHJlc3BvbnNlQ29kZTsKKworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZVJlc3BvbnNlKGJvZHksIHJlc3BvbnNlQ29kZSwgdmFsaWRSZXBvbnNlLmdldFZhbHVlKCkpKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoYm9keS5nZXRWYWx1ZSgpLCAia2V5MT12YWwxO2tleTI9dmFsMiIpKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAocmVzcG9uc2VDb2RlLmdldFZhbHVlKCksICIyMDAiKSk7CisKKyAgICByZXNwb25zZUNvZGUgPSAiIjsKKyAgICBCT09TVF9DSEVDS19FUVVBTCh0cnVlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6cGFyc2VSZXNwb25zZShib2R5LCByZXNwb25zZUNvZGUsIHZhbGlkUmVwb25zZU5vQm9keS5nZXRWYWx1ZSgpKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKGJvZHkuZ2V0VmFsdWUoKSwgIiIpKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAocmVzcG9uc2VDb2RlLmdldFZhbHVlKCksICIyMDAiKSk7CisKKyAgICBCT09TVF9DSEVDS19FUVVBTChmYWxzZSwgZm9ydGU6OmNvbV9pbmZyYTo6Q0h0dHBQYXJzZXI6OnBhcnNlUmVzcG9uc2UoYm9keSwgcmVzcG9uc2VDb2RlLCB3b3JuZ0ZpcnN0TGluZS5nZXRWYWx1ZSgpKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZmFsc2UsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZVJlc3BvbnNlKGJvZHksIHJlc3BvbnNlQ29kZSwgd29ybmdTdGF0dXNMaW5lLmdldFZhbHVlKCkpKTsKKworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoY3JlYXRlUmVzcG9uc2VfdGVzdCkgeworCisgICAgY29uc3QgY2hhciogdmFsaWRSZXN1bHQgPSAiSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vanNvblxyXG5Db250ZW50LWxlbmd0aDogMjlcclxuXHJcbntcImtleTFcIiA6IHZhbDEsXCJrZXkyXCIgOiB2YWwyfSI7CisgICAgY29uc3QgY2hhciogdmFsaWRSZXN1bHROb0JvZHkgPSAiSFRUUC8xLjEgMjAwIE9LXHJcbiI7CisKKyAgICBDSUVDX1NUUklORyBkZXN0OworICAgIENJRUNfU1RSSU5HIHJlc3VsdCA9ICJIVFRQLzEuMSAyMDAgT0siOworICAgIENJRUNfU1RSSU5HIGNvbnRlbnRUeXBlID0gImFwcGxpY2F0aW9uL2pzb24iOworICAgIENJRUNfU1RSSU5HIGRhdGEgPSAie1wia2V5MVwiIDogdmFsMSxcImtleTJcIiA6IHZhbDJ9IjsKKworICAgIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjcmVhdGVSZXNwb25zZShkZXN0LCByZXN1bHQsIGNvbnRlbnRUeXBlLCBkYXRhKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoZGVzdC5nZXRWYWx1ZSgpLCB2YWxpZFJlc3VsdCkpOworCisgICAgZGF0YSA9ICIiOworICAgIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpjcmVhdGVSZXNwb25zZShkZXN0LCByZXN1bHQsIGNvbnRlbnRUeXBlLCBkYXRhKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoZGVzdC5nZXRWYWx1ZSgpLCB2YWxpZFJlc3VsdE5vQm9keSkpOworCisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShwYXJzZUdldFJlcXVlc3RfdGVzdCkgeworICAgIENJRUNfU1RSSU5HIHJlc3VsdFZhbGlkTm9QYXJhbWV0ZXJzID0gIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6IDAuMC4wLjBcclxuXHJcbiI7CisgICAgQ0lFQ19TVFJJTkcgcmVzdWx0VmFsaWROb1BhcmFtZXRlcnMyID0gIkdFVCAvcGF0aC90by9sb29rIEhUVFAvMS4xXHJcbkhvc3Q6IDAuMC4wLjBcclxuXHJcbiI7CisgICAgQ0lFQ19TVFJJTkcgcmVzdWx0VmFsaWRQYXJhbSA9ICJHRVQgLz9rZXkxPXZhbDEgSFRUUC8xLjFcclxuSG9zdDogMC4wLjAuMFxyXG5cclxuIjsKKyAgICBDSUVDX1NUUklORyByZXN1bHRWYWxpZFBhcmFtcyA9ICJHRVQgLz9rZXkxPXZhbDEma2V5Mj12YWwyIEhUVFAvMS4xXHJcbkhvc3Q6IDAuMC4wLjBcclxuXHJcbiI7CisgICAgQ0lFQ19TVFJJTkcgcmVzdWx0VmFsaWRQYXJhbTIgPSAiR0VUIC9wYXRoL3RvL2xvb2s/a2V5MT12YWwxIEhUVFAvMS4xXHJcbkhvc3Q6IDAuMC4wLjBcclxuXHJcbiI7CisgICAgQ0lFQ19TVFJJTkcgcmVzdWx0VmFsaWRQYXJhbXMyID0gIkdFVCAvcGF0aC90by9sb29rP2tleTE9dmFsMSZrZXkyPXZhbDIgSFRUUC8xLjFcclxuSG9zdDogMC4wLjAuMFxyXG5cclxuIjsKKworICAgIENJRUNfU1RSSU5HIGludmFsaWRHRVQgPSAiR2V0IC8gSFRUUC8xLjFcclxuSG9zdDogMC4wLjAuMFxyXG5cclxuIjsKKyAgICBDSUVDX1NUUklORyBpbnZhbGlkUGF0aCA9ICJHRVQgL3BhdGhIVFRQLzEuMVxyXG4iOworCisgICAgQ0lFQ19TVFJJTkcgcGF0aDsKKyAgICBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz4gcGFyYW1ldGVyTmFtZXM7CisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+IHBhcmFtZXRlclZhbHVlczsKKworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZUdldFJlcXVlc3QocGF0aCwgcGFyYW1ldGVyTmFtZXMsIHBhcmFtZXRlclZhbHVlcywgcmVzdWx0VmFsaWROb1BhcmFtZXRlcnMuZ2V0VmFsdWUoKSkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChwYXRoLmdldFZhbHVlKCksICIvIikpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIHBhcmFtZXRlck5hbWVzLmlzRW1wdHkoKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwodHJ1ZSwgcGFyYW1ldGVyVmFsdWVzLmlzRW1wdHkoKSk7CisKKyAgICBCT09TVF9DSEVDS19FUVVBTCh0cnVlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6cGFyc2VHZXRSZXF1ZXN0KHBhdGgsIHBhcmFtZXRlck5hbWVzLCBwYXJhbWV0ZXJWYWx1ZXMsIHJlc3VsdFZhbGlkTm9QYXJhbWV0ZXJzMi5nZXRWYWx1ZSgpKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKHBhdGguZ2V0VmFsdWUoKSwgIi9wYXRoL3RvL2xvb2siKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwodHJ1ZSwgcGFyYW1ldGVyTmFtZXMuaXNFbXB0eSgpKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCh0cnVlLCBwYXJhbWV0ZXJWYWx1ZXMuaXNFbXB0eSgpKTsKKworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZUdldFJlcXVlc3QocGF0aCwgcGFyYW1ldGVyTmFtZXMsIHBhcmFtZXRlclZhbHVlcywgcmVzdWx0VmFsaWRQYXJhbS5nZXRWYWx1ZSgpKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKHBhdGguZ2V0VmFsdWUoKSwgIi8iKSk7CisKKyAgICBDU2luZ2x5TGlua2VkTGlzdDxDSUVDX1NUUklORz46Okl0ZXJhdG9yIG5hbWVzSXRlciA9IHBhcmFtZXRlck5hbWVzLmJlZ2luKCk7CisgICAgQ1NpbmdseUxpbmtlZExpc3Q8Q0lFQ19TVFJJTkc+OjpJdGVyYXRvciB2YWx1ZXNJdGVyID0gcGFyYW1ldGVyVmFsdWVzLmJlZ2luKCk7CisKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoKCpuYW1lc0l0ZXIpLmdldFZhbHVlKCksICJrZXkxIikpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcCgoKnZhbHVlc0l0ZXIpLmdldFZhbHVlKCksICJ2YWwxIikpOworCisgICAgcGFyYW1ldGVyTmFtZXMuY2xlYXJBbGwoKTsKKyAgICBwYXJhbWV0ZXJWYWx1ZXMuY2xlYXJBbGwoKTsKKworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZUdldFJlcXVlc3QocGF0aCwgcGFyYW1ldGVyTmFtZXMsIHBhcmFtZXRlclZhbHVlcywgcmVzdWx0VmFsaWRQYXJhbXMuZ2V0VmFsdWUoKSkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChwYXRoLmdldFZhbHVlKCksICIvIikpOworCisgICAgbmFtZXNJdGVyID0gcGFyYW1ldGVyTmFtZXMuYmVnaW4oKTsKKyAgICB2YWx1ZXNJdGVyID0gcGFyYW1ldGVyVmFsdWVzLmJlZ2luKCk7CisKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoKCpuYW1lc0l0ZXIpLmdldFZhbHVlKCksICJrZXkxIikpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcCgoKnZhbHVlc0l0ZXIpLmdldFZhbHVlKCksICJ2YWwxIikpOworICAgICsrbmFtZXNJdGVyOworICAgICsrdmFsdWVzSXRlcjsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoKCpuYW1lc0l0ZXIpLmdldFZhbHVlKCksICJrZXkyIikpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcCgoKnZhbHVlc0l0ZXIpLmdldFZhbHVlKCksICJ2YWwyIikpOworCisgICAgcGFyYW1ldGVyTmFtZXMuY2xlYXJBbGwoKTsKKyAgICBwYXJhbWV0ZXJWYWx1ZXMuY2xlYXJBbGwoKTsKKworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZUdldFJlcXVlc3QocGF0aCwgcGFyYW1ldGVyTmFtZXMsIHBhcmFtZXRlclZhbHVlcywgcmVzdWx0VmFsaWRQYXJhbTIuZ2V0VmFsdWUoKSkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcChwYXRoLmdldFZhbHVlKCksICIvcGF0aC90by9sb29rIikpOworCisgICAgbmFtZXNJdGVyID0gcGFyYW1ldGVyTmFtZXMuYmVnaW4oKTsKKyAgICB2YWx1ZXNJdGVyID0gcGFyYW1ldGVyVmFsdWVzLmJlZ2luKCk7CisKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoKCpuYW1lc0l0ZXIpLmdldFZhbHVlKCksICJrZXkxIikpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDAsIHN0cmNtcCgoKnZhbHVlc0l0ZXIpLmdldFZhbHVlKCksICJ2YWwxIikpOworCisgICAgcGFyYW1ldGVyTmFtZXMuY2xlYXJBbGwoKTsKKyAgICBwYXJhbWV0ZXJWYWx1ZXMuY2xlYXJBbGwoKTsKKworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIGZvcnRlOjpjb21faW5mcmE6OkNIdHRwUGFyc2VyOjpwYXJzZUdldFJlcXVlc3QocGF0aCwgcGFyYW1ldGVyTmFtZXMsIHBhcmFtZXRlclZhbHVlcywgcmVzdWx0VmFsaWRQYXJhbXMyLmdldFZhbHVlKCkpKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAocGF0aC5nZXRWYWx1ZSgpLCAiL3BhdGgvdG8vbG9vayIpKTsKKworICAgIG5hbWVzSXRlciA9IHBhcmFtZXRlck5hbWVzLmJlZ2luKCk7CisgICAgdmFsdWVzSXRlciA9IHBhcmFtZXRlclZhbHVlcy5iZWdpbigpOworCisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKCgqbmFtZXNJdGVyKS5nZXRWYWx1ZSgpLCAia2V5MSIpKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoKCp2YWx1ZXNJdGVyKS5nZXRWYWx1ZSgpLCAidmFsMSIpKTsKKyAgICArK25hbWVzSXRlcjsKKyAgICArK3ZhbHVlc0l0ZXI7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMCwgc3RyY21wKCgqbmFtZXNJdGVyKS5nZXRWYWx1ZSgpLCAia2V5MiIpKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgwLCBzdHJjbXAoKCp2YWx1ZXNJdGVyKS5nZXRWYWx1ZSgpLCAidmFsMiIpKTsKKworICAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6cGFyc2VHZXRSZXF1ZXN0KHBhdGgsIHBhcmFtZXRlck5hbWVzLCBwYXJhbWV0ZXJWYWx1ZXMsIGludmFsaWRHRVQuZ2V0VmFsdWUoKSkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCBmb3J0ZTo6Y29tX2luZnJhOjpDSHR0cFBhcnNlcjo6cGFyc2VHZXRSZXF1ZXN0KHBhdGgsIHBhcmFtZXRlck5hbWVzLCBwYXJhbWV0ZXJWYWx1ZXMsIGludmFsaWRQYXRoLmdldFZhbHVlKCkpKTsKKworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvQ01ha2VMaXN0cy50eHQgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvQ01ha2VMaXN0cy50eHQKaW5kZXggNTI1ODY3Ni4uYTUyOGQ5ZiAxMDA2NDQKLS0tIGEvdGVzdHMvbW9kdWxlcy9JRUM2MTEzMS0zL0NNYWtlTGlzdHMudHh0CisrKyBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9DTWFrZUxpc3RzLnR4dApAQCAtMSwxNSArMSwyMiBAQAogIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lOCi0jICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotIyAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0jICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKLSMgKgotIyAqIENvbnRyaWJ1dG9yczoKLSMgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjIENvcHlyaWdodCAoYykgMjAxOCBUVSBXaWVuL0FDSU4KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorIyAKKyMgQ29udHJpYnV0b3JzOgorIyAgICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgogIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBUZXN0cyBmb3IgdGhlIElFQyA2MTEzMS0zIGZ1bmN0aW9uIEZCcwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIGZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKEZfRElWX3Rlc3Rlci5jcHApCitmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChGX1RJTUVfSU5fU19UT19MSU5UX3Rlc3Rlci5jcHAgRl9USU1FX0lOX01TX1RPX0xJTlRfdGVzdGVyLmNwcCkKK2ZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKEZfVElNRV9JTl9VU19UT19MSU5UX3Rlc3Rlci5jcHAgRl9USU1FX0lOX05TX1RPX0xJTlRfdGVzdGVyLmNwcCkKK2ZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKEZfVElNRV9JTl9TX1RPX1VMSU5UX3Rlc3Rlci5jcHAgRl9USU1FX0lOX01TX1RPX1VMSU5UX3Rlc3Rlci5jcHApCitmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChGX1RJTUVfSU5fVVNfVE9fVUxJTlRfdGVzdGVyLmNwcCBGX1RJTUVfSU5fTlNfVE9fVUxJTlRfdGVzdGVyLmNwcCkKK2ZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKEZfVElNRV9JTl9TX1RPX0xSRUFMX3Rlc3Rlci5jcHAgRl9USU1FX0lOX01TX1RPX0xSRUFMX3Rlc3Rlci5jcHApCitmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChGX1RJTUVfSU5fVVNfVE9fTFJFQUxfdGVzdGVyLmNwcCBGX1RJTUVfSU5fTlNfVE9fTFJFQUxfdGVzdGVyLmNwcCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9ESVZfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX0RJVl90ZXN0ZXIuY3BwCmluZGV4IDQ3ZTBlMGUuLjcwOWQ2ZmYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX0RJVl90ZXN0ZXIuY3BwCisrKyBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX0RJVl90ZXN0ZXIuY3BwCkBAIC0xLDUyICsxLDMwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDE4LCBUVSBXaWVuL0FDSU4KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBDb3B5cmlnaHQgKGMpIDIwMTggVFUgV2llbi9BQ0lOCisgKiAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGluaXRpYWwgdGVzdHMKKyAqICAgQWxvaXMgWm9pdGwgLSBtaWdyYXRlZCBmYiB0ZXN0cyB0byBib29zdCB0ZXN0IGluZnJhc3RydWN0dXJlCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXIuaCIKLSNpbmNsdWRlICIuLi8uLi9tb2R1bGVzL0lFQzYxMTMxLTMvQXJpdGhtZXRpYy9GX0RJVi5oIgorI2luY2x1ZGUgIi4uLy4uL2NvcmUvZmJ0ZXN0cy9mYnRlc3RmaXh0dXJlLmgiCiAKICNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKICNpbmNsdWRlICJGX0RJVl90ZXN0ZXJfZ2VuLmNwcCIKICNlbmRpZgogCi1jbGFzcyBGX0RJVl90ZXN0ZXIgOiBwdWJsaWMgQ0ZCVGVzdGVyewotICBERUNMQVJFX0ZCX1RFU1RFUihGX0RJVl90ZXN0ZXIpCi0gICAgOwotICBwdWJsaWM6CitzdHJ1Y3QgRl9ERVZfVGVzdEZpeHR1cmUgOiBwdWJsaWMgQ0ZCVGVzdEZpeHR1cmVCYXNlewogCi0gIHByaXZhdGU6Ci0gICAgRl9ESVZfdGVzdGVyKENSZXNvdXJjZSogbVRlc3RSZXNvdXJjZSkgOgotICAgICAgICBDRkJUZXN0ZXIobVRlc3RSZXNvdXJjZSl7CisgICAgRl9ERVZfVGVzdEZpeHR1cmUoKSA6IENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEZfRElWKXsKICAgICAgIFNFVFVQX0lOUFVUREFUQSgmbUluMV9ESVYsICZtSW4yX0RJVik7CiAgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0X0RJVik7Ci0gICAgfQotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlQWxsVGVzdHMoKXsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV92YWxpZERpdmlzaW9uKCksICJWYWxpZCBkaXZpc2lvbiIpOwotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX2RpdmlzaW9uQnlaZXJvKCksICJEaXZpc2lvbiBieSB6ZXJvIik7CisgICAgICBDRkJUZXN0Rml4dHVyZUJhc2U6OnNldHVwKCk7CiAgICAgfQogCi0gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotICAgIGJvb2wgdGVzdENhc2VfdmFsaWREaXZpc2lvbigpewotICAgICAgbUluMV9ESVYgPSAzMDsKLSAgICAgIG1JbjJfRElWID0gNTsKLSAgICAgIC8qIHRyaWdnZXIgdGhlIGlucHV0ZXZlbnQgKi8KLSAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgIHJldHVybiBjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApOwotICAgIH0KLQotICAgIGJvb2wgdGVzdENhc2VfZGl2aXNpb25CeVplcm8oKXsKLSAgICAgIG1JbjFfRElWID0gMzA7Ci0gICAgICBtSW4yX0RJViA9IDA7Ci0gICAgICAvKiB0cmlnZ2VyIHRoZSBpbnB1dGV2ZW50ICovCi0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICByZXR1cm4gY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKTsKLSAgICB9CiAKICAgICBDSUVDX0lOVCBtSW4xX0RJVjsgLy9EQVRBIElOUFVUCiAgICAgQ0lFQ19JTlQgbUluMl9ESVY7IC8vREFUQSBJTlBVVApAQCAtNTQsNCArMzIsMjMgQEAKICAgICBDSUVDX0lOVCBtT3V0X0RJVjsKIH07CiAKLURFRklORV9GQl9URVNURVIoRl9ESVZfdGVzdGVyLCBnX25TdHJpbmdJZEZfRElWKTsKK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggRl9ESVZfVGVzdHMsIEZfREVWX1Rlc3RGaXh0dXJlKQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKHZhbGlkRGl2aXNpb24peworICAgIG1JbjFfRElWID0gMzA7CisgICAgbUluMl9ESVYgPSA1OworICAgIC8qIHRyaWdnZXIgdGhlIGlucHV0ZXZlbnQgKi8KKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoNiwgbU91dF9ESVYpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoZGl2aXNpb25CeVplcm8peworICAgIG1JbjFfRElWID0gMzA7CisgICAgbUluMl9ESVYgPSAwOworICAgIC8qIHRyaWdnZXIgdGhlIGlucHV0ZXZlbnQgKi8KKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgIH0KKworQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX01TX1RPX0xJTlRfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fTVNfVE9fTElOVF90ZXN0ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNzhhNTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX01TX1RPX0xJTlRfdGVzdGVyLmNwcApAQCAtMCwwICsxLDQxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCB0ZXN0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKKworI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9NU19UT19MSU5UX3Rlc3Rlcl9nZW4uY3BwIgorI2VuZGlmCisKK3N0cnVjdCBGX1RJTUVfSU5fTVNfVE9fTElOVF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2UgeworCisgICAgRl9USU1FX0lOX01TX1RPX0xJTlRfVGVzdEZpeHR1cmUoKSA6CisgICAgICAgIENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEZfVElNRV9JTl9NU19UT19MSU5UKSB7CisgICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9GX1RJTUVfSU5fTVNfVE9fTElOVCk7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0X0ZfVElNRV9JTl9NU19UT19MSU5UKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKKyAgICB9CisKKyAgICBDSUVDX1RJTUUgbUluX0ZfVElNRV9JTl9NU19UT19MSU5UOyAvL0RBVEEgSU5QVVQKKyAgICBDSUVDX0xJTlQgbU91dF9GX1RJTUVfSU5fTVNfVE9fTElOVDsgLy9EQVRBIE9VVFBVVAorfTsKKworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBGX1RJTUVfSU5fTVNfVE9fTElOVF9UZXN0cywgRl9USU1FX0lOX01TX1RPX0xJTlRfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UodGltZUNvbnZlcnNpb24pIHsKKyAgICBtSW5fRl9USU1FX0lOX01TX1RPX0xJTlQuZnJvbVN0cmluZygiVCMyZDVoNDNtMTJzNDRtcyIpOworICAgIC8qIHRyaWdnZXIgdGhlIGlucHV0ZXZlbnQgKi8KKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoSU5UNjRfQygxNzI4MDAwMDApICsgSU5UNjRfQygxODAwMDAwMCkgKyBJTlQ2NF9DKDI1ODAwMDApICsgSU5UNjRfQygxMjAwMCkgKyBJTlQ2NF9DKDQ0KSwgbU91dF9GX1RJTUVfSU5fTVNfVE9fTElOVCk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fTVNfVE9fTFJFQUxfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fTVNfVE9fTFJFQUxfdGVzdGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDAzZTZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbW9kdWxlcy9JRUM2MTEzMS0zL0ZfVElNRV9JTl9NU19UT19MUkVBTF90ZXN0ZXIuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIHRlc3RzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIgorCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiRl9USU1FX0lOX01TX1RPX0xSRUFMX3Rlc3Rlcl9nZW4uY3BwIgorI2VuZGlmCisKK3N0cnVjdCBGX1RJTUVfSU5fTVNfVE9fTFJFQUxfVGVzdEZpeHR1cmUgOiBwdWJsaWMgQ0ZCVGVzdEZpeHR1cmVCYXNlIHsKKworICAgIEZfVElNRV9JTl9NU19UT19MUkVBTF9UZXN0Rml4dHVyZSgpIDoKKyAgICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRl9USU1FX0lOX01TX1RPX0xSRUFMKSB7CisgICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9GX1RJTUVfSU5fTVNfVE9fTFJFQUwpOworICAgICAgU0VUVVBfT1VUUFVUREFUQSgmbU91dF9GX1RJTUVfSU5fTVNfVE9fTFJFQUwpOworICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpzZXR1cCgpOworICAgIH0KKworICAgIENJRUNfVElNRSBtSW5fRl9USU1FX0lOX01TX1RPX0xSRUFMOyAvL0RBVEEgSU5QVVQKKyAgICBDSUVDX0xSRUFMIG1PdXRfRl9USU1FX0lOX01TX1RPX0xSRUFMOyAvL0RBVEEgT1VUUFVUCit9OworCitCT09TVF9GSVhUVVJFX1RFU1RfU1VJVEUoIEZfVElNRV9JTl9NU19UT19MUkVBTF9UZXN0cywgRl9USU1FX0lOX01TX1RPX0xSRUFMX1Rlc3RGaXh0dXJlKQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKHRpbWVDb252ZXJzaW9uKSB7CisgICAgbUluX0ZfVElNRV9JTl9NU19UT19MUkVBTC5mcm9tU3RyaW5nKCJUIzJkNWg0M20xMnM0NG1zMjd1czMxbnMiKTsKKyAgICAvKiB0cmlnZ2VyIHRoZSBpbnB1dGV2ZW50ICovCisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHN0YXRpY19jYXN0PENJRUNfTFJFQUw+KElOVDY0X0MoMTcyODAwMDAwMDAwMDAwKSArIElOVDY0X0MoMTgwMDAwMDAwMDAwMDApICsgSU5UNjRfQygyNTgwMDAwMDAwMDAwKSArIElOVDY0X0MoMTIwMDAwMDAwMDApICsgSU5UNjRfQyg0NDAwMDAwMCkgKyBJTlQ2NF9DKDI3MDAwKSArIElOVDY0X0MoMzEpKSAvIHN0YXRpY19jYXN0PENJRUNfTFJFQUw+KDFFNiksIG1PdXRfRl9USU1FX0lOX01TX1RPX0xSRUFMKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvbW9kdWxlcy9JRUM2MTEzMS0zL0ZfVElNRV9JTl9NU19UT19VTElOVF90ZXN0ZXIuY3BwIGIvdGVzdHMvbW9kdWxlcy9JRUM2MTEzMS0zL0ZfVElNRV9JTl9NU19UT19VTElOVF90ZXN0ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhMTAxMjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX01TX1RPX1VMSU5UX3Rlc3Rlci5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGluaXRpYWwgdGVzdHMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2luY2x1ZGUgIi4uLy4uL2NvcmUvZmJ0ZXN0cy9mYnRlc3RmaXh0dXJlLmgiCisKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fTVNfVE9fVUxJTlRfdGVzdGVyX2dlbi5jcHAiCisjZW5kaWYKKworc3RydWN0IEZfVElNRV9JTl9NU19UT19VTElOVF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2UgeworCisgICAgRl9USU1FX0lOX01TX1RPX1VMSU5UX1Rlc3RGaXh0dXJlKCkgOgorICAgICAgICBDRkJUZXN0Rml4dHVyZUJhc2UoZ19uU3RyaW5nSWRGX1RJTUVfSU5fTVNfVE9fVUxJTlQpIHsKKyAgICAgIFNFVFVQX0lOUFVUREFUQSgmbUluX0ZfVElNRV9JTl9NU19UT19VTElOVCk7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0X0ZfVElNRV9JTl9NU19UT19VTElOVCk7CisgICAgICBDRkJUZXN0Rml4dHVyZUJhc2U6OnNldHVwKCk7CisgICAgfQorCisgICAgQ0lFQ19USU1FIG1Jbl9GX1RJTUVfSU5fTVNfVE9fVUxJTlQ7IC8vREFUQSBJTlBVVAorICAgIENJRUNfVUxJTlQgbU91dF9GX1RJTUVfSU5fTVNfVE9fVUxJTlQ7IC8vREFUQSBPVVRQVVQKK307CisKK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggRl9USU1FX0lOX01TX1RPX1VMSU5UX1Rlc3RzLCBGX1RJTUVfSU5fTVNfVE9fVUxJTlRfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UodGltZUNvbnZlcnNpb24pIHsKKyAgICBtSW5fRl9USU1FX0lOX01TX1RPX1VMSU5ULmZyb21TdHJpbmcoIlQjMmQ1aDQzbTEyczQ0bXMiKTsKKyAgICAvKiB0cmlnZ2VyIHRoZSBpbnB1dGV2ZW50ICovCisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKFVJTlQ2NF9DKDE3MjgwMDAwMCkgKyBVSU5UNjRfQygxODAwMDAwMCkgKyBVSU5UNjRfQygyNTgwMDAwKSArIFVJTlQ2NF9DKDEyMDAwKSArIFVJTlQ2NF9DKDQ0KSwgbU91dF9GX1RJTUVfSU5fTVNfVE9fVUxJTlQpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX05TX1RPX0xJTlRfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fTlNfVE9fTElOVF90ZXN0ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYmQxNmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX05TX1RPX0xJTlRfdGVzdGVyLmNwcApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCB0ZXN0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKKworI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9OU19UT19MSU5UX3Rlc3Rlcl9nZW4uY3BwIgorI2VuZGlmCisKK3N0cnVjdCBGX1RJTUVfSU5fTlNfVE9fTElOVF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2UgeworCisgICAgRl9USU1FX0lOX05TX1RPX0xJTlRfVGVzdEZpeHR1cmUoKSA6CisgICAgICAgIENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEZfVElNRV9JTl9OU19UT19MSU5UKSB7CisgICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9GX1RJTUVfSU5fTlNfVE9fTElOVCk7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0X0ZfVElNRV9JTl9OU19UT19MSU5UKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKKyAgICB9CisKKyAgICBDSUVDX1RJTUUgbUluX0ZfVElNRV9JTl9OU19UT19MSU5UOyAvL0RBVEEgSU5QVVQKKyAgICBDSUVDX0xJTlQgbU91dF9GX1RJTUVfSU5fTlNfVE9fTElOVDsgLy9EQVRBIE9VVFBVVAorfTsKKworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBGX1RJTUVfSU5fTlNfVE9fTElOVF9UZXN0cywgRl9USU1FX0lOX05TX1RPX0xJTlRfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UodGltZUNvbnZlcnNpb24pIHsKKyAgICBtSW5fRl9USU1FX0lOX05TX1RPX0xJTlQuZnJvbVN0cmluZygiVCMyZDVoNDNtMTJzNDRtczI3dXMzMW5zIik7CisgICAgLyogdHJpZ2dlciB0aGUgaW5wdXRldmVudCAqLworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgKKyAgICAgIElOVDY0X0MoMTcyODAwMDAwMDAwMDAwKSArIElOVDY0X0MoMTgwMDAwMDAwMDAwMDApICsgSU5UNjRfQygyNTgwMDAwMDAwMDAwKSArIElOVDY0X0MoMTIwMDAwMDAwMDApICsgSU5UNjRfQyg0NDAwMDAwMCkgKyBJTlQ2NF9DKDI3MDAwKSArIElOVDY0X0MoMzEpLAorICAgICAgbU91dF9GX1RJTUVfSU5fTlNfVE9fTElOVCk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fTlNfVE9fTFJFQUxfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fTlNfVE9fTFJFQUxfdGVzdGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDg3ZWI4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvbW9kdWxlcy9JRUM2MTEzMS0zL0ZfVElNRV9JTl9OU19UT19MUkVBTF90ZXN0ZXIuY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIHRlc3RzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIgorCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiRl9USU1FX0lOX05TX1RPX0xSRUFMX3Rlc3Rlcl9nZW4uY3BwIgorI2VuZGlmCisKK3N0cnVjdCBGX1RJTUVfSU5fTlNfVE9fTFJFQUxfVGVzdEZpeHR1cmUgOiBwdWJsaWMgQ0ZCVGVzdEZpeHR1cmVCYXNlIHsKKworICAgIEZfVElNRV9JTl9OU19UT19MUkVBTF9UZXN0Rml4dHVyZSgpIDoKKyAgICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRl9USU1FX0lOX05TX1RPX0xSRUFMKSB7CisgICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9GX1RJTUVfSU5fTlNfVE9fTFJFQUwpOworICAgICAgU0VUVVBfT1VUUFVUREFUQSgmbU91dF9GX1RJTUVfSU5fTlNfVE9fTFJFQUwpOworICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpzZXR1cCgpOworICAgIH0KKworICAgIENJRUNfVElNRSBtSW5fRl9USU1FX0lOX05TX1RPX0xSRUFMOyAvL0RBVEEgSU5QVVQKKyAgICBDSUVDX0xSRUFMIG1PdXRfRl9USU1FX0lOX05TX1RPX0xSRUFMOyAvL0RBVEEgT1VUUFVUCit9OworCitCT09TVF9GSVhUVVJFX1RFU1RfU1VJVEUoIEZfVElNRV9JTl9OU19UT19MUkVBTF9UZXN0cywgRl9USU1FX0lOX05TX1RPX0xSRUFMX1Rlc3RGaXh0dXJlKQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKHRpbWVDb252ZXJzaW9uKSB7CisgICAgbUluX0ZfVElNRV9JTl9OU19UT19MUkVBTC5mcm9tU3RyaW5nKCJUIzJkNWg0M20xMnM0NG1zMjd1czMxbnMiKTsKKyAgICAvKiB0cmlnZ2VyIHRoZSBpbnB1dGV2ZW50ICovCisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKAorICAgICAgc3RhdGljX2Nhc3Q8Q0lFQ19MUkVBTD4oSU5UNjRfQygxNzI4MDAwMDAwMDAwMDApICsgSU5UNjRfQygxODAwMDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDI1ODAwMDAwMDAwMDApICsgSU5UNjRfQygxMjAwMDAwMDAwMCkgKyBJTlQ2NF9DKDQ0MDAwMDAwKSArIElOVDY0X0MoMjcwMDApICsgSU5UNjRfQygzMSkpLAorICAgICAgbU91dF9GX1RJTUVfSU5fTlNfVE9fTFJFQUwpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX05TX1RPX1VMSU5UX3Rlc3Rlci5jcHAgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX05TX1RPX1VMSU5UX3Rlc3Rlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTExZjhiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fTlNfVE9fVUxJTlRfdGVzdGVyLmNwcApAQCAtMCwwICsxLDQzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCB0ZXN0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKKworI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9OU19UT19VTElOVF90ZXN0ZXJfZ2VuLmNwcCIKKyNlbmRpZgorCitzdHJ1Y3QgRl9USU1FX0lOX05TX1RPX1VMSU5UX1Rlc3RGaXh0dXJlIDogcHVibGljIENGQlRlc3RGaXh0dXJlQmFzZSB7CisKKyAgICBGX1RJTUVfSU5fTlNfVE9fVUxJTlRfVGVzdEZpeHR1cmUoKSA6CisgICAgICAgIENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEZfVElNRV9JTl9OU19UT19VTElOVCkgeworICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5fRl9USU1FX0lOX05TX1RPX1VMSU5UKTsKKyAgICAgIFNFVFVQX09VVFBVVERBVEEoJm1PdXRfRl9USU1FX0lOX05TX1RPX1VMSU5UKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKKyAgICB9CisKKyAgICBDSUVDX1RJTUUgbUluX0ZfVElNRV9JTl9OU19UT19VTElOVDsgLy9EQVRBIElOUFVUCisgICAgQ0lFQ19VTElOVCBtT3V0X0ZfVElNRV9JTl9OU19UT19VTElOVDsgLy9EQVRBIE9VVFBVVAorfTsKKworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBGX1RJTUVfSU5fTlNfVE9fVUxJTlRfVGVzdHMsIEZfVElNRV9JTl9OU19UT19VTElOVF9UZXN0Rml4dHVyZSkKKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRSh0aW1lQ29udmVyc2lvbikgeworICAgIG1Jbl9GX1RJTUVfSU5fTlNfVE9fVUxJTlQuZnJvbVN0cmluZygiVCMyZDVoNDNtMTJzNDRtczI3dXMzMW5zIik7CisgICAgLyogdHJpZ2dlciB0aGUgaW5wdXRldmVudCAqLworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCgKKyAgICAgIFVJTlQ2NF9DKDE3MjgwMDAwMDAwMDAwMCkgKyBVSU5UNjRfQygxODAwMDAwMDAwMDAwMCkgKyBVSU5UNjRfQygyNTgwMDAwMDAwMDAwKSArIFVJTlQ2NF9DKDEyMDAwMDAwMDAwKSArIFVJTlQ2NF9DKDQ0MDAwMDAwKSArIFVJTlQ2NF9DKDI3MDAwKSArIFVJTlQ2NF9DKDMxKSwKKyAgICAgIG1PdXRfRl9USU1FX0lOX05TX1RPX1VMSU5UKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvbW9kdWxlcy9JRUM2MTEzMS0zL0ZfVElNRV9JTl9TX1RPX0xJTlRfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fU19UT19MSU5UX3Rlc3Rlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNlMzkzOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fU19UT19MSU5UX3Rlc3Rlci5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOSBUVSBXaWVuL0FDSU4KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBNYXJ0aW4gTWVsaWstTWVya3VtaWFucyAtIGluaXRpYWwgdGVzdHMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworI2luY2x1ZGUgIi4uLy4uL2NvcmUvZmJ0ZXN0cy9mYnRlc3RmaXh0dXJlLmgiCisKKyNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKKyNpbmNsdWRlICJGX1RJTUVfSU5fU19UT19MSU5UX3Rlc3Rlcl9nZW4uY3BwIgorI2VuZGlmCisKK3N0cnVjdCBGX1RJTUVfSU5fU19UT19MSU5UX1Rlc3RGaXh0dXJlIDogcHVibGljIENGQlRlc3RGaXh0dXJlQmFzZSB7CisKKyAgICBGX1RJTUVfSU5fU19UT19MSU5UX1Rlc3RGaXh0dXJlKCkgOgorICAgICAgICBDRkJUZXN0Rml4dHVyZUJhc2UoZ19uU3RyaW5nSWRGX1RJTUVfSU5fU19UT19MSU5UKSB7CisgICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9GX1RJTUVfSU5fU19UT19MSU5UKTsKKyAgICAgIFNFVFVQX09VVFBVVERBVEEoJm1PdXRfRl9USU1FX0lOX1NfVE9fTElOVCk7CisgICAgICBDRkJUZXN0Rml4dHVyZUJhc2U6OnNldHVwKCk7CisgICAgfQorCisgICAgQ0lFQ19USU1FIG1Jbl9GX1RJTUVfSU5fU19UT19MSU5UOyAvL0RBVEEgSU5QVVQKKyAgICBDSUVDX0xJTlQgbU91dF9GX1RJTUVfSU5fU19UT19MSU5UOyAvL0RBVEEgT1VUUFVUCit9OworCitCT09TVF9GSVhUVVJFX1RFU1RfU1VJVEUoIEZfVElNRV9JTl9TX1RPX0xJTlRfVGVzdHMsIEZfVElNRV9JTl9TX1RPX0xJTlRfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UodGltZUNvbnZlcnNpb24pIHsKKyAgICBtSW5fRl9USU1FX0lOX1NfVE9fTElOVC5mcm9tU3RyaW5nKCJUIzJkNWg0M20xMnMiKTsKKyAgICAvKiB0cmlnZ2VyIHRoZSBpbnB1dGV2ZW50ICovCisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKElOVDY0X0MoMTcyODAwKSArIElOVDY0X0MoMTgwMDApICsgSU5UNjRfQygyNTgwKSArIElOVDY0X0MoMTIpLCBtT3V0X0ZfVElNRV9JTl9TX1RPX0xJTlQpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX1NfVE9fTFJFQUxfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fU19UT19MUkVBTF90ZXN0ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzMTdhZjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX1NfVE9fTFJFQUxfdGVzdGVyLmNwcApAQCAtMCwwICsxLDQxIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCB0ZXN0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKKworI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9TX1RPX0xSRUFMX3Rlc3Rlcl9nZW4uY3BwIgorI2VuZGlmCisKK3N0cnVjdCBGX1RJTUVfSU5fU19UT19MUkVBTF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2UgeworCisgICAgRl9USU1FX0lOX1NfVE9fTFJFQUxfVGVzdEZpeHR1cmUoKSA6CisgICAgICAgIENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEZfVElNRV9JTl9TX1RPX0xSRUFMKSB7CisgICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9GX1RJTUVfSU5fU19UT19MUkVBTCk7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0X0ZfVElNRV9JTl9TX1RPX0xSRUFMKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKKyAgICB9CisKKyAgICBDSUVDX1RJTUUgbUluX0ZfVElNRV9JTl9TX1RPX0xSRUFMOyAvL0RBVEEgSU5QVVQKKyAgICBDSUVDX0xSRUFMIG1PdXRfRl9USU1FX0lOX1NfVE9fTFJFQUw7IC8vREFUQSBPVVRQVVQKK307CisKK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggRl9USU1FX0lOX1NfVE9fTFJFQUxfVGVzdHMsIEZfVElNRV9JTl9TX1RPX0xSRUFMX1Rlc3RGaXh0dXJlKQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKHRpbWVDb252ZXJzaW9uKSB7CisgICAgbUluX0ZfVElNRV9JTl9TX1RPX0xSRUFMLmZyb21TdHJpbmcoIlQjMmQ1aDQzbTEyczQ0bXMyN3VzMzFucyIpOworICAgIC8qIHRyaWdnZXIgdGhlIGlucHV0ZXZlbnQgKi8KKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoc3RhdGljX2Nhc3Q8Q0lFQ19MUkVBTD4oSU5UNjRfQygxNzI4MDAwMDAwMDAwMDApICsgSU5UNjRfQygxODAwMDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDI1ODAwMDAwMDAwMDApICsgSU5UNjRfQygxMjAwMDAwMDAwMCkgKyBJTlQ2NF9DKDQ0MDAwMDAwKSArIElOVDY0X0MoMjcwMDApICsgSU5UNjRfQygzMSkpIC8gc3RhdGljX2Nhc3Q8Q0lFQ19MUkVBTD4oMUU5KSwgbU91dF9GX1RJTUVfSU5fU19UT19MUkVBTCk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKZGlmZiAtLWdpdCBhL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fU19UT19VTElOVF90ZXN0ZXIuY3BwIGIvdGVzdHMvbW9kdWxlcy9JRUM2MTEzMS0zL0ZfVElNRV9JTl9TX1RPX1VMSU5UX3Rlc3Rlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFlZWMwYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fU19UT19VTElOVF90ZXN0ZXIuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgVFUgV2llbi9BQ0lOCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAorICoKKyAqIENvbnRyaWJ1dG9yczoKKyAqICAgTWFydGluIE1lbGlrLU1lcmt1bWlhbnMgLSBpbml0aWFsIHRlc3RzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIgorCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiRl9USU1FX0lOX1NfVE9fVUxJTlRfdGVzdGVyX2dlbi5jcHAiCisjZW5kaWYKKworc3RydWN0IEZfVElNRV9JTl9TX1RPX1VMSU5UX1Rlc3RGaXh0dXJlIDogcHVibGljIENGQlRlc3RGaXh0dXJlQmFzZSB7CisKKyAgICBGX1RJTUVfSU5fU19UT19VTElOVF9UZXN0Rml4dHVyZSgpIDoKKyAgICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRl9USU1FX0lOX1NfVE9fVUxJTlQpIHsKKyAgICAgIFNFVFVQX0lOUFVUREFUQSgmbUluX0ZfVElNRV9JTl9TX1RPX1VMSU5UKTsKKyAgICAgIFNFVFVQX09VVFBVVERBVEEoJm1PdXRfRl9USU1FX0lOX1NfVE9fVUxJTlQpOworICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpzZXR1cCgpOworICAgIH0KKworICAgIENJRUNfVElNRSBtSW5fRl9USU1FX0lOX1NfVE9fVUxJTlQ7IC8vREFUQSBJTlBVVAorICAgIENJRUNfVUxJTlQgbU91dF9GX1RJTUVfSU5fU19UT19VTElOVDsgLy9EQVRBIE9VVFBVVAorfTsKKworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBGX1RJTUVfSU5fU19UT19VTElOVF9UZXN0cywgRl9USU1FX0lOX1NfVE9fVUxJTlRfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UodGltZUNvbnZlcnNpb24pIHsKKyAgICBtSW5fRl9USU1FX0lOX1NfVE9fVUxJTlQuZnJvbVN0cmluZygiVCMyZDVoNDNtMTJzIik7CisgICAgLyogdHJpZ2dlciB0aGUgaW5wdXRldmVudCAqLworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTChVSU5UNjRfQygxNzI4MDApICsgVUlOVDY0X0MoMTgwMDApICsgVUlOVDY0X0MoMjU4MCkgKyBVSU5UNjRfQygxMiksIG1PdXRfRl9USU1FX0lOX1NfVE9fVUxJTlQpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX1VTX1RPX0xJTlRfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fVVNfVE9fTElOVF90ZXN0ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkNjBiM2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX1VTX1RPX0xJTlRfdGVzdGVyLmNwcApAQCAtMCwwICsxLDQyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCB0ZXN0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKKworI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9VU19UT19MSU5UX3Rlc3Rlcl9nZW4uY3BwIgorI2VuZGlmCisKK3N0cnVjdCBGX1RJTUVfSU5fVVNfVE9fTElOVF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2UgeworCisgICAgRl9USU1FX0lOX1VTX1RPX0xJTlRfVGVzdEZpeHR1cmUoKSA6CisgICAgICAgIENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEZfVElNRV9JTl9VU19UT19MSU5UKSB7CisgICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9GX1RJTUVfSU5fVVNfVE9fTElOVCk7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0X0ZfVElNRV9JTl9VU19UT19MSU5UKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKKyAgICB9CisKKyAgICBDSUVDX1RJTUUgbUluX0ZfVElNRV9JTl9VU19UT19MSU5UOyAvL0RBVEEgSU5QVVQKKyAgICBDSUVDX0xJTlQgbU91dF9GX1RJTUVfSU5fVVNfVE9fTElOVDsgLy9EQVRBIE9VVFBVVAorfTsKKworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBGX1RJTUVfSU5fVVNfVE9fTElOVF9UZXN0cywgRl9USU1FX0lOX1VTX1RPX0xJTlRfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UodGltZUNvbnZlcnNpb24pIHsKKyAgICBtSW5fRl9USU1FX0lOX1VTX1RPX0xJTlQuZnJvbVN0cmluZygiVCMyZDVoNDNtMTJzNDRtczI3dXMiKTsKKyAgICAvKiB0cmlnZ2VyIHRoZSBpbnB1dGV2ZW50ICovCisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKElOVDY0X0MoMTcyODAwMDAwMDAwKSArIElOVDY0X0MoMTgwMDAwMDAwMDApICsgSU5UNjRfQygyNTgwMDAwMDAwKSArIElOVDY0X0MoMTIwMDAwMDApICsgSU5UNjRfQyg0NDAwMCkgKyBJTlQ2NF9DKDI3KSwKKyAgICAgIG1PdXRfRl9USU1FX0lOX1VTX1RPX0xJTlQpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX1VTX1RPX0xSRUFMX3Rlc3Rlci5jcHAgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX1VTX1RPX0xSRUFMX3Rlc3Rlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk3NjU0ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fVVNfVE9fTFJFQUxfdGVzdGVyLmNwcApAQCAtMCwwICsxLDQyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCB0ZXN0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKKworI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9VU19UT19MUkVBTF90ZXN0ZXJfZ2VuLmNwcCIKKyNlbmRpZgorCitzdHJ1Y3QgRl9USU1FX0lOX1VTX1RPX0xSRUFMX1Rlc3RGaXh0dXJlIDogcHVibGljIENGQlRlc3RGaXh0dXJlQmFzZSB7CisKKyAgICBGX1RJTUVfSU5fVVNfVE9fTFJFQUxfVGVzdEZpeHR1cmUoKSA6CisgICAgICAgIENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEZfVElNRV9JTl9VU19UT19MUkVBTCkgeworICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5fRl9USU1FX0lOX1VTX1RPX0xSRUFMKTsKKyAgICAgIFNFVFVQX09VVFBVVERBVEEoJm1PdXRfRl9USU1FX0lOX1VTX1RPX0xSRUFMKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKKyAgICB9CisKKyAgICBDSUVDX1RJTUUgbUluX0ZfVElNRV9JTl9VU19UT19MUkVBTDsgLy9EQVRBIElOUFVUCisgICAgQ0lFQ19MUkVBTCBtT3V0X0ZfVElNRV9JTl9VU19UT19MUkVBTDsgLy9EQVRBIE9VVFBVVAorfTsKKworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBGX1RJTUVfSU5fVVNfVE9fTFJFQUxfVGVzdHMsIEZfVElNRV9JTl9VU19UT19MUkVBTF9UZXN0Rml4dHVyZSkKKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRSh0aW1lQ29udmVyc2lvbikgeworICAgIG1Jbl9GX1RJTUVfSU5fVVNfVE9fTFJFQUwuZnJvbVN0cmluZygiVCMyZDVoNDNtMTJzNDRtczI3dXMzMW5zIik7CisgICAgLyogdHJpZ2dlciB0aGUgaW5wdXRldmVudCAqLworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTChzdGF0aWNfY2FzdDxDSUVDX0xSRUFMPihJTlQ2NF9DKDE3MjgwMDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDE4MDAwMDAwMDAwMDAwKSArIElOVDY0X0MoMjU4MDAwMDAwMDAwMCkgKyBJTlQ2NF9DKDEyMDAwMDAwMDAwKSArIElOVDY0X0MoNDQwMDAwMDApICsgSU5UNjRfQygyNzAwMCkgKyBJTlQ2NF9DKDMxKSkgLyBzdGF0aWNfY2FzdDxDSUVDX0xSRUFMPigxRTMpLAorICAgICAgbU91dF9GX1RJTUVfSU5fVVNfVE9fTFJFQUwpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX1VTX1RPX1VMSU5UX3Rlc3Rlci5jcHAgYi90ZXN0cy9tb2R1bGVzL0lFQzYxMTMxLTMvRl9USU1FX0lOX1VTX1RPX1VMSU5UX3Rlc3Rlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjAxNWExNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21vZHVsZXMvSUVDNjExMzEtMy9GX1RJTUVfSU5fVVNfVE9fVUxJTlRfdGVzdGVyLmNwcApAQCAtMCwwICsxLDQyIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogQ29weXJpZ2h0IChjKSAyMDE5IFRVIFdpZW4vQUNJTgorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKKyAqCisgKiBDb250cmlidXRvcnM6CisgKiAgIE1hcnRpbiBNZWxpay1NZXJrdW1pYW5zIC0gaW5pdGlhbCB0ZXN0cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKKworI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAorI2luY2x1ZGUgIkZfVElNRV9JTl9VU19UT19VTElOVF90ZXN0ZXJfZ2VuLmNwcCIKKyNlbmRpZgorCitzdHJ1Y3QgRl9USU1FX0lOX1VTX1RPX1VMSU5UX1Rlc3RGaXh0dXJlIDogcHVibGljIENGQlRlc3RGaXh0dXJlQmFzZSB7CisKKyAgICBGX1RJTUVfSU5fVVNfVE9fVUxJTlRfVGVzdEZpeHR1cmUoKSA6CisgICAgICAgIENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEZfVElNRV9JTl9VU19UT19VTElOVCkgeworICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5fRl9USU1FX0lOX1VTX1RPX1VMSU5UKTsKKyAgICAgIFNFVFVQX09VVFBVVERBVEEoJm1PdXRfRl9USU1FX0lOX1VTX1RPX1VMSU5UKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKKyAgICB9CisKKyAgICBDSUVDX1RJTUUgbUluX0ZfVElNRV9JTl9VU19UT19VTElOVDsgLy9EQVRBIElOUFVUCisgICAgQ0lFQ19VTElOVCBtT3V0X0ZfVElNRV9JTl9VU19UT19VTElOVDsgLy9EQVRBIE9VVFBVVAorfTsKKworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBGX1RJTUVfSU5fVVNfVE9fVUxJTlRfVGVzdHMsIEZfVElNRV9JTl9VU19UT19VTElOVF9UZXN0Rml4dHVyZSkKKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRSh0aW1lQ29udmVyc2lvbikgeworICAgIG1Jbl9GX1RJTUVfSU5fVVNfVE9fVUxJTlQuZnJvbVN0cmluZygiVCMyZDVoNDNtMTJzNDRtczI3dXMiKTsKKyAgICAvKiB0cmlnZ2VyIHRoZSBpbnB1dGV2ZW50ICovCisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKFVJTlQ2NF9DKDE3MjgwMDAwMDAwMCkgKyBVSU5UNjRfQygxODAwMDAwMDAwMCkgKyBVSU5UNjRfQygyNTgwMDAwMDAwKSArIFVJTlQ2NF9DKDEyMDAwMDAwKSArIFVJTlQ2NF9DKDQ0MDAwKSArIFVJTlQ2NF9DKDI3KSwKKyAgICAgIG1PdXRfRl9USU1FX0lOX1VTX1RPX1VMSU5UKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvbW9kdWxlcy91dGlscy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL21vZHVsZXMvdXRpbHMvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YjA0OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL21vZHVsZXMvdXRpbHMvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSwxNyBAQAorIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyMgQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEpvc2UgQ2FicmFsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFRlc3RzIGZvciB0aGUgdXRpbHMgZnVuY3Rpb24gRkJzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChHRVRfU1RSVUNUX1ZBTFVFX3Rlc3Rlci5jcHApCmRpZmYgLS1naXQgYS90ZXN0cy9tb2R1bGVzL3V0aWxzL0dFVF9TVFJVQ1RfVkFMVUVfdGVzdGVyLmNwcCBiL3Rlc3RzL21vZHVsZXMvdXRpbHMvR0VUX1NUUlVDVF9WQUxVRV90ZXN0ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3M2U3NGQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9tb2R1bGVzL3V0aWxzL0dFVF9TVFJVQ1RfVkFMVUVfdGVzdGVyLmNwcApAQCAtMCwwICsxLDE4NiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgZm9ydGlzcyBHbWJICisgKiAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisgKgorICogQ29udHJpYnV0b3JzOgorICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgdGVzdHMKKyAqICAgQWxvaXMgWm9pdGwgLSBtaWdyYXRlZCBmYiB0ZXN0cyB0byBib29zdCB0ZXN0IGluZnJhc3RydWN0dXJlCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIgorCisjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCisjaW5jbHVkZSAiR0VUX1NUUlVDVF9WQUxVRV90ZXN0ZXJfZ2VuLmNwcCIKKyNlbmRpZgorCitjbGFzcyBDSUVDX0dFVF9TVFJVQ1RfVkFMVUVfU3RydWN0X3Rlc3QxIDogcHVibGljIENJRUNfU1RSVUNUIHsKKyAgREVDTEFSRV9GSVJNV0FSRV9EQVRBVFlQRShHRVRfU1RSVUNUX1ZBTFVFX1N0cnVjdF90ZXN0MSkKKworICAgIC8qIFN0cnVjdDoKKyAgICAgKiAgIFZhbDEgOiBTdHJpbmdbM10KKyAgICAgKiAgIFZhbDIgOiBJTlQKKyAgICAgKi8KKworICBwdWJsaWM6CisgICAgQ0lFQ19HRVRfU1RSVUNUX1ZBTFVFX1N0cnVjdF90ZXN0MSgpIDoKKyAgICAgICAgQ0lFQ19TVFJVQ1QoZ19uU3RyaW5nSWRHRVRfU1RSVUNUX1ZBTFVFX1N0cnVjdF90ZXN0MSwgMiwgc2NtX3VuRWxlbWVudFR5cGVzLCBzY21fdW5FbGVtZW50TmFtZXMsIGVfQVBQTElDQVRJT04gKyBlX0NPTlNUUlVDVEVEICsgMSkgeworICAgIH0KKworICAgIHZpcnR1YWwgfkNJRUNfR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDEoKSB7CisgICAgfQorCisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBzaXplT2ZGaXJzdEFycmF5ID0gMjsKKworICBwcml2YXRlOgorICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV91bkVsZW1lbnRUeXBlc1tdOworICAgIHN0YXRpYyBjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIHNjbV91bkVsZW1lbnROYW1lc1tdOworfTsKKworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBDSUVDX0dFVF9TVFJVQ1RfVkFMVUVfU3RydWN0X3Rlc3QxOjpzY21fdW5FbGVtZW50VHlwZXNbXSA9IHsgZ19uU3RyaW5nSWRBUlJBWSwgc2l6ZU9mRmlyc3RBcnJheSwgZ19uU3RyaW5nSWRTVFJJTkcsCisgIGdfblN0cmluZ0lkSU5UIH07Citjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIENJRUNfR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDE6OnNjbV91bkVsZW1lbnROYW1lc1tdID0geyBnX25TdHJpbmdJZFZhbDEsIGdfblN0cmluZ0lkVmFsMiB9OworCitERUZJTkVfRklSTVdBUkVfREFUQVRZUEUoR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDEsIGdfblN0cmluZ0lkR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDEpCisKK2NsYXNzIENJRUNfR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDIgOiBwdWJsaWMgQ0lFQ19TVFJVQ1QgeworICBERUNMQVJFX0ZJUk1XQVJFX0RBVEFUWVBFKEdFVF9TVFJVQ1RfVkFMVUVfU3RydWN0X3Rlc3QyKQorCisgICAgLyogU3RydWN0OgorICAgICAqICAgVmFsMSA6IElOVAorICAgICAqICAgVmFsMiA6IENJRUNfR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDEKKyAgICAgKi8KKworICBwdWJsaWM6CisgICAgQ0lFQ19HRVRfU1RSVUNUX1ZBTFVFX1N0cnVjdF90ZXN0MigpIDoKKyAgICAgICAgQ0lFQ19TVFJVQ1QoZ19uU3RyaW5nSWRHRVRfU1RSVUNUX1ZBTFVFX1N0cnVjdF90ZXN0MiwgMiwgc2NtX3VuRWxlbWVudFR5cGVzLCBzY21fdW5FbGVtZW50TmFtZXMsIGVfQVBQTElDQVRJT04gKyBlX0NPTlNUUlVDVEVEICsgMSkgeworICAgIH0KKworICAgIHZpcnR1YWwgfkNJRUNfR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDIoKSB7CisgICAgfQorCisgIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX3VuRWxlbWVudFR5cGVzW107CisgICAgc3RhdGljIGNvbnN0IENTdHJpbmdEaWN0aW9uYXJ5OjpUU3RyaW5nSWQgc2NtX3VuRWxlbWVudE5hbWVzW107Cit9OworCitjb25zdCBDU3RyaW5nRGljdGlvbmFyeTo6VFN0cmluZ0lkIENJRUNfR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDI6OnNjbV91bkVsZW1lbnRUeXBlc1tdID0geyBnX25TdHJpbmdJZElOVCwgZ19uU3RyaW5nSWRHRVRfU1RSVUNUX1ZBTFVFX1N0cnVjdF90ZXN0MSB9OworY29uc3QgQ1N0cmluZ0RpY3Rpb25hcnk6OlRTdHJpbmdJZCBDSUVDX0dFVF9TVFJVQ1RfVkFMVUVfU3RydWN0X3Rlc3QyOjpzY21fdW5FbGVtZW50TmFtZXNbXSA9IHsgZ19uU3RyaW5nSWRWYWwxLCBnX25TdHJpbmdJZFZhbDIgfTsKKworREVGSU5FX0ZJUk1XQVJFX0RBVEFUWVBFKEdFVF9TVFJVQ1RfVkFMVUVfU3RydWN0X3Rlc3QyLCBnX25TdHJpbmdJZEdFVF9TVFJVQ1RfVkFMVUVfU3RydWN0X3Rlc3QyKQorCisKKworc3RydWN0IEdFVF9TVFJVQ1RfVkFMVUVfR2VuZXJpY1Rlc3RGaXh0dXJlIDogcHVibGljIENGQlRlc3RGaXh0dXJlQmFzZXsKKworICAgIEdFVF9TVFJVQ1RfVkFMVUVfR2VuZXJpY1Rlc3RGaXh0dXJlKENJRUNfQU5ZICpwYUlOX1NUUlVDVCwgQ0lFQ19BTlkgKnBhT1VUKSA6CisgICAgICAgIENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEdFVF9TVFJVQ1RfVkFMVUUpeworICAgICAgU0VUVVBfSU5QVVREQVRBKHBhSU5fU1RSVUNULCAmbU1lbWJlcik7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtUU8sIHBhT1VUKTsKKyAgICB9CisKKyAgICBDSUVDX1NUUklORyBtTWVtYmVyOworICAgIENJRUNfQk9PTCBtUU87Cit9OworCitzdHJ1Y3QgR0VUX1NUUlVDVF9WQUxVRV9NYWluX1Rlc3RGaXh0dXJlIDogcHVibGljIEdFVF9TVFJVQ1RfVkFMVUVfR2VuZXJpY1Rlc3RGaXh0dXJleworCisgICAgR0VUX1NUUlVDVF9WQUxVRV9NYWluX1Rlc3RGaXh0dXJlKCkgOgorICAgICAgICBHRVRfU1RSVUNUX1ZBTFVFX0dlbmVyaWNUZXN0Rml4dHVyZSgmbUluX3N0cnVjdCwgJm1PdXQpeworICAgICAgbUluX3N0cnVjdC5mcm9tU3RyaW5nKCIoVmFsMTo9MSxWYWwyOj0oVmFsMTo9WydzdHJpbjEnLCdzdHJpbmcyJywnJ10sIFZhbDI6PTIpKSIpOworICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpzZXR1cCgpOworICAgIH0KKworICAgIENJRUNfR0VUX1NUUlVDVF9WQUxVRV9TdHJ1Y3RfdGVzdDIgbUluX3N0cnVjdDsKKyAgICBDSUVDX0lOVCBtT3V0OworfTsKKworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBHRVRfU1RSVUNUX1ZBTFVFX01haW5UZXN0cywgR0VUX1NUUlVDVF9WQUxVRV9NYWluX1Rlc3RGaXh0dXJlKQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKGZpcnN0TGV2ZWwpIHsKKyAgICBtTWVtYmVyID0gIlZhbDEiOworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTCh0cnVlLCBtUU8pOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKDEsIG1PdXQpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0Uoc2Vjb25kTGV2ZWwpIHsKKyAgICBtTWVtYmVyID0gIlZhbDIuVmFsMiI7CisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIG1RTyk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoMiwgbU91dCk7CisgIH0KKworCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKGZpcnN0TGV2ZWxXcm9uZ05hbWUpIHsKKyAgICBtTWVtYmVyID0gInhWYWwxIjsKKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZmFsc2UsIG1RTyk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShmaXJzdExldmVsV3JvbmdOYW1lV2l0aFNlY29uZExldmVsKSB7CisgICAgbU1lbWJlciA9ICJ4VmFsMS5WYWwyIjsKKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZmFsc2UsIG1RTyk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShzZWNvbmRMZXZlbFdyb25nTmFtZSkgeworICAgIG1NZW1iZXIgPSAiVmFsMi54VmFsMiI7CisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCBtUU8pOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoYWNjZXNzTm9uU3RydWN0KSB7CisgICAgbU1lbWJlciA9ICJWYWwxLlZhbDEiOworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICBCT09TVF9DSEVDS19FUVVBTChmYWxzZSwgbVFPKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKHdyb25nT3V0cHV0VHlwZSkgeworICAgIG1NZW1iZXIgPSAiVmFsMi5WYWwxIjsKKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgICAgQk9PU1RfQ0hFQ0tfRVFVQUwoZmFsc2UsIG1RTyk7CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShXcm9uZ0V2ZW50SW5wdXQpIHsKKyAgICBtTWVtYmVyID0gIlZhbDIuVmFsMSI7CisgICAgdHJpZ2dlckV2ZW50KDEpOworICAgIEJPT1NUX0NIRUNLKGV2ZW50Q2hhaW5FbXB0eSgpKTsKKyAgfQorCitCT09TVF9BVVRPX1RFU1RfU1VJVEVfRU5EKCkKKworCitzdHJ1Y3QgR0VUX1NUUlVDVF9WQUxVRV9XUk9OR19PVVRQVVRfVFlQRV9UZXN0Rml4dHVyZSA6IHB1YmxpYyBHRVRfU1RSVUNUX1ZBTFVFX0dlbmVyaWNUZXN0Rml4dHVyZXsKKworICAgIEdFVF9TVFJVQ1RfVkFMVUVfV1JPTkdfT1VUUFVUX1RZUEVfVGVzdEZpeHR1cmUoKSA6CisgICAgICAgIEdFVF9TVFJVQ1RfVkFMVUVfR2VuZXJpY1Rlc3RGaXh0dXJlKCZtSW5fc3RydWN0LCAmbU91dCl7CisgICAgICBtSW5fc3RydWN0ID0gMTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKKyAgICB9CisKKyAgICBDSUVDX0lOVCBtSW5fc3RydWN0OworICAgIENJRUNfSU5UIG1PdXQ7Cit9OworCitCT09TVF9GSVhUVVJFX1RFU1RfU1VJVEUoIEdFVF9TVFJVQ1RfVkFMVUVfV1JPTkdfT1VUUFVUX1RZUEVUZXN0cywgR0VUX1NUUlVDVF9WQUxVRV9XUk9OR19PVVRQVVRfVFlQRV9UZXN0Rml4dHVyZSkKKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRSh3cm9uZ0lucHV0VHlwZSkgeworICAgIG1NZW1iZXIgPSAiVmFsMSI7CisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCBtUU8pOworICB9CisKK0JPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQorCmRpZmYgLS1naXQgYS90ZXN0cy9zdGRmYmxpYi9DRkJfVEVTVC5jcHAgYi90ZXN0cy9zdGRmYmxpYi9DRkJfVEVTVC5jcHAKaW5kZXggZTkwNGYxYy4uNDllYmY4YyAxMDA2NDQKLS0tIGEvdGVzdHMvc3RkZmJsaWIvQ0ZCX1RFU1QuY3BwCisrKyBiL3Rlc3RzL3N0ZGZibGliL0NGQl9URVNULmNwcApAQCAtMSw5ICsxLDEwIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkZmJsaWIvQ0ZCX1RFU1QuaCBiL3Rlc3RzL3N0ZGZibGliL0NGQl9URVNULmgKaW5kZXggZmE0MmY2OS4uZjQ2ODA2ZCAxMDA2NDQKLS0tIGEvdGVzdHMvc3RkZmJsaWIvQ0ZCX1RFU1QuaAorKysgYi90ZXN0cy9zdGRmYmxpYi9DRkJfVEVTVC5oCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMTQgZm9ydGlzcyBHbWJICi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKLSAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0Ci0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6CiAgKiAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9zdGRmYmxpYi9DRkJfVEVTVF90ZXN0ZXIuY3BwIGIvdGVzdHMvc3RkZmJsaWIvQ0ZCX1RFU1RfdGVzdGVyLmNwcAppbmRleCAxNmZmZmU1Li44NDU5OTU2IDEwMDY0NAotLS0gYS90ZXN0cy9zdGRmYmxpYi9DRkJfVEVTVF90ZXN0ZXIuY3BwCisrKyBiL3Rlc3RzL3N0ZGZibGliL0NGQl9URVNUX3Rlc3Rlci5jcHAKQEAgLTEsMTM1ICsxLDMyIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6Ci0gKiAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqICAgQWxvaXMgWm9pdGwgLSBtaWdyYXRlZCBmYiB0ZXN0cyB0byBib29zdCB0ZXN0IGluZnJhc3RydWN0dXJlCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSNpbmNsdWRlICIuLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXIuaCIKLSNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+Ci0jaW5jbHVkZSAiQ0ZCX1RFU1QuaCIKKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIgorCiAjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCiAjaW5jbHVkZSAiQ0ZCX1RFU1RfdGVzdGVyX2dlbi5jcHAiCiAjZW5kaWYKIAotY2xhc3MgQ0ZCX1RFU1RfdGVzdGVyIDogcHVibGljIENGQlRlc3RlcnsKLSAgICBERUNMQVJFX0ZCX1RFU1RFUihDRkJfVEVTVF90ZXN0ZXIpOwotICBwdWJsaWM6Ci0gICAgQ0ZCX1RFU1RfdGVzdGVyKENSZXNvdXJjZSogbV9wb1Rlc3RSZXNvdXJjZSkgOgotICAgICAgICBDRkJUZXN0ZXIobV9wb1Rlc3RSZXNvdXJjZSl7Ci0gICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9RSSk7Ci0gICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0X1NSKTsKK3N0cnVjdCBDRkJfVEVTVF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2V7CisKKyAgICBDRkJfVEVTVF9UZXN0Rml4dHVyZSgpIDogQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkQ0ZCX1RFU1QpeworICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5RSSk7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0U1IpOworICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpzZXR1cCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgfkNGQl9URVNUX3Rlc3RlcigpIHsKLQotICAgIH0KLQotICBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlQWxsVGVzdHMoKXsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdChpbmhpYml0VGVzdCgpLCAiSW5oaWJpdCBUZXN0Iik7Ci0gICAgICBldmFsdWF0ZVRlc3RSZXN1bHQoc2V0VGVzdCgpLCAic2V0IFRlc3QiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdChyZXNldFRlc3QoKSwgInJlc2V0IFRlc3QiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0b2dnbGVUZXN0KCksICJ0b2dnbGUgVGVzdCIpOwotICAgIH0KLQotICAgIGJvb2wgaW5oaWJpdFRlc3QoKXsKLSAgICAgIGJvb2wgYlJlc3VsdCA9IHRydWU7Ci0gICAgICBtSW5fUUkgPSBmYWxzZTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDA7ICsraSl7Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKXsKLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgaWYoZmFsc2UgIT0gbU91dF9TUil7Ci0gICAgICAgICAgYlJlc3VsdCA9IGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgxKTsKLSAgICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKXsKLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgaWYoZmFsc2UgIT0gbU91dF9TUil7Ci0gICAgICAgICAgYlJlc3VsdCA9IGZhbHNlOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gYlJlc3VsdDsKLSAgICB9Ci0gICAgYm9vbCBzZXRUZXN0KCl7Ci0gICAgICBib29sIGJSZXN1bHQgPSB0cnVlOwotICAgICAgbUluX1FJID0gdHJ1ZTsKLSAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgIGlmKCFjaGVja0JvdGhPdXRwdXRFdmVudHMoKSl7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgIH0KLSAgICAgIGlmKGZhbHNlID09IG1PdXRfU1IpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwOyArK2kpewotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKXsKLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaWYoZmFsc2UgPT0gbU91dF9TUil7Ci0gICAgICAgICAgYlJlc3VsdCA9IGZhbHNlOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gYlJlc3VsdDsKLSAgICB9Ci0gICAgYm9vbCByZXNldFRlc3QoKXsKLSAgICAgIGJvb2wgYlJlc3VsdCA9IHRydWU7Ci0gICAgICBtSW5fUUkgPSB0cnVlOwotICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgY2xlYXJFdmVudENoYWluKCk7Ci0gICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICBpZighY2hlY2tCb3RoT3V0cHV0RXZlbnRzKCkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICBpZih0cnVlID09IG1PdXRfU1IpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwOyArK2kpewotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKXsKLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaWYodHJ1ZSA9PSBtT3V0X1NSKXsKLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIHJldHVybiBiUmVzdWx0OwotICAgIH0KLSAgICBib29sIHRvZ2dsZVRlc3QoKXsKLSAgICAgIGJvb2wgYlJlc3VsdCA9IHRydWU7Ci0gICAgICBtSW5fUUkgPSB0cnVlOwotICAgICAgZm9yKGludCBpID0gMDsgaSA8IDEwMDA7ICsraSl7Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQm90aE91dHB1dEV2ZW50cygpKXsKLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaWYodHJ1ZSAhPSBtT3V0X1NSKXsKLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighY2hlY2tCb3RoT3V0cHV0RXZlbnRzKCkpewotICAgICAgICAgIGJSZXN1bHQgPSBmYWxzZTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBpZihmYWxzZSAhPSBtT3V0X1NSKXsKLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIHJldHVybiBiUmVzdWx0OwotICAgIH0KKyAgICBDSUVDX0JPT0wgbUluUUk7CisgICAgQ0lFQ19CT09MIG1PdXRTUjsKIAogICAgIGJvb2wgY2hlY2tCb3RoT3V0cHV0RXZlbnRzKCl7CiAgICAgICBib29sIGJSZXN1bHQgPSB0cnVlOwpAQCAtMTQ1LDEwICs0Miw1OSBAQAogICAgICAgcmV0dXJuIGJSZXN1bHQ7CiAgICAgfQogCi0gICAgQ0lFQ19CT09MIG1Jbl9RSTsKLSAgICBDSUVDX0JPT0wgbU91dF9TUjsKIH07CiAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotREVGSU5FX0ZCX1RFU1RFUihDRkJfVEVTVF90ZXN0ZXIsIGdfblN0cmluZ0lkQ0ZCX1RFU1QpOworQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBQZXJtaXRUZXN0cywgQ0ZCX1RFU1RfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoaW5oaWJpdFRlc3QpeworICAgICAgbUluUUkgPSBmYWxzZTsKKyAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDA7ICsraSl7CisgICAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soZXZlbnRDaGFpbkVtcHR5KCkpOworICAgICAgICBCT09TVF9DSEVDS19FUVVBTChmYWxzZSwgbU91dFNSKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgICBCT09TVF9DSEVDSyhldmVudENoYWluRW1wdHkoKSk7CisgICAgICAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCBtT3V0U1IpOworICAgICAgfQorICAgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShzZXRUZXN0KXsKKyAgICAgIG1JblFJID0gdHJ1ZTsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQm90aE91dHB1dEV2ZW50cygpKTsKKyAgICAgIEJPT1NUX0NIRUNLX0VRVUFMKHRydWUsIG1PdXRTUik7CisgICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwOyArK2kpeworICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgICAgICBCT09TVF9DSEVDS19FUVVBTCh0cnVlLCBtT3V0U1IpOworICAgICAgfQorICAgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShyZXNldFRlc3QpeworICAgICAgbUluUUkgPSB0cnVlOworICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgY2xlYXJFdmVudENoYWluKCk7CisgICAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0JvdGhPdXRwdXRFdmVudHMoKSk7CisgICAgICBCT09TVF9DSEVDS19FUVVBTChmYWxzZSwgbU91dFNSKTsKKyAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDA7ICsraSl7CisgICAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgICAgICAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCBtT3V0U1IpOworICAgICAgfQorICAgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRSh0b2dnbGVUZXN0KXsKKyAgICAgIG1JblFJID0gdHJ1ZTsKKyAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCAxMDAwOyArK2kpeworICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQm90aE91dHB1dEV2ZW50cygpKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0tfRVFVQUwodHJ1ZSwgbU91dFNSKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0JvdGhPdXRwdXRFdmVudHMoKSk7CisgICAgICAgIEJPT1NUX0NIRUNLX0VRVUFMKGZhbHNlLCBtT3V0U1IpOworICAgICAgfQorICAgIH0KKworQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9zdGRmYmxpYi9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL3N0ZGZibGliL0NNYWtlTGlzdHMudHh0CmluZGV4IGMyOTcxNmQuLjRkYjk3ZTcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0ZGZibGliL0NNYWtlTGlzdHMudHh0CisrKyBiL3Rlc3RzL3N0ZGZibGliL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIyAqIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgKLSMgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0jICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSMgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAotIyAqCi0jICogQ29udHJpYnV0b3JzOgotIyAqICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyMgQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSAorIyBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyMgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorIyBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisjCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCisjIAorIyBDb250cmlidXRvcnM6CisjICAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBTRVQoU09VUkNFX0dST1VQICR7U09VUkNFX0dST1VQfVxcZmJsaWIpCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9DTWFrZUxpc3RzLnR4dCBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9DTWFrZUxpc3RzLnR4dAppbmRleCBkYmQzMmI0Li4zZGRhMDU5IDEwMDY0NAotLS0gYS90ZXN0cy9zdGRmYmxpYi9ldmVudHMvQ01ha2VMaXN0cy50eHQKKysrIGIvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0NNYWtlTGlzdHMudHh0CkBAIC0xLDEyICsxLDEzIEBACiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KLSMgKiBDb3B5cmlnaHQgKGMpIDIwMTEsIDIwMTQgQUNJTiwgZm9ydGlzcyBHbWJIDQotIyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0jICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotIyAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0DQotIyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQotIyAqDQotIyAqIENvbnRyaWJ1dG9yczoNCi0jICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyMgQ29weXJpZ2h0IChjKSAyMDExLCAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSA0KKyMgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisjIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyMgaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorIworIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KKyMgCisjIENvbnRyaWJ1dG9yczoKKyMgICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCiAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogDQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCkBAIC0xOSw3ICsyMCw2IEBACiAjZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoRV9ERUxBWV90ZXN0ZXIuY3BwKQ0KIA0KIGZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKEVfRl9UUklHX3Rlc3Rlci5jcHApDQotZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoRV9ERU1VWF90ZXN0ZXIuY3BwKQ0KIGZvcnRlX3Rlc3RfYWRkX3NvdXJjZWZpbGVfY3BwKEVfUEVSTUlUX3Rlc3Rlci5jcHApDQogZm9ydGVfdGVzdF9hZGRfc291cmNlZmlsZV9jcHAoRV9SX1RSSUdfdGVzdGVyLmNwcCkNCiBmb3J0ZV90ZXN0X2FkZF9zb3VyY2VmaWxlX2NwcChFX1NSX3Rlc3Rlci5jcHApDQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfQ1REX3Rlc3Rlci5jcHAgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9DVERfdGVzdGVyLmNwcAppbmRleCBjY2YxOWZmLi40NmFlZTA5IDEwMDY0NAotLS0gYS90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9DVERfdGVzdGVyLmNwcAorKysgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9DVERfdGVzdGVyLmNwcApAQCAtMSwxODMgKzEsNTcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTYsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgsIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIEFsb2lzIFpvaXRsIC0gbWlncmF0ZWQgZmIgdGVzdHMgdG8gYm9vc3QgdGVzdCBpbmZyYXN0cnVjdHVyZQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXIuaCIKKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIgogI2luY2x1ZGUgPGZvcnRlX3VpbnQuaD4KICNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+Ci0jaW5jbHVkZSA8RV9DVEQuaD4KKwogCiAjaWZkZWYgRk9SVEVfRU5BQkxFX0dFTkVSQVRFRF9TT1VSQ0VfQ1BQCiAjaW5jbHVkZSAiRV9DVERfdGVzdGVyX2dlbi5jcHAiCiAjZW5kaWYKIAotY2xhc3MgRV9DVERfdGVzdGVyIDogcHVibGljIENGQlRlc3RlcnsKLSAgREVDTEFSRV9GQl9URVNURVIoRV9DVERfdGVzdGVyKTsKK3N0cnVjdCBFX0NURF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2V7CiAKLSAgcHVibGljOgotICAgIEVfQ1REX3Rlc3RlcihDUmVzb3VyY2UqIG1fcG9UZXN0UmVzb3VyY2UpIDoKLSAgICAgICAgQ0ZCVGVzdGVyKG1fcG9UZXN0UmVzb3VyY2UpewotICAgICAgU0VUVVBfSU5QVVREQVRBKCZtX29Jbl9QVik7Ci0gICAgICBTRVRVUF9PVVRQVVREQVRBKCZtX29PdXRfUSwgJm1fb091dF9DVik7Ci0gICAgfQotICAgIHZpcnR1YWwgfkVfQ1REX3Rlc3RlcigpewotICAgIH0KLSAgICA7Ci0gIHByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVBbGxUZXN0cygpewotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX0V2ZW50Q0QoKSwgIkV2ZW50Q0QiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9FdmVudExEKCksICJFdmVudExEIik7Ci0gICAgICBldmFsdWF0ZVRlc3RSZXN1bHQodGVzdENhc2VfTWl4KCksICJBbHRlcm5hdGluZyBDRCBhbmQgTEQiKTsKKyAgICBFX0NURF9UZXN0Rml4dHVyZSgpIDogQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRV9DVEQpeworICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5QVik7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0USwgJm1PdXRDVik7CisgICAgICBDRkJUZXN0Rml4dHVyZUJhc2U6OnNldHVwKCk7CiAgICAgfQogCi0gICAgYm9vbCB0ZXN0Q2FzZV9FdmVudENEKCl7Ci0gICAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZUcmllcyA9IDEwMDsKLSAgICAgIFRGb3J0ZVVJbnQxNiB2YWx1ZXNUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OwotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mVmFsdWVzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzaXplb2YodmFsdWVzVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZlZhbHVlczsgaSsrKXsKLSAgICAgICAgZm9yKHVuc2lnbmVkIGludCBqID0gMDsgaiA8IG51bWJlck9mVHJpZXM7IGorKyl7Ci0gICAgICAgICAgbV9vSW5fUFYgPSB2YWx1ZXNUb1Rlc3RbaV07Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICAgIGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMSk7Ci0gICAgICAgICAgLy9TZW5kIGV2ZW50Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICAgIGlmKCFjaGVja0NEKHZhbHVlc1RvVGVzdFtpXSkpewotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGJvb2wgdGVzdENhc2VfRXZlbnRMRCgpewotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mVHJpZXMgPSAxMDA7Ci0gICAgICBURm9ydGVVSW50MTYgUFZUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OwotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mdGVzdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2l6ZW9mKFBWVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZnRlc3Q7ICsraSl7Ci0gICAgICAgIGZvcih1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBudW1iZXJPZlRyaWVzOyBqKyspewotICAgICAgICAgIG1fb0luX1BWID0gUFZUb1Rlc3RbaV07Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICAgIGlmKCFjaGVja0xEKFBWVG9UZXN0W2ldKSl7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgYm9vbCB0ZXN0Q2FzZV9NaXgoKXsKLSAgICAgIHVuc2lnbmVkIGludCBudW1iZXJPZlRyaWVzID0gMTAwOwotICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG51bWJlck9mVHJpZXM7IGkrKyl7Ci0gICAgICAgIG1fb0luX1BWID0gMDsKLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighY2hlY2tMRCgwKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ0QoMCkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBtX29Jbl9QViA9IDE7Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ0QoMCkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICAgIGlmKCFjaGVja0xEKDEpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDRCgxKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ0QoMCkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICAgIGlmKCFjaGVja0xEKDEpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighY2hlY2tMRCgxKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgxKTsKLSAgICAgICAgaWYoIWNoZWNrTEQoMSkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0NEKDEpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDRCgwKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIG1fb0luX1BWID0gNjU1MzU7Ci0gICAgICAgIHRyaWdnZXJFdmVudCgxKTsKLSAgICAgICAgaWYoIWNoZWNrTEQoNjU1MzUpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDRCg2NTUzNSkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0NEKDY1NTM0KSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgxKTsKLSAgICAgICAgaWYoIWNoZWNrTEQoNjU1MzUpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighY2hlY2tMRCg2NTUzNSkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICAgIGlmKCFjaGVja0xEKDY1NTM1KSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ0QoNjU1MzUpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDRCg2NTUzNCkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgfQotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIENJRUNfVUlOVCBtSW5QVjsgLy9QcmVzZXQgdmFsdWUKKyAgICBDSUVDX0JPT0wgbU91dFE7IC8vQ1YgPCAwCisgICAgQ0lFQ19VSU5UIG1PdXRDVjsgLy9jb3VudCB2YWx1ZQogCiAgICAgYm9vbCBjaGVja0NEKFRGb3J0ZVVJbnQxNiBwYV9wcmV2Q1YpewogICAgICAgaWYocGFfcHJldkNWIDwgMSl7CiAgICAgICAgIC8vbm8gYWxnb3JpdGhtIHNob3VsZCBoYXZlIGJlZW4gZXhlY3V0ZWQKLSAgICAgICAgaWYobV9vT3V0X0NWICE9IHBhX3ByZXZDViB8fCAhbV9vT3V0X1EgfHwgIWV2ZW50Q2hhaW5FbXB0eSgpKXsKKyAgICAgICAgaWYobU91dENWICE9IHBhX3ByZXZDViB8fCAhbU91dFEgfHwgIWV2ZW50Q2hhaW5FbXB0eSgpKXsKICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgIH0KICAgICAgIGVsc2V7Ci0gICAgICAgIGlmKCgocGFfcHJldkNWIC0gMSkgIT0gbV9vT3V0X0NWKSl7CisgICAgICAgIGlmKCgocGFfcHJldkNWIC0gMSkgIT0gbU91dENWKSl7CiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYobV9vT3V0X1EgIT0gKG1fb091dF9DViA8IDEpKXsKKyAgICAgICAgfSBlbHNlIGlmKG1PdXRRICE9IChtT3V0Q1YgPCAxKSl7CiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYoIWNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpeworICAgICAgICB9IGVsc2UgaWYoIWNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpewogICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAgICAgfQogICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorCiAgICAgYm9vbCBjaGVja0xEKFRGb3J0ZVVJbnQxNiBwYV91c2VkUFYpewotICAgICAgaWYocGFfdXNlZFBWICE9IG1fb0luX1BWIHx8IG1fb0luX1BWICE9IG1fb091dF9DViB8fCAoKHBhX3VzZWRQViA8IDEpICE9ICh0cnVlID09IG1fb091dF9RKSkpeworICAgICAgaWYocGFfdXNlZFBWICE9IG1JblBWIHx8IG1JblBWICE9IG1PdXRDViB8fCAoKHBhX3VzZWRQViA8IDEpICE9ICh0cnVlID09IG1PdXRRKSkpewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9CiAgICAgICBpZighY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgxKSl7CkBAIC0xODUsMTAgKzU5LDg2IEBACiAgICAgICB9CiAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0KLSAgICBDSUVDX1VJTlQgbV9vSW5fUFY7IC8vUHJlc2V0IHZhbHVlCi0gICAgQ0lFQ19CT09MIG1fb091dF9ROyAvL0NWIDwgMAotICAgIENJRUNfVUlOVCBtX29PdXRfQ1Y7IC8vY291bnQgdmFsdWUKIH07CiAKLURFRklORV9GQl9URVNURVIoRV9DVERfdGVzdGVyLCBnX25TdHJpbmdJZEVfQ1REKTsKK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggQ1REVGVzdHMsIEVfQ1REX1Rlc3RGaXh0dXJlKQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKEV2ZW50Q0QpeworICAgIHVuc2lnbmVkIGludCBudW1iZXJPZlRyaWVzID0gMTAwOworICAgIFRGb3J0ZVVJbnQxNiB2YWx1ZXNUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OworICAgIHVuc2lnbmVkIGludCBudW1iZXJPZlZhbHVlcyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2l6ZW9mKHZhbHVlc1RvVGVzdCkgLyBzaXplb2YoVEZvcnRlVUludDE2KSk7CisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG51bWJlck9mVmFsdWVzOyBpKyspeworICAgICAgZm9yKHVuc2lnbmVkIGludCBqID0gMDsgaiA8IG51bWJlck9mVHJpZXM7IGorKyl7CisgICAgICAgIG1JblBWID0gdmFsdWVzVG9UZXN0W2ldOworICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgICAgIGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMSk7CisgICAgICAgIC8vU2VuZCBldmVudAorICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ0QodmFsdWVzVG9UZXN0W2ldKSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoRXZlbnRMRCl7CisgICAgdW5zaWduZWQgaW50IG51bWJlck9mVHJpZXMgPSAxMDA7CisgICAgVEZvcnRlVUludDE2IFBWVG9UZXN0W10gPSB7IDEwLCAxLCAwLCA2NTUzNCwgNjU1MzUgfTsKKyAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2Z0ZXN0ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzaXplb2YoUFZUb1Rlc3QpIC8gc2l6ZW9mKFRGb3J0ZVVJbnQxNikpOworICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZnRlc3Q7ICsraSl7CisgICAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgbnVtYmVyT2ZUcmllczsgaisrKXsKKyAgICAgICAgbUluUFYgPSBQVlRvVGVzdFtpXTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0xEKFBWVG9UZXN0W2ldKSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoTWl4KXsKKyAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZUcmllcyA9IDEwMDsKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtYmVyT2ZUcmllczsgaSsrKXsKKyAgICAgIG1JblBWID0gMDsKKyAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrTEQoMCkpOworICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tDRCgwKSk7CisKKyAgICAgIG1JblBWID0gMTsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ0QoMCkpOworICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tMRCgxKSk7CisgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0NEKDEpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ0QoMCkpOworICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tMRCgxKSk7CisgICAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0xEKDEpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrTEQoMSkpOworICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tDRCgxKSk7CisgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0NEKDApKTsKKworICAgICAgbUluUFYgPSA2NTUzNTsKKyAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrTEQoNjU1MzUpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ0QoNjU1MzUpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ0QoNjU1MzQpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrTEQoNjU1MzUpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrTEQoNjU1MzUpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrTEQoNjU1MzUpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ0QoNjU1MzUpKTsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ0QoNjU1MzQpKTsKKyAgICB9CisgIH0KKworQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9DVFVEX3Rlc3Rlci5jcHAgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9DVFVEX3Rlc3Rlci5jcHAKaW5kZXggYzdhNWExYy4uODQ0ZmMyNSAxMDA2NDQKLS0tIGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RVRF90ZXN0ZXIuY3BwCisrKyBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX0NUVURfdGVzdGVyLmNwcApAQCAtMSwyNDggKzEsNDcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTYsIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIENvcHlyaWdodCAoYykgMjAxNiBmb3J0aXNzIEdtYkgsIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgogICogICBKb3NlIENhYnJhbCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIEFsb2lzIFpvaXRsIC0gbWlncmF0ZWQgZmIgdGVzdHMgdG8gYm9vc3QgdGVzdCBpbmZyYXN0cnVjdHVyZQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXIuaCIKKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIgogI2luY2x1ZGUgPGZvcnRlX3VpbnQuaD4KICNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+Ci0jaW5jbHVkZSA8RV9DVFVELmg+CisKICNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKICNpbmNsdWRlICJFX0NUVURfdGVzdGVyX2dlbi5jcHAiCiAjZW5kaWYKIAotI2luY2x1ZGUgPGlvc3RyZWFtPgorc3RydWN0IEVfQ1RVRF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2V7CiAKLWNsYXNzIEVfQ1RVRF90ZXN0ZXIgOiBwdWJsaWMgQ0ZCVGVzdGVyewotICBERUNMQVJFX0ZCX1RFU1RFUihFX0NUVURfdGVzdGVyKTsKLQotICBwdWJsaWM6Ci0gICAgRV9DVFVEX3Rlc3RlcihDUmVzb3VyY2UqIG1fcG9UZXN0UmVzb3VyY2UpIDoKLSAgICAgICAgQ0ZCVGVzdGVyKG1fcG9UZXN0UmVzb3VyY2UpewotICAgICAgU0VUVVBfSU5QVVREQVRBKCZtX29Jbl9QVik7Ci0gICAgICBTRVRVUF9PVVRQVVREQVRBKCZtX29PdXRfUVUsICZtX29PdXRfUUQsICZtX29PdXRfQ1YpOwotICAgIH0KLSAgICB2aXJ0dWFsIH5FX0NUVURfdGVzdGVyKCl7Ci0gICAgfQotICAgIDsKLSAgcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUFsbFRlc3RzKCl7Ci0gICAgICBldmFsdWF0ZVRlc3RSZXN1bHQodGVzdENhc2VfRXZlbnRDVSgpLCAiRXZlbnRDVSIpOwotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX0V2ZW50Q0QoKSwgIkV2ZW50Q0QiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9FdmVudFIoKSwgIkV2ZW50UiIpOwotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX0V2ZW50TEQoKSwgIkV2ZW50TEQiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9NaXgoKSwgIkFsdGVybmF0aW5nIEV2ZW50cyIpOworICAgIEVfQ1RVRF9UZXN0Rml4dHVyZSgpIDogQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRV9DVFVEKXsKKyAgICAgIFNFVFVQX0lOUFVUREFUQSgmbUluUFYpOworICAgICAgU0VUVVBfT1VUUFVUREFUQSgmbU91dFFVLCAmbU91dFFELCAmbU91dENWKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKICAgICB9CiAKLSAgICBib29sIHRlc3RDYXNlX0V2ZW50Q1UoKXsKLSAgICAgIFRGb3J0ZVVJbnQxNiBwcmV2Q1YgPSAwOwotICAgICAgVEZvcnRlVUludDE2IHZhbHVlc1RvVGVzdFtdID0geyAxMCwgMSwgMCwgNjU1MzQsIDY1NTM1IH07Ci0gICAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZWYWx1ZXMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNpemVvZih2YWx1ZXNUb1Rlc3QpIC8gc2l6ZW9mKFRGb3J0ZVVJbnQxNikpOwotICAgICAgZm9yKHVuc2lnbmVkIGludCBqID0gMDsgaiA8IG51bWJlck9mVmFsdWVzOyBqKyspewotICAgICAgICB0cmlnZ2VyRXZlbnQoMik7Ci0gICAgICAgIGlmKCFjaGVja1IoKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIG1fb0luX1BWID0gdmFsdWVzVG9UZXN0W2pdOwotICAgICAgICBmb3IodW5zaWduZWQgaW50IGsgPSAwOyBrIDwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihtX29Jbl9QViArIDMpOyBrKyspewotICAgICAgICAgIHByZXZDViA9IG1fb091dF9DVjsKLSAgICAgICAgICAvL1NlbmQgZXZlbnQKLSAgICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgICAgaWYoIWNoZWNrQ1UocHJldkNWKSl7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgYm9vbCB0ZXN0Q2FzZV9FdmVudENEKCl7Ci0gICAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZUcmllcyA9IDEwMDsKLSAgICAgIFRGb3J0ZVVJbnQxNiB2YWx1ZXNUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OwotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mVmFsdWVzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzaXplb2YodmFsdWVzVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZlRyaWVzOyBpKyspewotICAgICAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgbnVtYmVyT2ZWYWx1ZXM7IGorKyl7Ci0gICAgICAgICAgbV9vSW5fUFYgPSB2YWx1ZXNUb1Rlc3Rbal07Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDMpOwotICAgICAgICAgIGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMSk7Ci0gICAgICAgICAgLy9TZW5kIGV2ZW50Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICAgIGlmKCFjaGVja0NEKHZhbHVlc1RvVGVzdFtqXSkpewotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGJvb2wgdGVzdENhc2VfRXZlbnRSKCl7Ci0gICAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZUcmllcyA9IDEwMDsKLSAgICAgIFRGb3J0ZVVJbnQxNiB2YWx1ZXNUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OwotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mVmFsdWVzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzaXplb2YodmFsdWVzVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZlRyaWVzOyBpKyspewotICAgICAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgbnVtYmVyT2ZWYWx1ZXM7IGorKyl7Ci0gICAgICAgICAgbV9vSW5fUFYgPSB2YWx1ZXNUb1Rlc3Rbal07Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDMpOyAvL2xvYWRzIHRoZSB2YWx1ZSB0byBpbnB1dCBvZiB0aGUgRkIsIGJlY2F1c2UgdGhlIFJlc2UgZXZlbnQgZG9lc24ndCBzY2FuIHRoZSBQViBpbnB1dC4KLSAgICAgICAgICBjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDEpOwotICAgICAgICAgIHRyaWdnZXJFdmVudCgyKTsKLSAgICAgICAgICBpZighY2hlY2tSKCkpewotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGJvb2wgdGVzdENhc2VfRXZlbnRMRCgpewotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mVHJpZXMgPSAxMDA7Ci0gICAgICBURm9ydGVVSW50MTYgUFZUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OwotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mdGVzdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2l6ZW9mKFBWVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZlRyaWVzOyBpKyspewotICAgICAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgbnVtYmVyT2Z0ZXN0OyBqKyspewotICAgICAgICAgIG1fb0luX1BWID0gUFZUb1Rlc3Rbal07Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDMpOwotICAgICAgICAgIGlmKCFjaGVja0xEKFBWVG9UZXN0W2pdKSl7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgYm9vbCB0ZXN0Q2FzZV9NaXgoKXsKLSAgICAgIHVuc2lnbmVkIGludCBudW1iZXJPZlRyaWVzID0gMTA7Ci0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtYmVyT2ZUcmllczsgaSsrKXsKLSAgICAgICAgbV9vSW5fUFYgPSAwOwotICAgICAgICB0cmlnZ2VyRXZlbnQoMyk7Ci0gICAgICAgIGlmKCFjaGVja0xEKDApKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDVSgwKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ1UoMSkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICAgIGlmKCFjaGVja0NEKDIpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDMpOwotICAgICAgICBpZighY2hlY2tMRCgwKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgyKTsKLSAgICAgICAgaWYoIWNoZWNrUigpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgbV9vSW5fUFYgPSAxOwotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0NVKDApKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDMpOwotICAgICAgICBpZighY2hlY2tMRCgxKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgzKTsKLSAgICAgICAgaWYoIWNoZWNrTEQoMSkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBtX29Jbl9QViA9IDY1NTMzOwotICAgICAgICB0cmlnZ2VyRXZlbnQoMyk7Ci0gICAgICAgIGlmKCFjaGVja0xEKDY1NTMzKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ1UoNjU1MzMpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDVSg2NTUzNCkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0NVKDY1NTM1KSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ1UoNjU1MzUpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighY2hlY2tDRCg2NTUzNSkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICAgIGlmKCFjaGVja0NEKDY1NTM0KSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgyKTsKLSAgICAgICAgaWYoIWNoZWNrUigpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgbV9vSW5fUFYgPSA2NTUzMzsKLSAgICAgICAgZm9yKFRGb3J0ZVVJbnQxNiBpID0gMDsgaSA8IDY1NTMzOyBpKyspewotICAgICAgICAgIC8vU2VuZCBldmVudAotICAgICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgICBpZighY2hlY2tDVShpKSl7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ1UoNjU1MzMpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDVSg2NTUzNCkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0NVKDY1NTM1KSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ1UoNjU1MzUpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDVSg2NTUzNSkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICAgIGlmKCFjaGVja0NEKDY1NTM1KSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrQ1UoNjU1MzQpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDIpOwotICAgICAgICBpZighY2hlY2tSKCkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgfQotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIENJRUNfVUlOVCBtSW5QVjsgLy9QcmVzZXQgdmFsdWUKKyAgICBDSUVDX0JPT0wgbU91dFFVOyAvL0NWID49IFBWCisgICAgQ0lFQ19CT09MIG1PdXRRRDsgLy9DViA8PSAwCisgICAgQ0lFQ19VSU5UIG1PdXRDVjsgLy9jb3VudCB2YWx1ZQogCi0gICAgYm9vbCBjaGVja0NVKFRGb3J0ZVVJbnQxNiBwYV9wcmV2Q1YpewotICAgICAgaWYocGFfcHJldkNWIDwgNjU1MzUpewotICAgICAgICBpZigoKHBhX3ByZXZDViArIDEpICE9IG1fb091dF9DVikpewotICAgICAgICAgIHN0ZDo6Y291dCA8PCAiRXJyb3IgMVxuIjsKKyAgICBib29sIGNoZWNrQ1UodW5zaWduZWQgaW50IHBhUHJldkNWKXsKKyAgICAgIGlmKHBhUHJldkNWIDwgNjU1MzUpeworICAgICAgICBpZigoKHBhUHJldkNWICsgMSkgIT0gbU91dENWKSl7CiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYoIWNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpewotICAgICAgICAgIHN0ZDo6Y291dCA8PCAiRXJyb3IgMlxuIjsKICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgIH0KICAgICAgIGVsc2V7Ci0gICAgICAgIGlmKDY1NTM1ICE9IG1fb091dF9DViAmJiAhZXZlbnRDaGFpbkVtcHR5KCkpewotICAgICAgICAgIHN0ZDo6Y291dCA8PCAiRXJyb3IgM1xuIjsKKyAgICAgICAgaWYoNjU1MzUgIT0gbU91dENWICYmICFldmVudENoYWluRW1wdHkoKSl7CiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICB9CkBAIC0yNTEsMjUgKzUwLDIyIEBACiAgICAgICB9CiAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgYm9vbCBjaGVja0NEKFRGb3J0ZVVJbnQxNiBwYV9wcmV2Q1YpewotICAgICAgaWYocGFfcHJldkNWIDwgMSl7CisKKyAgICBib29sIGNoZWNrQ0QodW5zaWduZWQgaW50IHBhUHJldkNWKXsKKyAgICAgIGlmKHBhUHJldkNWIDwgMSl7CiAgICAgICAgIC8vbm8gYWxnb3JpdGhtIHNob3VsZCBoYXZlIGJlZW4gZXhlY3V0ZWQKLSAgICAgICAgaWYobV9vT3V0X0NWICE9IHBhX3ByZXZDViB8fCAhbV9vT3V0X1FEIHx8ICFldmVudENoYWluRW1wdHkoKSl7Ci0gICAgICAgICAgc3RkOjpjb3V0IDw8ICJFcnJvciA0XG4iOworICAgICAgICBpZihtT3V0Q1YgIT0gcGFQcmV2Q1YgfHwgIW1PdXRRRCB8fCAhZXZlbnRDaGFpbkVtcHR5KCkpewogICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogICAgICAgfQogICAgICAgZWxzZXsKLSAgICAgICAgaWYoKChwYV9wcmV2Q1YgLSAxKSAhPSBtX29PdXRfQ1YpKXsKLSAgICAgICAgICBzdGQ6OmNvdXQgPDwgIkVycm9yIDVcbiI7CisgICAgICAgIGlmKCgocGFQcmV2Q1YgLSAxKSAhPSBtT3V0Q1YpKXsKICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZihtX29PdXRfUUQgIT0gKG1fb091dF9DViA8IDEpKXsKLSAgICAgICAgICBzdGQ6OmNvdXQgPDwgIkVycm9yIDZcbiI7CisgICAgICAgIGVsc2UgaWYobU91dFFEICE9IChtT3V0Q1YgPCAxKSl7CiAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYoIWNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpewotICAgICAgICAgIHN0ZDo6Y291dCA8PCAiRXJyb3IgN1xuIjsKICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICAgIH0KQEAgLTI3OCw1MSArNzQsMTY3IEBACiAgICAgICB9CiAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisKICAgICBib29sIGNoZWNrUigpewotICAgICAgaWYoMCAhPSBtX29PdXRfQ1YpewotICAgICAgICBzdGQ6OmNvdXQgPDwgIkVycm9yIDhcbiI7CisgICAgICBpZigwICE9IG1PdXRDVil7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgIH0KICAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDEpKXsKLSAgICAgICAgc3RkOjpjb3V0IDw8ICJFcnJvciA5XG4iOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9CiAgICAgICBpZighY2hlY2tCb29sZWFucygpKXsKLSAgICAgICAgc3RkOjpjb3V0IDw8ICJFcnJvciAxMFxuIjsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgfQogICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIGJvb2wgY2hlY2tMRChURm9ydGVVSW50MTYgcGFfdXNlZFBWKXsKLSAgICAgIGlmKHBhX3VzZWRQViAhPSBtX29Jbl9QViB8fCBtX29Jbl9QViAhPSBtX29PdXRfQ1YgfHwgKChwYV91c2VkUFYgPCAxKSAhPSAodHJ1ZSA9PSBtX29PdXRfUUQpKSl7Ci0gICAgICAgIHN0ZDo6Y291dCA8PCAiRXJyb3IgMTFcbiI7CisKKyAgICBib29sIGNoZWNrTEQodW5zaWduZWQgaW50IHBhVXNlZFBWKXsKKyAgICAgIGlmKHBhVXNlZFBWICE9IG1JblBWIHx8IG1JblBWICE9IG1PdXRDViB8fCAoKHBhVXNlZFBWIDwgMSkgIT0gKHRydWUgPT0gbU91dFFEKSkpewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9CiAgICAgICBpZighY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgyKSl7Ci0gICAgICAgIHN0ZDo6Y291dCA8PCAiRXJyb3IgMTJcbiI7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgIH0KICAgICAgIGlmKCFjaGVja0Jvb2xlYW5zKCkpewotICAgICAgICBzdGQ6OmNvdXQgPDwgIkVycm9yIDEzXG4iOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICB9CiAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisKICAgICBib29sIGNoZWNrQm9vbGVhbnMoKXsKLSAgICAgIGlmKG1fb091dF9RVSAhPSAobV9vT3V0X0NWID49IG1fb0luX1BWKSB8fCAobV9vT3V0X1FEICE9IChtX29PdXRfQ1YgPCAxKSkpewotICAgICAgICBzdGQ6OmNvdXQgPDwgIm1fb0luX1BWXHRtX29PdXRfQ1ZcdG1fb091dF9RVVx0bV9vT3V0X1FEXG4iOwotICAgICAgICBzdGQ6OmNvdXQgPDwgbV9vSW5fUFYgPDwgIlx0IiA8PCBtX29PdXRfQ1YgPDwgIlx0IiA8PCBtX29PdXRfUVUgPDwgIlx0IiA8PCBtX29PdXRfUUQgPDwgIlxuIjsKLSAgICAgICAgc3RkOjpjb3V0IDw8ICJCb29sZWFuIGVycm9yXG4iOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgIHJldHVybiAhKG1PdXRRVSAhPSAobU91dENWID49IG1JblBWKSB8fCAobU91dFFEICE9IChtT3V0Q1YgPCAxKSkpOwogICAgIH0KLQotCi0gICAgQ0lFQ19VSU5UIG1fb0luX1BWOyAvL1ByZXNldCB2YWx1ZQotICAgIENJRUNfQk9PTCBtX29PdXRfUVU7IC8vQ1YgPj0gUFYKLSAgICBDSUVDX0JPT0wgbV9vT3V0X1FEOyAvL0NWIDw9IDAKLSAgICBDSUVDX1VJTlQgbV9vT3V0X0NWOyAvL2NvdW50IHZhbHVlCiB9OwogCi1ERUZJTkVfRkJfVEVTVEVSKEVfQ1RVRF90ZXN0ZXIsIGdfblN0cmluZ0lkRV9DVFVEKTsKK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggQ1RVRFRlc3RzLCBFX0NUVURfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoRXZlbnRDVSl7CisgICAgVEZvcnRlVUludDE2IHByZXZDViA9IDA7CisgICAgVEZvcnRlVUludDE2IHZhbHVlc1RvVGVzdFtdID0geyAxMCwgMSwgMCwgNjU1MzQsIDY1NTM1IH07CisgICAgdW5zaWduZWQgaW50IG51bWJlck9mVmFsdWVzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzaXplb2YodmFsdWVzVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKKyAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgbnVtYmVyT2ZWYWx1ZXM7IGorKyl7CisgICAgICB0cmlnZ2VyRXZlbnQoMik7CisgICAgICBCT09TVF9DSEVDSyhjaGVja1IoKSk7CisgICAgICBtSW5QViA9IHZhbHVlc1RvVGVzdFtqXTsKKyAgICAgIGZvcih1bnNpZ25lZCBpbnQgayA9IDA7IGsgPCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG1JblBWICsgMyk7IGsrKyl7CisgICAgICAgIHByZXZDViA9IG1PdXRDVjsKKyAgICAgICAgLy9TZW5kIGV2ZW50CisgICAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVShwcmV2Q1YpKTsKKyAgICAgIH0KKyAgICB9CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShFdmVudENEKXsKKyAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZUcmllcyA9IDEwMDsKKyAgICBURm9ydGVVSW50MTYgdmFsdWVzVG9UZXN0W10gPSB7IDEwLCAxLCAwLCA2NTUzNCwgNjU1MzUgfTsKKyAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZWYWx1ZXMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNpemVvZih2YWx1ZXNUb1Rlc3QpIC8gc2l6ZW9mKFRGb3J0ZVVJbnQxNikpOworICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZlRyaWVzOyBpKyspeworICAgICAgZm9yKHVuc2lnbmVkIGludCBqID0gMDsgaiA8IG51bWJlck9mVmFsdWVzOyBqKyspeworICAgICAgICBtSW5QViA9IHZhbHVlc1RvVGVzdFtqXTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDMpOworICAgICAgICBjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDEpOworICAgICAgICAvL1NlbmQgZXZlbnQKKyAgICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0NEKHZhbHVlc1RvVGVzdFtqXSkpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKEV2ZW50Uil7CisgICAgdW5zaWduZWQgaW50IG51bWJlck9mVHJpZXMgPSAxMDA7CisgICAgVEZvcnRlVUludDE2IHZhbHVlc1RvVGVzdFtdID0geyAxMCwgMSwgMCwgNjU1MzQsIDY1NTM1IH07CisgICAgdW5zaWduZWQgaW50IG51bWJlck9mVmFsdWVzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzaXplb2YodmFsdWVzVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtYmVyT2ZUcmllczsgaSsrKXsKKyAgICAgIGZvcih1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBudW1iZXJPZlZhbHVlczsgaisrKXsKKyAgICAgICAgbUluUFYgPSB2YWx1ZXNUb1Rlc3Rbal07CisgICAgICAgIHRyaWdnZXJFdmVudCgzKTsgLy9sb2FkcyB0aGUgdmFsdWUgdG8gaW5wdXQgb2YgdGhlIEZCLCBiZWNhdXNlIHRoZSBSZXNlIGV2ZW50IGRvZXNuJ3Qgc2NhbiB0aGUgUFYgaW5wdXQuCisgICAgICAgIGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMSk7CisgICAgICAgIHRyaWdnZXJFdmVudCgyKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tSKCkpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKEV2ZW50TEQpeworICAgIHVuc2lnbmVkIGludCBudW1iZXJPZlRyaWVzID0gMTAwOworICAgIFRGb3J0ZVVJbnQxNiBQVlRvVGVzdFtdID0geyAxMCwgMSwgMCwgNjU1MzQsIDY1NTM1IH07CisgICAgdW5zaWduZWQgaW50IG51bWJlck9mdGVzdCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2l6ZW9mKFBWVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtYmVyT2ZUcmllczsgaSsrKXsKKyAgICAgIGZvcih1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBudW1iZXJPZnRlc3Q7IGorKyl7CisgICAgICAgIG1JblBWID0gUFZUb1Rlc3Rbal07CisgICAgICAgIHRyaWdnZXJFdmVudCgzKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tMRChQVlRvVGVzdFtqXSkpOworICAgICAgfQorICAgIH0KKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKE1peCl7CisgICAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZUcmllcyA9IDEwOworICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG51bWJlck9mVHJpZXM7IGkrKyl7CisgICAgICAgIG1JblBWID0gMDsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDMpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0xEKDApKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0NVKDApKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0NVKDEpKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0NEKDIpKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDMpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0xEKDApKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDIpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja1IoKSk7CisKKyAgICAgICAgbUluUFYgPSAxOworICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ1UoMCkpOworICAgICAgICB0cmlnZ2VyRXZlbnQoMyk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrTEQoMSkpOworICAgICAgICB0cmlnZ2VyRXZlbnQoMyk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrTEQoMSkpOworCisgICAgICAgIG1JblBWID0gNjU1MzM7CisgICAgICAgIHRyaWdnZXJFdmVudCgzKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tMRCg2NTUzMykpOworICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ1UoNjU1MzMpKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0NVKDY1NTM0KSk7CisgICAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVSg2NTUzNSkpOworICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ1UoNjU1MzUpKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0NEKDY1NTM1KSk7CisgICAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tDRCg2NTUzNCkpOworICAgICAgICB0cmlnZ2VyRXZlbnQoMik7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrUigpKTsKKworICAgICAgICBtSW5QViA9IDY1NTMzOworICAgICAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgNjU1MzM7IGorKyl7CisgICAgICAgICAgLy9TZW5kIGV2ZW50CisgICAgICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ1UoaikpOworICAgICAgICB9CisgICAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVSg2NTUzMykpOworICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ1UoNjU1MzQpKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0NVKDY1NTM1KSk7CisgICAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVSg2NTUzNSkpOworICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ1UoNjU1MzUpKTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja0NEKDY1NTM1KSk7CisgICAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVSg2NTUzNCkpOworICAgICAgICB0cmlnZ2VyRXZlbnQoMik7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrUigpKTsKKyAgICAgIH0KKyAgICB9CisKK0JPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfQ1RVX3Rlc3Rlci5jcHAgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9DVFVfdGVzdGVyLmNwcAppbmRleCAwMjI2OWVhLi41NDI3NTA3IDEwMDY0NAotLS0gYS90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9DVFVfdGVzdGVyLmNwcAorKysgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9DVFVfdGVzdGVyLmNwcApAQCAtMSwxODEgKzEsMTQzIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogQ29weXJpZ2h0IChjKSAyMDE2LCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgZm9ydGlzcyBHbWJILCAyMDE4IEpvaGFubmVzIEtlcGxlciBVbml2ZXJzaXR5CisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMAogICoKICAqIENvbnRyaWJ1dG9yczoKICAqICAgSm9zZSBDYWJyYWwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICogICBBbG9pcyBab2l0bCAtIG1pZ3JhdGVkIGZiIHRlc3RzIHRvIGJvb3N0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi0jaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGVyLmgiCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKICNpbmNsdWRlIDxmb3J0ZV91aW50Lmg+CiAjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgotI2luY2x1ZGUgPEVfQ1RVLmg+CisKKwogI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAogI2luY2x1ZGUgIkVfQ1RVX3Rlc3Rlcl9nZW4uY3BwIgogI2VuZGlmCiAKLSNpbmNsdWRlIDxpb3N0cmVhbT4KK3N0cnVjdCBFX0NUVV9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2V7CiAKLWNsYXNzIEVfQ1RVX3Rlc3RlciA6IHB1YmxpYyBDRkJUZXN0ZXJ7Ci0gIERFQ0xBUkVfRkJfVEVTVEVSKEVfQ1RVX3Rlc3Rlcik7Ci0KLSAgcHVibGljOgotICAgIEVfQ1RVX3Rlc3RlcihDUmVzb3VyY2UqIG1fcG9UZXN0UmVzb3VyY2UpIDoKLSAgICAgICAgQ0ZCVGVzdGVyKG1fcG9UZXN0UmVzb3VyY2UpewotICAgICAgU0VUVVBfSU5QVVREQVRBKCZtX29Jbl9QVik7Ci0gICAgICBTRVRVUF9PVVRQVVREQVRBKCZtX29PdXRfUSwgJm1fb091dF9DVik7Ci0gICAgfQotICAgIHZpcnR1YWwgfkVfQ1RVX3Rlc3RlcigpIHt9OwotCi0gIHByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVBbGxUZXN0cygpewotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX0V2ZW50Q1UoKSwgIkV2ZW50Q1UiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9FdmVudFIoKSwgIkV2ZW50UiIpOwotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX01peCgpLCAiQWx0ZXJuYXRpbmcgQ1UgYW5kIFIiKTsKKyAgICBFX0NUVV9UZXN0Rml4dHVyZSgpIDogQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRV9DVFUpeworICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5QVik7CisgICAgICBTRVRVUF9PVVRQVVREQVRBKCZtT3V0USwgJm1PdXRDVik7CisgICAgICBDRkJUZXN0Rml4dHVyZUJhc2U6OnNldHVwKCk7CiAgICAgfQogCi0gICAgYm9vbCB0ZXN0Q2FzZV9FdmVudENVKCl7Ci0gICAgICBURm9ydGVVSW50MTYgcHJldkNWID0gMDsKLSAgICAgIFRGb3J0ZVVJbnQxNiB2YWx1ZXNUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OwotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mVmFsdWVzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzaXplb2YodmFsdWVzVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaiA9IDA7IGogPCBudW1iZXJPZlZhbHVlczsgaisrKXsKLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighY2hlY2tSKCkpewotICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICBtX29Jbl9QViA9IHZhbHVlc1RvVGVzdFtqXTsKLSAgICAgICAgZm9yKHVuc2lnbmVkIGludCBrID0gMDsgayA8IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obV9vSW5fUFYgKyAzKTsgaysrKXsKLSAgICAgICAgICBwcmV2Q1YgPSBtX29PdXRfQ1Y7Ci0gICAgICAgICAgLy9TZW5kIGV2ZW50Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICAgIGlmKCFjaGVja0NVKHByZXZDVikpewotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgfQotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGJvb2wgdGVzdENhc2VfRXZlbnRSKCl7Ci0gICAgICB1bnNpZ25lZCBpbnQgbnVtYmVyT2ZUcmllcyA9IDEwMDsKLSAgICAgIFRGb3J0ZVVJbnQxNiB2YWx1ZXNUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OwotICAgICAgdW5zaWduZWQgaW50IG51bWJlck9mVmFsdWVzID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzaXplb2YodmFsdWVzVG9UZXN0KSAvIHNpemVvZihURm9ydGVVSW50MTYpKTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZlRyaWVzOyBpKyspewotICAgICAgICBmb3IodW5zaWduZWQgaW50IGogPSAwOyBqIDwgbnVtYmVyT2ZWYWx1ZXM7IGorKyl7Ci0gICAgICAgICAgbV9vSW5fUFYgPSB2YWx1ZXNUb1Rlc3Rbal07Ci0gICAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICAgIGlmKCFjaGVja1IoKSl7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgYm9vbCB0ZXN0Q2FzZV9NaXgoKXsKLSAgICAgIG1fb0luX1BWID0gMDsKLSAgICAgIHRyaWdnZXJFdmVudCgxKTsKLSAgICAgIGlmKCFjaGVja1IoKSl7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgIH0KLSAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgIGlmKCFjaGVja0NVKDApKXsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgfQotICAgICAgbV9vSW5fUFYgPSAxOwotICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgaWYoIWNoZWNrQ1UoMSkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICBpZighY2hlY2tSKCkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICBpZighY2hlY2tDVSgwKSl7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgIH0KLSAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgIGlmKCFjaGVja0NVKDEpKXsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgfQotICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgaWYoIWNoZWNrQ1UoMikpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICBpZighY2hlY2tSKCkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICBtX29Jbl9QViA9IDY1NTMzOwotICAgICAgZm9yKFRGb3J0ZVVJbnQxNiBpID0gMDsgaSA8IDY1NTMzOyBpKyspewotICAgICAgICAvL1NlbmQgZXZlbnQKLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tDVShpKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICBpZighY2hlY2tDVSg2NTUzMykpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICBpZighY2hlY2tDVSg2NTUzNCkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICBpZighY2hlY2tDVSg2NTUzNSkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICBpZighY2hlY2tDVSg2NTUzNSkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICBpZighY2hlY2tDVSg2NTUzNSkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICB0cmlnZ2VyRXZlbnQoMSk7Ci0gICAgICBpZighY2hlY2tSKCkpewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICB9Ci0gICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CisgICAgQ0lFQ19VSU5UIG1JblBWOyAvL1ByZXNldCB2YWx1ZQorICAgIENJRUNfQk9PTCBtT3V0UTsgLy9DViA+PSBQVgorICAgIENJRUNfVUlOVCBtT3V0Q1Y7IC8vY291bnQgdmFsdWUKIAotICAgIGJvb2wgY2hlY2tDVShURm9ydGVVSW50MTYgcGFfcHJldkNWKXsKLSAgICAgIGlmKHBhX3ByZXZDViA8IDY1NTM1KXsKLSAgICAgICAgaWYoKChwYV9wcmV2Q1YgKyAxKSAhPSBtX29PdXRfQ1YpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZighY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSl7Ci0gICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICBlbHNlewotICAgICAgICBpZig2NTUzNSAhPSBtX29PdXRfQ1YgJiYgIWV2ZW50Q2hhaW5FbXB0eSgpKXsKLSAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIGlmKG1fb091dF9RICE9IChtX29PdXRfQ1YgPj0gbV9vSW5fUFYpKXsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgfQotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGJvb2wgY2hlY2tSKCl7Ci0gICAgICBpZigwICE9IG1fb091dF9DViB8fCBtX29PdXRfUSl7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgIH0KLSAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDEpKXsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgfQotICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorICAgIGJvb2wgY2hlY2tDVShURm9ydGVVSW50MTYgcGFQcmV2Q1YpeworICAgICAgIGlmKHBhUHJldkNWIDwgQ0lFQ19VSU5UOjpzY21fbk1heFZhbCl7CisgICAgICAgICBpZigoKHBhUHJldkNWICsgMSkgIT0gbU91dENWKSl7CisgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UgaWYoIWNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpeworICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICB9CisgICAgICAgfWVsc2V7CisgICAgICAgICBpZihDSUVDX1VJTlQ6OnNjbV9uTWF4VmFsICE9IG1PdXRDViAmJiAhZXZlbnRDaGFpbkVtcHR5KCkpeworICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICB9CisgICAgICAgfQorICAgICAgIGlmKG1PdXRRICE9IChtT3V0Q1YgPj0gbUluUFYpKXsKKyAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICB9CisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIH0KIAotICAgIENJRUNfVUlOVCBtX29Jbl9QVjsgLy9QcmVzZXQgdmFsdWUKLSAgICBDSUVDX0JPT0wgbV9vT3V0X1E7IC8vQ1YgPj0gUFYKLSAgICBDSUVDX1VJTlQgbV9vT3V0X0NWOyAvL2NvdW50IHZhbHVlCisgICAgIGJvb2wgY2hlY2tSKCl7CisgICAgICAgaWYoMCAhPSBtT3V0Q1YgfHwgbU91dFEpeworICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgIH0KKyAgICAgICBpZighY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgxKSl7CisgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgfQorICAgICAgIHJldHVybiB0cnVlOworICAgICB9CiB9OwogCi1ERUZJTkVfRkJfVEVTVEVSKEVfQ1RVX3Rlc3RlciwgZ19uU3RyaW5nSWRFX0NUVSkKK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggQ1RVVGVzdHMsIEVfQ1RVX1Rlc3RGaXh0dXJlKQogCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKEV2ZW50Q1UpeworICAgIFRGb3J0ZVVJbnQxNiBwcmV2Q1YgPSAwOworICAgIFRGb3J0ZVVJbnQxNiB2YWx1ZXNUb1Rlc3RbXSA9IHsgMTAsIDEsIDAsIDY1NTM0LCA2NTUzNSB9OworICAgIHNpemVfdCBudW1iZXJPZlZhbHVlcyA9IHN0YXRpY19jYXN0PHNpemVfdD4oc2l6ZW9mKHZhbHVlc1RvVGVzdCkgLyBzaXplb2YoVEZvcnRlVUludDE2KSk7CisgICAgZm9yKHNpemVfdCBqID0gMDsgaiA8IG51bWJlck9mVmFsdWVzOyBqKyspeworICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tSKCkpOworICAgICAgbUluUFYgPSB2YWx1ZXNUb1Rlc3Rbal07CisgICAgICBmb3IodW5zaWduZWQgaW50IGsgPSAwOyBrIDwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihtSW5QViArIDMpOyBrKyspeworICAgICAgICBwcmV2Q1YgPSBtT3V0Q1Y7CisgICAgICAgIC8vU2VuZCBldmVudAorICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICAgIEJPT1NUX0NIRUNLKGNoZWNrQ1UocHJldkNWKSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoRXZlbnRSKXsKKyAgICBzaXplX3QgbnVtYmVyT2ZUcmllcyA9IDEwMDsKKyAgICBURm9ydGVVSW50MTYgdmFsdWVzVG9UZXN0W10gPSB7IDEwLCAxLCAwLCA2NTUzNCwgNjU1MzUgfTsKKyAgICBzaXplX3QgbnVtYmVyT2ZWYWx1ZXMgPSBzdGF0aWNfY2FzdDxzaXplX3Q+KHNpemVvZih2YWx1ZXNUb1Rlc3QpIC8gc2l6ZW9mKFRGb3J0ZVVJbnQxNikpOworICAgIGZvcihzaXplX3QgaSA9IDA7IGkgPCBudW1iZXJPZlRyaWVzOyBpKyspeworICAgICAgZm9yKHNpemVfdCBqID0gMDsgaiA8IG51bWJlck9mVmFsdWVzOyBqKyspeworICAgICAgICBtSW5QViA9IHZhbHVlc1RvVGVzdFtqXTsKKyAgICAgICAgdHJpZ2dlckV2ZW50KDEpOworICAgICAgICBCT09TVF9DSEVDSyhjaGVja1IoKSk7CisgICAgICB9CisgICAgfQorICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoTWl4KXsKKyAgICBtSW5QViA9IDA7CisgICAgdHJpZ2dlckV2ZW50KDEpOworICAgIEJPT1NUX0NIRUNLKGNoZWNrUigpKTsKKworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0NVKDApKTsKKworICAgIG1JblBWID0gMTsKKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVSgxKSk7CisKKyAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tSKCkpOworCisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrQ1UoMCkpOworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0NVKDEpKTsKKworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0NVKDIpKTsKKworICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja1IoKSk7CisKKyAgICBtSW5QViA9IDY1NTMzOworICAgIGZvcihURm9ydGVVSW50MTYgaSA9IDA7IGkgPCBDSUVDX1VJTlQ6OnNjbV9uTWF4VmFsOyBpKyspeworICAgICAgLy9TZW5kIGV2ZW50CisgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0NVKGkpKTsKKyAgICB9CisKKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVShDSUVDX1VJTlQ6OnNjbV9uTWF4VmFsKSk7CisKKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVShDSUVDX1VJTlQ6OnNjbV9uTWF4VmFsKSk7CisKKyAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tDVShDSUVDX1VJTlQ6OnNjbV9uTWF4VmFsKSk7CisKKyAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tSKCkpOworICB9CisKK0JPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfREVMQVlfdGVzdGVyLmNwcCBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX0RFTEFZX3Rlc3Rlci5jcHAKaW5kZXggNzYxN2FmNy4uMDVkZDNiZSAxMDA2NDQKLS0tIGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfREVMQVlfdGVzdGVyLmNwcAorKysgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9ERUxBWV90ZXN0ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uDQpAQCAtNDcsMTQgKzQ4LDE0IEBACiAgICAgfQ0KIA0KICAgICBib29sIHRlc3RDYXNlX05vcm1hbERlbGF5KCl7DQotICAgICAgbURULnNldEZyb21NaWxpU2Vjb25kcyg1MDApOw0KKyAgICAgIG1EVC5zZXRGcm9tTWlsbGlTZWNvbmRzKDUwMCk7DQogICAgICAgdHJpZ2dlckV2ZW50KDApOw0KICAgICAgIHVzbGVlcCg1MDAwMDApOw0KICAgICAgIHJldHVybiBjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApOw0KICAgICB9DQogICAgIGJvb2wgdGVzdENhc2VfQWJvcnRlZERlbGF5KCl7DQogICAgICAgYm9vbCByZXRWYWwgPSB0cnVlOw0KLSAgICAgIG1EVC5zZXRGcm9tTWlsaVNlY29uZHMoMTAwMCk7DQorICAgICAgbURULnNldEZyb21NaWxsaVNlY29uZHMoMTAwMCk7DQogICAgICAgdHJpZ2dlckV2ZW50KDApOw0KICAgICAgIGlmKCFldmVudENoYWluRW1wdHkoKSl7DQogICAgICAgICByZXRWYWwgPSBmYWxzZTsNCkBAIC03MSw3ICs3Miw3IEBACiAgICAgfQ0KICAgICBib29sIHRlc3RDYXNlX011bHRpcGxlU3RhcnRzKCl7DQogICAgICAgYm9vbCByZXRWYWwgPSB0cnVlOw0KLSAgICAgIG1EVC5zZXRGcm9tTWlsaVNlY29uZHMoMjAwKTsNCisgICAgICBtRFQuc2V0RnJvbU1pbGxpU2Vjb25kcygyMDApOw0KICAgICAgIHRyaWdnZXJFdmVudCgwKTsNCiAgICAgICB1c2xlZXAoNTAwMDApOw0KICAgICAgIGlmKCFldmVudENoYWluRW1wdHkoKSl7DQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfREVNVVhfdGVzdGVyLmNwcCBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX0RFTVVYX3Rlc3Rlci5jcHAKaW5kZXggNGIxZWQyMS4uYmU3MWE0NyAxMDA2NDQKLS0tIGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfREVNVVhfdGVzdGVyLmNwcAorKysgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9ERU1VWF90ZXN0ZXIuY3BwCkBAIC0xLDkgKzEsMTAgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogICogQ29weXJpZ2h0IChjKSAyMDE4IGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjANCiAgKg0KICAqIENvbnRyaWJ1dG9yczoNCiAgKiAgICBLaXJpbGwgRG9yb2ZlZXYNCmRpZmYgLS1naXQgYS90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9GX1RSSUdfdGVzdGVyLmNwcCBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX0ZfVFJJR190ZXN0ZXIuY3BwCmluZGV4IDM5MGM1NmQuLjhjNzIzOWIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX0ZfVFJJR190ZXN0ZXIuY3BwCisrKyBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX0ZfVFJJR190ZXN0ZXIuY3BwCkBAIC0xLDkzICsxLDY4IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQotICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyAqICAgQWxvaXMgWm9pdGwgLSBtaWdyYXRlZCBmYiB0ZXN0cyB0byBib29zdCB0ZXN0IGluZnJhc3RydWN0dXJlDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotI2luY2x1ZGUgIi4uLy4uL2NvcmUvZmJ0ZXN0cy9mYnRlc3Rlci5oIg0KLSNpbmNsdWRlIDxFX0ZfVFJJRy5oPg0KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIg0KIA0KICNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFANCiAjaW5jbHVkZSAiRV9GX1RSSUdfdGVzdGVyX2dlbi5jcHAiDQogI2VuZGlmDQogDQogDQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCitzdHJ1Y3QgRV9GX1RSSUdfVGVzdEZpeHR1cmUgOiBwdWJsaWMgQ0ZCVGVzdEZpeHR1cmVCYXNlew0KIA0KLWNsYXNzIEVfRl9UUklHX3Rlc3RlciAgOiBwdWJsaWMgQ0ZCVGVzdGVyew0KLSAgICBERUNMQVJFX0ZCX1RFU1RFUihFX0ZfVFJJR190ZXN0ZXIpOw0KLQ0KLSAgcHVibGljOg0KLSAgICBFX0ZfVFJJR190ZXN0ZXIoQ1Jlc291cmNlKiBtX3BvVGVzdFJlc291cmNlKSA6DQotICAgICAgICBDRkJUZXN0ZXIobV9wb1Rlc3RSZXNvdXJjZSl7DQotICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5fUUkpOw0KKyAgICBFX0ZfVFJJR19UZXN0Rml4dHVyZSgpIDogQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRV9GX1RSSUcpew0KKyAgICAgIFNFVFVQX0lOUFVUREFUQSgmbUluUUkpOw0KKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsNCiAgICAgfQ0KIA0KLSAgICB2aXJ0dWFsIH5FX0ZfVFJJR190ZXN0ZXIoKSB7DQotDQotICAgIH0NCi0NCi0gIHByaXZhdGU6DQotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlQWxsVGVzdHMoKXsNCi0gICAgICBldmFsdWF0ZVRlc3RSZXN1bHQodGVzdENhc2VfUmFpc2luZ0VkZ2UoKSwgIlJhaXNpbmcgRWRnZSIpOw0KLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9GYWxsaW5nRWRnZSgpLCAiRmFsbGluZyBFZGdlIik7DQotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX1N0YWJsZUhpZ2goKSwgIlN0YWJsZSBIaWdoIik7DQotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX1N0YWJsZUxvdygpLCAiU3RhYmxlIExvdyIpOw0KLSAgICB9DQotDQotICAgIGJvb2wgdGVzdENhc2VfUmFpc2luZ0VkZ2UoKXsNCi0gICAgICBib29sIGJSZXN1bHQgPSB0cnVlOw0KLSAgICAgIG1Jbl9RSSA9IHRydWU7DQotICAgICAgdHJpZ2dlckV2ZW50KDApOw0KLSAgICAgIGlmKCFldmVudENoYWluRW1wdHkoKSl7DQotICAgICAgICBiUmVzdWx0ID0gZmFsc2U7DQotICAgICAgfQ0KLSAgICAgIHJldHVybiBiUmVzdWx0Ow0KLSAgICB9DQotICAgIGJvb2wgdGVzdENhc2VfRmFsbGluZ0VkZ2UoKXsNCi0gICAgICBtSW5fUUkgPSB0cnVlOw0KLSAgICAgIHRyaWdnZXJFdmVudCgwKTsNCi0gICAgICBtSW5fUUkgPSBmYWxzZTsNCi0gICAgICB0cmlnZ2VyRXZlbnQoMCk7DQotICAgICAgcmV0dXJuIGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCk7DQotICAgIH0NCi0gICAgYm9vbCB0ZXN0Q2FzZV9TdGFibGVIaWdoKCl7DQotICAgICAgYm9vbCBiUmVzdWx0ID0gdHJ1ZTsNCi0gICAgICBtSW5fUUkgPSB0cnVlOw0KLSAgICAgIHRyaWdnZXJFdmVudCgwKTsNCi0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgaSsrKXsNCi0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsNCi0gICAgICAgIGlmKCFldmVudENoYWluRW1wdHkoKSl7DQotICAgICAgICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0gICAgICAgICAgYnJlYWs7DQotICAgICAgICB9DQotICAgICAgfQ0KLSAgICAgIHJldHVybiBiUmVzdWx0Ow0KLSAgICB9DQotICAgIGJvb2wgdGVzdENhc2VfU3RhYmxlTG93KCl7DQotICAgICAgYm9vbCBiUmVzdWx0ID0gdHJ1ZTsNCi0gICAgICBtSW5fUUkgPSBmYWxzZTsNCi0gICAgICB0cmlnZ2VyRXZlbnQoMCk7IC8vSnVzdCBpbiBjYXNlIHRoYXQgdGhlIFFJIGhhcyBiZWVuIHRydWUgZmlyc3QgaGFuZGxlIGEgcG90ZW50aWFsIGZhbGxpbmcgZWRnZQ0KLSAgICAgIHB1bGxGaXJzdENoYWluRXZlbnRJRCgpOw0KLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyBpKyspew0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOw0KLSAgICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKXsNCi0gICAgICAgICAgYlJlc3VsdCA9IGZhbHNlOw0KLSAgICAgICAgICBicmVhazsNCi0gICAgICAgIH0NCi0gICAgICB9DQotICAgICAgcmV0dXJuIGJSZXN1bHQ7DQotICAgIH0NCi0NCi0gICAgQ0lFQ19CT09MIG1Jbl9RSTsgLy9EQVRBIElOUFVUDQorICAgIENJRUNfQk9PTCBtSW5RSTsgLy9EQVRBIElOUFVUDQogfTsNCiANCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIA0KLURFRklORV9GQl9URVNURVIoRV9GX1RSSUdfdGVzdGVyLCBnX25TdHJpbmdJZEVfRl9UUklHKQ0KK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggRlRyaWdUZXN0cywgRV9GX1RSSUdfVGVzdEZpeHR1cmUpDQorDQorICBCT09TVF9BVVRPX1RFU1RfQ0FTRShSYWlzaW5nRWRnZSl7DQorICAgIG1JblFJID0gdHJ1ZTsNCisgICAgdHJpZ2dlckV2ZW50KDApOw0KKyAgICBCT09TVF9DSEVDSyhldmVudENoYWluRW1wdHkoKSk7DQorICB9DQorDQorICBCT09TVF9BVVRPX1RFU1RfQ0FTRShGYWxsaW5nRWRnZSl7DQorICAgICAgbUluUUkgPSB0cnVlOw0KKyAgICAgIHRyaWdnZXJFdmVudCgwKTsNCisgICAgICBtSW5RSSA9IGZhbHNlOw0KKyAgICAgIHRyaWdnZXJFdmVudCgwKTsNCisgICAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsNCisgICAgfQ0KKw0KKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoU3RhYmxlSGlnaCl7DQorICAgICAgbUluUUkgPSB0cnVlOw0KKyAgICAgIHRyaWdnZXJFdmVudCgwKTsNCisgICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgaSsrKXsNCisgICAgICAgIHRyaWdnZXJFdmVudCgwKTsNCisgICAgICAgIEJPT1NUX0NIRUNLKGV2ZW50Q2hhaW5FbXB0eSgpKTsNCisgICAgICB9DQorICAgIH0NCisNCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFN0YWJsZUxvdyl7DQorICAgICAgbUluUUkgPSBmYWxzZTsNCisgICAgICB0cmlnZ2VyRXZlbnQoMCk7IC8vSnVzdCBpbiBjYXNlIHRoYXQgdGhlIFFJIGhhcyBiZWVuIHRydWUgZmlyc3QgaGFuZGxlIGEgcG90ZW50aWFsIGZhbGxpbmcgZWRnZQ0KKyAgICAgIGNsZWFyRXZlbnRDaGFpbigpOw0KKyAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyBpKyspew0KKyAgICAgICAgdHJpZ2dlckV2ZW50KDApOw0KKyAgICAgICAgQk9PU1RfQ0hFQ0soZXZlbnRDaGFpbkVtcHR5KCkpOw0KKyAgICAgIH0NCisgICAgfQ0KKw0KK0JPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQ0KKw0KZGlmZiAtLWdpdCBhL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX1BFUk1JVF90ZXN0ZXIuY3BwIGIvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfUEVSTUlUX3Rlc3Rlci5jcHAKaW5kZXggNTg3MWJjMi4uZDNmZTk4NyAxMDA2NDQKLS0tIGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfUEVSTUlUX3Rlc3Rlci5jcHAKKysrIGIvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfUEVSTUlUX3Rlc3Rlci5jcHAKQEAgLTEsNjIgKzEsNDUgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTQsIDIwMTggQUNJTiwgZm9ydGlzcyBHbWJICisgKiAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgotICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIEFsb2lzIFpvaXRsIC0gbWlncmF0ZWQgZmIgdGVzdHMgdG8gYm9vc3QgdGVzdCBpbmZyYXN0cnVjdHVyZQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGVyLmgiCi0jaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgotI2luY2x1ZGUgPEVfUEVSTUlULmg+CisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKKwogI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAogI2luY2x1ZGUgIkVfUEVSTUlUX3Rlc3Rlcl9nZW4uY3BwIgogI2VuZGlmCiAKK3N0cnVjdCBFX1BFUk1JVF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2V7CiAKLWNsYXNzIEVfUEVSTUlUX3Rlc3RlciA6IHB1YmxpYyBDRkJUZXN0ZXJ7Ci0gICAgREVDTEFSRV9GQl9URVNURVIoRV9QRVJNSVRfdGVzdGVyKTsKLSAgcHVibGljOgotCi0gICAgRV9QRVJNSVRfdGVzdGVyKENSZXNvdXJjZSogbV9wb1Rlc3RSZXNvdXJjZSkgOgotICAgICAgICBDRkJUZXN0ZXIobV9wb1Rlc3RSZXNvdXJjZSl7Ci0gICAgICBTRVRVUF9JTlBVVERBVEEoJm1fb0luX1BFUk1JVCk7CisgICAgRV9QRVJNSVRfVGVzdEZpeHR1cmUoKSA6IENGQlRlc3RGaXh0dXJlQmFzZShnX25TdHJpbmdJZEVfUEVSTUlUKXsKKyAgICAgIFNFVFVQX0lOUFVUREFUQSgmbUluUEVSTUlUKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKICAgICB9Ci0gICAgdmlydHVhbCB+RV9QRVJNSVRfdGVzdGVyKCkgewotCi0gICAgfQotICBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlQWxsVGVzdHMoKXsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9QZXJtaXQoKSwgIlBlcm1pdCIpOwotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX0RvbnRQZXJtaXQoKSwgIkRvbnRQZXJtaXQiKTsKLSAgICB9Ci0KLSAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0gICAgYm9vbCB0ZXN0Q2FzZV9QZXJtaXQoKXsKLSAgICAgIC8qIHByZXBhcmUgaW5wdXRwYXJhbWV0ZXJzICovCi0gICAgICBtX29Jbl9QRVJNSVQgPSB0cnVlOwotICAgICAgLyogdHJpZ2dlciB0aGUgaW5wdXRldmVudCAqLwotICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgcmV0dXJuIGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCk7Ci0gICAgfQotICAgIGJvb2wgdGVzdENhc2VfRG9udFBlcm1pdCgpewotICAgICAgYm9vbCBiVGVzdFJlc3VsdCA9IHRydWU7Ci0gICAgICAvKiBwcmVwYXJlIGlucHV0cGFyYW1ldGVycyAqLwotICAgICAgbV9vSW5fUEVSTUlUID0gZmFsc2U7Ci0gICAgICAvKiB0cmlnZ2VyIHRoZSBpbnB1dGV2ZW50ICovCi0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAvKiB2ZXJpZnkgaWYgdGhlcmUgaXMgbm8gb3V0cHV0IGV2ZW50ICh0ZXN0c3BlY2lmaWNhdGlvbikqLwotICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKQotICAgICAgICBiVGVzdFJlc3VsdCA9IGZhbHNlOwotCi0gICAgICByZXR1cm4gYlRlc3RSZXN1bHQ7Ci0gICAgfQotCi0gICAgQ0lFQ19CT09MIG1fb0luX1BFUk1JVDsgLy9EQVRBIElOUFVUCisgCisgICAgQ0lFQ19CT09MIG1JblBFUk1JVDsgLy9EQVRBIElOUFVUCiB9OwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLURFRklORV9GQl9URVNURVIoRV9QRVJNSVRfdGVzdGVyLCBnX25TdHJpbmdJZEVfUEVSTUlUKQorQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBQZXJtaXRUZXN0cywgRV9QRVJNSVRfVGVzdEZpeHR1cmUpCisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UocGVybWl0KXsKKyAgICBtSW5QRVJNSVQgPSB0cnVlOworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKGRvbnRQZXJtaXQpeworICAgIG1JblBFUk1JVCA9IGZhbHNlOworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhldmVudENoYWluRW1wdHkoKSk7CisgIH0KKworQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCmRpZmYgLS1naXQgYS90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9SX1RSSUdfdGVzdGVyLmNwcCBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX1JfVFJJR190ZXN0ZXIuY3BwCmluZGV4IDU3Nzc5MmEuLjZlZTYyYmMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX1JfVFJJR190ZXN0ZXIuY3BwCisrKyBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX1JfVFJJR190ZXN0ZXIuY3BwCkBAIC0xLDkwICsxLDY2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICAqIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgNCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzDQotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wDQotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQNCi0gKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbA0KKyAqICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQ0KKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wDQogICoNCiAgKiBDb250cmlidXRvcnM6DQotICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyAqICAgQWxvaXMgWm9pdGwgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbg0KKyAqICAgQWxvaXMgWm9pdGwgLSBtaWdyYXRlZCBmYiB0ZXN0cyB0byBib29zdCB0ZXN0IGluZnJhc3RydWN0dXJlDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQotI2luY2x1ZGUgIi4uLy4uL2NvcmUvZmJ0ZXN0cy9mYnRlc3Rlci5oIg0KLSNpbmNsdWRlIDxFX1JfVFJJRy5oPg0KKyNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0Zml4dHVyZS5oIg0KKw0KICNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFANCiAjaW5jbHVkZSAiRV9SX1RSSUdfdGVzdGVyX2dlbi5jcHAiDQogI2VuZGlmDQogDQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCitzdHJ1Y3QgRV9SX1RSSUdfVGVzdEZpeHR1cmUgOiBwdWJsaWMgQ0ZCVGVzdEZpeHR1cmVCYXNlew0KIA0KLWNsYXNzIEVfUl9UUklHX3Rlc3RlciAgOiBwdWJsaWMgQ0ZCVGVzdGVyew0KLSAgICBERUNMQVJFX0ZCX1RFU1RFUihFX1JfVFJJR190ZXN0ZXIpOw0KLQ0KLSAgcHVibGljOg0KLSAgICBFX1JfVFJJR190ZXN0ZXIoQ1Jlc291cmNlKiBtX3BvVGVzdFJlc291cmNlKSA6DQotICAgICAgICBDRkJUZXN0ZXIobV9wb1Rlc3RSZXNvdXJjZSl7DQotICAgICAgU0VUVVBfSU5QVVREQVRBKCZtX29Jbl9RSSk7DQorICAgIEVfUl9UUklHX1Rlc3RGaXh0dXJlKCkgOiBDRkJUZXN0Rml4dHVyZUJhc2UoZ19uU3RyaW5nSWRFX1JfVFJJRyl7DQorICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5RSSk7DQorICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpzZXR1cCgpOw0KICAgICB9DQogDQotICAgIHZpcnR1YWwgfkVfUl9UUklHX3Rlc3Rlcigpew0KLQ0KLSAgICB9DQotDQotICBwcml2YXRlOg0KLSAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUFsbFRlc3RzKCl7DQotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX1JhaXNpbmdFZGdlKCksICJSYWlzaW5nIEVkZ2UiKTsNCi0gICAgICBldmFsdWF0ZVRlc3RSZXN1bHQodGVzdENhc2VfRmFsbGluZ0VkZ2UoKSwgIkZhbGxpbmcgRWRnZSIpOw0KLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9TdGFibGVIaWdoKCksICJTdGFibGUgSGlnaCIpOw0KLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9TdGFibGVMb3coKSwgIlN0YWJsZSBMb3ciKTsNCi0gICAgfQ0KLQ0KLSAgICBib29sIHRlc3RDYXNlX1JhaXNpbmdFZGdlKCl7DQotICAgICAgbV9vSW5fUUkgPSB0cnVlOw0KLSAgICAgIHRyaWdnZXJFdmVudCgwKTsNCi0gICAgICByZXR1cm4gY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKTsNCi0gICAgfQ0KLSAgICBib29sIHRlc3RDYXNlX0ZhbGxpbmdFZGdlKCl7DQotICAgICAgYm9vbCBiUmVzdWx0ID0gdHJ1ZTsNCi0gICAgICBtX29Jbl9RSSA9IHRydWU7DQotICAgICAgdHJpZ2dlckV2ZW50KDApOw0KLSAgICAgIG1fb0luX1FJID0gZmFsc2U7DQotICAgICAgdHJpZ2dlckV2ZW50KDApOw0KLSAgICAgIGlmKCFldmVudENoYWluRW1wdHkoKSl7DQotICAgICAgICBiUmVzdWx0ID0gZmFsc2U7DQotICAgICAgfQ0KLSAgICAgIHJldHVybiBiUmVzdWx0Ow0KLSAgICB9DQotICAgIGJvb2wgdGVzdENhc2VfU3RhYmxlSGlnaCgpew0KLSAgICAgIGJvb2wgYlJlc3VsdCA9IHRydWU7DQotICAgICAgbV9vSW5fUUkgPSB0cnVlOw0KLSAgICAgIHRyaWdnZXJFdmVudCgwKTsNCi0gICAgICBwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKTsNCi0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgaSsrKXsNCi0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsNCi0gICAgICAgIGlmKCFldmVudENoYWluRW1wdHkoKSl7DQotICAgICAgICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0gICAgICAgICAgYnJlYWs7DQotICAgICAgICB9DQotICAgICAgfQ0KLSAgICAgIHJldHVybiBiUmVzdWx0Ow0KLSAgICB9DQotICAgIGJvb2wgdGVzdENhc2VfU3RhYmxlTG93KCl7DQotICAgICAgYm9vbCBiUmVzdWx0ID0gdHJ1ZTsNCi0gICAgICBtX29Jbl9RSSA9IGZhbHNlOw0KLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyBpKyspew0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOw0KLSAgICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKXsNCi0gICAgICAgICAgYlJlc3VsdCA9IGZhbHNlOw0KLSAgICAgICAgICBicmVhazsNCi0gICAgICAgIH0NCi0gICAgICB9DQotICAgICAgcmV0dXJuIGJSZXN1bHQ7DQotICAgIH0NCi0NCi0gICAgQ0lFQ19CT09MIG1fb0luX1FJOyAvL0RBVEEgSU5QVVQNCisgICAgQ0lFQ19CT09MIG1JblFJOyAvL0RBVEEgSU5QVVQNCiB9Ow0KIA0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogDQotREVGSU5FX0ZCX1RFU1RFUihFX1JfVFJJR190ZXN0ZXIsIGdfblN0cmluZ0lkRV9SX1RSSUcpDQorQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBSVHJpZ1Rlc3RzLCBFX1JfVFJJR19UZXN0Rml4dHVyZSkNCisNCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFJhaXNpbmdFZGdlKXsNCisgICAgbUluUUkgPSB0cnVlOw0KKyAgICB0cmlnZ2VyRXZlbnQoMCk7DQorICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOw0KKyAgfQ0KKw0KKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoRmFsbGluZ0VkZ2Upew0KKyAgICBtSW5RSSA9IHRydWU7DQorICAgIHRyaWdnZXJFdmVudCgwKTsNCisgICAgY2xlYXJFdmVudENoYWluKCk7DQorICAgIG1JblFJID0gZmFsc2U7DQorICAgIHRyaWdnZXJFdmVudCgwKTsNCisgICAgQk9PU1RfQ0hFQ0soZXZlbnRDaGFpbkVtcHR5KCkpOw0KKyAgfQ0KKw0KKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoU3RhYmxlSGlnaCl7DQorICAgIG1JblFJID0gdHJ1ZTsNCisgICAgdHJpZ2dlckV2ZW50KDApOw0KKyAgICBwdWxsRmlyc3RDaGFpbkV2ZW50SUQoKTsNCisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDEwMDA7IGkrKyl7DQorICAgICAgdHJpZ2dlckV2ZW50KDApOw0KKyAgICAgIEJPT1NUX0NIRUNLKGV2ZW50Q2hhaW5FbXB0eSgpKTsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoU3RhYmxlTG93KXsNCisgICAgbUluUUkgPSBmYWxzZTsNCisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDEwMDA7IGkrKyl7DQorICAgICAgdHJpZ2dlckV2ZW50KDApOw0KKyAgICAgIEJPT1NUX0NIRUNLKGV2ZW50Q2hhaW5FbXB0eSgpKTsNCisgICAgfQ0KKyAgfQ0KKw0KK0JPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQ0KZGlmZiAtLWdpdCBhL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX1NFTEVDVF90ZXN0ZXIuY3BwIGIvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfU0VMRUNUX3Rlc3Rlci5jcHAKaW5kZXggZmQyNTk5OC4uNTg1ZWU4YiAxMDA2NDQKLS0tIGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfU0VMRUNUX3Rlc3Rlci5jcHAKKysrIGIvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfU0VMRUNUX3Rlc3Rlci5jcHAKQEAgLTEsMTQ2ICsxLDkyIEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogQ29weXJpZ2h0IChjKSAyMDE0IGZvcnRpc3MgR21iSAotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscwotICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdAotICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtdjEwLmh0bWwKKyAqICAgICAgICAgICAgICAgMjAxOCBKb2hhbm5lcyBLZXBsZXIgVW5pdmVyc2l0eQorICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjAgd2hpY2ggaXMgYXZhaWxhYmxlIGF0CisgKiBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAuCisgKgorICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjAKICAqCiAgKiBDb250cmlidXRvcnM6Ci0gKiAgIEFsb2lzIFpvaXRsICAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24KKyAqICAgQWxvaXMgWm9pdGwgLSBtaWdyYXRlZCBmYiB0ZXN0cyB0byBib29zdCB0ZXN0IGluZnJhc3RydWN0dXJlCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2luY2x1ZGUgIi4uLy4uL2NvcmUvZmJ0ZXN0cy9mYnRlc3Rlci5oIgorI2luY2x1ZGUgIi4uLy4uL2NvcmUvZmJ0ZXN0cy9mYnRlc3RmaXh0dXJlLmgiCiAjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPgotI2luY2x1ZGUgPEVfU0VMRUNULmg+CisKICNpZmRlZiBGT1JURV9FTkFCTEVfR0VORVJBVEVEX1NPVVJDRV9DUFAKICNpbmNsdWRlICJFX1NFTEVDVF90ZXN0ZXJfZ2VuLmNwcCIKICNlbmRpZgogCitzdHJ1Y3QgRV9TRUxFQ1RfVGVzdEZpeHR1cmUgOiBwdWJsaWMgQ0ZCVGVzdEZpeHR1cmVCYXNlewogCi1jbGFzcyBFX1NFTEVDVF90ZXN0ZXIgOiBwdWJsaWMgQ0ZCVGVzdGVyewotICAgIERFQ0xBUkVfRkJfVEVTVEVSKEVfU0VMRUNUX3Rlc3Rlcik7Ci0gIHB1YmxpYzoKLSAgICBFX1NFTEVDVF90ZXN0ZXIoQ1Jlc291cmNlKiBtX3BvVGVzdFJlc291cmNlKSA6Ci0gICAgICAgIENGQlRlc3RlcihtX3BvVGVzdFJlc291cmNlKXsKLSAgICAgIFNFVFVQX0lOUFVUREFUQSgmbUluX0cpOworICAgIEVfU0VMRUNUX1Rlc3RGaXh0dXJlKCkgOiBDRkJUZXN0Rml4dHVyZUJhc2UoZ19uU3RyaW5nSWRFX1NFTEVDVCl7CisgICAgICBTRVRVUF9JTlBVVERBVEEoJm1JbkcpOworICAgICAgQ0ZCVGVzdEZpeHR1cmVCYXNlOjpzZXR1cCgpOwogICAgIH0KIAotICAgIHZpcnR1YWwgfkVfU0VMRUNUX3Rlc3RlcigpIHsKLQotICAgIH0KLQotICBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCBleGVjdXRlQWxsVGVzdHMoKXsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9TZWxlY3RFSTAoKSwgIlNpbmdsZSBFSTAiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9TZWxlY3RFSTEoKSwgIlNpbmdsZSBFSTEiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9NdWx0aXBsZVNlbGVjdEVJMCgpLCAiTXVsdGlwbGUgRUkwIik7Ci0gICAgICBldmFsdWF0ZVRlc3RSZXN1bHQodGVzdENhc2VfTXVsdGlwbGVTZWxlY3RFSTEoKSwgIk11bHRpcGxlIEVJMSIpOwotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX0FsdGVybmF0ZSgpLCAiQWx0ZXJuYXRlIik7Ci0gICAgfQotCi0gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotICAgIGJvb2wgdGVzdENhc2VfU2VsZWN0RUkwKCl7Ci0gICAgICBib29sIGJSZXRWYWwgPSB0cnVlOwotICAgICAgbUluX0cgPSBmYWxzZTsKLSAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKXsKLSAgICAgICAgYlJldFZhbCA9IGZhbHNlOwotICAgICAgfQotICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKQotICAgICAgICBiUmV0VmFsID0gZmFsc2U7Ci0KLSAgICAgIHJldHVybiBiUmV0VmFsOwotICAgIH0KLSAgICBib29sIHRlc3RDYXNlX1NlbGVjdEVJMSgpewotICAgICAgYm9vbCBiUmV0VmFsID0gdHJ1ZTsKLSAgICAgIG1Jbl9HID0gdHJ1ZTsKLSAgICAgIHRyaWdnZXJFdmVudCgxKTsKLSAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKXsKLSAgICAgICAgYlJldFZhbCA9IGZhbHNlOwotICAgICAgfQotICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKQotICAgICAgICBiUmV0VmFsID0gZmFsc2U7Ci0KLSAgICAgIHJldHVybiBiUmV0VmFsOwotICAgIH0KLSAgICBib29sIHRlc3RDYXNlX011bHRpcGxlU2VsZWN0RUkwKCl7Ci0gICAgICBib29sIGJSZXRWYWwgPSB0cnVlOwotICAgICAgbUluX0cgPSBmYWxzZTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyBpKyspewotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKXsKLSAgICAgICAgICBiUmV0VmFsID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyBpKyspewotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKXsKLSAgICAgICAgICBiUmV0VmFsID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighZXZlbnRDaGFpbkVtcHR5KCkpewotICAgICAgICAgIGJSZXRWYWwgPSBmYWxzZTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgfQotICAgICAgcmV0dXJuIGJSZXRWYWw7Ci0gICAgfQotICAgIGJvb2wgdGVzdENhc2VfTXVsdGlwbGVTZWxlY3RFSTEoKXsKLSAgICAgIGJvb2wgYlJldFZhbCA9IHRydWU7Ci0gICAgICBtSW5fRyA9IHRydWU7Ci0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgaSsrKXsKLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSl7Ci0gICAgICAgICAgYlJldFZhbCA9IGZhbHNlOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgaSsrKXsKLSAgICAgICAgdHJpZ2dlckV2ZW50KDEpOwotICAgICAgICBpZighY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSl7Ci0gICAgICAgICAgYlJldFZhbCA9IGZhbHNlOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKXsKLSAgICAgICAgICBiUmV0VmFsID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIHJldHVybiBiUmV0VmFsOwotICAgIH0KLSAgICBib29sIHRlc3RDYXNlX0FsdGVybmF0ZSgpewotICAgICAgYm9vbCBiUmV0VmFsID0gdHJ1ZTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyArK2kpewotICAgICAgICBtSW5fRyA9ICFtSW5fRzsKLSAgICAgICAgdHJpZ2dlckV2ZW50KChtSW5fRykgPyAxIDogMCk7Ci0gICAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKXsKLSAgICAgICAgICBiUmV0VmFsID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyBpKyspewotICAgICAgICB0cmlnZ2VyRXZlbnQoKG1Jbl9HKSA/IDEgOiAwKTsKLSAgICAgICAgaWYoIWNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpewotICAgICAgICAgIGJSZXRWYWwgPSBmYWxzZTsKLSAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICB0cmlnZ2VyRXZlbnQoKG1Jbl9HKSA/IDAgOiAxKTsKLSAgICAgICAgaWYoIWV2ZW50Q2hhaW5FbXB0eSgpKXsKLSAgICAgICAgICBiUmV0VmFsID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIHJldHVybiBiUmV0VmFsOwotICAgIH0KLQotICAgIENJRUNfQk9PTCBtSW5fRzsgLy9EQVRBIElOUFVUCisgICAgQ0lFQ19CT09MIG1Jbkc7IC8vREFUQSBJTlBVVAogfTsKIAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCi1ERUZJTkVfRkJfVEVTVEVSKEVfU0VMRUNUX3Rlc3RlciwgZ19uU3RyaW5nSWRFX1NFTEVDVCkKK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggU2VsZWN0VGVzdHMsIEVfU0VMRUNUX1Rlc3RGaXh0dXJlKQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKFNlbGVjdEVJMCl7CisgICAgbUluRyA9IGZhbHNlOworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgQk9PU1RfQ0hFQ0soZXZlbnRDaGFpbkVtcHR5KCkpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoU2VsZWN0RUkxKXsKKyAgICBtSW5HID0gdHJ1ZTsKKyAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgwKSk7CisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGV2ZW50Q2hhaW5FbXB0eSgpKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKE11bHRpcGxlU2VsZWN0RUkwKXsKKyAgICBtSW5HID0gZmFsc2U7CisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDEwMDA7IGkrKyl7CisgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICB9CisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDEwMDA7IGkrKyl7CisgICAgICB0cmlnZ2VyRXZlbnQoMCk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICAgIHRyaWdnZXJFdmVudCgxKTsKKyAgICAgIEJPT1NUX0NIRUNLKGV2ZW50Q2hhaW5FbXB0eSgpKTsKKyAgICB9CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShNdWx0aXBsZVNlbGVjdEVJMSl7CisgICAgbUluRyA9IHRydWU7CisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDEwMDA7IGkrKyl7CisgICAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICB9CisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDEwMDA7IGkrKyl7CisgICAgICB0cmlnZ2VyRXZlbnQoMSk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGV2ZW50Q2hhaW5FbXB0eSgpKTsKKyAgICB9CisgIH0KKworICBCT09TVF9BVVRPX1RFU1RfQ0FTRShBbHRlcm5hdGUpeworICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyArK2kpeworICAgICAgbUluRyA9ICFtSW5HOworICAgICAgdHJpZ2dlckV2ZW50KChtSW5HKSA/IDEgOiAwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIH0KKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgaSsrKXsKKyAgICAgIHRyaWdnZXJFdmVudCgobUluRykgPyAxIDogMCk7CisgICAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKTsKKyAgICAgIHRyaWdnZXJFdmVudCgobUluRykgPyAwIDogMSk7CisgICAgICBCT09TVF9DSEVDSyhldmVudENoYWluRW1wdHkoKSk7CisgICAgfQorICB9CisKK0JPT1NUX0FVVE9fVEVTVF9TVUlURV9FTkQoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfU1JfdGVzdGVyLmNwcCBiL3Rlc3RzL3N0ZGZibGliL2V2ZW50cy9FX1NSX3Rlc3Rlci5jcHAKaW5kZXggMDUzODZiMC4uZGM0MWI2MSAxMDA2NDQKLS0tIGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfU1JfdGVzdGVyLmNwcAorKysgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9TUl90ZXN0ZXIuY3BwCkBAIC0xLDExNCArMSw3NCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDE0IEFDSU4sIGZvcnRpc3MgR21iSA0KLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCi0gKiBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjANCi0gKiB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbiwgYW5kIGlzIGF2YWlsYWJsZSBhdA0KLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sDQorICogQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNCwgMjAxOCBBQ0lOLCBmb3J0aXNzIEdtYkgNCisgKiAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkNCisgKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUKKyAqIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMCB3aGljaCBpcyBhdmFpbGFibGUgYXQKKyAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC4KKyAqCisgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMA0KICAqDQogICogQ29udHJpYnV0b3JzOg0KLSAqICAgQWxvaXMgWm9pdGwgIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCisgKiAgIEFsb2lzIFpvaXRsIC0gaW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uIGFuZC9vciBpbml0aWFsIGRvY3VtZW50YXRpb24NCisgKiAgIEFsb2lzIFpvaXRsIC0gbWlncmF0ZWQgZmIgdGVzdHMgdG8gYm9vc3QgdGVzdCBpbmZyYXN0cnVjdHVyZQ0KICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLSNpbmNsdWRlICIuLi8uLi9jb3JlL2ZidGVzdHMvZmJ0ZXN0ZXIuaCINCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCINCiAjaW5jbHVkZSA8Zm9ydGVfYm9vbC5oPg0KLSNpbmNsdWRlIDxFX1NSLmg+DQorDQogI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUA0KICNpbmNsdWRlICJFX1NSX3Rlc3Rlcl9nZW4uY3BwIg0KICNlbmRpZg0KIA0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorc3RydWN0IEVfU1JfVGVzdEZpeHR1cmUgOiBwdWJsaWMgQ0ZCVGVzdEZpeHR1cmVCYXNlew0KIA0KLWNsYXNzIEVfU1JfdGVzdGVyICA6IHB1YmxpYyBDRkJUZXN0ZXJ7DQotICAgIERFQ0xBUkVfRkJfVEVTVEVSKEVfU1JfdGVzdGVyKTsNCi0NCi0gIHB1YmxpYzoNCi0gICAgRV9TUl90ZXN0ZXIoQ1Jlc291cmNlKiBtX3BvVGVzdFJlc291cmNlKSA6DQotICAgICAgICBDRkJUZXN0ZXIobV9wb1Rlc3RSZXNvdXJjZSl7DQotICAgICAgU0VUVVBfT1VUUFVUREFUQSgmbU91dF9RKTsNCisgICAgRV9TUl9UZXN0Rml4dHVyZSgpIDogQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRV9TUil7DQorICAgICAgU0VUVVBfT1VUUFVUREFUQSgmbU91dFEpOw0KKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsNCiAgICAgfQ0KIA0KLSAgICB2aXJ0dWFsIH5FX1NSX3Rlc3RlcigpIHsNCi0NCi0gICAgfQ0KLQ0KLSAgcHJpdmF0ZToNCi0gICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVBbGxUZXN0cygpew0KLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9FdmVudFMoKSwgIkV2ZW50UyIpOw0KLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9FdmVudFIoKSwgIkV2ZW50UiIpOw0KLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9Ub2dnbGUoKSwgIlRvZ2dsZSIpOw0KLSAgICB9DQotDQotICAgIGJvb2wgdGVzdENhc2VfRXZlbnRTKCl7DQotICAgICAgYm9vbCBiUmVzdWx0ID0gdHJ1ZTsNCi0gICAgICAvL1NlbmQgZXZlbnQNCi0gICAgICB0cmlnZ2VyRXZlbnQoMCk7DQotICAgICAgaWYoIWNoZWNrU3RhdGVDaGFuZ2UodHJ1ZSkpDQotICAgICAgICBiUmVzdWx0ID0gZmFsc2U7DQotDQotICAgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDEwMDsgKytpKXsNCi0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsNCi0gICAgICAgIGlmKCFldmVudENoYWluRW1wdHkoKSl7DQotICAgICAgICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0gICAgICAgICAgYnJlYWs7DQotICAgICAgICB9DQotICAgICAgICBpZihtT3V0X1EgIT0gdHJ1ZSl7DQotICAgICAgICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0gICAgICAgICAgYnJlYWs7DQotICAgICAgICB9DQotICAgICAgfQ0KLSAgICAgIHJldHVybiBiUmVzdWx0Ow0KLSAgICB9DQotICAgIGJvb2wgdGVzdENhc2VfRXZlbnRSKCl7DQotICAgICAgYm9vbCBiUmVzdWx0ID0gdHJ1ZTsNCi0gICAgICAvL1NlbmQgZXZlbnQNCi0gICAgICB0cmlnZ2VyRXZlbnQoMSk7DQotICAgICAgLy9UZXN0IGNvcnJlY3Qgb3JkZXIgb2Ygb3V0Z29pbmcgZXZlbnRzDQotICAgICAgaWYoIWNoZWNrU3RhdGVDaGFuZ2UoZmFsc2UpKQ0KLSAgICAgICAgYlJlc3VsdCA9IGZhbHNlOw0KLQ0KLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDA7ICsraSl7DQotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7DQotICAgICAgICBpZighZXZlbnRDaGFpbkVtcHR5KCkpew0KLSAgICAgICAgICBiUmVzdWx0ID0gZmFsc2U7DQotICAgICAgICAgIGJyZWFrOw0KLSAgICAgICAgfQ0KLSAgICAgICAgaWYobU91dF9RICE9IGZhbHNlKXsNCi0gICAgICAgICAgYlJlc3VsdCA9IGZhbHNlOw0KLSAgICAgICAgICBicmVhazsNCi0gICAgICAgIH0NCi0gICAgICB9DQotICAgICAgcmV0dXJuIGJSZXN1bHQ7DQotICAgIH0NCi0gICAgYm9vbCB0ZXN0Q2FzZV9Ub2dnbGUoKXsNCi0gICAgICBib29sIGJSZXN1bHQgPSB0cnVlOw0KLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDA7ICsraSl7DQotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7DQotICAgICAgICBpZighY2hlY2tTdGF0ZUNoYW5nZSh0cnVlKSl7DQotICAgICAgICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0gICAgICAgICAgYnJlYWs7DQotICAgICAgICB9DQotICAgICAgICB0cmlnZ2VyRXZlbnQoMSk7DQotICAgICAgICBjaGVja1N0YXRlQ2hhbmdlKGZhbHNlKTsNCi0gICAgICB9DQotICAgICAgcmV0dXJuIGJSZXN1bHQ7DQotICAgIH0NCisgICAgQ0lFQ19CT09MIG1PdXRROyAvL0RBVEEgT1VUUFVUDQogDQogICAgIC8qXGJyaWVmIENoZWNrIGlmIHRoZSBFX1NSIGNoYW5nZWQgdG8gdGhlIGdpdmVuIHRhcmdldCBzdGF0ZQ0KLSAgICAgKg0KICAgICAgKi8NCi0gICAgYm9vbCBjaGVja1N0YXRlQ2hhbmdlKGJvb2wgYlRhcmdldFN0YXRlKXsNCi0gICAgICBib29sIGJSZXN1bHQgPSBjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApOw0KLSAgICAgIC8vdmVyaWZ5IGRhdGEgb3V0cHV0DQotICAgICAgaWYobU91dF9RICE9IGJUYXJnZXRTdGF0ZSkNCi0gICAgICAgIGJSZXN1bHQgPSBmYWxzZTsNCi0NCi0gICAgICByZXR1cm4gYlJlc3VsdDsNCisgICAgYm9vbCBjaGVja1N0YXRlQ2hhbmdlKGJvb2wgcGFUYXJnZXRTdGF0ZSl7DQorICAgICAgcmV0dXJuIGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkgJiYgKHBhVGFyZ2V0U3RhdGUgPT0gbU91dFEpOw0KICAgICB9DQotDQotICAgIENJRUNfQk9PTCBtT3V0X1E7IC8vREFUQSBPVVRQVVQNCiB9Ow0KIA0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQorQk9PU1RfRklYVFVSRV9URVNUX1NVSVRFKCBTUlRlc3RzLCBFX1NSX1Rlc3RGaXh0dXJlKQ0KIA0KLURFRklORV9GQl9URVNURVIoRV9TUl90ZXN0ZXIsIGdfblN0cmluZ0lkRV9TUik7DQorICBCT09TVF9BVVRPX1RFU1RfQ0FTRShFdmVudFMpew0KKyAgICAvL1NlbmQgZXZlbnQNCisgICAgdHJpZ2dlckV2ZW50KDApOw0KKyAgICBCT09TVF9DSEVDSyhjaGVja1N0YXRlQ2hhbmdlKHRydWUpKTsNCisNCisgICAgZm9yKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IDEwMDsgKytpKXsNCisgICAgICB0cmlnZ2VyRXZlbnQoMCk7DQorICAgICAgQk9PU1RfQ0hFQ0soZXZlbnRDaGFpbkVtcHR5KCkpOw0KKyAgICAgIEJPT1NUX0NIRUNLKG1PdXRRKTsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoRXZlbnRSKXsNCisgICAgdHJpZ2dlckV2ZW50KDApOyAvL2luaXRpYWxseSBTUiBpcyByZXNldCwgcmVxdWlyZXMgYSBzZXQgYmVmb3JlIHJlc2V0DQorICAgIEJPT1NUX0NIRUNLKGNoZWNrU3RhdGVDaGFuZ2UodHJ1ZSkpOw0KKyAgICB0cmlnZ2VyRXZlbnQoMSk7DQorICAgIC8vVGVzdCBjb3JyZWN0IG9yZGVyIG9mIG91dGdvaW5nIGV2ZW50cw0KKyAgICBCT09TVF9DSEVDSyhjaGVja1N0YXRlQ2hhbmdlKGZhbHNlKSk7DQorDQorICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDA7ICsraSl7DQorICAgICAgdHJpZ2dlckV2ZW50KDEpOw0KKyAgICAgIEJPT1NUX0NIRUNLKGV2ZW50Q2hhaW5FbXB0eSgpKTsNCisgICAgICBCT09TVF9DSEVDS19FUVVBTChmYWxzZSwgbU91dFEpOw0KKyAgICB9DQorICB9DQorDQorICBCT09TVF9BVVRPX1RFU1RfQ0FTRShUb2dnbGUpew0KKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwOyArK2kpew0KKyAgICAgIHRyaWdnZXJFdmVudCgwKTsNCisgICAgICBCT09TVF9DSEVDSyhjaGVja1N0YXRlQ2hhbmdlKHRydWUpKTsNCisgICAgICB0cmlnZ2VyRXZlbnQoMSk7DQorICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tTdGF0ZUNoYW5nZShmYWxzZSkpOw0KKyAgICB9DQorICB9DQorDQorQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpDQpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RkZmJsaWIvZXZlbnRzL0VfU1dJVENIX3Rlc3Rlci5jcHAgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9TV0lUQ0hfdGVzdGVyLmNwcAppbmRleCBhOTFjZWVlLi5lYWU1MzI1IDEwMDY0NAotLS0gYS90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9TV0lUQ0hfdGVzdGVyLmNwcAorKysgYi90ZXN0cy9zdGRmYmxpYi9ldmVudHMvRV9TV0lUQ0hfdGVzdGVyLmNwcApAQCAtMSw5MyArMSw3MCBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvcHlyaWdodCAoYykgMjAxNCBmb3J0aXNzIEdtYkgKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKLSAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgdjEuMAotICogd2hpY2ggYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24sIGFuZCBpcyBhdmFpbGFibGUgYXQKLSAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCisgKiAgICAgICAgICAgICAgIDIwMTggSm9oYW5uZXMgS2VwbGVyIFVuaXZlcnNpdHkKKyAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZQorICogdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wIHdoaWNoIGlzIGF2YWlsYWJsZSBhdAorICogaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wLgorICoKKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wCiAgKgogICogQ29udHJpYnV0b3JzOgotICogICBBbG9pcyBab2l0bCAgLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24gYW5kL29yIGluaXRpYWwgZG9jdW1lbnRhdGlvbgorICogICBBbG9pcyBab2l0bCAtIGluaXRpYWwgQVBJIGFuZCBpbXBsZW1lbnRhdGlvbiBhbmQvb3IgaW5pdGlhbCBkb2N1bWVudGF0aW9uCisgKiAgIEFsb2lzIFpvaXRsIC0gbWlncmF0ZWQgZmIgdGVzdHMgdG8gYm9vc3QgdGVzdCBpbmZyYXN0cnVjdHVyZQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0jaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGVyLmgiCisjaW5jbHVkZSAiLi4vLi4vY29yZS9mYnRlc3RzL2ZidGVzdGZpeHR1cmUuaCIKICNpbmNsdWRlIDxmb3J0ZV9ib29sLmg+Ci0jaW5jbHVkZSA8RV9TV0lUQ0guaD4KKwogI2lmZGVmIEZPUlRFX0VOQUJMRV9HRU5FUkFURURfU09VUkNFX0NQUAogI2luY2x1ZGUgIkVfU1dJVENIX3Rlc3Rlcl9nZW4uY3BwIgogI2VuZGlmCiAKIAotY2xhc3MgRV9TV0lUQ0hfdGVzdGVyIDogcHVibGljIENGQlRlc3RlcnsKLSAgICBERUNMQVJFX0ZCX1RFU1RFUihFX1NXSVRDSF90ZXN0ZXIpOwotICBwdWJsaWM6Ci0gICAgRV9TV0lUQ0hfdGVzdGVyKENSZXNvdXJjZSogbV9wb1Rlc3RSZXNvdXJjZSkgOgotICAgICAgICBDRkJUZXN0ZXIobV9wb1Rlc3RSZXNvdXJjZSl7Ci0gICAgICBTRVRVUF9JTlBVVERBVEEoJm1Jbl9HKTsKK3N0cnVjdCBFX1NXSVRDSF9UZXN0Rml4dHVyZSA6IHB1YmxpYyBDRkJUZXN0Rml4dHVyZUJhc2V7CisKKyAgICBFX1NXSVRDSF9UZXN0Rml4dHVyZSgpIDogQ0ZCVGVzdEZpeHR1cmVCYXNlKGdfblN0cmluZ0lkRV9TV0lUQ0gpeworICAgICAgU0VUVVBfSU5QVVREQVRBKCZtSW5HKTsKKyAgICAgIENGQlRlc3RGaXh0dXJlQmFzZTo6c2V0dXAoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5FX1NXSVRDSF90ZXN0ZXIoKSB7Ci0KLSAgICB9Ci0KLSAgcHJpdmF0ZToKLSAgICB2aXJ0dWFsIHZvaWQgZXhlY3V0ZUFsbFRlc3RzKCl7Ci0gICAgICBldmFsdWF0ZVRlc3RSZXN1bHQodGVzdENhc2VfU2luZ2VsRTAoKSwgIlNpbmdsZSBFMCIpOwotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX1NpbmdsZUUxKCksICJTaW5nbGUgRTEiKTsKLSAgICAgIGV2YWx1YXRlVGVzdFJlc3VsdCh0ZXN0Q2FzZV9NdWx0aXBsZUUwKCksICJNdWx0aXBsZSBFMCIpOwotICAgICAgZXZhbHVhdGVUZXN0UmVzdWx0KHRlc3RDYXNlX011bHRpcGxlRTEoKSwgIk11bHRpcGxlIEUxIik7Ci0gICAgICBldmFsdWF0ZVRlc3RSZXN1bHQodGVzdENhc2VfQWx0ZXJuYXRlKCksICJBbHRlcm5hdGUiKTsKLSAgICB9Ci0KLSAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0gICAgYm9vbCB0ZXN0Q2FzZV9TaW5nZWxFMCgpewotICAgICAgbUluX0cgPSBmYWxzZTsKLSAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgIHJldHVybiBjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApOwotICAgIH0KLSAgICBib29sIHRlc3RDYXNlX1NpbmdsZUUxKCl7Ci0gICAgICBtSW5fRyA9IHRydWU7Ci0gICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICByZXR1cm4gY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgxKTsKLSAgICB9Ci0gICAgYm9vbCB0ZXN0Q2FzZV9NdWx0aXBsZUUwKCl7Ci0gICAgICBib29sIGJSZXR2YWwgPSB0cnVlOwotICAgICAgbUluX0cgPSBmYWxzZTsKLSAgICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyArK2kpewotICAgICAgICB0cmlnZ2VyRXZlbnQoMCk7Ci0gICAgICAgIGlmKCFjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDApKXsKLSAgICAgICAgICBiUmV0dmFsID0gZmFsc2U7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIH0KLSAgICAgIHJldHVybiBiUmV0dmFsOwotICAgIH0KLSAgICBib29sIHRlc3RDYXNlX011bHRpcGxlRTEoKXsKLSAgICAgIGJvb2wgYlJldHZhbCA9IHRydWU7Ci0gICAgICBtSW5fRyA9IHRydWU7Ci0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgKytpKXsKLSAgICAgICAgdHJpZ2dlckV2ZW50KDApOwotICAgICAgICBpZighY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgxKSl7Ci0gICAgICAgICAgYlJldHZhbCA9IGZhbHNlOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gYlJldHZhbDsKLSAgICB9Ci0gICAgYm9vbCB0ZXN0Q2FzZV9BbHRlcm5hdGUoKXsKLSAgICAgIGJvb2wgYlJldHZhbCA9IHRydWU7Ci0gICAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgKytpKXsKLSAgICAgICAgbUluX0cgPSAhbUluX0c7Ci0gICAgICAgIHRyaWdnZXJFdmVudCgwKTsKLSAgICAgICAgaWYoIWNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoKG1Jbl9HKSA/IDEgOiAwKSl7Ci0gICAgICAgICAgYlJldHZhbCA9IGZhbHNlOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICB9Ci0gICAgICByZXR1cm4gYlJldHZhbDsKLSAgICB9Ci0KLSAgICBDSUVDX0JPT0wgbUluX0c7IC8vREFUQSBJTlBVVAorICAgIENJRUNfQk9PTCBtSW5HOyAvL0RBVEEgSU5QVVQKIH07CiAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK0JPT1NUX0ZJWFRVUkVfVEVTVF9TVUlURSggU3dpdGNoVGVzdHMsIEVfU1dJVENIX1Rlc3RGaXh0dXJlKQogCi1ERUZJTkVfRkJfVEVTVEVSKEVfU1dJVENIX3Rlc3RlciwgZ19uU3RyaW5nSWRFX1NXSVRDSCk7CisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKHNpbmdsZUUwKXsKKyAgICBtSW5HID0gZmFsc2U7CisgICAgdHJpZ2dlckV2ZW50KDApOworICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoU2luZ2xlRTEpeworICAgIG1JbkcgPSB0cnVlOworICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICBCT09TVF9DSEVDSyhjaGVja0ZvclNpbmdsZU91dHB1dEV2ZW50T2NjdXJlbmNlKDEpKTsKKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKE11bHRpcGxlRTApeworICAgIG1JbkcgPSBmYWxzZTsKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgKytpKXsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoMCkpOworICAgIH0KKyAgfQorCisgIEJPT1NUX0FVVE9fVEVTVF9DQVNFKE11bHRpcGxlRTEpeworICAgIG1JbkcgPSB0cnVlOworICAgIGZvcih1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCAxMDAwOyArK2kpeworICAgICAgdHJpZ2dlckV2ZW50KDApOworICAgICAgQk9PU1RfQ0hFQ0soY2hlY2tGb3JTaW5nbGVPdXRwdXRFdmVudE9jY3VyZW5jZSgxKSk7CisgICAgfQorICB9CisKKyAgQk9PU1RfQVVUT19URVNUX0NBU0UoQWx0ZXJuYXRlKXsKKyAgICBmb3IodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgMTAwMDsgKytpKXsKKyAgICAgIG1JbkcgPSAhbUluRzsKKyAgICAgIHRyaWdnZXJFdmVudCgwKTsKKyAgICAgIEJPT1NUX0NIRUNLKGNoZWNrRm9yU2luZ2xlT3V0cHV0RXZlbnRPY2N1cmVuY2UoKG1JbkcpID8gMSA6IDApKTsKKyAgICB9CisgIH0KKworQk9PU1RfQVVUT19URVNUX1NVSVRFX0VORCgpCg==